App Store 上架流程(2017最新)

作者: smooth_lgh | 来源:发表于2016-04-13 14:38 被阅读28330次

说实话,公司要上架一个自己做的一个小项目。为了完成这个任务,菜鸟的我一遍找资料一遍跟着做,一遍修改错误一遍查找解决方案。网上的资料大部分都是2015年以前的资料,资料有点不够过时,而且步骤配图也不是很详细,导致我花费了整整4天的工作日只为实现appstore上架。哎呀,也是够蛋疼的,appstore上架的每个流程都要确认无误,每一步的错误都会导致最终的失败。这个shit的操作,再也对你无爱了。

推荐一篇比较详细有用文章:

appStore上传苹果应用程序软件发布流程_iOS开发群雄_新浪博客

常见问题解决方案:

解决IOS开发证书“此证书的签发者无效”的问题_百度经验

ios app 上传时 ERROR ITMS-90096

解决Invalid Code Signing Entitlements 问题 - lady-奕奕的个人空间 - 开源中国社区

好了,吐槽和发泄的话就少说,下面就正式进入Appstore上架流程了。

1.首先你的准备一个个人开发者账号、公司开发者账号。---我这里是公司开发者账号,是什么账号不要紧,因为只要有开发者(appstore发布应用)权限就可以了。

2.准备好Xcode以及要上架的项目。(Xcode最好是Xcode7.1以上的版本)--楼楼的Xcode版本就是7.1的。

3.进入苹果开发者官网:

developer.apple.com

点击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成功之后的半个小时内,显示构建的版本。

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

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

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

解决方案:技术支持网站没有填写,把它填上就可以喽。

想要获取更多关注以下公众号


IT物语

相关文章

网友评论

  • 6846b78e9794:老哥 你好。 是必须有一个开发者账号才能提交APP吗? 我的APP是APK格式的 能上传吗? 打扰了。
    smooth_lgh:APK格式的是android手机应用, 这里讲述的是上传iPhone,iPad手机应用
  • uiun:感谢分享~~想请问可以转载吗?非商用的:blush:
    uiun:会注明出处和作者的~~
  • 34514eeeff36:求赐教, 可以加QQ 教一下吗? 410114578
    smooth_lgh:@YolandaWen ?
  • e396fb311ae0:第9部用Xcode打开要上架的格式 为什么打开后没有出现你如图的页面
    smooth_lgh:第9步的那张页面没有出现呢?
  • 哎中文不艾汉语:刚开始创建一个app处于等待上传的状态怎么删除呢,创建的时候写的sku是随便写的对app有影响么,还有就是这个APP在1.0版本等待上传的时候修改app 的信息是在当前版本显示还是在下个版本2.0显示 求大神指教
    jlnu_wjy:@做一只会思考的piger 已经改好了,如果没反应,在活动里会有报错,一般情况苹果会发一个Email告诉你哪里错误,我的问题是使用了动态库,把动态库去掉重新上传就OK了
    smooth_lgh:@jlnu_wjy 一般会在半小时后,构建版本才会有反应,试着刷新页面。
    smooth_lgh:@哎中文不艾汉语 如果还没有到“app等待审核” 这一阶段,都算是当前1.0版本
    sku填什么都是没关系的。
  • 放下红领巾:我的App ID弄错了(报错:Provisioning profile does not match bundle identifier,因为开始没用程序中的ID,是胡乱写的),删了所有的证书重新弄的,但是拿过程序的ID重新创建ID,报错“There were errors in the data supplied. Please correct and re-submit.
    An App ID with Identifier 'com.ionicframework.*****11' is not available. Please enter a different string.”这是怎么回事啊
    放下红领巾:@做一只会思考的piger 我现在走到上传这一步了,遇到报错 “ERROR ITMS-90032: "Invalid Image Path - No image found at the path referenced under key 'CFBundleIconFile': 'icon.png'",在网上搜了很多解决办法都没弄通,很多说没有生成icon.png,但是我在文件夹里面看到已经生成它了,这是怎么回事啊
    smooth_lgh:@放下红领巾 说明你的Bundle ID 'com.ionicframework.*****11' 不能用。换一个有用Bundle ID 再重头开始。
  • smooth_lgh:兄弟,是不是浏览器问题啊。
    放下红领巾:第一个报错是网络的问题吧?
    放下红领巾:@做一只会思考的piger 是我创建的不对,目前走到了UpLoad to App Store的地方,报错三个:
    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'"
    好纠结啊!!!!!
  • 放下红领巾:感谢分享,但是我走到第7步,下载profiles 证书的时候出现错误显示
    “developer.apple.com 网页无法正常运作

    developer.apple.com 发送的响应无效。
    ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION”,
    这是怎么回事啊??
  • smooth_lgh:我也有同样的问题,一直没看到页面有删除按钮。
  • c383a3bfd3d9:感谢分享!
  • 854037cefb05:谢谢分享
  • 长若执念:谢谢分享
  • 创意应用:很不错的教程
  • wanmei世界:很详细
    smooth_lgh:谢谢
  • SwiftYang:指出作者一个错误,希望及时更正,以免误导更多新手,99美元的是公司账号or个人账号,299美元的才是企业级开发账号,看文章粗心的人很多,虽然你说了是99美元的账号,但新手或许只看到了你的企业级账号五个字
    smooth_lgh:又涨知识。
    SwiftYang:@时间的救赎 “下面就正式进入Appstore上架流程了。
    1.首先你的准备一个个人开发者账号、公司开发者账号or企业级开发者账号”, :scream: 此处企业级开发者账号请去掉,企业级开发账号跟 AppStore没半毛钱关系 :sleepy:
    smooth_lgh:@SwiftYang :smile: 多谢多谢 :+1:
  • 5b674470f1cd:感谢分享,mark

本文标题:App Store 上架流程(2017最新)

本文链接:https://www.haomeiwen.com/subject/cqvwlttx.html