经常使用Xcode上传代码到iTunes Connect的人都知道很多时候由于网络的原因都会上传失败,最常见的就是卡在 “Sending API Usage to iTunes Connect… “这步,或者出现”iTunes Store operation failed. This action could not be completed.Try again”,解决办法就是重新上传,或者换一个网络重新上传,多上传几次就会成功,但是我发现最近上传总是失败,使我不得不寻找其他途径,于是我发现使用Application Loader上传非常方便,所以在这里做一下简单介绍
下载链接网上有很多,最直接的就是在iTunes Connect的版本构建里边,下载完成之后安装步骤和普通的软件相同,一路下一步轻松搞定
登录你的苹果开发者账号
登录之后主界面如图所示
我们常用更新app版本用的是交付您的应用程序,在这里需要上传.ipa文件(之前有的文章介绍说上传.zip文件,记住现在下载的软件不要上传.zip文件了,需要上传.ipa文件)
在Xcode中将您的证书以及版本配置完成后直接选择Archive打包(因为配证书的教程太多了,所以我就不做介绍了,不会的同学可以自行百度)
如果Archive是灰色的话记得修改图片红色框的位置
等待编译完成之后开始导出ipa文件,导出ipa文件的方法不止一种,在这里我介绍一下我最常用的:
选择刚刚打的包 右键 Show in Finder
在products -> Applications 文件夹下会有打包的文件,但是此文件非ipa文件,在这里我们需要将它拖到iTunes的我的应用目录下(iTunes一定要记得登录,可以使用普通的苹果账号登录,如果里边有之前拖进去的文件会提示是否替换,选择替换就ok了)
最后我们只需要按住应用图标直接拖拽到桌面上就会生成我们所需的ipa文件了,文件样子如图所以
打开Application Loader 选择右下角的选取,选择刚刚生成的ipa文件,打开之后会出现文件的详情
选择下一步开始上传应用到iTunes Connect,点击活动按钮会弹出上传的详情,在这里边你可以清晰的看到每一步在做什么
上传完成之后可能会弹出如下界面
如果是这个界面,只有一个警告的话没有影响可以直接下一步,然后点击完成,等待几分钟后你的iTunesConnect中就会出现你此次构建的新版本
上传完成之后出现上边的界面就表示上传成功了,但是如果在这个界面有ERROR就表示上传过程中出现问题了,需要修改后重新上传,在这里我把几个常见的问题做一下总结
ERROR ITMS-90161: "Invalid Provisioning Profile. The provisioning profile included in the bundle xxx.yyyyyy.zzzz [Payload/xxx.yyyyyy.zzzz.app] is invalid. [Missing code-signing certificate].A Distribution Provisioning profile should be used when submitting apps to the App Store. For more information, visit the iOS Developer Portal."
这个错误是一个比较常见的错误,意思是Provisioning profile这个文件没有正确配置。所以首先你要去登录苹果开发者账号,查看你的发布证书和Provisioning profile文件,确保其是正确可用状态,否则需要重新配置,切记命名不要相同。如果确定证书都是正确的就很可能是你的Xcode中的Code Signing中配置不正确。打开Xcode -> 选择你的工程 -> Build Settings -> Code Signing 将其中的证书选择正确
我之前使用Xcode上传的时候这里边都选择的Developer也能上传成功,但是用Application Loader的时候不修改就会报错,所以许多第一次用Application Loader上传的时候都会忽略这个问题
"ERROR ITMS-90029" Storyboard file 'LaunchScreen~ipad.storyboardc' was not found. Please ensure the specified file is included in the bundle with any required device modifiers appended to the filename.
这个错误相对上一个就比较好定位,根据提示可以看出来是“LaunchScreen~ipad.storyboardc”这个文件没有找到。解决方法就是在我们的info.plist文件中配置两个key就好
你可以将这两行代码抄到你的info.plist中:右键你工程的info.plist -> Open As -> Source Code 直接添加上这两行代码即可,添加之后你的文件中会多出两个key,效果如下:
ERROR ITMS-90529:"Invalid package.Applications built with sdk9.0 or later must be packaged ad proper IPA files
这个错误就是之前说的,现在下载的软件不能上传.zip文件了,重新上传.ipa文件就好了
ERROR ITMS-9000: "Invalid Bundle. The bundle M.T.R.app does not support the minimum OS Version specified in the Info.plist.
如果引入了一些第三方的东西,资源里边可能会存在着第三方的info.plist文件,这些文件是和你的工程无关的,删除后重新打包上传就ok了(我之前直接用Xcode上传的时候如果存在着第三方的一些info.plist文件也会上传失败,所以建议如果有就直接删除掉)。
ERROR ITMS-90022: "Missing required icon file. The bundle does not contain an app icon for iPhone / iPod Touch of exactly '57x57' pixels, in .png format for iOS versions < 7.0."
根据提示很轻松的能判断出是缺少 57x57 的icon file. ,需要提供57x57 的icon file. 但是有时候上传之后还会报这个错误提示多了一个这个文件。此时你需要去你工程的info.plist文件中寻找icon file的key查看里边是否有提示的文件记录,如果有将其删除。