uniapp ios原生插件开发 (framework,cocopods)

ReyZhang
新星创作者: 移动开发技术领域
2023-02-17 09:34:26
加精

一、了解UniApp 插件的开发方式

  • Xcode Framework 、 Static Library
  • 基于Cocoapods开发 pod lib

已知UniApp的插件开发方式有两种, 第一种 Xcode Framework的方式,这种方式是官方指定的方式。 这种方式的优点就是简单直接, 但也有不足,比如当插件需要引入一些三方库时,操作起来就不是那么方便。 而使用Cocoapods则可以很方便的引入三方库。 接下来,本文探索使用Cocoapods的方式来进行UniApp插件开发。

探索之前可以先了解一下官方插件开发的流程及步骤:
iOS插件开发教程

二、准备

1.安装Cocoapods

如果是首次使用Cocoapods ,则需要先安装cocoapods。具体的安装步骤非本文重点,可参考如下文章:
安装Cocoapods的步骤

2. 下载UniApp iOS SDK

下载地址

三、将HBuilder-UniPluginDemo转成Cocoapods

找到UniApp iOS SDK下载的目录,看一下官方提供的目录结构
在这里插入图片描述

podfile的创建及配置

打开“命令行”工具,cd 到 HBuilder-uniPlugin.xcodeprj 工程所在目录下, 并执行

pod init

来创建Podfile 文件模板
在这里插入图片描述
此时目录下会多出一个 ‘Podfile’ 的文件
在这里插入图片描述
打开Podfile 文件, 配置相关设置如下 :

# Uncomment the next line to define a global platform for your project
platform :ios, '10.0'

#忽略pod所有库警告
inhibit_all_warnings!

workspace 'uniPlugins'

#关闭所有pod库的BITCODE
post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['ENABLE_BITCODE'] = 'NO'
    end
  end
end


target 'HBuilder' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!
 
end

配置忽略Pod所有库的警告

inhibit_all_warnings!

配置workspace名称

workspace 'uniPlugins'

关闭所有pod库的BITCODE

post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['ENABLE_BITCODE'] = 'NO'
    end
  end
end

使用pod lib 创建插件工程

在HBuilder-uniPluginDemo目录下创建一个自定义插件目录 ‘custom-plugins’ 用来存放自定义的插件工程,目录结构如下:
在这里插入图片描述
使用命令行工具, cd 到 custom-plugins目录下, 并执行

pod lib create rz-testplugin

在这里插入图片描述
按回车,执行命令。 会从github上加载创建pod工程的模板。 模板下载结束后,会出现如下引导:
在这里插入图片描述

按上述引导完成配置,在完成创建后会自动打开pod 工程, 目前用不到此工程,接着关闭即可

回到目录 HBuilder-uniPluginDemo下,找到Podfile 文件,并打开
将本地新创建的pod工程配置进去

target 'HBuilder' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!
  
  #重要: 导入自定义组件库
  pod 'rz-testplugin', :path =>'./custom-plugins/rz-testplugin'
end

完整的Podfile文件如下:

# Uncomment the next line to define a global platform for your project
platform :ios, '10.0'

#忽略pod所有库警告
inhibit_all_warnings!

workspace 'uniPlugins'

#关闭所有pod库的BITCODE
post_install do |installer|
  installer.pods_project.targets.each do |target|
    target.build_configurations.each do |config|
      config.build_settings['ENABLE_BITCODE'] = 'NO'
    end
  end
end

target 'HBuilder' do
  # Comment the next line if you don't want to use dynamic frameworks
  use_frameworks!
  
  #重要: 导入自定义组件库
  pod 'rz-testplugin', :path =>'./custom-plugins/rz-testplugin'
end

Podfile配置完成后, 使用命令行工具在Podfile所在目录下,执行命令

pod install 

更多内容详情: https://zhanglei.blog.csdn.net/article/details/123221947

...全文
成就一亿技术人!
拼手气红包 5.00元
891 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复
内容概要:本文系统研究了在电力系统负荷发生突变的动态环境下,采用无迹卡尔曼滤波(UKF)与自适应无迹卡尔曼滤波(AUKF)进行三相状态估计的方法。通过Matlab平台实现了两种滤波算法的仿真模型,构建了包含三相电力系统建模、非线性状态方程推导、量测系统设计在内的完整状态估计框架。重点对比分析了UKF与AUKF在突变负荷扰动下的估计精度、收敛速度与鲁棒性,深入探讨AUKF通过实时调整噪声协方差实现自适应的能力,从而有效应对系统模型不确定性和外部动态变化,提升状态估计的可靠性。研究为智能电网在复杂动态工况下的实时监控、安全评估与优化控制提供了坚实的算法基础与仿真验证手段。; 适合人群:具备电力系统分析、现代控制理论基础及一定Matlab编程能力的研究生、科研人员和工程技术人员。; 使用场景及目标:① 掌握UKF在非线性电力系统状态估计中的具体应用流程与实现细节;② 深入理解AUKF的自适应机制及其在负荷突变、模型失配等动态工况下提升估计性能的原理与优势;③ 为智能电网的状态监测、故障诊断、实时调度与主动防御等高级应用提供可靠的算法支持与可复现的仿真平台。; 阅读建议:建议读者结合电力系统状态估计的经典理论,仔细研读并运行所提供的Matlab代码,重点关注系统模型的建立、UKF/AUKF算法的参数初始化、负荷突变事件的建模方式,以及两种算法在电压、电流等状态变量估计误差上的对比分析,通过仿真结果的可视化深入理解算法差异与工程应用价值。

420

社区成员

发帖
与我相关
我的任务
社区描述
专注移动ios平台的软件开发,多年的一线研发经验,实战经验丰富,只为你呈现有价值的信息。
iosflutterandroid 技术论坛(原bbs) 山东省·青岛市
社区管理员
  • ReyZhang
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧