App Store 上架流程
2016.04.13 14:38*字数 1626阅读 18853评论 37喜欢 110赞赏 1
说实话,公司要上架一个自己做的一个小项目。为了完成这个任务,菜鸟的我一遍找资料一遍跟着做,一遍修改错误一遍查找解决方案。网上的资料大部分都是2015年以前的资料,资料有点不够过时,而且步骤配图也不是很详细,导致我花费了整整4天的工作日只为实现appstore上架。哎呀,也是够蛋疼的,appstore上架的每个流程都要确认无误,每一步的错误都会导致最终的失败。这个shit的操作,再也对你无爱了。
推荐一篇比较详细有用文章:
appStore上传苹果应用程序软件发布流程_iOS开发群雄_新浪博客
常见问题解决方案:
解决Invalid Code Signing Entitlements 问题 - lady-奕奕的个人空间 - 开源中国社区
好了,吐槽和发泄的话就少说,下面就正式进入Appstore上架流程了。
1.首先你的准备一个个人开发者账号、公司开发者账号。---我这里是公司开发者账号,是什么账号不要紧,因为只要有开发者(appstore发布应用)权限就可以了。
2.准备好Xcode以及要上架的项目。(Xcode最好是Xcode7.1以上的版本)--楼楼的Xcode版本就是7.1的。
3.进入苹果开发者官网:
点击account,如下图:

进入登录界面,登录

4. 登录之后,点击Certificates, Identifiers & Profiles,为项目创建Bundle ID 、发布证书、以及权限文件(Profiles)

进入Certificates, Identifiers & Profiles之后,点击App IDs-->"+"添加按钮, 为项目添加Bundle ID

进入创建APP IDs 的界面。
App ID Description 的name 可以随意填。

Bundle ID 最好的格式是:(如:com.cpmpany.yayade)。
这里Bundle ID是要和Xcode项目中的Bundle Id 一致的。(最好将项目中的Bundle Id复制过来)

如果有推送功能,要把“Push Notifications”勾选,反正就是项目用到什么功能或服务就把相应的选项勾选。

之后就是 continue -->register 完成注册bundle ID的工作
5.接下来就要请求证书。
找到mac 自带的“钥匙串访问”软件,钥匙串访问-->证书助理-->从证书颁发机构请求证书

之后在证书助理界面填写相关内容,并将保存到本地桌面。

如下图桌面上生成的.certSigningRequest证书

6.返回到之前的开发者网站:
Sign in with your Apple ID - Apple Developer
去生成发布证书。

点击 “+”按钮之后,出现以下内容界面,只需要选择“App Store and Ad Hoc” 即可,然后continue。

、、、、、、、、、、、、、、、、、、、、、、、
如果你发现Production 下面的 “App Store and Ad Hoc”不可选!!!
原因及解决方案:因为一个用户名下只能同时有一个发布证书,你之前建立了某个证书并且没有使用的话就无法再创建了,先把它撤销或者使用后才可以继续创建新的
、、、、、、、、、、、、、、、、、、、、、、、
两次continue之后,进入以下界面(如下图)
选择 “Choose File...”按钮 ,将我们刚刚生成的.certSigningRequest证书导入。--->continue--> downLoad-->Done

生成发布证书之后,下载(downLoad)-->找到下载的文件双击自动安装。
之后我们可以在“钥匙串访问”软件看到我们刚刚安装好的发布证书。

如果看到开发者证书无效。解决方案详见:http://my.oschina.net/sfandy/blog/617139?fromerr=OT2Ptq54
如果解决完“开发者证书无效”的问题就要将第6步操作重新做一遍,生成有效的证书。
7.生成profiles 证书


点击“+”之后

App ID : 选择含有对应Bundle Id 的app Id。


之后就是下载文件:downLoad-->找到下载的文件双击自动安装。
8. 进入ITunes Connect




创建成功之后会进入:

9.用Xcode打开你要上架的项目。

将 Release copy 改为 distribution,如下图。


选择我们刚刚的distribution

配置(1.)TARGETS里面的General的Bundle Identifier,

(2.)TARGETS里面的Build Settings的Code Signing Identity
这里的Provisioning Profiles 选择我们生成的Profiles证书。

(3.)PROJECT里面的Build Settings的Code Signing Identity

10. Archive

archive时会遇到各种失败的情况:
(1.)

解决方案 :将三方框架重新导入一遍:即在终端执行:pod update 命令

(2.)ERROR ITMS-90096
解决方案:ios app 上传时 ERROR ITMS-90096
(3.)Invalid Code Signing Entitlements
解决方案:方案A.
解决Invalid Code Signing Entitlements 问题 - lady-奕奕的个人空间 - 开源中国社区
方案B.Target或者是Project的Build Settings-->Code Signing Identity-->Provisioning Profiles 没有选择对应正确的Profiles证书
(4.)出现No matching provisioning profile found: Your build settings specify a provisioning profile with the UUID “7738acfb-4d92-4525-adbe-fb66e9957009”, however, no such provisioning profile was found错误提示
解决方案:
试一下这个吧。
Your build settings specify a provisioning profile with the UUID
如果archive成功了,就会出现:


如果UpLoad to App Store 出现以下错误:
(1.)

解决方案:重新upload to App Store.
11.UpLoad to App Store成功之后,回到ITunes Connect
完善app一些具体信息

注意:
构建版本会在你UpLoad to App Store成功之后的半个小时内,显示构建的版本。

半个小时之后就会出现如下(记得刷新该页面):


在构建版本处,出现上面内容之后,直接提交审核。

如果提交不成功出现一下错误:

解决方案:技术支持网站没有填写,把它填上就可以喽。
如果其他遇到什么问题,可以在评论中留言,我会尽快回复你的。
© 著作权归作者所有
写了 11562 字,被 166 人关注,获得了 204 个喜欢
一位程序员的自白。感悟生活,坚持365,让坚持成为习惯。一盎司的行动胜于一吨的理论。 喜欢跑步,这或许是我唯一能跟命运争斗的资本。 15岁觉得游泳难,放弃游泳,到18岁遇到一个你喜欢的人约你去游泳,你只好说“我不会耶”。18岁觉得英文难,放弃英文,28岁出现一个很棒但要会英文的工作,你只好说“我不会耶”。人生前期越嫌麻烦,越懒得学,后来就越可能错过让你动心的人和事,错过新风景。
如果文章对你有用的话,就点个喜欢吧。
赞赏支持

网友评论