1、配置离线打包工程时,可以根据需要进行 模块/三方SDK 的增删,这个过程需要对工程做出修改。
2、目前插件需要修改的项目包含Library、Framework、资源文件、info.plist、宏定义、LinkerFlags文件几项。
3、并不是所有的模块/三方SDK都要修改以上几项,大部分模块/三方SDK只需要修改其中几项即可。
4、如果app中出现“缺失功能提醒框”,需要按照下面步骤配置相应的模块/三方SDK即可。

HBuilderX 5.13+ iOS 离线 SDK 已内置 uniapp.podspec,推荐通过本地 CocoaPods 方式集成 uni-app 基础能力和三方模块。相比手动添加库文件,本地 Pod 集成可以自动处理大部分 .a、.framework/.xcframework、系统库和资源文件依赖,降低漏加、重复添加或版本不一致的风险。
旧版手动集成方式仍可使用。下方“SDK中的依赖库 / 系统依赖库 / 资源文件”表格主要用于手动集成或排查依赖问题;5.13+ 推荐优先使用本地 Pod。
离线 SDK 根目录包含 uniapp.podspec,示例工程 HBuilder-Hello 已配置本地 Pod。开发者只需要在 Podfile 中维护 uniapp_subspecs,取消需要模块的注释,然后执行 pod install。
platform :ios, '13.0'
project 'HBuilder-Hello.xcodeproj'
require_relative 'scripts/uniapp_module_config'
require_relative 'uniapp_config' if File.exist?(File.join(__dir__, 'uniapp_config.rb'))
uniapp_subspecs = [
'Core',
'Barcode',
'CameraGallery',
'Payment-Wechat',
'Map-Gaode',
'UniAd-GDT',
]
target 'HBuilder' do
pod 'uniapp', :path => '..', :subspecs => uniapp_subspecs
end
post_install do |_installer|
UniAppModuleConfig.apply(
uniapp_subspecs,
plist_values: defined?(UNIAPP_PLIST_VALUES) ? UNIAPP_PLIST_VALUES : {}
)
end
修改 Podfile 后执行:
pod install --no-repo-update
执行完成后,请使用 .xcworkspace 打开工程。
部分三方模块需要 appid、appkey、URL Scheme、Universal Links 等业务参数。5.13+ 示例工程提供 uniapp_config.rb,用于集中填写这些参数;执行 pod install 时,脚本会按 Podfile 中已启用的 uniapp_subspecs 自动写入对应的 Info.plist 和部分 feature.plist 配置。
UNIAPP_PLIST_VALUES = {
payment_wechat: {
appid: '微信 AppID',
universal_links: 'https://example.com/app/'
},
payment_alipay: {
scheme: '支付宝回调 Scheme'
},
map_gaode: {
appkey: '高德地图 AppKey'
},
statistic_umeng: {
appkey: '友盟 AppKey',
channel: 'App Store'
},
uniad: {
# 格式:包名|appid|adid|渠道
market_channel: 'io.dcloud.HBuilder|appid|adid|apple',
dcloud_ad_id: '广告标识 adid'
}
}.freeze
使用说明:
uniapp_config.rb 中保留配置也不会写入工程。feature.plist 节点;已有权限描述不会被覆盖。GoogleService-Info.plist、AppDelegate 回调等仍需按对应模块文档处理;UniAd-WM 的微信参数也按 uni-AD 文档手动配置。Podfile 移除,脚本不会自动删除历史写入的 Info.plist / feature.plist / entitlements 配置;彻底移除模块时请手动清理。Core 是基础运行模块,必须保留。部分三方模块存在基础模块和平台模块,例如微信支付需要同时具备 Payment 和 Payment-Wechat 能力;通过 subspec 依赖声明启用平台模块时会自动带上对应基础模块。
| 功能模块 | Pod subspec | 说明 |
|---|---|---|
| 基础运行模块 | Core | 必须保留 |
| 加速度计 | Accelerometer | 加速度传感器 |
| 音频 | Audio | 录音、音频相关能力 |
| 相机/相册 | CameraGallery | 拍照、选择图片/视频 |
| 通讯录 | Contacts | 通讯录能力 |
| 文件系统 | File | 文件读写 |
| 短彩邮件消息 | Messaging | 系统短信、邮件等消息能力 |
| 屏幕方向 | Orientation | 设备方向 |
| 距离传感器 | Proximity | 距离传感器 |
| 网络请求 | XMLHttpRequest | XHR 网络请求 |
| 压缩解压 | Zip | zip 能力 |
| 扫码 | Barcode | 条码/二维码扫描 |
| Canvas | Canvas | Canvas 能力 |
| 视频播放 | Video | video 播放能力 |
| 指纹识别 | Fingerprint | Touch ID |
| Face ID | FaceId | Face ID |
| 蓝牙 | BlueTooth | 蓝牙能力 |
| SQLite | Sqlite | SQLite 数据库 |
| iBeacon | IBeacon | iBeacon |
| 日志 | Log | 输出 console.log() 等日志 |
| 系统定位 | Geolocation | 系统定位基础模块 |
| 百度定位 | Geolocation-Baidu | 依赖 Geolocation |
| 高德定位 | Geolocation-Gaode | 依赖 Geolocation |
| 百度地图 | Map-Baidu | 百度地图 |
| 高德地图 | Map-Gaode | 高德地图 |
| Google 地图 | Map-Google | Google Maps |
| 登录基础模块 | Oauth | 登录公共模块 |
| 一键登录 | Oauth-Univerify | 依赖 Oauth |
| 新浪微博登录 | Oauth-Sina | 依赖 Oauth |
| QQ 登录 | Oauth-QQ | 依赖 Oauth |
| 微信登录 | Oauth-Wechat | 不包含微信支付 SDK |
| 微信登录,PaySDK 版 | Oauth-Wechat-PaySDK | 使用带支付能力的微信 SDK |
| Apple 登录 | Oauth-Apple | Sign in with Apple |
| Google 登录 | Oauth-Google | Google Sign-In |
| Facebook 登录 | Oauth-Facebook | Facebook Login |
| 支付基础模块 | Payment | 支付公共模块 |
| 支付宝支付 | Payment-AliPay | 依赖 Payment |
| 微信支付 | Payment-Wechat | 依赖 Payment |
| Apple IAP | Payment-IAP | 依赖 Payment |
| PayPal 支付 | Payment-Paypal | 依赖 Payment |
| Stripe 支付 | Payment-Stripe | 依赖 Payment |
| 推送基础模块 | Push | 推送公共模块 |
| UniPush / 个推 | Push-UniPush | 依赖 Push |
| 个推 | Push-Getui | 依赖 Push |
| FCM 推送 | Push-FCM | 通常还需添加 GoogleService-Info.plist |
| 分享基础模块 | Share | 分享公共模块 |
| 新浪微博分享 | Share-Sina | 依赖 Share |
| QQ 分享 | Share-QQ | 依赖 Share |
| 微信分享 | Share-Wechat | 不包含微信支付 SDK |
| 微信分享,PaySDK 版 | Share-Wechat-PaySDK | 使用带支付能力的微信 SDK |
| 语音基础模块 | Speech | 语音公共模块 |
| 百度语音 | Speech-Baidu | 依赖 Speech |
| 讯飞语音 | Speech-Ifly | 依赖 Speech |
| 直播推流 | LivePusher | 直播推流 |
| 统计基础模块 | Statistic | 统计公共模块 |
| 友盟统计 | Statistic-Umeng | 依赖 Statistic |
| Firebase 统计 | Statistic-Firebase | 通常还需添加 GoogleService-Info.plist |
| UIWebView 兼容 | UIWebview | 兼容模块 |
| 实人认证 | FacialRecognitionVerify | 人脸/实人认证 |
| UTS 基础模块 | UTS | UTS 运行支持 |
| uni-AD 穿山甲 | UniAd-CSJ | 自动依赖 UniAd-Base |
| uni-AD Gromore | UniAd-Gromore | 自动依赖 UniAd-Base |
| uni-AD 优量汇 | UniAd-GDT | 自动依赖 UniAd-Base |
| uni-AD 快手 | UniAd-KS | 自动依赖 UniAd-Base |
| uni-AD Sigmob | UniAd-Sigmob | 自动依赖 UniAd-Base |
| uni-AD 百度 | UniAd-Baidu | 自动依赖 UniAd-Base |
| uni-AD 微信小程序广告 | UniAd-WM | 自动依赖 UniAd-Base |
| uni-AD 旺脉 | UniAd-WA | 自动依赖 UniAd-Base |
| uni-AD AppLovin | UniAd-AppLovin | 自动依赖 UniAd-Base |
| uni-AD AdMob | UniAd-GG | 自动依赖 UniAd-Base |
| uni-AD AdMob Pangle Adapter | UniAd-GG-Pangle | 自动依赖 UniAd-Base |
| uni-AD Gromore 短剧 | UniAd-GM-Content | 示例工程已配置所需 CocoaPods source |
| uni-AD InMobi | UniAd-InMobi | 自动依赖 UniAd-Base |
| uni-AD IronSource | UniAd-IronSource | 自动依赖 UniAd-Base |
| uni-AD 快手内容联盟 | UniAd-KS-Content | 自动依赖 UniAd-Base |
| uni-AD Liftoff / Vungle | UniAd-Liftoff | 自动依赖 UniAd-Base |
| uni-AD Meta | UniAd-Meta | 自动依赖 UniAd-Base |
| uni-AD Mintegral | UniAd-Mintegral | 自动依赖 UniAd-Base |
| uni-AD Pangle | UniAd-Pangle | 自动依赖 UniAd-Base |
| uni-AD UnityAds | UniAd-Unity | 自动依赖 UniAd-Base |
| uni-AD Oct | UniAd-Oct | 自动依赖 UniAd-Base |
| uni-AD 泛连 | UniAd-FL | 自动依赖 UniAd-Base |
| uni-AD 华夏乐游 | UniAd-YT | 自动依赖 UniAd-Base |
library为模块/三方SDK对应的库文件和依赖库,按照下图找到配置位置,点击“+”可以添加,选中.a库点击“-”可以删除

framework为模块/三方SDK依赖的库,按照下图找到配置位置,点击”+“可以添加,选中framework点击“-”可以删除

当需要使用的资源如图片、国际化文件等, 点击File->addFile 在弹出的对话框中选择响应文件即可,删除时在工程中选中该项目,点击delete键

按照下图找到Macors,在弹出的窗口中点击“+”可以添加添加“-”可以删除

按照下图找到Other Linker Flags 点击该项,在弹出的窗口中点击"+"可以添加flag 点击"-"可以删除flag

工程中引入liblibLog.a库和在control.xml里配置debug="true" 可以在集成的Xcode里输出console.log()日志。
SDK/Resources/Libs目录下找到需要的库文件,然后把找到需要的库拷贝到工程的libs目录下,再根据配置要求把相关的库引入到工程中,如下图:

| SDK中的依赖库 | 系统依赖库 | 资源文件 |
|---|---|---|
| libcoreSupport.a liblibPDRCore.a liblibUI.a liblibNavigator.a liblibNativeUI.a liblibNativeObj.a liblibAdSupport.a(IDFA) liblibWeex.a liblibPGInvocation.a KSCrash.framework | CoreText.framework JavaScriptCore.framework WebKit.framework CoreTelephony.framework MobileCoreServices.framework SystemConfiguration.framework MediaPlayer.framework AudioToolbox.framework QuartzCore.framework CFNetwork.framework Foundation.framework CoreFoundation.framework CoreGraphics.framework UIKit.framework libc++.tbd AVFoundation.framework AssetsLibrary.framework AddressBook.framework CoreLocation.framework QuickLook.framework UserNotifications.framework | PandoraApi.bundle __uniappes6.js uni-jsframework-dev.js uni-jsframework.js uni-jsframework-vue3.js uni-jsframework-vue3-dev.js weexUniJs.js weex-polyfill.js unincomponents.ttf |
| SDK中的依赖库 | 系统依赖库 |
|---|---|
| liblibAccelerometer.a | Accelerate.framework |
| SDK中的依赖库 | 系统依赖库 | 权限描述 |
|---|---|---|
| liblibMedia.a libopencore-amrnb.a libmp3lame.a DCUniRecord.framework | AVFoundation.framework | NSMicrophoneUsageDescription |
| SDK中的依赖库 | 系统依赖库 | 资源文件 | 权限描述 |
|---|---|---|---|
| liblibCamera.a | AssetsLibrary.framework Accelerate.framework Photos.framework CoreMedia.framework MetalKit.framework GLKit.framework | DCTZImagePickerController.bundle DCMediaEditingController.bundle | NSCameraUsageDescription NSPhotoLibraryUsageDescription NSPhotoLibraryAddUsageDescription NSMicrophoneUsageDescription |
| SDK中的依赖库 | 系统依赖库 | 权限描述 |
|---|---|---|
| liblibContacts.a | AddressBookUI.framework AddressBook.framework AVFoundation.framework CoreVideo.framework CoreMedia.framework | NSContactsUsageDescription |
| SDK中的依赖库 |
|---|
| liblibIO.a |
| SDK中的依赖库 | 系统依赖库 |
|---|---|
| liblibMessage.a | MessageUI.framework |
| SDK中的依赖库 | 系统依赖库 |
|---|---|
| liblibOrientation.a | CoreLocation.framework |
| SDK中的依赖库 |
|---|
| liblibPGProximity.a |
| SDK中的依赖库 |
|---|
| liblibXHR.a |
| SDK中的依赖库 |
|---|
| liblibZip.a |
| SDK中的依赖库 | 系统依赖库 | 权限描述 |
|---|---|---|
| liblibBarcode.a libDCUniBarcode.a libDCUniZXing.a libuchardet.a | AVFoundation.framework ImageIO.framework CoreVideo.framework CoreMedia.framework libiconv.2.tbd | NSCameraUsageDescription |
| SDK中的依赖库 | 系统依赖库 | 资源文件 |
|---|---|---|
| libDCUniVideo.a liblibVideo.a DCUniVideoPublic.framework IJKMediaFrameworkWithSSL.framework Masonry.framework | libc++.tbd libbz2.tbd libz.tbd AudioToolbox.framework AVFoundation.framework CoreGraphics.framework CoreMedia.framework CoreVideo.framework VideoToolbox.framework MediaPlayer.framework MobileCoreServices.framework OpenGLES.framework QuartzCore.framework UIKit.framework VideoToolbox.framework | DCSVProgressHUD.bundle DCPGVideo.bundle |
| SDK中的依赖库 | 系统依赖库 |
|---|---|
| liblibFingerprint.a | LocalAuthentication.framework |
| SDK中的依赖库 | 系统依赖库 | 权限描述 |
|---|---|---|
| libDCUniFaceId.a | LocalAuthentication.framework | NSFaceIDUsageDescription |
| SDK中的依赖库 | 系统依赖库 | 权限描述 |
|---|---|---|
| liblibBlueTooth.a | CoreBluetooth.framework | NSBluetoothPeripheralUsageDescription NSBluetoothAlwaysUsageDescription |
| SDK中的依赖库 | 系统依赖库 |
|---|---|
| liblibSqlite.a | libsqlite3.0.tbd |
| SDK中的依赖库 | 系统依赖库 | 权限描述 |
|---|---|---|
| liblibBeacon.a | CoreBluetooth.framework CoreLocation.framework | NSBluetoothPeripheralUsageDescription NSBluetoothAlwaysUsageDescription |