creating ipa for distribution to client - ios

I wanted to know what is the use to create an ipa and distribute it to client for testing when we can easily zip the built app and distribute the zipped .app file.
What is the benefit of creating the .ipa?
Is it that creating the ipa do not need the mobile provisioning profile?
Please clarify my doubt.

I would tell you an advantage from my experience. When you deliver a zipped .app file to a client, if he is using iTunes on Windows machine, he would be tempted to open it(as .app looks like a folder in Windows). That would actually render the app unusable. However IPA file can't be opened in any way. So it is safe to distribute IPA without considering whether it is going to be deployed on a Mac or a Windows PC.

Although middaparka's answer has been marked as correct, the link in his answer is now deprecated. The updated reference is App Distribution Guide

The ipa file is in fact the installable.
I'd recommend reading the iOS Development Guide (see the "Distributing Applications" section in particular), as this explains everything in detail.

The reason why I use the .ipa over .app is because you can have your clients install your adhoc build straight from the iDevice over mobile safari without having to go through iTunes.
This comes in VERY handy. However, it does take some research to do because it is a wee bit tedious. Basically you have to have a html page incorporating a link to a manifest.plist that has a link to the .ipa file.
http://jeffreysambells.com/posts/2010/06/22/ios-wireless-app-distribution/

Use the Build and Archive command in Build menu. Then you can save it to disk as an ipa archive.

You don't need to send the mobile provisionning profile with the .ipa so it's easier to install for your client. And it's easier to build it (Product->Archive in Xcode than share than give the .ipa name).
I don't understand why Apple gives the technic for the .app in the iOs provisionning portal.

Related

Can't figure out how to send iOS Apps Ad Hoc to certain iPhones using Xamarin on Visual Studio 2019

OK, so I created an app using Xamarin. I am wanting to push the app through Visual Studio 2019 on a Windows computer to certain iPhones. I included the my profile on Apple Developer website. You can tell it is ad hoc
Now I am in Visual Studio 2019, you can see I am using the correct provisioning profile
Now when I go to the Archive Manager in Visual Studio 2019 I see a couple of options
When I click Ad Hoc, I only see an option to "Save as". I don't know what to do beyond this point? Unlike when I push App Store, which uploads it to the store.
Please what do I do, what am I missing
That's the idea behind an Ad-Hoc build. The build is used to produce a file that is ready to be installed for the predefined devices. The file type can be either .xcarchive, or .ipa.
Quote from the official docs:
You distribute your app by providing the .ipa file for users to install on their devices. Because you select a valid ad hoc provisioning profile to archive the app, users don’t need to install the profile on their device, only the .ipa file. Users can use iTunes to install the app on their devices. If users want to use Xcode to install the app on their device, share the archive as an .xcarchive file package.
Basically, Apple guides you how to create a package or an archive which will be ready for distribution, but how these files will be distributed is up to the developer.
If you choose Save As in the last step/picture, you will have a distribution-ready .ipa file. You then need to deliver/send this file to the provisioned devices' owners. You can distribute it in 2 ways:
Follow the steps from the documentation. Unfortunately, this means that the user, that will have to have a Mac, in order to install the .ipa file through the iTunes. I haven't tried it on a Windows machine, but I doubt that it will work.
If you wish to simplify the whole installation process, you can go with uploading the file somewhere and sending the link to the users. Here, we can take 2 paths again:
a) Host it on your own. However keep in mind that this will require additional setup. There is plenty of steps only how to achieve this, but here's one way.
How to Install .ipa file to iPhone from Web Link?
b) Host it somewhere else. There are plenty of sites/cloud providers that can handle that for you. Personally, I am using Diawi, but I read somewhere that Dropbox should also work out of the box.

Why do I need an .ipa file?

I'm using XCode 6.1.1, ios8 and MacOSX Yosemite.
When I click "Run on device", all I seem to get is an .app file. It runs fine on the device.
Why and when would I need an .ipa file?
You can direct me to relevant docs, I really cant seem to find any official, general info on this.
An .ipa is an archive containing your .app. It's useful when you want to share your application to others.
You can install an .ipa from Itunes for example, or by direct download from a server.
Just to append. .app is not a file, but a Folder, which would be hard to distribute to the users, but all is said in previous comment.
More in wiki:
http://en.wikipedia.org/wiki/.ipa_%28file_extension%29

iOS App distribution - Archiving an .ipa file

I have an .ipa file which is signed with an Enterprise Certificate and using an inHouse distribution profile. I do not have the original source code with me. When I went through the distribution article in Dev center, I understood that it has to be archived for distribution purpose. I do not know how to archive an .ipa file. Could you please assist me in this? I'm new to this iOS development world.
I am going to assume everything was built and signed properly, with the proper provisioning profiles and distribution certificates.
You need the myApp.ipa and the myApp.plist generated by XCode, there may be others ways, but generating these via Xcode is the easiest. Once you have both of these files, upload them to your server (e.g. public_html/app/myApp.ipa and public_html/app/myApp.plist).
Your users navigate to your download page via Safari. On this page you include a link like the following:
Install the app
It is pointing to the myApp.plist. This must have (among other things) an item like the following (not sure about the exact format at the moment, but it is easy to spot if you open the .plist file in text editor):
<key>url</key>
<string>http://mydomain.com/app/myApp.ipa</string>
This URL is also usually added during the archive in XCode, but it can be easliy edited. It points to the .ipa (which really a zip file containg the executable and other resources like images).
When users tap "Install the app" in Safari, it will read the plist file, and if everything was successful up to this point, will prompt the user to install the application.

how to get .mobileprovision file and .app file

I am new to the iphone development.
And i am using Hackintosh and i do not have any user ID of apple.
Now my clients need two file( .mobileprovision file and .app file) for creating ad hoc distribution.
Now is it possible to create .mobileprovision file and .app file from my hackintosh?
Is it mandatory of real mac and apple User ID for creating these two file ?
Edit: These links are old and now point to an archive, but unfortunately the images aren't archived. The information is likely outdated and no longer relevant.
In order to provision an app you will have to be part of the iPhone developer program. Once you do that, these instructions (minus the part about building for corona) will help you. You can also build with Xcode 4. I don't know if any of this can be done with a Hackintosh.

Releasing an ios mobile app built in flash builder 4.5 without apple certificate

I have a jailbroken iphone 4, and I want to create a release, an ipa file from a flex project I've written in flash builder 4.5.1, For testing purposes (on my device). Can it be done without buying the apple's developers certificate?
Thank you!
Dan
This might be a bit late for you and you may have even got an apple developer account by now but there is actually a fairly easy way to do it. It is advertised everywhere for flash cs5 but in flash builder it is slightly more tricky.
go here and download the file. The password is 1234.
extract those 2 files to your desktop.
in your mobile flex project navigate to the default package folder under the src folder under your project name on the left and open the main-app.xml file. Change the id value to "com.gamevil.zenonia2" without quotes. (this is needed to make this p12 certificate work with your app in flash builder.)
build a final release by going to project->export release build and click next at the first window after you are happy with the settings.
finally, select the mobileprovision file and p12 certificate which should be on the desktop and enter in the password (1234).
and that's it! flash builder will now put the .ipa wherever you specified and simply drag this into itunes and click sync. note this .ipa will only sync if you have a jailbroken device with appsync installed. let me know if you need more information regarding jailbreaking.
Here is my post on the topic from my blog.
A distribution provisioning profile is needed to install apps onto a device. In order to generate a distribution profile you need the developer's certificate, so you need to purchase the account upgrade from Apple.

Resources