I have created a 'helloworld' iOS app with cordova
using there documentation. The app successfully runs when I run cordova emulate ios
. What I can't do, is while deploying when I run cordova build --release
. It doesn't create any .ipa
files there. All I find is a Helloworld.build
file in the PROJECT_ROOT/platforms/ios/build
directory. Am I missing something here?
I found this command which worked for me:
cordova build ios --device cd platforms/ios/build/device /usr/bin/xcrun -sdk iphoneos PackageApplication "$(pwd)/$PROJECT_NAME.app" -o "$(pwd)/$PROJECT_NAME.ipa"
Source: http://www.splinter.com.au/xcode-4-command-line-builds-of-iphone-apps/
I did run @MD. Mohiuddin Ahmed's Ruby script first, which would have changed my xcodeproj file. I'm not sure if that was necessary but I don't think so.
Update for XCode 8: As a commenter has noted, PackageApplication
has been removed from XCode 8. To update the process, see the question: What's the replacement for Xcode's PackageApplication?
Edited to clarify process by adding cordova build
command as suggested by comments.
If you are using cordova ios 3.9.0 or newer, you can use this command to create the .ipa
directly from the CLI with no extra commands:
cordova build ios --device --release
You'll need a build.json
file on the root of your project
{ "ios": { "debug": { "codeSignIdentity": "iPhone Developer", "provisioningProfile": "your-dev-provisioning-profile-UUID-here" }, "release": { "codeSignIdentity": "iPhone Distribution", "provisioningProfile": "your-distribution-provisioning-profile-UUID-here" } } }
To get the UUID I open the .mobileprovision
file on a text editor and search for 'UUID', not sure if there is an easier way of finding it.
If using Xcode 8 the build.json
needs developmentTeam
field and packageType
field, but not longer need the provisioning profile, also, the codeSignIdentity
should be iPhone Developer
for both debug and release:
{ "ios": { "debug": { "codeSignIdentity": "iPhone Developer", "developmentTeam": "FG35JLLMXX4A", "packageType": "development" }, "release": { "codeSignIdentity": "iPhone Developer", "developmentTeam": "FG35JLLMXX4A", "packageType": "app-store" } } }
http://cordova.apache.org/docs/en/6.x/guide/platforms/ios/index.html#using-buildjson
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With