苹果个人开发者账户下的App打包流程

这周在PM的个人开发者账户下上线“影视星球”,发现个人账户和企业账户还是有区别的,目前只发现在开发者权限上和企业账户有区别。


(为了方便区分,下文中开发者账户持有者都称为“开发者账户持有者”,邀请的开发者账户称为“开发者账户”)


1、不同点:企业开发者账户可以添加people,而个人开发者账户不能添加。


2、开发者账户持有者进入到App Store Connect,邀请开发者,开发者通过后只能在App Store Connect才能访问该账户下的App(PS:如果通过邀请后不能看到App,就需要账户持有者查看你是否拥有访问该App的权限)


3、添加App之前需要先添加 Certificates, Identifiers & Profiles,并且只有该开发者账户持有者才能创建,开发者看不到。

3-1.首先创建一个 Certificate,步骤如下:

  • 打正式包选择 Apple Distribution 类型,继续下一步;image.png
  • 这里要求 Upload a Certificate Signing Request ;

注:如果没有csr文件那么我们就要先创建一个,创建csr的具体步骤如下:

  1. 先进入“钥匙串访问”;
  2. 选取“证书助理”下的“从证书颁发机构请求证书”,然后就会出现填写证书信息弹窗(电子邮件就填账户持有者的电子邮件,常用名称随便填就行,之后再选中“存储到磁盘”),这样就会在磁盘生成了一个 CertificateSigningRequest.certSigningRequest 文件;
  3. 我们再回到 Create a New Certificate ,在刚刚需要添加 csr file 的地方导入 CertificateSigningRequest.certSigningRequest 文件。

202178-114636.png

image.png

  • 到这里就创建好一个 Certificate 了,然后再把刚刚创建好的Certificate Download 到本地(生成一个.cer文件,后面的步骤需要用到)。

image.png

3-2.创建一个 identifier ,步骤如下:

image.png

2.png

输入description、bundle ID

3-3.创建一个 Profile ,步骤如下:

image.png

  1. 选中Distribution:App Store;
  2. Select an App ID:选中上一步创建的identifier 的description(即name)
  3. Select Certificates:选中第一步创建的证书(Certificate)
  4. 继续下一步就好了


4、添加App

Certificates, Identifiers, Profiles都有了,现在可以进入 App Store Connect 在自己的Team下添加App了,创建App时填的套装id就是bundle ID。


5、使用Xcode打正式包

双击上面下载的 Certificate文件(.cer)将其安装到“钥匙串”中(在“钥匙串”中显示 Apple Distribution: XXX)

在Xcode中找到 Signing & Capabilities,Release Signing 填入 Bundle identifier,在 Provisioning Profile 栏点击 Download Profile ,发现下载不了,Team也不存在。这个时候打开 Xcode -> Preferences 查看 Accounts,企业开发者账户下可以添加people,因此只需要通过邀请,就可以使用开发者账户登录account并设置 DEVELOPMENT_TEAM ,但在个人开发者账户下,登录开发者账户会找不到Team,需要在Xcode中登录开发者账户持有者的Apple账户,才会展示Team(安装了.cer证书的前提下),Signing Certificate就会变成刚刚安装到钥匙串的证书(Apple Distribution: XXX)了。


6、问题记录

Xcode 上传 App 到 App Store报错:

ERROR ITMS-90771: "Missing Info.plist value. The Info.plist key 'BGTaskSchedulerPermittedIdentifiers' must contain a list of identifiers used to submit and handle tasks when 'UIBackgroundModes' has a value of 'processing'. For more information, refer to the Information Property List Key Reference at https://developer.apple.com/library/ios/documentation/General/Reference/InfoPlistKeyReference/Introduction/Introduction.html."

截图.png

解决方案:

方案一:找到Signing & Capabilities下的Background Modes,取消Background processing的勾选。(经测试:upload成功)

截图.png

方案二:在ios/<product name>/Info.plist添加:(未测试)

screenshot-20210709-211353.png

添加之后Xcode -> Info -> Custom iOS Target Properties显示:

image.png

学习清单

如果觉得我的文章对您有用,请随意赞赏。您的支持将鼓励我继续创作!

被以下专题收入,发现更多相似内容