一、前置配置
-
Uniapp通过都是通过云打包的方式打包或生成自定义基座,但都需要排队。 -
所以有些人选择离线打包,既然可以离线打包,那么离线打个基座也是可以的,而且离线自定义基座支持
uniapp与android studio两个工具上同时联调或打断点调试。 -
根据 # Uniapp iOS 本地离线打包(详细流程) 配置好离线打包,跑通流程后,在这个基础上稍微做下调整即可。
二、离线打包基座配置
-
根据官方文档自定义基座要求,需要对
control.xml进行调整,这样可以看到调试日志。<?xml version="1.0" encoding="utf-8"?> <HBuilder debug="true" syncDebug="true" version="1.9.9.81498"> <apps> <app appid="__UNI__E9196C5" appver="1.0.1"/> </apps> </HBuilder> -
确保
Xcode工程的Bundle identifier不为io.dcloud.HBuidler。 -
在原生工程里找到
info.plist文件并增加一项Application supports iTunes file sharing=YES,随便找一行就会出来+号,加一行填入即可,如下图: -
确保原生工程里
Pandora文件夹下的apps文件夹里只有一个文件夹(文件夹的名称和里面的manifest的id值相同),这一条在离线打包里面弄了,其实就是导入Uniapp的素材文件到Xcode工程。 -
确保
control.xml文件里的appid的值和apps目录下的第一个文件夹的名称一致,这一条在离线打包里面弄了。 -
确保
HBuilderX里要调试的代码的appid和control.xml的appid值一致。这条跟上面两条说的是一个东西,Uniapp 的 appid,上面两条改的也是这个东西。 -
使用
Xcode -> Product -> Archive打包,然后生成ipa,并把ipa名称命名为:iOS_debug.ipa这个名称格式是固定不可变的,别写错了。怎么导出ipa包在上面的iOS 本地离线打包文章内有,不写重复的了。 -
然后到
uniapp项目得根目录新建一个unpackage文件夹,在里面再建一个debug文件夹,将这个
基座 ipa拷贝出来丢到debug文件夹内,同时必须基座 ipa文件名改为iOS_debug.ipa,这个名字是固定必须的,不要写错-与_。 -
然后勾选上手机或模拟器,选择自定义基座就可以使用了,如果
模拟器识别不到就用真机吧。 -
细节补充:使用了
本地插件或云插件的工程,不能使用离线自定义基座,包括离线打包,只能走云打包或云基座才能生效。因为使用了会导致这些
插件失去效果,这个是个官方bug,忍不住吐槽一下,这样离线基座或离线打包不是算半残废,期望官方能修复这个问题。