IOS上架提交时:code signing报错处理方法总结

2016.08.22 18:41* 字数 544

  最近上架APP的时候系统提示:ERROR ITMS-90035: "Invalid Signature. Code object is not signed at all.并没有提示具体错误到底在哪,本人找遍了网上所有的答案,到是找到了一个人的总结:

I tried out pretty much every solution on SO when debugging this for an app I am submitting, and realized you can get this error in many ways. Here's a summary of what is usually wrong and how to fix it.

1) You didn't select a Provisioning Profile for Distribution with a valid certificate for your PROJECT and TARGETS. Make sure you've selected a valid provisioning profile in your Build Settings for the "Release" option, and verify at developer.apple.com that your Provisioning Profile is still valid. (here: https://developer.apple.com/account/ios/profile/profileList.action)

2) Your Code Signing Identity in Build Settings is a valid one for Distribution. Make sure you've selected one that is valid and it is selected for the "Release" option.

3) Your scheme (can be found via Product -> Scheme -> Edit Scheme) for your execution type needs to be "Release" for your Build Configuration. If you are archiving your app for App Store submission, make sure you have "Release" set for the Archive build type in this window.

4) You have multiple distribution certificates in your keychain access. Try deleting the duplicate certificates from your keychain and then try to submit again.

5) One of the most evil ones.... you have a line of code that begins with "#!" at the top of one of your files, usually a ".sh" or ".py". Recently, Apple seems to be requiring these files to be code signed. Feels like a bug on their side, but for your submission just remove this line! This can happen too if you have ".sh" files besides the build script in your Pod directory.

6) You have duplicate CODE_SIGN_IDENTITY lines in your project.pbxproj file. They might look like this...

"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; CODE_SIGN_IDENTITY = "iPhone Distribution";

Delete one of these lines and your file should be able to build correctly again.

7) Refresh the certificates and provisioning profiles in Xcode from your developer account. Xcode -> Preferences ... select your account -> View Details -> Hit the refresh button.

8) The kitchen sink approach: create a new project and load your settings from scratch. Recreate your certificates and provisioning profiles. Never fun, but this has worked for me in a few hopeless situations.

Good luck!


原来问题在这:当你的工程,或者你添加的附属工程的 Copy Bundle Resources 里面有脚本文件等会导致code signing 失败,但是系统不会提示你到底在哪,就需要你一个个去找出来删除!本人删除两个.sh文件后重新Archice,提交成功! 

Web note ad 1