Sending an iPhone app to customer for review - iphone

For a review at the customers side we would like to email him a prerelease of the app (it is in a prerelease state, so not available at the iTunes store). What is the best way so he can install the app on his iPhone?
thx in advance
Stefan

You can either do ad Hoc distribution (which requieres the more expensive "enterprise" developer license) or you can ask your customer for his phone's UDID, add it to the devices section on the iphone developer portal, afterwards add the device to the profisioningprofile of your app.
ad Hoc distribution is not necessary in this case. I have 50 Beta testers on my current app and have them all provisioned manually (which is a pain for 50 devices, but still...)
I think you can save the additional cost of aquiring an ad Hoc developer license.

Ad Hoc distribution. See iPhone Developer Portal on how to do this.

Related

Distribute iphone app for external beta - sign on behalf of customer

My Company is building an app which we want the external customers to try out before submitting to the app store. Since in-house builds can only be distributed to employees of the company, what's the best way to get the app to beta customers without going through the app store?
If the customer signs up for a developer or enterprise account and gives us their certificate, is it ok to sign the app on their behalf and give it to them?
Thanks!
Update: Number of devices is more than 100.
If you have less than 100 devices you want to run the app on, you can do adhoc builds and distribute them via your own web server or TestFlight. You will need the UDID of every device that it will be installed on, though. I usually suggest people run Ad Hoc Helper for that. See iPhone ad hoc build using Xcode 4 and http://itunes.apple.com/us/app/ad-hoc-helper/id285691333?mt=8
My answer requires devices to be jailbroken.
Since you say you need more than 100 devices, you could fake sign the app. This will allow you to install on as many devices as you need.
P.S. I recommend option #2 on the fake signing link I gave you.

IPhone Distribution - Multiple Devices - Not App Store

I am an individual developer who has written an ipad app for a company. They have bout 30 devices they want to put it on, so my current plan is to create a provisioning profile that contains all the UDIDS for all those device. So here are my questions:
I surely will miss at least one device and have to either:
a. Create a new distribution provisioning profile for that device
or
b. Add it to the existing provisioning profile, in that case does it void the others
Could I submit something to the appstore that is obviously for internal use and password protect it? The company probably isn't willing to do an enterprise account, and I don't want to maintain it by getting them a new provisioning profile every year when they expire. Any ideas here?
Did you consider Ad Hoc distribution? That would allow you to add the app to a new device without having to make a new provisioning profile.
I haven't done it myself, but this looks useful:
http://www.iphonedevsdk.com/forum/iphone-sdk-development/35818-unofficial-ad-hoc-distribution-guide.html
I love TestFlight for small distributions. Also, see the Apple enterprise distribution documentation. It goes over signing and wireless distribution.
Rather if this is going to be used by the company for a longer period of time then I would advice you to go for iOS Developer Enterprise Program.
The main highlighting lines about Enterprise Program is
"Gain access to resources that will help you develop proprietary, in-house iOS apps that you can distribute to employees or members of your organization."
So you can distribute the app among your company employees directly without need to submit it on app store. That would surely be a better option.
For more details on iOS Developer Enterprise Program, you can check out this link..
iOS Developer Enterprise Program

iPhone ad hoc distribution without getting user details in advance

Is there anyway I can ad hoc distribute my app without asking for information about the beta-testers device?
In other words, I want to distribute my app to some friends for testing. Can I do this without requesting info from them first?
If this is not possible, exactly what info do I need to get from them before I am able to set up an ad hoc version for them?
Use TestFlight. It will allow you to invite users and will add them on-the-fly. It's a really great tool for managing ad-hoc and beta tests for iOS.
If you do it on your own, the only info you really need is the UDID of their device.
This isn't possible.
All you need is the UDID from each tester. You could suggest they use an app like this to send you their UDID to make things simple for them.
I'm pretty sure you need their device UUID and device name. That way you can add them to the provisioning profile so the app will run on their device, and this also allows apple to limit distribution to those on your list (max 100 devices). You then need to build the app with this provisioning profile, get your beta testers to install the provisioning profile on their device, and then finally install the app.
You could ask your users to download the excellent ad hoc helper from the app store which let's them send an email with all the info automatically generated.

How do i give my un-released iPhone app to people who aren't near me to test?

This isn't a coding question, but is to to do with beta testing my app and so I think it's relevant for here.
I want to give my app to people to try, such as online friends and my parents, neither of whom live anywhere near me. Am i able to provision an iPod Touch or iPhone for testing my app, and put the app onto that iPod or iPhone without doing it directly from my computer?
Yes, you need to generate an Ad-Hoc build. You get the beta testers to send you the UDID for their phones, then build an Ad-Hoc build targeting those devices and email it to them. They install it by dragging it into iTunes and then syncing their phone.
In reality it can be a bit of a trial the first time you generate an Ad-Hoc build. Apple's docs cover all the facts but lack a simple step-by-step guide. I'd strongly suggest you check out TestFlight - it's free to use and it makes the whole process much easier.
(If you're feeling really adventurous you could try out Anticipation, a simple Ad Hoc distribution tool I wrote that runs on Google App Engine. It's free and open source, so help yourself!)
You are looking for Ad Hoc Distribution in Provisioning Portal. Basically, you will need to create an Ad Hoc Distribution Profile that has the Unique Device ID's of the devices your friends will use to test.
In Xcode, you will build your app with the above-mentioned distribution file using Build and Archive. When You open Organizer and click on the archived app, you will choose Share -> Email. This will open your mail client and attach the .ipa and the correct distribution file for your users to drop onto iTunes and Sync.
You want to look in to Ad Hoc Distribution. You'll create an Ad Hoc Distribution Provisioning Profile on the Provisioning Portal, then Build & Archive, then "Share" the archive signed with your Ad Hoc profile.
Check out this article, it walks you through it and shows a nice way to distribute it online. Note that you have to repeat the process every time you make a change to your app or add a new device to the profile.
You have to create an ad-hoc version of your app.
You need to get the UUID of the users devices. Erica Sadun created an app that helps you doing this. It gets the uuid on the device and emails it to you. Those UUID goes into a special provisioning profile you create in the provisioning center on dev.apple.
For ad hoc deployment I use Hockey Framework. Some php files you put on your webserver with the ad hoc version and the provisioning profile.
Beta testers can then install the app by visiting the website with their devices.

iPhone signing conceptual question: why is Ad Hoc deployment needed?

I must be missing something conceptually here, and I'm hoping someone can set me straight.
I'm not really clear why Ad Hoc deployments of iPhone applications are necessary, and why development builds can't be used instead.
Specifically, I don't understand why I can't just send someone my development provisioning profile and my app, as long as their machine id is included in my development provisioning profile.
So, on the Apple Provisioning Portal, under Devices, I add the device ID of my iPhone, and that of my friend. Under Certificates, I submit a CSR, which, to my understanding, does not contain anything specific about my device (it writes a private key to my machine, but I don't think there's anything specific about my device in the CSR). I then get a certificate which I download. I then create a development provisioning profile. In the process I select the certificate I just created (in my company's name but with nothing specific about my device), and I check all the devices, including those of my friend. I then download and install that provisioning profile on my iPhone (and only that provisioning profile, no other profiles or certificates or anything on my device). I then build my app, signing it with that development provisioning profile. I can then install the created .ipa on my iPhone, and it works.
So what keeps me from sending my friend (whose device id I checked when creating the development provisioning profile) the same development .mobileprovision and .ipa files, and he can install and run just the same?
Doesn't that get me the same effect as Ad Hoc deployment, without the additional hassles of Ad Hoc deployment? (of which I admit there may not be many, but there are some)
AdHoc is not developmental distribution; it is a release distribution without the App Store. It is a production level environment. For most apps, this doesn't mean much but for apps that deals with iAd or push notifications, this is a big deal.
For example, iAd development builds pull ads with higher frequency of error rates (roughly 80% errors) so that developers can work out the kinks of error conditions. These error conditions manifest in lower frequency with production iAd environments (App Store/Ad Hoc builds).
Ad Hoc deployment allows beta testers without access to a Mac, or a Mac with Developer tools, to install the developer's apps. The Ad Hoc recipient can use iTunes on a Windows PC, and long as their devices UDID is one of the up to 100 registered with the developer, they can install an Ad Hoc app emailed to them.
Exposing a private key, which would allow someone else to sign apps with the developers registered name may not be something every developer would want some stranger to do, just to let them test your app.