说实话,公司要上架一个自己做的一个小项目。为了完成这个任务,菜鸟的我一遍找资料一遍跟着做,一遍修改错误一遍查找解决方案。网上的资料大部分都是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成功之后的半个小时内,显示构建的版本。

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


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

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

解决方案:技术支持网站没有填写,把它填上就可以喽。
想要获取更多关注以下公众号

网友评论
sku填什么都是没关系的。
An App ID with Identifier 'com.ionicframework.*****11' is not available. Please enter a different string.”这是怎么回事啊
1. The session's status is FAILED and the error description is 'Client unable to connect to server (check UDP port and firewall) (15)'
2. The session's status is FAILED and the error description is 'Server aborted session: Destination path directory create failed /users/transporter/vgr_sandbox1_st1/transporter/content/transp (41)'
3. ERROR ITMS-90032: "Invalid Image Path - No image found at the path referenced under key 'CFBundleIconFile': 'icon.png'"
好纠结啊!!!!!
“developer.apple.com 网页无法正常运作
developer.apple.com 发送的响应无效。
ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION”,
这是怎么回事啊??
1.首先你的准备一个个人开发者账号、公司开发者账号or企业级开发者账号”,