IOS上架发布与审核
2021-07-13 本文已影响0人
李霖弢
注册IOS开发者账号
- 登录https://developer.apple.com/注册开发者账号
IOS开发者账号分为以下四种,通常为个人账号或公司账号
账号类型 | 收费(年) | 支持证书类型 |
---|---|---|
个人账号 | $99 | Ad Hoc, App Store |
公司账号 | $99 | Ad Hoc, App Store |
企业账号 | $299 | Ad Hoc, In House |
教育账号 | 0 | Ad Hoc, App Store |
IOS导出ipa时需要选择一个证书,证书具有如下三种
- Ad Hoc
即内测版,把设备UDID添加到描述文件mobileprovision的手机可以安装 - App-Store
即正式版,APP审核后可上架App Store - In-house
企业版专用证书,具有该证书的APP可以直接安装到任意IOS设备
申请苹果 App ID (App的唯一标识)
相同 App ID 的应用在同一系统内只能有一个,且高版本覆盖低版本
因此如手机同时需要正式版与测试版,应使用不同的 App ID
- Certificates,IDs & Profiles=》Identifiers
- App IDs
- Bundle ID 选择 “Explicit”并填写(通常使用反域名)
- 选择所需服务
- Push Notifications 消息推送功能
- Associated Domains 网页唤起APP,如勾选该项需在manifest.json中新增类似如下配置(注意前面不要有
http://
,后面不要有/
)
"capabilities" : {
"entitlements" : {
"com.apple.developer.associated-domains" : ["applinks:xxxx.xxxx.cn"]
}
}
生成证书请求文件(.certSigningRequest)
- Mac OS上使用 “钥匙串访问” 工具
- 菜单 “钥匙串访问”->“证书助理”,选择“从证书颁发机构请求证书...”
- 输入用户邮件地址、常用名称,选择存储到磁盘
申请证书(.cer 与 .p12)
- Certificates,IDs & Profiles=》Certificates
- 选择证书类型:开发版则选择“iOS App Development”,发布版则选择 “IOS Distribution(App Store and Ad Hoc)”
- 导入上一步生成的证书请求文件,并下载到本地(后缀名为
.cer
) - 双击上一步下载好的
.cer
文件,或打开 “钥匙串访问” 工具,导入证书到“登录”类别。
在“证书”分类下右击该证书,选择导出为.p12
文件,并设置证书私钥密码 - 如果为开发版则还能Certificates,IDs & Profiles=》Devices添加调试设备,设备唯一识别标志UDID可通过该链接获取
申请描述文件(.mobileprovision)
- Certificates,IDs & Profiles=》Profiles
- 选择描述文件类型:“iOS App Development”为开发版,仅可在指定测试机安装;“Ad Hoc”为正式版,仅可在指定测试机安装;“App Store”为通用的正式版。
- 选择 “App ID”
- 选择相应的证书
- 如果为开发版则选择授权调试设备
- 输入描述文件的名称,生成并下载文件(后缀为
.mobileprovision
)
.cer 文件、.p12 文件、.mobileprovision 文件关系
-
.cer
文件是一个公钥,通过p12加密方法加密为.p12
文件,可对应多个私钥(.mobileprovision
文件) -
.cer
文件存在有效期,且每个开发者账号有数量限制,过期后不影响已上架的APP。
如需要再次上架,则需申请新的p12
文件及其.mobileprovision
文件,重新打包上传。
创建APP
进入appstoreconnect创建一个新的APP,相应的发布版证书+描述文件会作为一个套装供选择
上传并提交审核
在appstoreconnect填写APP信息,并通过Transporter上传打包好的ipa文件。注意6.5英寸(11 Pro Max)和5.5英寸(8 Plus)显示屏至少各上传3张照片。
- 注意,IOS中每次更新version不可重复,其build号仅为同一version多次审核时使用。安卓则可以version相同,build升序即可。
App Store 地址
IOS设备中可通过访问url唤起对应app的App Store界面
- app store connect里进入我的app,查看App ID(如1578994519)
- 调接口
https://itunes.apple.com/cn/lookup?id=${App ID}
,返回值中trackViewUrl
即下载地址
注意,该接口数据更新有延迟,且get和post请求延迟可能不同。保险起见可登录app store查看描述以确定当前线上的版本
{
"resultCount" : 1,
"results" : [{
"artistId" : "开发者 ID",
"artistName" : "开发者名称",
"trackCensoredName" : "审查名称",
"trackContentRating" : "评级",
"trackId" : "应用程序 ID",
"trackName" = "应用程序名称",
"trackViewUrl" = "应用程序下载网址",
"userRatingCount" = "用户评论数量",
"userRatingCountForCurrentVersion" = "当前版本的用户评论数量",
"version" = "版本号"
}]
}