发布app上架testflight

环境: IDE xcode 11.3.1 (11C504)

1、确认您的xcode能顺利编译通过

2、Project-Archive

xcode会自动编译并且打包,并且完成后会弹出Archive对话框

3、点击右侧的Validate App

 会自动连接App Store Connect来进行初步的验证。

勾选Strip Swift symbols来 减少 app size

4、选择发布的证书来完成发布(这个要在developer.apple.com的account中设置)

好了,下面就会自动检测了,如果不通过会给你一些提示。按提示来修改再次打包就可以了。

下面讲一下,我碰到的问题:

A valid provisioning profile for this executable was not found

字面意思就是app没有一个有效的配制文件

这里要说到一些概念:

Certificates, Identifiers & Profiles

Certificates:证书

Identifies:app的bundle identifier(图1)

Devices:测试设备(比如说你的iphone,ipad等等)

Profiles: 对证书、bundle identifier,devcies的一个总结吧,也就是包括了这些信息,这样你的xcode,还有苹果app store connect才会通过您的认证,

这样你才可以安装到你的测试设备上,或者发布到testflight(公测),最好上架到app store去供用户购买。

图1

在苹果开发者网站上,可以建一个app id ( Application Id)

 

注册一个App IDs: 

 

 加入一个测试手机: 

 这点,点击download, 下载您的设置到本地,然后双击,这样xcode就可以认到了。

 这样的话,基本上就完成了设置工作。

下面我们来看一下xcode中,是如何设置的。

Debug与Release设置是一样的,配制文件不一样,一个选择dev,一个选择release。

还有一个地方也是报错,也是我碰到的

 最后还得搞一张图,打包的时候一直报错,大体是这样的错,但都跟 libPods-工程名.framework有关系:

1、Invalid Swift Support : The file 工程.app/Frameworks/libPods-工程.framework doesn't have the corrent file type for this location.

2、Invalid Bundle Structure: The binary file '工程.app/Frameworks/libPods-工程.framework' is not permitted. Your app can't contain standalone

executables or libraries, other than a valid CFBundle Executable of Supprted bundles.

以上是我记忆中的解决方法及打包发布到testflight应该处理的。

时间一长就会忘记,还是记录下,当然如果您碰到了相关的问题,希望能帮到您。

不当之处,可以相互学习,共同提高。

下面讲一下打包成功后,上传到Apple Store Connect

打包成功后,可以导出来

 

然后选择发布证书,然后就可以导出来了。

导出来以后,会有一个ipa文件,这个文件就是我们需要上传的文件,可以安装一个Transporter

第一次打开用您的app id登录,然后将导出的ipa文件,直接拖进去,然后一般通过了Validate App的话,

直接拖进去就可以了,然后再点提交。

提交完后,apple会在很短的时候里,给你回邮件email,还给我发了几个需要调整的地方:

ITMS-90683: Missing Purpose String in Info.plist - Your app's code references one or more APIs that access sensitive user data. The app's Info.plist file should contain a NSBluetoothPeripheralUsageDescription key with a user-facing purpose string explaining clearly and completely why your app needs the data. Starting Spring 2019, all apps submitted to the App Store that access user data are required to include a purpose string 

这个意思其实很简单:就是你用的权限中没有明确的指出干嘛用的,也就是在value里面加入一个说明即可

比如,蓝牙是用来连接打印机的

到此上传到Apple Store Connect就成功了,到此,还需要登录到developer.apple.com -- Account

打开会员中心,然后点击Apple Store Connect,去构建您的项目,这样就可以提交到TestFlight

让专业人员去帮你审核了,审核通过,都会给你发Email。

只要在Apple Store Connect后台加入测试人员的email

如果没有收到email的话,可以再点击发送邀请,这样就会收到一封邀请,

1)打开邮件,您会看到一个TestFlight前往的按钮,点一下,就会弹出来一个对话框,里面有一个邀请码,拷贝。

2)然后在手机上的TestFlight “兑换”,帖上您的邀请码,确认。

3)然后就可以看到待安装的App了,安装,打开,输入账号密码,开启测试。

猜你喜欢

转载自www.cnblogs.com/jiduoduo/p/12382231.html