How can I create a ipa file for my iOS application?
I have written the complete code for my iPhone app and now I'd like to make .ipa file.
Within XCode choose Build > Build & Archive.
In your XCode Organizer (Window > Organizer), you'll see your archived apps
Select one, hit 'Share...' and 'Save to Disk'
The one suggested by #heinklein is the easiest way but another option is to do the following.
Add necessary profiles and adjust build settings.
Set device as target to run the application.
Build the product.
Go to Products->yourAppName.app. Right click and show in finder.
Drag & drop to itunes profile and binary file.
Select app in iTunes and right click to show in Finder. And there you can get the .ipa file.
Sometimes it may happen that Xcode Archiver fails to generate ipa file. Then here is the another option.
Build the application.
After successful build go to "Products" folder in your project navigator.
Right click on it and go to "Show in Finder".
Copy the .app file.
Create a new folder at some other location lets say on Desktop with name "Payload".
Paste that .app file in Payload folder.
Zip the Payload folder.
Rename that zipped folder with .ipa
Thats it.
Reverse procedure is used to retrieve the app file from an ipa file.
Hope this answer helps.
Stepwise Procedure to create an IPA file,
1.First of all,choose your device as IOS Device in Scheme near Breakpoint tab in Xcode.
2.In Xcode menu,Product->Clean and build your application.
3.If the provisioning certificate is not valid,it will lead to build failed with an error.If so you have to change it to a valid certificate through your project->build settings.Else if build succeeded just leave this step.
4.Then select Product->archive,it will create an archive file in Organiser->archives and open it up for you after archive finished.
5.choose share tab in Organiser followed by contents->.ipa and Identity->choose your valid distribution certificate and click next.
6.within a minute it will ask name for your IPA file to save.Give a name and save it in Desktop.
7.Open iTunes and drag and drop your IPA file in Library->Apps.
8.Now connect and select your Device in itunes->choose apps tab under it and sync your app ipa to the Device.It will install your IPA file to the device.
9.Thats all.Now you can run your App IPA file in your device.
Using Archive process with Xcode 9.0
Clean your project from Product -> Clean (cmd + shift + k)
Select Product -> Archive
Once archive is successfully completed it will open in Organizer window
Press Export button present on right side
Now select the distribution method as per your need and click on Next button
This will show the App Store distribution options. Now click on Next button
Re-sign your project (preferred is Automatically manage signing) and click on Next button
There will be Review window containing IPA content details. Click on Export.
Now choose the location where folder is to be saved and Click on Export.
This will create an folder containing IPA, packaging.log, DistributionSummary.plist and ExportOptions.plist file
As of Xcode 4.3, there is no option of Share in organizer. You need to select distribute and then select the option for save as enterprise or adhoc application.
First complete your coding check it with your provisioning profile.
Then click to run on device or ipad.
then go to menu -> prodcut -> clean.
After cleaning menu -> product -> Archive .
After completing it click on share and click on next button.
It will take a minute as per your app file size.
then give a name of ipa and save it where you want.
I'm using xCode 7.2 and have just exported an .api .ipa file to upload to Diawi to share the app with my friends. So here is how I did it:
Product -> Archive
After a while, the Organizer would show up -> Export
Choose something with Ad-hoc, xCode would generate a folder with the .api file in your desktop
Hope this would help!
Hope it helps someone: if you are kicked out of organiser this is how to re-open it. From there you can compile ipa file as recommended. AD Hoc is for sharing ipa by email and you need to archive for "Generic iOS device".
Related
Created .ipa file with Xcode 6, which I'm trying to install in my iPhone with iTunes. After saying it was "installing" nothing seems to have happened.
I waited for quite a long time, but it never progressed past that point. I followed all the steps correctly, so I don't know what could be happening.
This may be the case when there is some issue in profile. But anyway you can try by dragging .app file on itunes & then try to install on device by the procedure you are following.
Means dont create .ipa by xcode, just right click on the first entry from Organizer and then select 'show in finder', then again right click on xcode archive file & click on 'show package contents'. Then select .app file from Products -> applications. And drag & drop this .app file on itunes and then try to install.
May be this will help.
I have begun testing my app via Test Flight and from time to time I get I receive this error: _sigtramp + 42. It only occurs at application launch and so far only on iOS 6.0. Has anyone else ran into this or can you help me located what is going wrong?
Try adding a .dsym file to your testflight build so that it can symbolicate the debug log.
Go to xcode's organizer
Select the Archives tab
Right click on the archive you used to upload the build to testflight
Select "Show in finder"
Right click on the .xarchive file and select "Show package contents"
Go to the dSYMs folder
Right click the .dSYM file and compress the file (zip it)
Drop that zip file into testflight under the Crashes tab where it says "Drop dSYM here"
Refresh the page, and hopefully the debug information will give you some more information as to what's happening.
i try to generate a nameproject.app after the build/Release.the build has succeed but i didn't find the file nameproject.app under product !! (it seems to be availble but the option "show in Finder" is disabled ) . My question is how to generate nameproject.app?
You will need to Build and Archive your project. You may need to check what code signing settings you have in the project and executable.
Use the Organiser to select your archive version and then you can Share that version of your project. You will need to select the correct code signing again. It will allow you to save the .ipa file where you want.
Drag and drop the .ipa file into iTunes and then sync with your iPhone.
Here are some more detailed instructions including screenshots;
Here are some more detailed instructions
Click on: Product - Archive (You must select IOS devices into active scheme and you not select IOS Simulator scheme).
When the run is terminated it's open the organizer view.
Right click on your app - Show in finder.
Right click on your archive into finder - Show package content - Products - Applications and here you find your file.app
I have a great problem. How i can generate the .ipa of my iPhone application, and i can found it ? in iTunes ? i have all provisionnig profile, just the .ipa is my problem
i have done build for archiving but i am seraching all and i don't found the .ipa to send it via email .
please, Help.
Thanks for yourn answers
Don't use "build for archiving", select "Archive" instead. You need to select a scheme targeted at a device (not the simulator) to do that. Then, in the organizer, click on the archived build and hit "Share" to generate your .ipa file.
Here is the steps for make .ipa file.
build your project.
Go to build folder -> select target build folder -> select builded application file.
Make zip of that selected application file.
Rename that .zip file to .ipa then press enter -> click on Use .ipa option.
Put that .ipa file on /Users/ *userName */Music/iTunes/iTunes Media/Mobile/
Open iTune -> click on App tab and then you can see your app there.
Now Sync it for use in device.
Try this
Build->Products->urProduct.app->drag
into iTunes->select
app->right-Click->showInFinder->ipa
Build your project.
Go to Products in work tree
Select appname.app
Drag into iTunes
Right-click app and "Show in Finder"
Access .iPa
so I've developed an app. Now I manually placed the .app file into the /Applications folder of my iphone (root). Than I did:
It sounds like the application isn't
signed. Download ldid from Cydia and
then use it like so: ldid -S
/Applications/AccelerometerGraph.app/AccelerometerGraph
Also be sure that the binary is marked
as executable: chmod +x
/Applications/AccelerometerGraph.app/AccelerometerGraph
(via)
Than I used UICache to make the app visible. And if I run it it shows a black screen for a 1/4 second and then it closes...(I'm not a member of the iphone dev program).
Did I something wrong?
Is there a better way?
Thank you very much! :)
I just spent a perfect Saturday afternoon looking for a solution to the exact same problem. It is a code signing problem.
Here is what I was using Xcode4 and iOS 4.3 SDK . I was building to a test device an iphone 3G running iOS 3.1.2 (jailbroken)
NOTE: ldid method did not work for me and kept on throwing the following error (Some Details on why its not working I tried using armv6 architecture through xcode4 but ldid still gave the same error):
codesign_allocate: object: MyAppName.app/MyAppName malformed object (unknown load command 4)
util/ldid.cpp(582): _assert(0:WEXITSTATUS(status) == 0)
Here is what worked for me:
Step 1. Create a Self Signed Certificate.
1- Launch Keychain Access.app. With no items selected, from the Keychain menu select Certificate Assistant, then Create a Certificate.
Name: iPhone Developer
Certificate Type: Code Signing
Let me override defaults: Yes
2- Click Continue
Validity: 3650 days
3- Click Continue
4- Blank out the Email address field.
5- Click Continue until complete.
You should see "This root certificate is not trusted". This is expected.
via (note: you dont need to be a member of the iphone dev program to make this work even though the title of the accepted answer in the link might suggest that)
Step 2. Set xCode to allow the self-signed certificate to be used
You have to edit the Info.plist file under /Developer/Platforms/iPhoneOS.platform/Info.plist
(I have installed xcode at a different location so that path for me was xcode4/Platforms/iPhoneOS.platform/Info.plist)
1- You will not be able to edit the file in its current location so just copy it to the desktop and open it in a text editor.
2- You need to Replace all instance of XCiPhoneOSCodeSignContext with XCCodeSignContext and save the file.
3- Then drag and drop the edited file back to iPhoneOS.platform folder and replace the old file. (Make sure xcode is not running if it is then restart it)
Step 3. Change the Code Signing Identity setting in your project
Change the code signing identity for your project and your target to iPhone Developer
1- In xcode4 you have to select your project (from the left navigator panel) -> Select you Project from the center under (PROJECTS) -> Build Settings -> Code Signing (expand the menu) and change all options to iPhone Developer
2- In xcode4 with your project selected from the left panel in the center of the screen you will see PROJECT and TARGETS. Now select the targets and do that same: Targets -> Build Settings -> Code Signing (expand the menu) and change all options to iPhone Developer
Step 4. Build the App and Deploy
1- Make Sure at the top of xcode next to the run and stop buttons under Scheme you have iOS Device (your device name) selected and NOT Simulator (this is how its done in xcode4)
2- Open the Scheme menu and with the iOS Device Scheme selected click edit scheme. Select Run from the left menu and under the Info tab set Build Configuration to Release
3- Now make sure you have your iOS device connected and its scheme is selected and hit Run (note: you will get some warnings but as along as the build succeeds you are okay)
if all goes well you should be able to see YourApp.app under the Products folder on the left side now select YourApp.app open it in Finder. Your app should be in a folder called Release-iphoneos Copy it to /Applications dir on your iOS device and respring or UICache to make it appear. (note: you dont need to use ldid now)
Hopefully your app will launch fine. I have only tried this with xcode4 so not sure if it will work for older versions.