苹果开发者 Xcode发布TestFlight全流程

打包前注意事项

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

苹果开发者 Xcode发布TestFlight全流程_第1张图片
点击前往苹果开发者官网icon-default.png?t=N7T8https://appstoreconnect.apple.com/agreements/

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

第一步

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

苹果开发者 Xcode发布TestFlight全流程_第2张图片

第二步

第三步:

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

苹果开发者 Xcode发布TestFlight全流程_第3张图片

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

苹果开发者 Xcode发布TestFlight全流程_第4张图片

苹果开发者 Xcode发布TestFlight全流程_第5张图片

点击Distribute App按钮

第三步

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

苹果开发者 Xcode发布TestFlight全流程_第6张图片

第四步

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

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

苹果开发者 Xcode发布TestFlight全流程_第7张图片

第五步

苹果开发者 Xcode发布TestFlight全流程_第8张图片

 第六步,使用Xcode-archive上传

再次确认上传信息,没问题点击上传苹果开发者 Xcode发布TestFlight全流程_第9张图片

 正在上传苹果开发者 Xcode发布TestFlight全流程_第10张图片

报错!!!!

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

苹果开发者 Xcode发布TestFlight全流程_第11张图片

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上传

苹果开发者 Xcode发布TestFlight全流程_第12张图片

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

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

苹果开发者 Xcode发布TestFlight全流程_第13张图片

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

苹果开发者 Xcode发布TestFlight全流程_第14张图片

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

使用Mac Transporter软件上传

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

苹果开发者 Xcode发布TestFlight全流程_第15张图片

苹果开发者 Xcode发布TestFlight全流程_第16张图片

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

苹果开发者 Xcode发布TestFlight全流程_第17张图片

第七步:上传成功后

上传成功后,去AppStoreConnect官网查看上传版本,请注意刚上传需要审核,审核时间短则5分钟,长则一天,请留意邮件

苹果开发者 Xcode发布TestFlight全流程_第18张图片请注意!!!!!!!

上传后的版本是正在审核的状态,第一次上传的话很有可能会审核不通过,那么很有可能上传的版本会自己消失,变成下面这个样子

苹果开发者 Xcode发布TestFlight全流程_第19张图片

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

苹果开发者 Xcode发布TestFlight全流程_第20张图片

 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文件,添加一行新数据,把NSPhotoLibraryUsageDescription粘贴进去,它自己就变成了Privacy - Photo Library Usage Description,然后value就是弹出的文字提示,自己写啥都行

苹果开发者 Xcode发布TestFlight全流程_第21张图片

修改所有BUG,再次上传,

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

苹果开发者 Xcode发布TestFlight全流程_第22张图片 

你可能感兴趣的:(开发心得,xcode,功能测试)