随着苹果对企业级开发证书的管控越来越严格,越来越多的企业级证书到期后,苹果不再予以续约,但是很多app都有企业内部分发需求,不希望自己的应用被公开上架。这时候,我们可以参考苹果官方的建议,使用商务管理模式来分发我们的内部应用。
一、效果
先说最终效果,使用商务管理模式分发app成功以后,我们会得到一个excel,里面包含兑换码和兑换链接,如下所示:
用户使用苹果手机打开App Store,点击设置,打开找到兑换礼品卡或代码一栏,输入兑换吗,兑换下载即可。或者在浏览器输入兑换链接,会自动打开App Store并兑换下载,下载后即可正常使用。
下面是截止目前为止最新(2023年5月)的操作方法。
二、步骤简述
1,注册苹果商务账号
2,设置苹果商务管理组织
3,设置开发者账号
4,App Store Connect 新建应用与设置
5,Xcode打包应用并上传到App Store Connect
6,App Store Connect选择构建版本,填写应用相关信息,提交审核
7,通过苹果的应用上架审核
8,在商务账号下找到上传的应用,下载兑换分发excel文件
9,用户在App Store兑换下载
这是设置商务分发的完整步骤,正在进行的小伙伴可以按照步骤找到自己正处于哪一步。
三、详细说明
接下来对每一步进行详细描述,避免大家踩坑:
1,注册苹果商务账号
首先申请者身份必须是组织,不接受个人身份申请。我们需要先准备好以下资料:
-
邓白氏编码
(如果有企业账号的话,就不需要重新再申请了,可以和企业账号公用一个邓白氏编码)申请邓白氏链接 https://developer.apple.com/enroll/duns-lookup/#!/search
-
appleId
-
公司相关的网站域名
-
域名邮箱,就是你公司的企业邮箱,要和开发者账号的邮箱区分开,最好用一个新邮箱
-
公司的座机电话
-
你的个人信息、验证联系人的个人信息(不能和你的个人信息相同)
审核时间一般 2-3 天,最长不超过 7 天。苹果会在验证邓白氏编码、公司信息等通过后,致电您公司的座机(可能是申请邓白氏编码的座机,也可能是申请苹果商务时填写的座机),和验证联系人
通话。
苹果和验证人通话时,可能会询问下列问题:
-
验证人姓名、职务(职务应该为 CEO、COO、IT 经理等管理者,普通员工不具备做验证人的权限)
-
正在申请苹果商务管理账号的员工,是否可以代表公司同意苹果的协议(如果回答不能,苹果会拒绝通过审核)
-
申请苹果商务管理账号的目的(可以回答:您公司的员工需要使用定制应用、其他公司为您的公司开发了定制应用等。如果回答作为开发者为其他公司开发并分发定制应用,苹果可能拒绝通过申请,并提示苹果商务账号应当由你的客户自己去申请。
2,设置苹果商务管理组织
如果电话验证通过,苹果会向验证人、申请人的邮箱发送确认邮件。点击邮件的【开始使用】按钮(要及时点击,超过一周即过期),跳转到管理式Apple ID的创建表单,填写该苹果商务管理账号的管理员信息,姓名、工作邮箱、密码、手机号码等信息。
tips:因为这里需要新创建一个“管理式 AppleID”,所以此处的邮箱不能填写提交申请时的 AppleID 或者其他已经存在的 AppleID,需要一个新的以公司网址为后缀的工作邮箱地址。
填好信息后点击继续。随后页面会跳转至输入短信和邮箱验证码的页面,根据提示填入验证码,并点击继续按钮。然后会出现下图所示的提示信息:
最后,页面会显示条款与条件,必须同意苹果的使用条款才能使用苹果商务管理账号。 勾选所有协议,点击右下方同意按钮。
我们使用注册好的管理式Apple ID登陆商务管理网站,在【设置】>【注册信息】页,可以看到我们的组织信息:
我们把组织ID和组织名保存好,在4.2步会用到。
3,设置开发者账号
如果我们的组织之前就有开发者账号,那就直接使用即可;如果没有就要注册一个新的开发者账号了。
账号的注册过程我们不在本文讲述,只贴一个不同类型的开发者账号对比:
账号类型 | 费用 | 发布AppStore | 申请条件 | 证书类型 | 协作人数 |
---|---|---|---|---|---|
个人账号Individual | 99美元/年 | 可以 | 无限制 | Ad-hoc,App Store | 1(开发者自己) |
公司账号Company | 99美元/年 | 可以 | 邓白氏编码 | Ad-hoc,App Store | 多人,可设置团队 |
企业账号Enterprise | 299美元/年 | 不可以 | 邓白氏编码 | Ad-hoc,In House | 多人,可设置团队 |
教育账号 | 0 | 可以 | 只能教育机构或者学院内部使用,必须是苹果iOS开发者计划授权机构,不能对外正式发布iOS应用程序 | Ad-hoc,App Store | 未知(查不到相关资料) |
假设我们为客户开发应用,由客户提供开发者资质,那我们需要让客户把我们拉入开发者团队。
4,App Store Connect 新建应用与设置
打开https://appstoreconnect.apple.com/,登陆自己的开发者账号。这里要使用具有管理权限的账号登陆,如果是仅有开发权限的账号,那么登陆成功了你也打不开我的App模块(点击以后会自动跳回首页)。
4.1新建app
在我的App模块,点击+号,选择新建app
我们选择ios平台;
起一个不会重复的app名称(常见的名称很容易重复);
语言选取简体中文;
套装id要使用和Xcode项目一致的bundleId,因为是第一次使用App Store Connect,所以我们要点击这里的【证书、标识符和描述文件】来注册一个bundleId。这里的bundleId要注册一个不同于之前企业证书分发的新bundleId,因为会重复。Capabilities一般选择Access WiFi Information、Push Notifications即可,其他的按自己应用需求来选。注册好这个套装id以后,记得把证书文件(.p12文件)、密码和.mobileprovision文件保存下来,下一步会用。注册好以后返回到新建页面,选择你刚注册好的套装id;
SKU输入一个你的应用的专属的id;
用户访问权限设为完全访问权限。
点击创建即可创建出一个新的app。
4.2设置价格与销售范围
点击这个app进入该app的信息管理页面,点击【价格与销售范围】进行设置。
app定价与销售范围都选择适合自己应用的内容,一般都是中国大陆;
最重要的是App分发方式,要勾选【私人—在Apple商务管理…】,填写我们在商务账号上注册的组织名称与组织id。
点击【存储】保存即可。
4.3设置app管理员
如果我们自己本身就是这个管理权限的开发者账号拥有者,自己填写app详细信息的话,那不必看这里。如果我们app详细信息不由自己来填写(因为信息较为繁琐),而是由团队其他人来写的话,需要在【用户和访问】那里,找到团队成员X,编辑用户访问权限,将X设为我们新建app的管理员,这样X就可以在第六步进行应用详细信息的填写了。
5,Xcode打包应用并上传到App Store Connect
5.1更新macOS与Xcode到最新版本
这一步看似没必要,但其实是最重要的!!!因为如果你不更新,到了最后一步上传,苹果会提示你,应用必须支持最新的ios SDK才能上传,要想支持最新的ios SDK那你就必须使用最新的Xcode,如果要使用最新的Xcode,那你就要有最新的Mac OS。为了不浪费时间,请第一时间保证你的系统和Xcode是最新版本!我现在(2023年5月)最新的ios SDK是ios 16.4,Xcode版本是14.3,macOS Ventura 13.3,这一版本支持了iphone14的全系列产品。
5.2证书导入与选择
将上一步我们得到的证书文件导入钥匙串,成功后打开Xcode,在【TARGETS】>【Signing & Capabilities】下,填写Bundle Identifier,值与上一步设置的套装id保持一致;Provisioning Profile选择我们上一步得到的mobileprovision文件,会自动带出下方的Team与Signing Certificate信息。
5.3Info.list设置必要的权限提示信息与加密信息
这里本来是不需要这一步的,但是我在上传后遇到了一些问题与权限提示和加密信息有关,所以最好在这一步就处理好这方面的问题,避免反复操作。
这是Info.list需要注意的两项内容:
这里如果权限申请描述信息没写,是不能通过AppStoreConnect的审核的,原本我的权限申请了位置信息权限,NSLocationAlwaysUsageDescription和NSLocationWhenInUseUsageDescription都是有的,但是审核时发邮件提示NSLocationWhenInUseUsageDescription也必须要有。
指定ITSAppUsesNonExemptEncryption的原因时是上传成功以后,选择构建版本时,还需要手动指定出口合规证明信息才行,比较麻烦,所以我们直接在info.list就做好制定。
5.4应用打包与上传
应用开发完成后,Xcode点击【Product】> 【Archive】进行打包操作,打包完成后,选择分发方式为【App Store Connect】,一路向下next,期间需要选择一次开发者证书和描述文件,到了最后一步选择【Upload】上传到App Store Connect即可,成功如下图。
5.5准备应用截屏与隐私政策
这是下一步需要的资料,放在这一步是因为在这里做好准备比较方便。
应用截屏:
首先需要iPhone5.5英寸与6.5英寸的显示屏截屏,每个尺寸准备4、5张应用截图。
截图我们直接使用对应屏幕大小的ios模拟器点击截图即可:
- 5.5英寸对应机型:6plus、6s plus、7plus、8plus
- 6.5英寸对应机型:iphone Xs Max、iphone 11Pro Max
隐私政策:
现在主流的app应用合规隐私政策都需要做成网页对外提供一个url来访问了,苹果也不例外。所以我们需要一份基于自己app的隐私政策文档,然后把它转为html网页放到一个对外的服务器上,直接访问这个url链接可以看到该应用的隐私政策。
6,App Store Connect选择构建版本,填写应用相关信息,提交审核
6.1选择构建版本
这时我们登陆App Store Connect点进去对应的app界面,发现状态还是准备提交?我们的上传的app包去哪了呢?往下滑动,找到【构建版本】,这里应该有你刚刚上传好的app文件,需要勾选构建版本才行;如果在这里也没看到app文件,那说明你上传的文件可能有点小问题。点击【TestFlight】,来这里查看你的ios构建版本。
可以看到有一个缺少出口合规证明的警告,这里就是我们在5.3那一步做的操作意义所在,如果你做过了那就不会有这个警告,如果没做也没事,手动选择你的app使用了哪种类型的加密算法就可以了,选择后回到App Store下的构建版本,这时就出现了可供你构建的应用版本。
6.2填写应用相关信息
这里我们需要填写的东西还是很多的,我们只说必填项:
-
ios预览与截屏
还记得5.5步骤我们保存好的应用截图吗,两个尺寸分别上传好
-
描述
对你 App 的描述,用以详细说明特性和功能。
-
关键词
添加一个或多个关键词以描述你的 App。关键词将使 App Store 搜索结果更加准确。关键词之间用英文逗号或中文逗号(或两者混合使用)分隔。
-
技术支持网址 (URL)
你的 App 技术支持信息网址 (URL)。该网址 (URL) 会在 App Store 中显示。
-
版本
你要添加的 App 的版本号。编号应遵循软件版本规范。
-
版权
拥有你的 App 专有权的人员或实体的名称,前面是获得权利的年份(例如“2008 Acme Inc.”)。请勿提供网址 (URL)。
-
App 审核信息
如果需要你的app使用需要登录的话,那就要提供一个测试账号与登录密码,联系信息也要填好
-
备注
备注这一项不是必填的,但是如果你的应用有某些特殊之处,需要在这里说明。这里写对审核过程会有所帮助的 App 额外信息例如,App 特有的设置,它仅对审核人员可见,最终不会在app store下载界面被人看到。
-
隐私政策
链接至你的隐私政策的网址 (URL)。所有 App 都必须提供隐私政策。还记得5.5我们准备的隐私政策url吗,填上它。
-
收集数据类型
根据你的app的实际使用数据,如实填写从app收集的数据类型以及数据是否与用户身份关联、用途、是否用于追踪目的等信息。
填写完以后点击提交审核即可。
7,通过苹果的应用上架审核
我们已经提交了应用上架审核,这时候就静静等待审核结果吧,一般是在一个工作日以内就会有反馈。我们在【App 审核】界面可以看到审核的结果,一般来说很难一次通过,根据苹果的要求来进行修改提交就好,如果有你不认同的驳回理由,也要据理力争。总之,来回沟通以后,如果审核成功了,会看到一个已批准的标识。
8,在商务账号下找到上传的应用,下载兑换分发excel文件
审核成功后,登陆我们的商务管理账号,在【自定App】下就可以看到我们的app了,这期间也可能会有数小时的延迟。
在【购买许可下】,选择许可类型为兑换码,设置兑换码的数量,单次兑换码购买量需要在1-25000之间。注意,同一件免费项目的订购数量每周不能超过25000份。如果想突破25000的限制,可以给苹果商务账号多增加一些子账号,每个子账号每周都可以买25000个兑换码。
点击【获取】按钮,会在下方显示出刚刚购买的兑换码,点击右侧下载按钮,就可以下载到包含兑换码和链接的excel文件了。(获取成功后,可能下载按钮不会立刻显示,可能需要等待几分钟)。
9,用户在App Store兑换下载
兑换的步骤我们在开头的【效果】中已经讲过,不再赘述。
这里再说一点,App升级后,之前购买的兑换码仍然有效,用户使用之前的兑换码下载到的app是升级后的最新版本。
已经下载的用户可以通过App Store自动或手动升级(取决于用户的设置),具体方式和App Store下载的应用更新方式相同。
四、结尾
以上就是Apple商务管理模式分发app的全部步骤了,里面包含了目前最新(2023年5月)的详细步骤说明与踩坑经验,希望对大家有所帮助。感觉不错的话,给我点个赞吧~