前提环境条件:mac系统电脑,Xcode应用程序
前提假如条件:IOS代码示例工程名Wifi,自定义插件名HliitWifiPlugin
总流程:
一、下载uniapp的SDK
二、安装cocoapods
三、准备IOS工程代码Wifi
四、生成cocoapods基础工程
五、生成自定义插件HliitWifiPlugin
六、在基础工程引用自定义插件
七、引用uniapp的SDK编译,使原代码包含自定义插件HliitWifiPlugin
八、将IOS工程已经准备好的代码放到HliitWifiPlugin中
九、调试并生成uniapp工程项目所需要的HliitWifiPlugin.framework
--------------------------------------------------------------------
开始
一、从官网下载uniapp的SDK
我是从SDK 升级说明 | uni小程序SDK下载链接(https://nativesupport.dcloud.net.cn/AppDocs/download/ios.html)
下载后解压到目录,我的目录为解压到~ios,如图

二、安装cocoapods

在应用程序找到终端,输入sudo gem install cocoapods 或 gem install cocoapods进行安装
三、准备IOS工程代码Wifi
将Wifi代码放到.....ios/SDK下

四、生成cocoapods基础工程
在终端CD到Wifi代码目录
![]()
后终端运行pod init
![]()
运行后在工程目录下会生成一个Podfile文件

打开编辑Podfile文件,增加如下代码(注意如果复制的命令或代码运行报错,记得删除空格重新敲空格)
------------------
# 最低支持iOS10 platform :ios, '10.0' # 忽略所有警告
platform :ios, '10.0'
inhibit_all_warnings!
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 install 命令
在Wifi的目录下会生成一些文件,如下图

至此基础工程生成完成
五、生成自定义插件HliitWifiPlugin
在终端运行(cd ..)回到上一目录,或直接cd 到SDK目录,我的目录为....ios/SDK

然后执行pod lib create HliitWifiPlugin
根据引导输入相关参数,如果执行pod lib create HliitWifiPlugin命令没有引导,则可能是github没有连接成功,多试几次

完成后会在ios/SDK目录中生成自定义插件HliitWifiPlugin的文件夹

六、在基础工程引用自定义插件(注意如果复制的命令或代码运行报错,记得删除空格重新敲空格)
编辑【第四步生成的Podfile】Wifi项目中的Podfile,添加
----------
pod 'HliitWifiPlugin', :path => '../HliitWifiPlugin'

----------
接下来在终端cd到wifi项目中【Podfile所在目录】,重新执行pod install,让wifi基础工程关联自定义插件生效
七、引用uniapp的SDK编译,使原代码包含自定义插件HliitWifiPlugin
在【第五步生成的文件夹中】~ios/SDK/HliitWifiPlugin目录中,打开HliitWifiPlugin.podspec文件,在最后增加
-----------
s.static_framework = true
s.xcconfig = {
'USER_HEADER_SEARCH_PATHS' => [
'"$(SRCROOT)/../SDK/inc/DCUni"',
'"$(SRCROOT)/../SDK/inc/weexHeader"'
]
}

-----------
然后在终端中重新执行pod install命令,在wifi基础工程【即wifi代码项目中执行,我的路径为~ios/SDK/Wifi中】中执行,让代码生效
八、将IOS工程已经准备好的代码放到HliitWifiPlugin
将第三步的工程代码放到~ios/SDK/HliitWifiPlugin/HliitWifiPlugin/Classes/中

接下来在终端cd到wifi项目中【Podfile所在目录】,重新执行pod install,让代码关联进来
九、调试并生成uniapp工程项目所需要的HliitWifiPlugin.framework
打开Wifi代码目录中的WiFi.xcworkspace文件,会在Xcode中打开

然后直接如图运行,或直接运行,成功后在Xcode应用中,Pods->Products->HliitWifiPlugin,将HliitWifiPlugin在目录中展示(即右键Show in Finder)即可看到HliitWifiPlugin.framework
或如图所示

=====================================
注意,在第九步的时候运行报错,提示找不到DCUniModule.h文件

经查看此文件在~ios/SDK/SDK/inc/DCUni中

说明我们【第七步引用SDK时出了问题】
修改第七步的代码为
s.static_framework = true
s.xcconfig = {
'USER_HEADER_SEARCH_PATHS' => [
'"$(SRCROOT)/../SDK/inc"',
'"$(SRCROOT)/../../SDK/inc"'
]
}
如图,我多加了'"$(SRCROOT)/../../SDK/inc"',并去掉了指向DCUni和weexHeader的目录

接下来在终端cd到wifi项目中【Podfile所在目录】,重新执行pod install,让代码关联进来
重新执行【第九步】
但是又提示找不到WXComponent.h文件

经查看此文件在~ios/SDK/SDK/inc/weexHeader中

实际是存在的,所以我们要给报错的地方代码及SDK中的代码增加两个前缀DCUni和weexHeader


接下来在终端cd到wifi项目中【Podfile所在目录】,重新执行pod install,让代码关联进来
重新执行【第九步】,执行成功
============================
ps:我的插件名是HliitWifiPlugin,模块名是IOS工程的WiFiModule,所以大家注意uni-app的引用

9681

被折叠的 条评论
为什么被折叠?



