How to convert .xcarchive to .ipa for client to submit app to app store using Application Loader

78,397

Solution 1

I also observed the same problem in one of my projects.

I resolved it by changing settings in target. For main project and dependency.

 skip Install  NO

After this change, goto Xcode->Product->Archive->Save for Enterprise or Ad-Hoc Deployment

We followed the same process and uploaded through Application Loader and Apple approved the app.

enter image description here

Solution 2

  1. Create Xarchieve file by using Xcode, click product->archive
  2. first right click on xarchive file-> show in finder
  3. again right click on xarchive file-> show package contents
  4. Then open folder products->applications, here you get the your application file
  5. Now, Drag and drop this one to itunes store's app directory(find apps drop down menu at right top corner of itunes store). This will automatically converts archive file to ipa file. (Here, you can also do this -> drag and drop .app file anywhere in itunestore, once it get processed, search it back from search box).

  6. then again right click on it and ->show in finder, this will show your ipa file. Now you can give this one to any user

Solution 3

Updated for Xcode 7 and 8

Here is a script to create the archive and generate the .ipa - tweak as needed:

PROJECT=xxx
ARCHIVE_PATH=/tmp/${PROJECT}.xcarchive
EXPORT_PATH=/tmp/${PROJECT} # DIRECTORY
mkdir -p $ARCHIVE_PATH
xcodebuild -project ./${PROJECT}.xcodeproj -scheme ${SCHEME} archive -archivePath $ARCHIVE_PATH -verbose

PLIST='{"compileBitcode":false,"method":"enterprise"}' # edit as needed

EXPORT_PLIST=/tmp/${PROJECT}.plist
echo $PLIST | plutil -convert xml1 -o $EXPORT_PLIST -

xcodebuild -exportArchive -archivePath $ARCHIVE_PATH -exportPath $EXPORT_PATH -exportOptionsPlist $EXPORT_PLIST

Solution 4

First Product > Archive then Right click on the generated xcodearchive file and select Show package content and go to the Products -> Applications folder. Create a new folder named Payload and drag the .app file into that folder. Compress the Payload folder and rename it to whatever you want and change the extention to .ipa.

If your app size is too large, you can disable bit code in the build settings to make it 50-70% smaller.

Solution 5

You can create an IPA from XCArchive.

  1. Right click on ProjectName [Date Time].xcarchive
  2. Select Show Package Content.

Step 1

Step 2

It comprises of three things :

a. dSYMs : dSYM files store the debug symbols for your app.

b. Info.plist : property list containing details such as ApplicationProperties, ArchiveVersion, CreationDate, Name, Scheme.

c. Products : This contains App file for your project.

  1. Select Products -> Applications. This contains app file.

  2. Now, drag-and-drop app file into iTunes (MyApps Tab).

  3. Select your project.

  4. Right click and select 'Show in finder'. This will locate newly created IPA file.

Step 4

Step 5

Share:
78,397
aobs
Author by

aobs

iOS Developer

Updated on July 08, 2022

Comments

  • aobs
    aobs almost 2 years

    We have created the .xcarchive file code signing with our client's certificate & distribution provisioning profile, but we need to send the .ipa file to our client so that they can upload the app to the App store using Application Loader.

    The only way to create the .ipa file in Xcode 4.5 is clicking Distribute -> Save for Enterprise or Ad-Hoc Deployment which has a description underneath saying "Sign and package application for distribution outside of the iOS App Store".

    If we save the .ipa file this way, will it cause any problem submitting to the app store? Or is there a proper way of converting the .xcarchive to .ipa?

    Thanks in advance!