App Submission: Invalid Binary - Invalid Signature

故事扮演 提交于 2019-12-04 14:24:27

This is what I did when I encountered a similar problem with the Mac App Store:

  1. Re-generate the app's Distribution and Development certificates (from the Apple Developer's Certificates site).
  2. Download both certificates and drag them to Xcode's icon (not sure whether it had any impact, but after so many submission failures, I was pretty superstitious).
  3. Re-fresh the certificates and identities from Xcode.
    1. Open Xcode's Preferences.
    2. Go to Accounts tab.
    3. Clicked my account
    4. Clicked the refresh button.
  4. Generate the archive.
  5. Submit the app and clicked on "refresh signing identities" somewhere mid-way in wizard prompts.

As a reference, here is my built settings related to signing. That one worked the last time I submitted the app (which has been in the "waiting for review" state for the past two days now, so I guess it passed all of their automated tests).

Mani

Your issue relate with signing failed because of your app didn't sign with recent distribution certificate. Check the following steps:

1) Check your bundle identifier to list out provisioning profile as like below picture. Because It also lead to this problem.

2)You may not using the correct certificates when building your app. Just Delete your certificates in Provisioning Portal and create new ones and update them in Xcode.

3) From your picture, you didn't selected correct provisioning profile. Goto Organizer / Provisioning Profiles / Refresh and allow Xcode to fetch the latest ones. see screen shot to how to do that.

Select correct Provisioning profile.

Select correct code sign.

4) Cleaned up your project.

5) Just clean all your targets . You can even go to /Users/%USERNAME%/Library/Developer/Xcode/DerivedData and delete all of the directories in there.

see this ref

In Apple developer support there are two additional common causes of the Invalid Signature binary rejection reason,

  1. executable files containing special characters (i.e. non-numeric, and non-alpha). To resolve this issue, change the Xcode target’s Product Name build setting from “${TARGET_NAME} to a string containing only alpha/numeric characters. Let me know if this was the cause of the issue (and the problematic characters) because I file bug reports to fix each instance I find here.

  2. Apple Double Files ("double files") that result from copying the Xcode project uncompressed to/from a non HFS+ formatted hard drive. To check if this caused your rejection: 

A. Run the app diagnostic here: How do I check if my application's signature has been corrupted?

B. Then check the command line output with: List of Signature Verification Failure Root Causes. Double files are diagnosed with a message like:  

resource missing: my.app/._.*

C. From the docs:

The file prefixed with "._" is considered an AppleDouble file and it can result from copying the uncompressed Xcode project folder onto a non-HFS+ formatted disk. The AppleDouble files must be removed using the 'dot_clean' command. The Xcode project folder is the argument to dot_clean as illustrated below. Note: You can drag your Xcode project folder from Finder into the Terminal window to automatically fill its path into the command.

        dot_clean /path/to/My_Xcode_Project

(If Terminal can't find the dot_clean utility, download the optional Command Line Tools through Xcode > Preferences > Downloads)

D. After running dot_clean on your Xcode project, create a new app archive (via Xcode > Product > Archive), reattempt submission.

To prevent double files be sure to compress the Xcode project folder to .zip using Finder before transferring it to/from a non HFS+ formatted hard drive. 

  1. Under "Code Signing Identity" Make sure you have selected your Distribution Cert for the "Release" scheme

  2. Under "Provisioning Profile" make sure you select a Distribution provisioning profile (not an Ad Hoc one)

  3. Archive and distribute, make sure the same cert is selected when submitting (after entering your iTunesConnect info)

After doing all of the above

Menu Bar try Product->Archive

Then from the organise try resigning and submitting.

Window->Organiser Select archive and then press distribute (but i'm pretty sure you'll know how that works)

Obviously if you can't do this then chances are you have indeed got something wrong with your signing certificates, more specifically your bundle identifier is likely to be the culprit.

One other option is your app uses services that you haven't set up on developer.apple.com/ios for the app id such as game centre, push notification etc. Good luck

check your launch images . Are they conflicting like 2 images have got same name. Because i have got the similar issue which i solved like this within 10 minutes.

To figure out this problem I just created a new Xcode project and copied and pasted everything into the new project.

In my case the problem was to not ASCII chars in filename (someone did sent us to embed), solution was to do a global search in project:

ls -1 -R -i | grep -a "[^A-Za-z0-9_.':@ /-]"

And delete those chars from filenames.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!