iOS App 发布准备

iOS App 发布准备

申请 Apple 开发者账号

申请 D-U-N-S 编号

如果 App 需要在 App Store 上发布,那么建议申请 "以组织身份注册" 的类型。如果选择以组织身份注册,还需要先为您的企业或组织申请 D-U-N-S (邓白氏) 码,请按照 https://developer.apple.com/enroll/duns-lookup/ (opens new window) 的指引完成申请。如果企业资质健全,一般都能申请成功,通常 D-U-N-S 的申请需要几天时间完成。

提示

注册 D-U-N-S 需要提供如下信息以及联系人信息

duns-request

提交在线申请后,如果申请人是中国境内的组织实体,可能会收到 D & B 的国内代理公司 (上海华夏邓白氏商业信息咨询有限公司) 发来的邮件,要求签署邮件附件中的确认知悉函,并提供以下信息

  • 公司清晰的营业执照正本(或副本)照片和公司公章刻字面的实物照片(如是事业单位请提供事业单位法人证)
  • 公司中文名称(工商注册的中文名,如有更名情况,请同时提供更名前和更名后的名称)、英文名(如无正式的英文名按字面翻译)
  • 中文办公地址、英文办公地址
  • 邮编
  • 企业类型
  • 是否是独立企业(公司有无分公司或办事处,只需填有或无)
  • 公司英文简称或英文商标(如果没有可以填无)
  • 主营业务(一个最主要的业务)
  • 员工人数(请尽量精确,例:10人;不要填区间,例:10-20人)
  • 本项目联系人(务必填写申请公司的本项目联系人),包括姓名、 性别、 职务和电话(公司座机和联系人手机,所提供座机和办公地址保持一致)

完成苹果开发者注册

以组织身份注册苹果开发者,需要在获得 D-U-N-S 编号后,才可以继续完成注册,需要提供如下信息

提示

苹果开发者的注册地址是 https://developer.apple.com/programs/ (opens new window),网站上有详细的流程介绍。

ios-dev-register

提示

开发者账号注册好之后,才可以进行后续步骤。

常用网站

创建 App ID

https://developer.apple.com (opens new window) 网站为 App 创建一个 App ID,创建 App ID 是为了创建 Bundle ID (PRODUCT_BUNDLE_IDENTIFIER)。如果在 Xcode 工程中使用 xcconfig,则 release build 的 xcconfig 中可以设置 PRODUCT_BUNDLE_IDENTIFIER = "创建 App ID 时指定的 Bundle ID"。

创建 iOS Distribution 证书

这个证书用于 Xcode 编译过程中为生成的 ipa 文件签名,如果还没有创建该证书,则可以使用 Xcode 创建该证书。创建的方法是进入到 Xcode > Preferences > Accounts > Manage Certificates…, 点 + 号,选择 iOS Distribution。

创建出来后,可以在主机的 Keychain Access 应用中将该证书导出为一个 .p12 文件备用,一般需要将这个证书再安装到编译服务器上去。

创建 iOS Provisioning Profiles (Distribution)

https://developer.apple.com (opens new window) 网站为 App 创建一个 iOS Provisioning Profiles (Distribution),这个文件也是在 Xcode 编译时使用。创建时,需要选择已经创建好的 App ID,以及 iOS Distribution 证书。创建好的 iOS Provisioning Profiles (Distribution) 文件可以下载下来,安装到编译服务器上。

配置 release xcconfig 文件

建议在工程中使用 release xcconfig 文件,可以在该文件中配置好以下几项配置。在工程的 Build Settings 中将相应的属性设置为对应的参数。如将 Provisioning Profile > Release 设置为 ${PROVISIONING_PROFILE_SPECIFIER},将 Packaging > Product Bundle Identifier > Release 设置为 ${PRODUCT_BUNDLE_IDENTIFIER} 以此类推。

PRODUCT_BUNDLE_IDENTIFIER = 创建 App ID 时指定的 Bundle ID
PRODUCT_NAME = 应用名字
DEVELOPMENT_TEAM = 开发者 Team ID 号码,在 developer.apple.com 查看账号信息可以查到  
CODE_SIGN_IDENTITY = 签名证书 ID,查看签名证书属性可以查到 
PROVISIONING_PROFILE_SPECIFIER = iOS Provisioning Profiles (Distribution) 的名字

在 App Store Connect 创建应用

在 App Store Connect 网站中创建一个新的 iOS App,创建应用时选择之前创建的 Bundle ID。只有创建 App 后才可以上传改应用的 ipa 文件。

编译 Release 版本应用 ipa 文件并将其上传到 App Store Connect

建议在编译服务器通过命令行方式编译用于发布的 ipa 文件,然后通过命令行进行上传。可以使用 Jenkins 等 CI/CD 工具,将这一过程自动化。编译命令和上传命令示例如下

xcodebuild -target ${TARGET} -configuration Release -project ${PROJECT_FILE}
xcrun altool --upload-app -f ./release/${RELEASE_IPA_FILE} -u ${USER_APPLE_ID} -p "${APP_SPECIFIC_PASSWORD}"

提示

苹果现在要求 altool 命令中不能再使用用户的登录密码,而需要使用 App Specific Password,这个密码需要在 Apple ID 管理网站中创建

通过 Test Flight 安装 App 测试

Test Flight 是苹果推荐的 App 发布前的测试和 Beta 手段, ipa 上传到 App Store Connect 后,测试人员可以通过 Test Flight 安装新上传的 App,进行必要的测试。有关 Test Flight 的使用方法可以参考 https://developer.apple.com/testflight/ (opens new window)

提交审核

新版本应用通过测试后,可以将其提交审核。在 https://appstoreconnect.apple.com (opens new window) 网站上提供必要的信息,然后提交审核即可。苹果一般几天后开始审核,如果审核成功,则 App 可以发布到 App Store。如果审核失败,苹果会提供反馈信息,说明审核失败的原因,需要根据反馈进行必要的修改或者同审核人员进行必要的沟通。可以参考苹果文档 https://help.apple.com/app-store-connect/#/dev34e9bbb5a (opens new window) 查看更详细的说明。

提示

苹果现在要求所有应用需要提供《隐私协议》链接,需要将准备好的《隐私协议》放到公司网站后,将地址链接填入 App 审核申请中对应的空格。

另外,有时苹果要求提供 App 使用的 Demo 视频,建议录制一个 Demo 视频,在申请表中提供视频的地址链接。

上次更新: 6/4/2019, 1:16:04 PM