转载别人文章,留着自己看。如果侵权,联系删除,谢谢
前言,
之前都是用云打包,后面云打包需要本地cli版本和云环境一致,于是决定改用本地离线打包,在这里记录一下步骤和问题。
因为我之前用云打包,所以已经申请过证书等文件了,如果这一步你没有做过,那就需要先去申请,跟着官方的步骤走即可:https://ask.dcloud.net.cn/article/152
注意:本地打包需要mac环境。
需要下载和安装什么
在进入mac后,你需要下载官方提供的SDK包(https://nativesupport.dcloud.net.cn/AppDocs/download/ios.html),安装HBuilderx , Xcode。
HBuilderx
载入需要打包的项目文件,点击:发行 - 原生APP本地打包 - 生成本地打包APP资源
该步骤完成后,会提示一个文件路径,点进去是一个文件夹,名字是__UNI__xxxxx,和AppID一致。
Xcode
将下载的SDK包解压,里面有一个HBuilder-Hello文件夹,将这个文件夹单独拖出来(可以不拖出来,我为了清晰一点给它单独拖到桌面上),注意这个文件夹里包含了一个名为HBuilder-Hello.xcodeproj的文件,不要拖错了,文件夹里还有一个同名文件夹的。
打开xcode,选择 file - open ,将上述文件夹导入进去。
在HBuilder-Hello -> HBuilder-Hello -> Pandora -> apps 路径下的__UNI__XXX文件夹删除,把HBuilderX中生成的__UNI__XXX文件夹拖入。
点击Supporting Files目录下的HBulder-Hello-Info文件,找到dcloud_appkey一项,前往dcloud的开发者后台(https://dev.dcloud.net.cn/),在应用管理中选择要打包的这个应用,点击各平台信息,生成离线打包key,点击查看,复制APP Key,将其黏贴到dcloud_appkey一项中。
点击control文件,将里面的appid改为当前项目的APPID
点击目录最上方的HBuilder-Hello,点击TARGETS下方的HBuilder,点击General,找到identity项,第一个APP分类可以不管,下面四个依次填写:
Display Name:manifest.json中的name
Bundle identifier:开发者后台 - 该应用中的各平台信息 - 包名
Version:manifest.json中的versionName
Build:manifest.json中的versionCode
注意:包名可能无法填写,点击输入框右边的右箭头,在Siging中(有debug和release两个)填写包名,填完以后,将Team改成自己的(你注册的苹果开发者),Provisioning Profile改为自己的(打包时用的provision)
点击Product -> Archive 在打包完成后弹出框内点击 Distribute App,按需选择分发方式,在这里我选择development,用于开发测试。
按需选择配置项,建议选择测试手机的机型或全机型,然后一路next,最后export。
常见问题
当构建失败时,通过usb连接一台ios设备,然后点击左上角的三角运行键,将出现的报错逐一解决即可。
提示无效的信任设置时,在钥匙串中找到提示的证书,设置它的信任为系统默认,如果还不行,检查是否在系统目录下,不是的话将其转移到系统目录下。
提示配置文件不包含当前选择的设备时,前往developer.apple.com中,在设备中新增当前连接的设备,选择当前的证书,然后在编辑页中加入设备。
提示设置冲突,需要切换手动签名或者修改签名标示值(关键字 Apple Development),此时前往上述第六步,选择Build Settings,在signing中将code signing identity中的ios development改为apple development即可。
在运行成功后,如果出现项目内样式错乱的问题,基本上都是因为uniapp的组件没有导入项目造成的,前往插件市场导入对应的插件。
当出现提示打包时未添加某模块时,请前往:https://nativesupport.dcloud.net.cn/AppDocs/usemodule/iOSModuleConfig/common.html#
在官方提供的配置表中找到对应的提示模块,然后将对应的系统库添加进项目中。我们一开始下载的离线SDK中提供了一部分系统库,在sdk -> libs 目录下。
在xcode中通过上述第六步的步骤进入设置页面,点击Build Phases,点击Link Binary With Libraries,点击+,在目录中添加对应的系统库。点击左下角Add Files,可以添加离线SDK中提供的系统库。
————————————————
版权声明:本文为CSDN博主「qq_39377906」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_39377906/article/details/129274359