魏晓东 发表于 2024-11-30 04:23:18

【ios】使用TestFlight将app分发给测试人员(超详细)

我的情况:
macos系统是Ventura 13.0
xcode是14.2(后面发现至少必要15版本的xcode才能上传app)
证书生成  

可以通过xcode生成Distribution类型的证书,如果你已经有的话那就忽略,这个证书也是存案时所需的。
   我是已经有证书了,后续的步骤使用的是之前已有存案证书。这个步骤只是放在这里给没有证书的人参考如何生成的。 
https://i-blog.csdnimg.cn/direct/9c17f2aa06b34c5980b55b24bed5092b.png
https://i-blog.csdnimg.cn/direct/156db2c389da48c687f57a29529263d0.png
https://i-blog.csdnimg.cn/direct/8851c97c8f6a4a38b822dfa8f031af66.png
生成后你就可以看到了,也可以在官网看到:Sign In - Apple 
注册id(很关键)

打开网址:Sign In - Apple
https://i-blog.csdnimg.cn/direct/0c03ea616e7e4a4c82b1a5d1d7f1d269.png
https://i-blog.csdnimg.cn/direct/65d701c9b17e4d03a18b24e0410f7f22.png
 
https://i-blog.csdnimg.cn/direct/bb624d2c8a6c4fd686796e5e82ddcbda.png
https://i-blog.csdnimg.cn/direct/91f94fbcbc064dfca24d02a3edbc3bcf.png
如果你下一步的注册是和我一样的提示:
https://i-blog.csdnimg.cn/direct/905048de604349c08ec958fb74c1fc4f.png
   这个问题困扰了我很久,接洽了apple不鸟我,我猜测是之前使用非开辟者账号举行真机调式,导致当前的id被占用了,不过它会过期。所以我等从周二等到周五吧,尝试了下就注册成功了。
创建形貌文件

Sign In - Apple
https://i-blog.csdnimg.cn/direct/6716f8314fd64e2bb06e43efd1d3d482.png
https://i-blog.csdnimg.cn/direct/33a15968e9564fa19c4276bd926c36dc.png
 
https://i-blog.csdnimg.cn/direct/b3fb128832ee4fcea2c5c29310d87b94.png
https://i-blog.csdnimg.cn/direct/6c696f5dcc4c4d7d96f9612c0b379af6.png
    当时存案时必要提取公钥和SHA1,这两个信息就是从证书里获取的,如果你选择的证书都不是当时提取这两个信息的证书了,那你这相称于没有存案啊,所以要留意证书的选择。
https://i-blog.csdnimg.cn/direct/fc2a7af59e1b44c78d29aef5052867f4.png
https://i-blog.csdnimg.cn/direct/32076d7847cd49b3af3c181d09811dec.png
   下载下来的形貌文件必要导入到xcode中。。。。 
导入形貌文件到Xcode 

https://i-blog.csdnimg.cn/direct/4fdbd80400974f6d8b9b37f006786687.png
https://i-blog.csdnimg.cn/direct/401cbd5ee8294e89a8145f414f493327.png
    如果你导入形貌文件后的报错提示跟我的一样,这个是由于你本机没有形貌文件所选的证书。你必要一个p12证书来导入你的电脑。这个p12证书是通过cer证书生成的,存案的过程肯定是有生成过得。
https://i-blog.csdnimg.cn/direct/60514b618fc14de09ae5ae550b0b9094.png
办理该问题的操作过程:
打开钥匙串访问应用 
https://i-blog.csdnimg.cn/direct/d0d948d9f4ce427189f8c0d67a4b2a9d.png
https://i-blog.csdnimg.cn/direct/de8d92cdd7044f19b3967db75515d202.png
然后双击你的p12证书
https://i-blog.csdnimg.cn/direct/df483cebef1c470f9d0f03abc6be9207.png
然后输入p12证书的密码就可以导入了。
接着Xcode关闭后再打开!!!  
    如果你必要把证书导出为p12在其他电脑上用的话,请看下面的操作:
https://i-blog.csdnimg.cn/direct/9cc02b934ea94985a1cd210169708f28.png
https://i-blog.csdnimg.cn/direct/fe80cd3a4fbb4a288788687199cfdd54.png

https://i-blog.csdnimg.cn/direct/8a3e1c53d632486b853d221a947fa384.png
https://i-blog.csdnimg.cn/direct/17f32488e1054c63b7a18045defe58eb.png
   新建个密码,这个密码是别人导入时必要输入的 

创建归档

更改构建配置: 
https://i-blog.csdnimg.cn/direct/686428cc53a144a1a76b766a473af352.png

https://i-blog.csdnimg.cn/direct/8e71a474826346f287bcf64f39393bb1.png

   在 Xcode 项目的主窗口中,从“Scheme”(方案) 工具栏菜单选择一个目标和一个仅限构建的设备或真实设备。如果目标是模拟器,你无法创建归档。然后,选取“Product”(产品) >“Archive”(归档) 以构建目标,并创建归档,归档将显示在“Archives”(归档) Organizer 中。 
https://i-blog.csdnimg.cn/direct/edd148ccf49b42e9b54bbd8f88e3ff1e.png
https://i-blog.csdnimg.cn/direct/3b4075b0416240d783133e9a5e332698.png
分发

   “分发”简朴来说就是把你的 App 分享给别人使用
你可以选择两种方式处理你的 App:


[*]一种是导出 App 后,在 App Store 外面自己分发。
[*]另一种是上传到 App Store Connect,通过 TestFlight 或 App Store 来分发。
如果你只想让少量注册过的设备(比如你公司内部的设备)使用这个 App,选择“Ad Hoc”或“开辟”选项。如果你想通过 TestFlight 或 App Store 让更多人使用,选择“App Store Connect”。如果你想了解各种分发方式的细节,可以点击左下角的问号。
    我打算发布到app store方便测试人员下载,因此就选择app store connect了。
https://i-blog.csdnimg.cn/direct/96c3ea7ea89f45218f96070b097b52f2.png
https://i-blog.csdnimg.cn/direct/9171dd066b7b44f18a3103c5420a8184.png
https://i-blog.csdnimg.cn/direct/7f1d751b8eeb4205a5fb43e633dc5558.png
https://i-blog.csdnimg.cn/direct/1c143e5b4d1d4bb492edf7b554389677.png
下一步就报错啦:
   App record creation failed due to an invalid attribute. Request failed with error code "ENTITY_ERROR.ATTRIBUTE.REQUIRED", and reason "The provided entity is missing a required attribute You must provide a value for the attribute 'companyName' with this request" 
https://i-blog.csdnimg.cn/direct/da93221aefca4599841612f2eef50b2e.png
   尝试在app store connect上手动创建:https://appstoreconnect.apple.com/
https://i-blog.csdnimg.cn/direct/57903a9eaf564c00bbd211d624daa62f.png
 
https://i-blog.csdnimg.cn/direct/13fdb73e52ce4ef39f4f922bfea52806.png
https://i-blog.csdnimg.cn/direct/8a1f525b50f84628b42c5d22763e75a5.png
    图中我收的SKU填写方式是我自己的做法,如果你是公司的项目,建议问下你的向导这里应该怎么填,万一公司本来就有这个的唯一值,你自己瞎填,那不就完犊子了。
接下来就将我们的项目上传到咱们刚刚在app store connect手动创建的app上。
然后还是出现报错:
https://i-blog.csdnimg.cn/direct/0c80ac146dbd4b9492bee35686117661.png
   它说我xcode版本太低了(14.2),至少必要15的xcode,然后我换了另一台电脑,以下是在xcode 16版本下操作的:
重新建一个归档后:
https://i-blog.csdnimg.cn/direct/b7b91a1e9b1d4a7db38305895bbd6995.png
https://i-blog.csdnimg.cn/direct/337ab6e46e124a75b9b897038d812f97.png
https://i-blog.csdnimg.cn/direct/5707538f3b484bb080662caff320b5e1.png

https://i-blog.csdnimg.cn/direct/7add1ecd7a8343069fe627909e06be59.png
    终于上传上去了,5555555~,然后我们就可以在https://appstoreconnect.apple.com/中使用TestFlight分发给测试人员了
你可能会跟我一样提示“缺少出口合规证明”。我是点击管理后选择了最后一个选项(忘记截图了,好像是说没有指定什么加密的意思) 
https://i-blog.csdnimg.cn/direct/ebfbcbf3b88a49758f5350e50257b912.png
   为了避免每次构建都有这个提示,必要在Info.plist中添加以下配置。 
App Uses Non-Exempt Encryption https://i-blog.csdnimg.cn/direct/5491946cde2f4ca2ba572e5ebad05438.png
    好了,结束了,后续步骤就是在https://appstoreconnect.apple.com/access/users中把测试人员添加进来,然后测试人员在邮件同意加入。然后举行以下操作:
https://i-blog.csdnimg.cn/direct/4343c4eadb8c46269e07c901d0e05303.png
 
https://i-blog.csdnimg.cn/direct/e1f6b6514f5f4d82a24cfcc8c5d080b7.png
   接着就会向测试人员发送邮件,邮件中大概说的是在app store中下载TestFlight,进入TestFlight后必要输入邮件中的邀请码,接着就应该能看到可以下载你的项目app了

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【ios】使用TestFlight将app分发给测试人员(超详细)