How to create ipa in xcode 6 without Apple Developer account?

IosXcode6IpaAd Hoc-DistributionApple Id

Ios Problem Overview


Need to generate .ipa file for Ad-Hoc distribution. Client has provided only certificates, private keys and provisioning profiles which were enough to create .ipa till Xcode 5. But in Xcode 6.1 when I export as Save For Ad Hoc Deployment it gives message

To save for Ad Hoc Deployment, you need to add an Apple ID account that is enrolled in the iOS Developer Program for the development team 'xxxxxxxxxx'

enter image description here enter image description here

Is there any way of creating .ipa without developer account credentials?

Ios Solutions


Solution 1 - Ios

Finally found a way for creating .ipa build with xcodebuild command.

  1. Right click on Archive on Organizer.

  2. Click Show in Finder.

  3. You can see .xcarchive file in Finder. enter image description here

  4. Open Terminal and cd to .xcarchive path.

  5. Using following command to generate .ipa file.

This will save .ipa on Desktop.

xcodebuild -exportArchive -exportFormat ipa -archivePath <FILE_NAME>.xcarchive -exportPath ~/Desktop/<FILE_NAME>.ipa

Still looking for better solution, don't know why Apple removed this feature from Xcode 6 :(

Solution 2 - Ios

There are 3 WAYS to create .ipa WITHOUT Command & Apple Developer Account.

1. Fast & Best

(Works on all Xcode, All Mac OS, Bundled package can be used for OTA links like Diawi)

  1. Just build (Command+B) your app from XCode by setting proper code signing identities
  2. From XCode's file search at left bottom, search for .app (This will be under product directory)
  3. Right Click on this .app file and select Show in Finder
  4. Now, create directory and name it as Payload, copy .app into Payload directory.
  5. Archive/Compress(.zip) this Payload directory, rename file extension from .zip to .ipa

2. Extract .ipa from organizer

(Works on all Xcode, All Mac OS)

  1. Create Archive
  2. Go to Organizer
  3. Get location of Archive by Right Click and selecting Show in Finder

enter image description here

  1. Now right click on this .xcarchive file and select Show Package Contents

  2. Go to path Products > Applications > YourAppFile

  3. Open iTunes's on Mac and drag-drop this YourAppFile from above path in Apps tab. (NOTE: Delete the previous app with the same identifier if any)

  4. Now right click on your app under Apps tab of iTunes and select Show in Finder, this is your .ipa file !!!


3. For devs having Xcode 5.x

(NOTE: Xcode 5.x doesn’t work on El Capitan, By this way you can archive using any Xcode but you will need Xcode 5.x to create .ipa)

  1. Create Archive using any Xcode version.
  2. Close Xcode.
  3. Go to Organizer window of Xcode 5.x and from Archive tab select your archive.
  4. On top right section select Export, click radio button with title Save for Ad Hoc Deployment
  5. Click Next and Select desired code signing identities to save .ipa

Solution 3 - Ios

You can also create an IPA file using Xcode 6 & latest follow below steps:

  1. Create Build File of your Project Command+B
  2. Go to Products folder & it will show app file right click "Show In Finder".
  3. Create an empty folder & call it 'Payload' then copy your app file in that folder.
  4. Archive Payload Folder & rename the zip file to YourApp.ipa

Solution 4 - Ios

There is even better way without doing all the command line stuff.

Select "Save For Ad Hoc Deployment" & Click Next. Then open the "select a development team" drop down. It will have the option "Use Local singing assets" at the bottom. Select this option & Click Choose.

Here you go. The build will be created by Xcode without Apple ID Account.

Solution 5 - Ios

Another solution is to use Xcode 5.1.

Solution 6 - Ios

From some time (for example Swift & Xcode7) when you are to make a build formula is more complicated - xcodebuild requires exportOptionsPlist parameter:

xcodebuild -exportArchive -exportOptionsPlist app.plist  -archivePath app.xcarchive -exportPath app.ipa

and app.plist contains:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
    <dict>
    <key>method</key>
    <string>app-store</string>
    <key>uploadSymbols</key>
    <true/>
    </dict>
</plist>

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionKhawarView Question on Stackoverflow
Solution 1 - IosKhawarView Answer on Stackoverflow
Solution 2 - IosAditya DeshmaneView Answer on Stackoverflow
Solution 3 - IosKrunal DarjiView Answer on Stackoverflow
Solution 4 - IosAsif BilalView Answer on Stackoverflow
Solution 5 - IosFranco CarbonaroView Answer on Stackoverflow
Solution 6 - IosLeszek ZarnaView Answer on Stackoverflow