iOS 打包出错, 编译出错,证书问题,上传AppStore

来源:互联网 发布:全民飞机大战冲刺算法 编辑:程序博客网 时间:2024/06/06 16:31

1、ERROR ITMS-90046 /90085: "Invalid Code Signing Entitlements. Your application bundle's signature contains code signing entitlements that are not supported on iOS. Specifically, value '*' for key 'com.apple.

原因 : 生成的API 分析文件过大,系统不能在提交前,完成API使用信息的校验。

解决办法: command+Shift + K    clean  下  Xcode 缓存,重新打包上传 即可。


2、ERROR ITMS-90188


原因及解决办法:打包的同一个版本,每次编包build号(就是上面说的CFBundleVersion)要递增。


3、ERROR ITMS-90086:"missing 64-bit support. beginning on february 1, 2015, new iOS apps submitted to the app store must be include 64-bit support and be built with the ios8 SDK......



这是因为现在提交的app必须支持64位,

但是使用cocospod时,在Podfile文件里面加上:

   post_installdo |installer| installer.project.targets.eachdo |target| target.build_configurations.eachdo |config| config.build_settings['ARCHS'] ="armv7 arm64" endend end

4、Error itms-90060 This bundle is invalid:这是在我跟新软件第二个版本时,填写的版本号格式与上次提交的不一致造成的,改成一致的就行。

5、Error itms-4236:这是在提交中版本号带有字符造成的,改为数字即可


6、ERROR ITMS-90098  把Build Active Architecture Only 改为YES就行


7、ERROR ITMS-90096

  • 打开图片资源包Images.xcassets
  • 如果没有看到LaunchImage,就添加。
  • LaunchImage将里面空缺的图片补全,注意⚠️必须是*.png

项目设置如下


8、ERROR ITMS-90535

找到腾讯的info。plist





删除箭头指向的一行



重新打包,上传。

9、ERROR ITMS-90186:

"Invalid Pre-Release Train. The train version '100' is closed for new build submissions"

10、ERROR ITMS-90062: 

"This bundle is invalid. The value for key CFBundleShortVersionString [100] in the Info.plist file must contain a higher version than that of the previously approved version [100]."

提交新版本时 CFBundleVersion 和 CFBundleShortVersionString 都要大于上个版本才行

它的提示应该是你的 CFBundleShortVersionString 没有大于之前的版本号

11、ERROR ITMS-90529:

"Invalid package. Applications built with sdk 9.0 or later must be packaged as proper IPA files."

这是error是因为打包问题,解决方法:

原先上传的是.zip文件,现在需要上传 .ipa文件。也就是需要将打包成的app在打包成ipa文件就可以了。

具体步骤:

1、新建文件夹 Payload

2、将xcode编译好的app放在Payload文件夹中

3、压缩Payload文件夹为 .zip文件,然后重命名为 .ipa

12、ERROR ITMS-9000 

:"The binary you uploaded was invalid"

重新注册了一下Provisioning Profiles,不知道什么原因原来的.mobileprovision我有下载,但在apple developer网站就没有了,只能呢重新注册了一下就成功了 

 问题出在你的Provisioning Profiles上面,你在确定一下你发布用的Provisioning Profiles是否出现在你的apple developer网站的Provisioning Profiles页面中 

13、ERROR ITMS-90046

"Invalid Code Signing Entitlements. 

在对项目进行打包上传到APPStore时候,出现以下这个错误:


翻译过来的大概意思就是:"无效的代码签名权利。您的应用程序包的签名包含不支持iOS上的代码签名授权"。那么十有八九是打包的描述证书有问题,或者是项目的Bundle Identifier命名出现不规范等。参考:http://www.jianshu.com/p/3c2a97b36769

14、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."

15、WARNING ITMS-90025:

 "Missing recommended icon file. The bundle does not contain an app icon for iPhone / iPod Touch of exactly '120x120' pixels, in .png format for iOS versions >= 7.0."

从显示出的错误中我们看到项目中缺少了57x57和120x120的PNG格式图片。那我们如何添加进去了,这是我们关心 的。

解决ERROR ITMS-90022和WARNING ITMS-90025方案是:

一、在文件夹images.xcassets下的文件夹AppIcon.appiconset中添加icon.png、icon@2x.png以及icon-60.png、icon-60@2x.png这些PNG图片

二、打开Contents.json,添加 "filename" : "icon.png"


 16、INFO ITMS-90111

 "Your app is built with a beta version of Xcode or iOS SDK. Only apps distributed for beta testing may be built with beta software. To submit an app for distribution on the App Store, you will need to build the app with release versions of Xcode and iOS SDK."

信息显示你的应用程序是建立Xcode的beta版本或iOS SDK。只能由应用分布式测试测试版软件

方案:用发布版本的Xcode和iOS SDK来构建应用程序

17、ERROR ITMS-90474/90475

: "Invalid Bundle. iPad Multitasking support requires these orientations: 'UIInterfaceOrientationPortrait,UIInterfaceOrientationPortraitUpsideDown,UIInterfaceOrientationLandscapeLeft,UIInterfaceOrientationLandscapeRight'. Found 'UIInterfaceOrientationPortrait' in bundle 'xxxx'."


在X5-info文件中添加
<key>UIRequiresFullScreen</key>
        <true/>

18、ERROR ITMS-90049 /90535 

This bundle is invalid The bundle identifier contains disallowed characters 

解决办法(一):删除项目中第三方的plist文件(最主要的腾讯的info.plist)。。。。 方法(二):在腾讯的info.plist中添加bundle id 键值对。
<span class="operator"><span class="keyword"><span class="keyword"><span class="string"><span style="color: rgb(255, 255, 255);"><span style="font-size: 18px;"></span></span></span></span></span></span>

这两个error都是第三方的info.plist 文件问题,解决方法

在xcode左下角搜索info.plist 找到第三方的info.plist文件,如友盟中腾讯Api文件夹下的info.plist文件;

找到Bundle version字段 ,添加项目的build号 

添加Bundle identifier 字段,并对应添加项目的BundleId号; 

找到Bundle versions string, short字段 添加项目的版本号


Xcode因为证书问题经常报的那些错

去年才开始做 iOS开发的时候,因为证书问题 Xcode 经常报这样或那样的错,经过一年多的实践,现在看见 Xcode 报错已经心平气和了,经常报的错就那么多,整理一下。

1、


确认下证书是不是开发证书,如果是发布证书就会出现这样的提示。

2、


证书失效了,去开发者中心重新生成一个。

  如果没有解决, 就用超级大绝招: 分2部

2.1. 在~/Library/MobileDevice/Provisioning Profiles路径下面, 清除所有的证书

2.2. 在自己Xcode里面下载所有账号对应的所有证书

3、


包标识符不与描述文件包含的包标识符不一致,按照它的提示换一下就好了,最好不要点 Fix Issue,点完后 Xcode 会自己生成一个包含统配包标识符的描述文件,并且 Remove 已经生成好的描述文件。会影响整个团队的合作。

4、
process launch failed: timed out trying to launch app

还是描述文件的问题,把发布的描述文件或者是 hoc 的描述文件当成开发描述文件使用了。stackoverflow的解释

5、
This application's application-identifier entitlement does not match that of the installed application. These values must match for an upgrade to be allowed.

iPhone上已经装了包标识符一样的 App,删掉再运行。

6、
没有找到报错的的图片和提示,我来描述一下那个情况:就是从开发者网站直接下载一个开发证书,然后选择了对应的描述文件,但是Xcode却不能选择那个下载的开发证书,然后如果运行会报错。原因是直接下载的开发证书不在在你机器上生成的,这时应该做的就是让生成证书的那个同学给你导出一个 p12 文件的开发证书,和证书的key,也是 p12 文件。或者你再申请一个开发者证书,再生成一个描述文件。

因为证书问题经常遇到的问题暂时先写这么多,遇到其它的,我会再补充。


1 0
原创粉丝点击