Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Xcode 5 Error ITMS-9000 Invalid Provisioning Profile

I've downloaded and checked all of my distribution certificates, as well as provisioning profiles. I keep getting this error message:

ERROR ITMS-9000: "Invalid Provisioning Profile. The provisioning profile included in the bundle com.-----.---- [---.app] is invalid. [Missing code-signing certificate.] .....

Read that I need to download the distribution com.----.---- provisioning profile but I only have a APPNAME provisioning profile. Downloaded it anyway and still have the same issues.

I've gone through and downloaded all possible combinations, but still can't get anything to work with application loader. Everything before has worked fine until I had to upgrade to a new MBP.

Do I revoke anything even though it's valid for another 6 months?

like image 951
downhoard Avatar asked Jan 01 '14 04:01

downhoard


2 Answers

AppStore submission has 2 steps:

  1. Build archive (via Xcode Archive command)
  2. Build ipa for submission (via Organizer / Application Loader)

Each of them require certificate, provisioning and entitlements (in provisioning) for separate (but related) use.

You should use the same provisioning for the two steps. If you can’t find the exact old provisioning, you may consider re-archive the app. I don’t know why Apple splits these steps as they are highly related.

like image 108
HKTonyLee Avatar answered Nov 14 '22 07:11

HKTonyLee


I also have this issue.

It seems to me that the key is to make sure that the "product" you are dealing with has been associated with a DISTRIBUTION provisioning profile that has been signed by the code signing identity which has the right to upload items to the app store (typically a company, or an individual developer).

However, the problem I typically face is that the *.app "product" at the foot of the project navigator list (in the 'products' group) is NOT the output of the archive operation. I can tell this from the time stamp. I do not know where the archive operation places its product. (Perhaps someone here can explain how this works).

As a consequence, what I do is I set ALL the provisioning profiles in the 'Code Signing' section of the 'Build Settings' to the DISTRIBUTION provisioning profile. I then "BUILD for RUN". This results in a *.app file in the 'Products' section of the 'Project Navigator' pane that, while it is the result of a "Build to Run" operation, is properly signed for distribution. I can tell that the *.app product is "fresh" by the time stamp.

It is then this *.app product which I compress and deploy using Application Loader.

This seemed to work - today.

(I confess that I am an amateur and I find the provisioning process somewhat cargo-cult-like, and what I write above may be a kind of infantile superstition about what works.)

like image 2
Soferio Avatar answered Nov 14 '22 08:11

Soferio