iOS Release IPA using someone else's .p12 & .mobileprovision

15,697

You have to import the .p12 and the related provisioning profile properly.

  • Delete your existing certificate from Keychain. Open Keychain Access Manager. Navigate to File > Import Items.

  • Browse to the .p12 or .pfx file that you want to import and open it.

  • Select System in the Keychain drop-down and click Add.

  • Enter the admin password (if Asked) to authorize the changes.

  • Enter the password that created by customer when he generated the .p12 file and click Modify Keychain.

  • Next, Remove your old provisioning profile and get & add the .p12 related provisioning profile.

  • In Xcode, Under Target-->Build settings-->provisioning profiles, select the correct provisioning profile from the pull-down menu. Make sure that you are not doing it under the project section instead of Target.

Hope this will work fine.

enter image description here

Share:
15,697

Related videos on Youtube

Alon Amir
Author by

Alon Amir

Programming and stuff.

Updated on June 04, 2022

Comments

  • Alon Amir
    Alon Amir almost 2 years

    I'm trying to build & release an IPA and sign it with someone else's (The customer) .p12 file and a .mobileprovision.

    What I do not have is their apple developer account user and password combination (I only have my own user and password which are not related).

    How can I build and release it using their certificate which I mentioned before (enterprise distribution)?

    I'm using Xcode Version 5.1.1 (5B1008)

    I have imported the p12 file, and it appears to be fine and visible in keychain. In Xcode, I have set the correct bundle id, and under "Code Signing"->"Release" I have chosen their imported certificate with came with the p12 file ("iPhone Distribution: xxxx"). But when I click Product>Archive, build fails with message '.... no provisioning profile matching the identity "iPhone Distribution: xxxx" was found.' (I put the xxxx there for anonymity).

    enter image description here

    Note- Before I'm flamed with "Possible duplicate of..." comments, please know that I have looked into other questions and could not find a working solution.

    Thanks.

    • Duyen-Hoa
      Duyen-Hoa almost 10 years
      You don't need to have account user/password. Just import the .p12 file to keychain and .mobileprovision to xcode library. The .p12 musts contain both Developer (or Distribution) certificate and Private Key of that developer. Then, set your application in the same identication with the .mobileprovision
    • Alon Amir
      Alon Amir almost 10 years
      I have imported the .p12 to my keychain, however when I click the .mobileprovision nothing happens at all, and it seems as if it wasn't imported because when I try to build it says it can't find a matching provisioning profile.
    • Duyen-Hoa
      Duyen-Hoa almost 10 years
      Normally, when you click the .mobileprovision, your MacOS will add it into .mobileprovision library. OPen iPhone configuration utility to verify if it has been inserted or not.
    • Alon Amir
      Alon Amir almost 10 years
      Yes-Normally, however it is not imported because this .mobileprovision was generated using a different apple developer account which I don't have, and this leads us back to the problem.
    • Duyen-Hoa
      Duyen-Hoa almost 10 years
      Have you verified in iPhone Configuration Utility?
    • Alon Amir
      Alon Amir almost 10 years
      Please see my comment to the answer by @Ramshad
  • Alon Amir
    Alon Amir almost 10 years
    Found the issue - my exchange email server denied the mobileprovision file (without my knowledge), and when I downloaded it, the file was messed up, I was able to detect it after I opened the mobileprovision using a text editor (just out of curiosity) and found the following text there "This attachment was removed because it contains data that could pose a security risk." so my mobileprovision file was actually a text file containing this error message, this explains why it wasn't imported. I'm marking your question as correct because this would be the proper way to solve it for most people.
  • Abhishek bhutra
    Abhishek bhutra over 9 years
    Can you explain what is issue here stackoverflow.com/questions/25738846/…