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
注意:目前支持静态库和动态库
Libs
HBuilder X 3.7.2+ 版本支持
iOS平台插件依赖的三方.a库存放目录,支持以下类型的.a库:
- 使用OC语言创建的.a库
- 使用Swift语言创建的.a库
备注:有关OC及Swift创建的.a库的区别、.a库的使用方法和注意事项详见
Resources
iOS平台原生资源目录,建议只保存uts插件内置的资源文件。云端打包时会将此目录下的所有文件添加到应用 main bundle 中。
除了插件下有Resources目录,项目下也有。注意2者的区别。一般使用者的配置不放在插件下,而放在自己的项目下。项目下配置详见
Info.plist
iOS平台原生 Info.plist 文件配置,云端打包时会将配置信息合并到原生工程的 Info.plist 中。
除了插件下有Info.plist,项目下也有。注意2者的区别。一般使用者的配置不放在插件下,而放在自己的项目下。项目下配置详见
示例: 添加自定义字段 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平台的其它原生配置文件,可以在其中配置依赖的系统库等信息
{
"frameworks": [
"可选,依赖的系统库(系统库有.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:插件需要依赖的系统库(系统库有 .framework 和 .tbd 和 .dylib 类型),此节点为可选项。
- deploymentTarget:插件支持的最低 iOS 版本号,此节点为可选项,默认设置为 9.0.
- 插件支持的最低版本号应该设置为所有依赖的三方库(包含 framework .a pod )中最低支持版本号中的最高的一个。
- pod 库的最低支持系统版本号可在 pod 库的 spec 文件或者 readme 中查看。
- validArchitectures:插件支持的 CPU 架构类型,此节点为可选项,默认值为:arm64。
- dependencies-pods:插件需要依赖的 pod 库, HBuilderX3.8.5+ 版本新增支持
- 有关 dependencies-pods 配置和 CocoaPods 使用的更多细节详见
网友评论