iOS 平臺原生配置
app-ios 文件夾下存在iOS平臺原生配置哗讥,包括以下目錄或文件
目錄名/文件名 | 用途 |
---|---|
Frameworks | iOS平臺插件需要引用的三方 framework/xcframework 依賴庫存放目錄 |
Libs | iOS平臺插件需要引用的三方 .a 依賴庫存放目錄 |
Resources | iOS平臺插件需要引用的資源文件存放目錄 |
Info.plist | iOS平臺插件需要添加到原生工程Info.plist中的配置文件 |
UTS.entitlements | iOS平臺插件需要添加到原生工程 entitlements 文件中的配置文件 |
config.json | iOS平臺原生工程的配置文件 |
index.uts | 主入口侨舆,interface.uts/index.d.ts聲明的能力在iOS平臺下的實現 |
Frameworks
iOS平臺插件依賴的三方framework存放目錄讨衣,支持以下類型文件:
- framework
- xcframework
注意:目前支持靜態(tài)庫和動態(tài)庫
Libs
HBuilder X 3.7.2+ 版本支持
iOS平臺插件依賴的三方.a庫存放目錄,支持以下類型的.a庫:
- 使用OC語言創(chuàng)建的.a庫
- 使用Swift語言創(chuàng)建的.a庫
備注:有關OC及Swift創(chuàng)建的.a庫的區(qū)別石咬、.a庫的使用方法和注意事項詳見
Resources
iOS平臺原生資源目錄醋拧,建議只保存uts插件內置的資源文件笤受。云端打包時會將此目錄下的所有文件添加到應用 main bundle 中大刊。
除了插件下有Resources目錄为迈,項目下也有。注意2者的區(qū)別缺菌。一般使用者的配置不放在插件下葫辐,而放在自己的項目下。項目下配置詳見
Info.plist
iOS平臺原生 Info.plist 文件配置伴郁,云端打包時會將配置信息合并到原生工程的 Info.plist 中耿战。
除了插件下有Info.plist,項目下也有焊傅。注意2者的區(qū)別剂陡。一般使用者的配置不放在插件下,而放在自己的項目下狐胎。項目下配置詳見
示例: 添加自定義字段 TencentLBSAPIKey 和 開啟后臺定位
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>TencentLBSAPIKey</key>
<string>填寫您申請的APIKey</string>
<key>UIBackgroundModes</key>
<array>
<string>location</string>
</array>
</dict>
</plist>
復制代碼
UTS.entitlements
iOS平臺原生 entitlements 文件配置鹏倘,云端打包時會將配置信息合并到原生工程的 entitlements 配置文件中
插件需要開啟 capabilities 中的相關服務時需要配置 UTS.entitlements 文件
示例:在 capabilities 中勾選 Access WiFi Information 項后對應的 UTS.entitlements 的配置
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>com.apple.developer.networking.wifi-info</key>
<true/>
</dict>
</plist>
復制代碼
config.json
uts插件在iOS平臺的其它原生配置文件,可以在其中配置依賴的系統(tǒng)庫等信息
{
"frameworks": [
"可選顽爹,依賴的系統(tǒng)庫(系統(tǒng)庫有.framework和.tbd和.dylib類型)"
],
"deploymentTarget": "9.0", // 可選,插件支持的最低 iOS 版本 默認:9.0"
"validArchitectures": [ // 可選骆姐,支持的 CPU 架構類型 默認:arm64
"arm64"
],
"dependencies-pods": [ // 可選, 需要依賴的pod庫, HBuilderX 3.8.5+ 版本支持
{
"name": "WechatOpenSDK",
"version": "2.0.2"
}]
}
復制代碼
配置說明:
- frameworks:插件需要依賴的系統(tǒng)庫(系統(tǒng)庫有 .framework 和 .tbd 和 .dylib 類型)镜粤,此節(jié)點為可選項捏题。
- deploymentTarget:插件支持的最低 iOS 版本號,此節(jié)點為可選項肉渴,默認設置為 9.0.
- 插件支持的最低版本號應該設置為所有依賴的三方庫(包含 framework .a pod )中最低支持版本號中的最高的一個公荧。
- pod 庫的最低支持系統(tǒng)版本號可在 pod 庫的 spec 文件或者 readme 中查看。
- validArchitectures:插件支持的 CPU 架構類型同规,此節(jié)點為可選項循狰,默認值為:arm64。
- dependencies-pods:插件需要依賴的 pod 庫, HBuilderX3.8.5+ 版本新增支持
- 有關 dependencies-pods 配置和 CocoaPods 使用的更多細節(jié)詳見