转载:
文/做一只会思考的pig(简书作者)
原文链接:http://www.jianshu.com/p/996672107eb1
说实话,公司要上架一个自己做的一个小项目。为了完成这个任务,菜鸟的我一遍找资料一遍跟着做,一遍修改错误一遍查找解决方案。网上的资料大部分都是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成功之后的半个小时内,显示构建的版本。
半个小时之后就会出现如下(记得刷新该页面):
在构建版本处,出现上面内容之后,直接提交审核。
如果提交不成功出现一下错误:
解决方案:技术支持网站没有填写,把它填上就可以喽。
文/做一只会思考的pig(简书作者)
原文链接:http://www.jianshu.com/p/996672107eb1