如何将App程序发布到苹果App Store?
预先准备
在你开始将程序提交到App Store之前,你需要有一个App ID,一个有效的发布证书,以及一个有效的Provisioning profile。下面来看看它们各自的作用。
Step 1: App ID(应用ID)
App ID是识别不同应用程序的唯一标示符。每个app都需要一个App ID或者app标识。目前有两种类型的App标识:一个是精确的App ID( explicit App ID),一个是通配符App ID( wildcard App ID)。使用通配符的App ID可以用来构建和安装多个程序。尽管通配符App ID非常方便,但是一个精确的App ID也是需要的,尤其是当App使用iCloud 或者使用其他iOS功能的时候,比如Game Center、Push Notifications或者IAP。
如果你不确定什么样的App ID适合你的项目,我推荐你读下苹果关于这一主题的文档: Technical Note QA1713。
Step 2: Distribution Certificate(发布证书) iOS应用都有一个安全证书用于验证开发者身份和签名。为了可以向App Store提交app,你需要创建一个iOS provisioning profile 。首先需要创建一个distribution certificate(发布证书),过程类似于创建一个development certificate(开发证书)。如果你已经在实体设备上测试你的App,那么你对创建development certificate就已经很熟悉了。
如果对此不熟悉,建议你读下苹果关于signing certificates和provisioning profiles的详细指导 。
Step 3: Provisioning Profile(配置文件) 一旦你创建了App ID和distribution certificate,你可以创建一个iOS provisioning profile以方便在App Store中销售你的App。不过,你不能使用和ad hoc distribution相同的provisioning profile。你需要为App Store分销创建一个单独的provisioning profile,如果你使用通配符App ID,那么你的多个app就可以使用相同的provisioning profile。
Step 4: Build Settings(生成设置)
配置App ID、distribution certificate 和provisioning profile已经完成,是时候配置Xcode中target的build settings了。在Xcode Project Navigator的targets列表中选择一个target,打开顶部的 Build Settings选项,然后更新一下 Code Signing来跟之前创建的distribution provisioning profile相匹配。最近添加的provisioning profiles有时候不会立马就在build settings的 Code Signing中看到,重启一下Xcode就可以解决这个问题。
配置Target的Build Settings
Step 5: Deployment Target(部署目标)
非常有必要说下deployment target,Xcode中每个target都有一个deployment target,它可以指出app可以运行的最小版本。不过,一旦应用在App Store中生效,再去修改deployment target,你要考虑到一定后果。如果你在更新app的时候提高了deployment target,但是已经购买应用的用户并没有遇到新的deployment target,那么应用就不能在用户的移动设备上运行。如果用户通过iTunes (不是设备)下载了一个更新过的app,然后替代了设备上原先的版本,最后却发现新版本不能在设备上运行,这确实是个问题。
(1) 当你决定提高现有app的deployment target时,要在新版本的版本注释中进行说明。如果你提前告知用户,那么至少有一点,你已经尽力阻止问题的发生了。
(2) 对于一款新app,我经常会把deployment target设置为最近发布的系统版本。因为新iOS版本发布后,渗透率的增长速度是令人难以置信的。很多人认为提高deployment target会失去大部分市场,这个说法并不准确,比如iOS 6, iOS 6发布后一个月,超过60%的设备已经进行了更新 。但对Android而言,就是另外一回事了, Android用户并不会像iOS用户那样热衷于更新操作系统版本 。
广告 您可能关注的内容 |