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,重新打包即可

相关推荐
2501_9160088910 小时前
iOS应用开发工具全面解析:如何选择与优化开发效率
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
a44931536210 小时前
iPhone Face ID 故障的分层诊断——原深感系统与主板加密配对机制
macos·ios·电脑·cocoa·iphone
三声三视10 小时前
uni-app 鸿蒙端传参变成 [object Object]?顺着源码追到 ArkTS router 底层才搞明白
人工智能·ai·uni-app·aigc·ai编程·harmonyos
白玉cfc11 小时前
【iOS】内存五大分区
macos·ios·cocoa
二流小码农14 小时前
鸿蒙开发:以登录案例了解代码架构MVVM
android·ios·harmonyos
GitLqr15 小时前
别在 Flutter 的 main() 里乱锁屏幕方向,小心 iPad 分屏功能被你搞没了
android·flutter·ios
小徐_233318 小时前
Open Wot 1.0.5 发布:让 AI 接入 wot-ui,只需要两条命令
前端·uni-app·ai编程
a44931536219 小时前
iPhone 基带故障诊断——无服务/搜索不到网络的芯片级维修实录
网络·macos·ios·电脑·iphone
Summer-Bright21 小时前
消费者 AI 变现竞争:从“一家独大“到“iOS vs Android“,谁在为 AI 买单?
android·人工智能·ios·ai·自然语言处理·agi