前言
之前开发H5和Android端时可以直接通过云打包生成APK文件或上架Google Play需要的aab文件,最近需要将项目打包发布到苹果的App Store上,由于云打包生成的是.ipa文件,并不能上传到苹果的开发者后台进行上架App Store审核,需要通过Xcode编译后上传进行审核,于是决定使用本地离线打包,在这里我将记录一下从申请证书到审核通过的过程。
2024-07-26 补充
Mac用户可以通过Transporter直接上传.ipa文件
Transporter可以通过App Store下载,登录后直接拖入上传即可,有小概率卡住
.ipa文件可通过HbuilderX的IOS云打包生成,证书请看“环境及必要信息”的第3条
环境及必要信息
1、Xcode
由于Xcode只能在Mac上下载,所以需要使用Mac电脑进行操作
网上似乎有一些教程或者第三方的软件或网站可以替你打包或提供环境,但是毕竟涉及到代码的上传,有泄露风险
2、苹果开发者账号并且加入了iOS Developer Program
3、证书
如果你之前使用过HbuilderX的IOS云打包,那你一定申请过iOS的证书,如果你还没有证书,那么需要先申请,可以参考uni app官方的教程(https://ask.dcloud.net.cn/article/152)
生成离线打包资源
打开HBuilderX,导入你的项目,然后点击发行
=> 原生App-本地打包
=> 生成本地打包App资源
打包完成后在控制台会有一个文件存放的路径,点击打开后会显示一个文件夹,文件夹的名字是__UNI__XXX
,XXX
和APPID一致
下载离线打包SDK
你需要访问https://nativesupport.dcloud.net.cn/AppDocs/download/ios.html 下载uniapp官方提供的SDK包
下载解压后有一个名称为HBuilder-Hello
文件夹,注意这个文件夹里面包含了一个名为HBuilder-Hello.xcodeproj
的文件
文件夹里还有一个
HBuilder-Hello
的文件夹,不要弄错了,我们要的是第一层的HBuilder-Hello
文件夹,就是文件夹里面有HBuilder-Hello.xcodeproj
的文件夹如果怕后面弄错了,建议可以复制一份到其他地方
导入SDK文件
打开XCode,选择File => Open 将刚刚的HBuilder-Hello
导入
替换项目文件
将HBuilder-Hello
=> HBuilder-Hello
=> Pandora
=> apps
=> __UNI__33C5XXX
文件夹删除,替换成刚刚HBuilderX打包生成的__UNI__XXX
替换进去,XXX
是Appid
,不知道这个文件的往前面翻一翻
替换离线打包Key
打开dcloud开发者后台 https://dev.dcloud.net.cn/pages/app/list
在我的应用
中找到对应的应用,点击后找到各平台信息
(原本是离线打包Key,现已迁移),点击右上角的新增,新增一条IOS的离线打包Key,其中iOS BundleId
填在Apple开发者后台中Identifiers
标识符对应的APP的IDENTIFIER(具体看下图3),生成后查看,并将获取到的Key记录下来
打开HBuilder-Hello
=> HBuilder-Hello
=> Supporting Files
=> HBuilder-Hello-Info.plist
文件,搜索dcloud_appkey
这一项,将值改为刚刚记录的值
修改control文件
将appid
改为uniapp项目中manifest.json
文件中的appid
,appver
改为manifest.json
文件中的versionName
(应用版本名称)
修改APP配置
点击左侧边栏第一个HBuilder-Hello
,然后选择TARGETS
,选择General
,找到Identity
点开uniapp的manifest.json
文件,切换到源代码模式
App Category
可以不用填,默认None即可; Display Name
:manifest.json
的name
字段; Version
:manifest.json
的versionName
字段; Build
:manifest.json
的versionCode
字段;
最后Bundle Identifier
如果无法填写,可以点击右侧的箭头,点击后会打开另一个选项卡Siging,Siging
分debug
和release
,填写两个包名,填写完成后将Team
改为自己(注册的开发者账号),Provisioning Profile
改为自己的打包,如果不知道这个文件是什么,Import
的时候选中之前申请打包证书的那几个文件,哪个亮了选哪个,在这我就示范一下debug
的填写,release
的填写也是一样的。
如果Team
无法填写,导入Profile
之后会自动填写
如果你不打算发布在
Ipad
、Mac
、Apple Vision
中,请你在Supported Destinations
选项中选中并Delete
掉,否则审核会比较麻烦打包上传
完成以上步骤后,点击菜单栏中的Product
=> Archive
打包完成后在弹出的弹窗中选择Distribute App
,最后选择App Store Connect
,然后Distribute
,等待上传即可
填写审核资料
再次打开苹果开发者中心,选择App
选择你的App
点击TestFlight查看代码时候提交上来了 这里有一点延迟,在XCode上推送了,但是要等几分钟这里才有显示
在TestFlight中能看到你提交的代码后,点击分发,然后填写资料,在构建版本中选择我们刚刚提交的代码版本,点储存后提交审核即可,接下来就是耐心等待审核,审核通过后会发邮件到你的邮箱里
常见问题
没有其他尺寸手机怎么截图审核?
可以使用XCode
自带的Iphone模拟器
打开步骤如下:
如果不会运行,还有更简单的方法
在XCode
中正上方,点击设备名后会展开一排设备,选择IOS Simulator
下的设备,然后左上方点击一下长的跟播放按钮一样的按钮,运行到指定的设备
点击这里截图,然后保存到桌面或者其他文件夹,截图出来的图片是没有边框的,就跟真实的手机截图的一样
结束语
看到这,相信你已经成功发布了一个属于自己的IOS APP,如果过程中你遇到了其他报错,或者文章缺少了某个步骤,欢迎你留言告诉我。
常见问题会在收到留言或我发现某些问题时继续更新
如果错误请联系884684993#qq.com (#替换为@)
暂无评论内容