Xcode发布AppStore与TestFlight全流程

2024-04-10 1139阅读

目录

调试流程看我另一个链接

[游戏开发][Unity] IOS调试与发布-CSDN博客[游戏开发][Unity] IOS调试与发布Xcode发布AppStore与TestFlight全流程https://blog.csdn.net/liuyongjie1992/article/details/136836480

打包前注意事项

使用Xcode导出安装包之前,必须先确认账户的所有合约是否全部同意,如果有不同意的,在出包的时候会弹出报错

Xcode发布AppStore与TestFlight全流程
点击前往苹果开发者官网Xcode发布AppStore与TestFlight全流程https://appstoreconnect.apple.com/agreements/

登录自己的开发者账户后,可以看到提示,有未同意的合约

还有一点要注意的是,Xcode工程在导出安装包之前,执行build必须没有错误。

发布前设置

如果你导入了_dis证书,则上传的是正式包,如果你导入的是_dev证书,则发布的是TestFlight包,当然上传还得选择Archive选项导出Archive包。

Xcode发布AppStore与TestFlight全流程

Xcode发布AppStore与TestFlight全流程

Build报错记录

Command PhaseScriptExecution failed with a nonzero exit code
Xcode发布AppStore与TestFlight全流程

双击可以查看报错信息,这个报错是因为Unity给我们xcode工程生成了一个sh文件,但运行它的时候有语法错误,我直接把整个运行sh的地方删了。因为它考虑的armv7,咱们不考虑,都是arm64了。


/Users/hailong/Documents/ZhangMenXcode/Unity-iPhone.xcodeproj      has conflicting provisioning settings.      is automatically signed, but provisioning profile ZMDJ_dis has been manually specified. Set the provisioning profile value to "Automatic" in the build settings editor, or switch to manual signing in the Signing & Capabilities editor.

这个问题就是,如果你自己选择了手动输入证书,则设置界面不允许选择autumatic自动选择任何东西。

Xcode发布AppStore与TestFlight全流程

Xcode发布AppStore与TestFlight全流程

确认编译运行Scheme,这一步很关键,直接决定项目运行编译能否通过

Xcode发布AppStore与TestFlight全流程

Xcode发布AppStore与TestFlight全流程

第一步

先在Xcode中,菜单栏  =>  Product=> Archive 开始打包Archive,右上角显示打包Archive进度

Xcode发布AppStore与TestFlight全流程

第二步

第三步:

选择一个Archive,Distribute App按钮才会亮起

Xcode发布AppStore与TestFlight全流程

在访达中查看一下, 文件类型是xcarchive

Xcode发布AppStore与TestFlight全流程

Xcode发布AppStore与TestFlight全流程

点击Distribute App按钮

第三步

咱们要发布TestFlight,所以选第一项,点击右下角Next下一步

Xcode发布AppStore与TestFlight全流程

第四步

Upload会直接把这个包上传到官网

Export则是导出IPA文件,你自己使用工具上传,如果你想自己上传,请移步第第六步之后的Transporter上传。

Xcode发布AppStore与TestFlight全流程

发布正式包会有下面的弹窗,记得选择证书哦Xcode发布AppStore与TestFlight全流程

第五步

Xcode发布AppStore与TestFlight全流程

 第六步

使用Xcode-archive上传

再次确认上传信息,没问题点击上传Xcode发布AppStore与TestFlight全流程

 正在上传Xcode发布AppStore与TestFlight全流程

Xcode发布AppStore与TestFlight全流程

报错!!!!

如果包里有不可执行的文件,会报这个错

Xcode发布AppStore与TestFlight全流程

Unexpected CFBundleExecutable Key. The bundle at 'Payload/hqhy.app/hqsdk.bundle' does not contain a bundle executable. If this bundle intentionally does not contain an executable, consider removing the CFBundleExecutable key from its Info.plist and using a CFBundlePackageType of BNDL. If this bundle is part of a third-party framework, consider contacting the developer of the framework for an update to address this issue. (ID: cfea2d8a-ff26-4674-81dd-7893c3469456)

解决方法:

 回到Xcode项目中,在文件目录里找到对应名字的文件夹,例如我的报错是hqsdk.bundle,找到里面的info.plist文件,把里面的ExecutableFile选项删掉,点那个删除按钮,这里的配图不是我项目的截图

Xcode发布AppStore与TestFlight全流程

第七步:Xcode上传

Xcode发布AppStore与TestFlight全流程

看上传的提示 Uploading to App Store Connect...

App Store Connect是啥??看截图就知道,这是管理我们开发者账户所有app的地方

Xcode发布AppStore与TestFlight全流程

上传成功后,App Store Connect就会出现我们刚才上传的版本图标。点击图标进去

Xcode发布AppStore与TestFlight全流程

 由于我们上传的是TestFlight版本,只看TestFlight选项就好了,版本2.1.1和我在Xcode上传时一致,证明上传成功了。

使用Mac Transporter软件上传

支持ipa文件和pck文件上传,这个ipa文件怎么来的?在前文的Archive上传过程中,可以选择只导出不上传,这个Export就是导出ipa工程

Xcode发布AppStore与TestFlight全流程

Xcode发布AppStore与TestFlight全流程

把这个ipa文件拖拽到到Transporter中,按步骤点击上传即可,非常简单,下图是上传画面

Xcode发布AppStore与TestFlight全流程

第七步

上传成功后,需要等待官方检查是否通过审核吗,审核时间短则5分钟,长则一天,请留意邮件

上传成功后,去AppStoreConnect官网查看上传版本,请注意刚上传需要审核

 

这是正式发布成功的样子,上传时用选的是Distribution证书

Xcode发布AppStore与TestFlight全流程

这是发布TestFlight成功的样子,上传时选的是开发证书 

Xcode发布AppStore与TestFlight全流程

失败的话就是这个样子,版本里面空空如也

Xcode发布AppStore与TestFlight全流程

遇到这种情况,去你的邮箱里查看具体原因

Xcode发布AppStore与TestFlight全流程

TestFlight网站出现版本号和图标,并且文字是(正在处理),基本就稳了,等着吧。

Xcode发布AppStore与TestFlight全流程

第八步

正在等待审核的字样

Xcode发布AppStore与TestFlight全流程

第九步

Xcode发布AppStore与TestFlight全流程

第十步 

你可以选择创建外部测试小组,然后在版本里添加小组。必须添加小组才能在小组里看到外部链接

Xcode发布AppStore与TestFlight全流程

第十一步

启动公开链接,显示testflight测试连接。

Xcode发布AppStore与TestFlight全流程

第十二步

打开iphone手机,访问图里的公开链接

Xcode发布AppStore与TestFlight全流程

没加入版本的测试小组,则没有启动公开链接的按钮,如下图所示

Xcode发布AppStore与TestFlight全流程

第十三步

下图是iphone手机访问链接的样子,点击开始测试按钮就开始下载了。大功告成!

Xcode发布AppStore与TestFlight全流程

记录一些报错

遇到报错不要慌,几乎所有的报错在网上都能查到解决方案。

Xcode发布AppStore与TestFlight全流程

Xcode发布AppStore与TestFlight全流程 找到报错对应名字的文件夹,找到Info.plist文件,然后删除掉这一行。


 ITMS-90683: Missing purpose string in Info.plist - Your app’s code references one or more APIs that access sensitive user data, or the app has one or more entitlements that permit such access. The Info.plist file for the “hqhy.app” bundle should contain a NSPhotoLibraryUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. If you’re using external libraries or SDKs, they may reference APIs that require a purpose string. While your app might not use these APIs, a purpose string is still required. For details

我的原因是权限问题,需要添加权限,根据邮件提示,找到对应的plist文件,添加一行新数据,把相机权限复制进去进去,它自己就变成了Privacy - Photo Library Usage Description,然后value就是弹出的文字提示,自己写啥都行

请注意!!!!!!!!!!!!!!!!!!!!!!!!

1: NSPhotoLibraryUsageDescription

2: NSPhotoLibraryAddUsageDescription

这俩权限不一样,请按照拒绝邮件里的权限精确复制即可。

Xcode发布AppStore与TestFlight全流程

修改所有BUG,再次上传。

The provided entity includes a relationship with an invalid value

Xcode发布AppStore与TestFlight全流程

苹果更新了服务协议,登录苹果开发者账户,只有阅读和同意协议才可以继续上传新的app包

我遇到的是这种情况,可能还会有别的情况

This bundle is invalid. Invalid XML character '0x0000' at index 2363 in Info.plist. (ID: 33d1b1a9-ec10-485e-a00e-acac933c1ca3)

问题原因:你修改plist文件,把格式改坏了。或者有写错的权限导致xml格式不正确。

解决办法:

我这个报错的原因也是很奇怪,以前开启相机权限的代码:NSPhotoLibraryUsageDescription

这两天Xcode犯病,竟然识别不到这个权限,导致我的plist文件无法打开,过了一天又能识别到。

Xcode发布AppStore与TestFlight全流程

 

Failed to write chunk 1 to temp file ‘/private/var/folders/kr/n3t4x9q90377cmbc6mqpylq00000gn/T/com.apple.cds.vbtx/com.apple.cds_847581A8-46FB-4A89-9E25-E98666B1CC6E/Part-1.tmp’.

这种写入问题大概率就是空间不足,检查磁盘空间,

还有zip fail打包失败,大概率也是。

Xcode发布AppStore与TestFlight全流程

VPS购买请点击我

免责声明:我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理! 图片声明:本站部分配图来自人工智能系统AI生成,觅知网授权图片,PxHere摄影无版权图库和百度,360,搜狗等多加搜索引擎自动关键词搜索配图,如有侵权的图片,请第一时间联系我们,邮箱:ciyunidc@ciyunshuju.com。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

目录[+]