Xcode "Build and Archive" from command line Xcode "Build and Archive" from command line xcode xcode

Xcode "Build and Archive" from command line


I found how to automate the build and archive process from the comand line, I just wrote a blog article explaining how you can achieve that.

The command you have to use is xcrun:

/usr/bin/xcrun -sdk iphoneos PackageApplication \-v "${RELEASE_BUILDDIR}/${APPLICATION_NAME}.app" \-o "${BUILD_HISTORY_DIR}/${APPLICATION_NAME}.ipa" \--sign "${DEVELOPER_NAME}" \--embed "${PROVISONING_PROFILE}"

You will find all the details in the article. If you have any questions dont hesitate to ask.


With Xcode 4.2 you can use the -scheme flag to do this:

xcodebuild -scheme <SchemeName> archive

After this command the Archive will show up in the Xcode Organizer.


Updating my answer with Xcode 9 and Swift

Archive

xcodebuild -workspace <ProjectName>/<ProjectName>.xcworkspace \  -scheme <schemeName> clean archive -configuration release \  -sdk iphoneos -archivePath <ProjectName>.xcarchive

IPA Export (please note the export options plist)

xcodebuild -exportArchive -archivePath  <ProjectName>.xcarchive \  -exportOptionsPlist  <ProjectName>/exportOptions.plist \  -exportPath  <ProjectName>.ipa

For those who don't know about exportOptions.plist,https://blog.bitrise.io/post/new-export-options-plist-in-xcode-9


Those who were using this for building project in CI/CD tools like teamcity/jenkins, please make sure you are using the right Xcode installed in the build agent for both archive and export.

You can use either of below 2 options for this.

  1. Use the full path to xcodebuild,
/Applications/Xcode 9.3.1.app/Contents/Developer/usr/bin/xcodebuild
  1. Use xcode-select,
xcode-select -switch /Applications/Xcode 9.3.1.app

Below is my old answer

Here is command line script for creating archive and IPA example.I have an iPhone xcode project , which is located in Desktop/MyiOSApp folder.

Execute following commands one by one:

cd /Users/username/Desktop/MyiOSApp/xcodebuild -scheme MyiOSApp archive \  -archivePath /Users/username/Desktop/MyiOSApp.xcarchivexcodebuild -exportArchive -exportFormat ipa \  -archivePath "/Users/username/Desktop/MyiOSApp.xcarchive" \  -exportPath "/Users/username/Desktop/MyiOSApp.ipa" \  -exportProvisioningProfile "MyCompany Distribution Profile"

This is tested with Xcode 5 and working fine for me.