Xcode 5: Code signing entitlement errors

前端 未结 21 2527
情书的邮戳
情书的邮戳 2020-11-27 12:45

I\'ve build a new application which is going to support IOS 7. I got the new XCode 5 GM and tried to sign my apps using my fresh provisioning profile and distribution certif

相关标签:
21条回答
  • 2020-11-27 12:48

    I have been struggling with this problem for more than a day now, trying all kinds of solutions suggested here and elsewhere on the internet. Nothing worked...

    But, I finally managed to solve the problem!

    The problem I had was with an old app that I haven't touched in over 3 years, and now I was about to release a long awaited update. Since the time I released the app, Apple has been updating how the certificates and App Id works. They have introduced the concept of Team Id which seems to be recommended to use. In particular, the Apple's "Certificates, Identifiers & Profiles" site, has seen a lot of changes since then.

    There I realized that the Provisioning Profile I was using for App Store Distribution were connected to the App Id ED8xxxxxxx.com.rostsolutions.* but looking at the App Id for the game I was about to submit I notice that the App Id was ATMxxxxxxx.com.rostsolutions.Swisch. So the App Id prefix did not match! That seemed to be the root of the problem. So what I did was to create a new Provisioning Profile connected to the App Id ATMxxxxxxx.com.rostsolutions.Swisch instead. Using that Provisioning Profile I successfully submitted my app to App Store and now I just keep my fingers crossed that everything else works fine at Apple's side.

    (I first tried to connect to new Provisioning profile to the wildcard Id ATMxxxxxxx.com.rostsolutions.* instead, but that didn't seem to work).

    But what puzzles me is that when I look at the old App in iTunes Connects and goes to Binary Details, it says that the App Id is ED8xxxxxxx.com.rostsolutions.Swisch. So why is the "Certificates, Identifiers & Profiles" page listing the App Id as ATMxxxxxxx.com.rostsolutions.Swisch?

    0 讨论(0)
  • 2020-11-27 12:48

    I think xcode 5 uses "release" instead of "distribution" that you may created yourself.

    0 讨论(0)
  • 2020-11-27 12:49

    If multiple developers are using the same member center account. One of them can't use a certificate created by others cause they used a certificate request created using their computers.

    You need to use a certificate created by you (certificate request created using your computer).

    Alternative, told them to send you the Developer Profile. not sure of the name. to use a certificate created on another computer.

    0 讨论(0)
  • 2020-11-27 12:50

    I went through many of the steps above but what finally worked for me was refreshing my profiles in Xcode. Not sure why it was necessary since my app's distribution profile was showing up in the list already. Here are the steps:

    1. Xcode Preferences
    2. Accounts tab
    3. Select your Apple ID
    4. Hit the View Details button in the Apple ID detail panel
    5. Hit the Refresh button in the lower left corner
    0 讨论(0)
  • 2020-11-27 12:51

    If you're building an old 3.1.5 project, Xcode 5 has some bugs which unfortunately makes Benjamin's answer impossible, as there are no Provisioning profiles to pick from. After many a late hour of tormented reading of Xcode project files I came up with this solution that worked for me:

    • In the Utilities pane (to the right) in Xcode 5, under project Document, change from Xcode 3.1-compatible to Xcode 3.2 compatible.
    • Enter your organization name.
    • Close project.
    • Open your project file, e.g. open -a TextEdit path/to/name.xcodeproj/project.pbxproj
      • Remove the two Distribution clauses (isa=XCBuildConfiguration).
      • Remove the two accompanying lines in buildConfiguration (one in PBXNativeTarget and one in PBXProject XCConfigurationLists)

    Now you're ready to re-open, archive and submit to App store - voilà! It works again!

    How I think it works

    I assume this works because Apple somewhere along the line decided to drop the need for any separate distribution config, which is a good thing. When I archive, Xcode automatically code signs for distribution. That's the way it should have been implemented in the first place, it's just a shame that Apple can't make auto-migration part of the IDE; instead they force us developers to spend man-decades to make this stuff work.

    0 讨论(0)
  • 2020-11-27 12:51

    I had the same problem, but nothing written here worked for me. However, I found a simple way that worked for me. Here's how to do it:

    1) In your Project and your Target(s) build settings, choose "None" for all Provisioning profiles, and choose "Don't Code Sign" for all Code Signing Identities.

    2) Now, choose your Target and go to build settings. In Code Signing Identity Release setting, choose "iOS Distribution" for "Any iOS SDK". And then, in Provisioning Profile Release setting, choose your distribution profile for "Any iOS SDK". After that your Code Signing Identity Release setting should automatically change to "iPhone Distribution".

    3) Archive your build and validate. Now it should work fine. That's it!

    0 讨论(0)
提交回复
热议问题