Skip to main content

Building xCode project and generating IPA file using Ant

Following is the procedure to generate IPA file.

Under “project settings” change “derived data location” to “project-relative”, and make it "DerivedData/dist/". If you want any other location, change the same in the code. This will be the location where ".app" file and all other project info is stored.

Set the values to the fields in CAPITAL LETTERS, and save the file as build.xml

-----------------------------------------------
<project default="buildAndPackage" basedir="." name="APP-FOLDER">
<property name="local.projectPath" location="WHERE THE PROJECT IS LOCATED" />
<property name="local.ipaPath" location="WHERE TO SAVE THE IPA FILE" />

<property name="app.id" value="APP-ID" />
<property name="scheme" value="APP-SCHEME(MOSTLY APP-ID)" />
<property name="version" value="VERSION-NO" />
<property name="distributorName" value="NAME USED IN IOS PROVISIONING PORTAL" />

<property name="ProvisioningProfile" location="WHERE YOU KEPT THE FILE" />
<property name="configuration" value="Release/debug/AdHocDistribution/AppStore SELECT THE APPROPRIATE" />

<target name="buildAndPackage">
<exec executable="/Developer/usr/bin/xcodebuild">
<arg value="-project" />
<arg value="${local.projectPath}/${app.id}.xcodeproj" />
<arg value="-scheme" />
<arg value="${scheme}" />
<arg value="-configuration" />
<arg value="${configuration}" />
<arg value="clean" />
<arg value="build" />
</exec>

<exec executable="xcrun">
<arg value="-sdk" />
<arg value="iphoneos" />
<arg value="PackageApplication" />
<arg value="-v" />
<arg value="${local.projectPath}/DerivedData/dist/Products/${configuration}-iphoneos/${app.id}.app" />
<arg value="-o" />
<arg value="${local.ipaPath}/${app.id}-${version}.ipa" />
<arg value="--sign" />
<arg value="iPhone Distribution: ${distributorName}" />
<arg value="--embed" />
<arg value="${ProvisioningProfile}" />
</exec>
</target>
</project>

--------------------------------

Then run it from command line by typing "ant"

Comments

Popular posts from this blog

Ubuntu: Access a usb flash drive from the terminal

    1. Find what the drive is called You'll need to know what the drive is called to mount it. To do that fire off: sudo fdisk -l You're looking for a partition that should look something like:   /dev/sdb1 . Remember what it's called. 2. Create a mount point Create a new directory in   /media   so you can mount the drive onto the filesystem: sudo mkdir /media/usb 3. Mount! sudo mount /dev/sdb1 /media/usb When you're done, just fire off: sudo umount /media/usb Source: StackOverflow

Code for Php based online Treasure Hunt

Hello guys. Some time back I organized an online treasure hunt as part of an event at my college. I thought of sharing the code with you, as you might find it useful. So, I uploaded it on github and here is the link to my repository. Download it from here , and enjoy organizing the game

Java: Use BigInteger in for-loop

In my previous post , I mentioned a way to handle large integers by using BigInteger. Now I'm going to provide a very important usage of it. We often use for-loop. So here is the way to use it: Ordinary integers: for(int i = 1; i <= n; i++) {  //Task to do } BigInteger: for (BigInteger bi = BigInteger.valueOf(1);                 bi.compareTo(n) <= 0;                 bi = bi.add(BigInteger.ONE)) { //Task to do } here n is a BigInteger variable.