uniapp ios 本地离线打包(攻略)

为什么要使用离线打包

首先我们需要知道 ios 本地离线打包是什么,为什么要使用离线打包,而不使用云打包,按官方的说法"App 离线开发工具包,即 App 离线 SDK,是把 App 运行环境(runtime)封装为原生开发调用接口,开发者可以在自己的 Android 及 iOS 原生开发环境配置工程使用,包括 Android 离线开发 SDK 及 iOS 离线开发 SDK",实际上好处有:

  1. 本地打包,不需等,有时候云打包人数多时你又着急上线时结果看到需要等 30 分钟(夸张的修辞手法,一般也就 5-6 分钟)后才能打包完成,而本地打包只需要生成一下 App 资源,然后进行打包即可
  2. 本地打包没有代码泄露等风险,并且不需要上传证书(虽然 uniapp 是官宣不会泄露,我也十分相信)

1. 基础资料

所谓"工欲善其事,必先利其器"所以我们需要先了解一些基础资料,这些资料可以帮助我们更好的理解 uniapp 的打包流程。

  1. uniapp 的离线打包流程
  2. ios 离线 sdk
  3. 导入 App 资源
  4. ios 模块配置
  5. 打包发行

以上的这些资料,基本可以完成离线打包,但还是会遇到一些问题,接下来会列举一些我遇到的问题

所需材料

  1. 一个审核通过的企业开发者 developer 账号
  2. 申请好证书和描述文件
  3. Xcode
  4. Hbuilderx

2. 插件配置问题

2.1 高德地图配置

  1. 文档
  2. 报错:当前运行的基座不包含原生插件[mapSearch],请在 manifest 中配置该插件,重新制作包括该原生插件的自定义运行基。uniapp 提供的离线基座在使用 uni.chooseLocation 进行位置选择时,离线基座提示不包含原生插件。 原因:文档下面还有一个说明配置,这些依赖库、系统库、依赖资源也需要配置

2.2 极光推送配置

  1. 文档
  2. 报错:当前运行的基座不包含原生插件[JG-JPush],请在 manifest 中配置该插件,重新制作包括该原生插件的自定义运行基座 按文档配置应该是没有问题的,但是还是遇到这种情况你需要看一下是否使用了模拟器运行的,使用真机运行即可

3. 配置 app 模块等问题

在运行中提示:打包时未添加 xxx 模块 请根据"如何配置模块/三方 SDK"配置即可

ios 更新跳转到 App Store 指定 app 链接

iTunes 提供了接口可查询到 app 在 App Store 上的信息

国外:itunes.apple.com/lookup?id=x...

国内:itunes.apple.com/cn/lookup?i...

xxx 为你的应用 ID,可在App Store Connect上 APP 信息查看

  1. 直接浏览器访问后会下载一个 txt 文件
  2. 打开搜索 trackViewUrl,获取到参数后的内容也就是一个 https 链接
  3. 将 https:// 替换为 itms:// 或者 itms-apps://
  4. 验证用 ios 的手机,在 safari 打开这个链接,会弹窗提示跳转到 App Store

遇到的问题

  1. 在 App 提交审核是提示:你的 App 包含 NSUserTrackingUsageDescription,这表示它可能会请求追踪用户。要提交以供审核,请更新你的 App 隐私答复以注明从此 App 中收集的数据将用于追踪目的,或者更新你的 App 二进制文件并上传新的构建版本。 原因:你在 app 中使用了如 JPush 极光、广告等,会出现此时你就需要去去更新 App 的隐私协议,然后重新打包上传即可
  1. 解决 App Store 上架提示您必须上传 12.9 英寸 iPad Pro(第 2 代)显示屏的截屏 原因:在项目中选择了多种平台,去项目中进行
  1. 在配置打包证书时报错:Provisioning profile "XX" doesn't include signing certificate "xx developer

    原因:在xcode中选择了手动配置证书和描述文件,但并不匹配所导致

    解决方案:blog.csdn.net/auccy/artic...

  2. 如果是在 product -> Archive 报错:Profile doesn't include the selected signing certificate.

    原因:如果在配置证书正常时,可能是钥匙串中有重复过期了证书

    解决方案:将钥匙串和本 app 有关的证书删除,重新导入后,重启 Xcode,重新打包即可

相关推荐
耶啵奶膘2 小时前
uniapp+vue2全局监听退出小程序清除缓存
小程序·uni-app
我开心就好o9 小时前
uniapp点左上角返回键, 重复来回跳转的问题 解决方案
前端·javascript·uni-app
Random_index9 小时前
#Uniapp篇:支持纯血鸿蒙&发布&适配&UIUI
uni-app·harmonyos
比格丽巴格丽抱12 小时前
flutter项目苹果编译运行打包上线
flutter·ios
网络安全-老纪13 小时前
iOS应用网络安全之HTTPS
web安全·ios·https
1024小神15 小时前
tauri2.0版本开发苹果ios和安卓android应用,环境搭建和最后编译为apk
android·ios·tauri
lzhdim16 小时前
iPhone 17 Air看点汇总:薄至6mm 刷新苹果轻薄纪录
ios·iphone
安和昂17 小时前
【iOS】知乎日报第四周总结
ios
初遇你时动了情17 小时前
uniapp 城市选择插件
开发语言·javascript·uni-app
麦田里的守望者江19 小时前
KMP 中的 expect 和 actual 声明
android·ios·kotlin