Generally we generate .ipa file of our project using Xcode>Product>Archive and after few minutes you will export .ipa file from organizer.
But different scenarios we generate ipa through terminal (Command Line) using commands that Xcode uses internally.
Here is command line script for creating archive and IPA example. I have an iPhone xcode project , which is located in Desktop/demo folder.
Open Xcode Project & Select provision profile and signing certificate
Open Terminal & Execute following commands one by one:
cd /Users/username/Desktop/demo/ or drag and drop your project folder.
// Builds the app into an archive
xcodebuild -project YourProject.xcodeproj -scheme YourScheme -archivePath /Path/To/Output/YourApp.xcarchive
For example, this is how you would use it with AppCodeZip demo app
xcodebuild archive -project demo.xcodeproj -scheme demo -archivePath /Users/shilpa/Desktop/demo.xcarchive
Execute command-
Archive Succeeded-
xcodebuild -workspace Project-Name.xcworkspace -scheme Scheme-Name -sdk iphoneos -configuration Release Provisioning_Profile=“Provision-Name” Development_Team=“Team-ID” archive -archivePath /Path/To/Output/AppName.xcarchive archive
Xcarchive and Export .ipa file-
Export the archive into a .ipa file using the following command:
xcodebuild -exportArchive -archivePath /Path/To/Output/YourApp.xcarchive -exportPath /Path/To/ipa/Output/Folder -exportOptionsPlist /Path/To/ExportOptions.plist
What is ExportOptions.plist?
ExportOptions.plist is required in Xcode . It lets you to specify some options when you create an ipa file. You will need to create a plist file for the export options, using the keys and values found in the xcodebuild help page use command Run xcodebuild --help to see the list of available options.
Important: Method for development, release and enterprise is different in ExportOptions.plist
The -exportOptionsPlist
option is mandatory here, so you have to provide your own development .plist
file below.
<?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>compileBitcode</key>
<false/>
<key>destination</key>
<string>export</string>
<key>method</key>
<string>development</string>
<key>provisioningProfiles</key>
<dict>
<key>bundle-identifier</key>
<string>Profile-Name-Show-In-Xcode</string>
</dict>
<key>signingCertificate</key>
<string>Apple development</string>
<key>signingStyle</key>
<string>manual</string>
<key>stripSwiftSymbols</key>
<true/>
<key>teamID</key>
<string>XXXXXXXXXX</string>
<key>thinning</key>
<string><none></string>
</dict>
</plist>
Again, this is how you would use it with AppCodeZip demo app
// Exports the archive according to the export options specified by the plist
xcodebuild -exportArchive -archivePath /Users/shilpa/Desktop/demo.xcarchive -exportPath /Users/shilpa/Desktop/demo.ipa -exportOptionsPlist /Users/shilpa/Downloads/ExportOptions.plist
Execute command-
Export ipa particular location
How to download your iOS enterprise developer app from link?
How to generate .ipa file for In-House and distribute enterprise iOS app inside a company.
.plist
file below.
<?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>compileBitcode</key>
<false/>
<key>destination</key>
<string>export</string>
<key>method</key>
<string>enterprise</string>
<key>provisioningProfiles</key>
<dict>
<key>bundle-identifier-Name</key>
<string>Profile-Name-Show-In-Xcode</string>
</dict>
<key>signingCertificate</key>
<string>Apple Distribution</string>
<key>signingStyle</key>
<string>manual</string>
<key>stripSwiftSymbols</key>
<true/>
<key>teamID</key>
<string>XXXXXXXXXX</string>
<key>thinning</key>
<string><none></string>
</dict>
</plist>
.plist
file below.
<?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>compileBitcode</key>
<false/>
<key>destination</key>
<string>export</string>
<key>method</key>
<string>app-store</string>
<key>provisioningProfiles</key>
<dict>
<key>bundle-identifier-Name</key>
<string>Profile-Name-Show-In-Xcode</string>
</dict>
<key>signingCertificate</key>
<string>Apple Distribution</string>
<key>signingStyle</key>
<string>manual</string>
<key>stripSwiftSymbols</key>
<true/>
<key>teamID</key>
<string>XXXXXXXXXX</string>
<key>thinning</key>
<string><none></string>
</dict>
</plist>
You can download 👉 ExportOptions.plist file
from GitHub. As always, leave us comment and share your thought about the tutorial.
I hope this blog was helpful to you. So, please share it together with your friends and colleagues using the social buttons below!
0 Comments