如何将IOS App程序发布到苹果App Store
2022-12-08 · 百度认证:IT168官方账号,优质数码领域创作者
预先准备
在你开始将程序提交到AppStore之前,你需要有一个AppID,一个有效的发布证书,以及一个有效的Provisioningprofile。下面来看看它们各自的作用。
Step1:AppID(应用ID)
AppID是识别不同应用程序的唯一标示符。每个app都需要一个AppID或者app标识。目前有两种类型的App标识:一个是精确的AppID(explicitAppID),一个是通配符AppID(wildcardAppID)。使用通配符的AppID可以用来构建和安装多个程序。尽管通配符AppID非常方便,但是一个精确的AppID也是需要的,尤其是当App使用iCloud或者使用其他iOS功能的时候,比如GameCenter、PushNotifications或者IAP。
如果你不确定什么样的AppID适合你的项目,我推荐你读下苹果关于这一主题的文档: TechnicalNoteQA1713。
Step2:DistributionCertificate(发布证书)iOS应用都有一个安全证书用于验证开发者身份和签名。为了可以向AppStore提交app,你需要创建一个iOSprovisioningprofile。首先需要创建一个distributioncertificate(发布证书),过程类似于创建一个developmentcertificate(开发证书)。如果你已经在实体设备上测试你的App,那么你对创建developmentcertificate就已经很熟悉了。
如果对此不熟悉,建议你读下苹果关于signingcertificates和provisioningprofiles的详细指导。
Step3:ProvisioningProfile(配置文件)一旦你创建了AppID和distributioncertificate,你可以创建一个iOSprovisioningprofile以方便在AppStore中销售你的App。不过,你不能使用和adhocdistribution相同的provisioningprofile。你需要为AppStore分销创建一个单独的provisioningprofile,如果你使用通配符AppID,那么你的多个app就可以使用相同的provisioningprofile。
Step4:BuildSettings(生成设置)
配置AppID、distributioncertificate和provisioningprofile已经完成,是时候配置Xcode中target的buildsettings了。在Xcode Project Navigator的targets列表中选择一个target,打开顶部的BuildSettings选项,然后更新一下CodeSigning来跟之前创建的distributionprovisioningprofile相匹配。最近添加的provisioningprofiles有时候不会立马就在buildsettings的CodeSigning中看到,重启一下Xcode就可以解决这个问题。
/iknow-pic.cdn.bcebos.com/63d0f703918fa0ecac7c2e772a9759ee3d6ddb15"target="_blank"title="点击查看大图"class="ikqb_img_alink">/iknow-pic.cdn.bcebos.com/63d0f703918fa0ecac7c2e772a9759ee3d6ddb15?x-bce-process=image%2Fresize%2Cm_lfit%2Cw_600%2Ch_800%2Climit_1%2Fquality%2Cq_85%2Fformat%2Cf_auto"esrc="https://iknow-pic.cdn.bcebos.com/63d0f703918fa0ecac7c2e772a9759ee3d6ddb15"/>
配置Target的BuildSettings
Step5:DeploymentTarget(部署目标)
非常有必要说下deploymenttarget,Xcode中每个target都有一个deploymenttarget,它可以指出app可以运行的最小版本。不过,一旦应用在AppStore中生效,再去修改deploymenttarget,你要考虑到一定后果。如果你在更新app的时候提高了deploymenttarget,但是已经购买应用的用户并没有遇到新的deploymenttarget,那么应用就不能在用户的移动设备上运行。如果用户通过iTunes(不是设备)下载了一个更新过的app,然后替代了设备上原先的版本,最后却发现新版本不能在设备上运行,这确实是个问题。
(1)当你决定提高现有app的deploymenttarget时,要在新版本的版本注释中进行说明。如果你提前告知用户,那么至少有一点,你已经尽力阻止问题的发生了。
(2)对于一款新app,我经常会把deploymenttarget设置为最近发布的系统版本。因为新iOS版本发布后,渗透率的增长速度是令人难以置信的。很多人认为提高deploymenttarget会失去大部分市场,这个说法并不准确,比如iOS6,iOS6发布后一个月,超过60%的设备已经进行了更新。但对Android而言,就是另外一回事了,Android用户并不会像iOS用户那样热衷于更新操作系统版本。
-
官方服务
- 官方网站
- 官方网站