What is an Ad Hoc certificate for iOS test app distribution? - iphone

I'm developing a iPhone app and need to send it to my client. In turn, my client will distribute it to many other people for end-user testing.
What kind of Provisioning Profile, Certificate, or Code Signing will accomplish this task? I've heard something about Ad Hoc certificates; is an Ad Hoc certificate relevant for this task?

Yes, ad hoc is exactly what you need for massive end user beta testings.
There is a very thorough and comprehensive tutorial about this, right from Apple. Log into your iOS dev center account ==>> iOS Provisioning Portal ==>> Distribution ==>> Prepare App

Yes, at this point the Ad-Hoc distribution certificate is what you are looking for. The Ad-Hoc certificate allows you to build your app to run on a predetermined list of devices. There are a couple big caveats though:
You need the UDID of every device you want the app to run on.
The user needs to install the provisioning profile for the app as well as the device manually. It's a simple case of dragging and dropping to iTunes - but we're dealing with normal people here... Not programmers.
To Create One: You add all the UDIDs for testing to iTunes Connect and then create a new ad-hoc distrubution profile and certificate. Build your app with the new certificate and the users should be good to go.
What I recommend: TestFlight
Testflight allows you to simplify this process immensely. You just build a normal debug IPA and then put it on TestFlight. They have their own global provisioning profile the users install and run the app with. It's as seamless as mass testing on iPhone can be (Granted, that's not a high bar).
Good luck :)

Note that Ad Hoc certificates are no longer used in the new Apple TestFlight. Testers are no longer added via UUID.
Test Flight builds now require an App Store Distribution Provisioning Profile. The portal does not allow UUIDs to be added to this type of provisioning profile.
Instead, add "Internal Testers" via iTunes Connect:
Internal testers are iTunes Connect users with the Admin or Technical role. They can be added in Users and Roles.
After adding a user, be sure to click on their name and flip the "Internal Tester" switch.
Then, go to App > Prerelease > Internal Testers and invite them to the build.

You can create ad-hoc testing certificates. Your client won't be able to distribute it to "many other people" though. You'll have to know all their device UDIDs and you'll have to add them to your provisioning profile. Remember you can only add upto 100 devices to your account.

Related

iOS XCode & Code Signing

I am currently about to start work on an iOS app for somebody but they have there own Apple Developer account which they would like to us. How do I go about setting my MAC up so that I can use their account to build, develop and test their app on my Devices?
I am assuming that I will need to create a separate user account on my MAC. I have done this but when I try to install the certificates that they have created I get errors such as "Valid signing identity not found".
Why could Apple not make this process simple, I am always having to refer back to the documentation and still get confused just to start creating a new app!
You do not have to create a new user account on your Mac for this, but I know some developers prefer to have separate accounts when they are working with more than one developer account, for ease of development & distribution provisioning profiles.
If your client adds you (by Apple ID --> email address) as a team member to their account (assuming their account belongs to a company and not an individual) then you can start the development process by requesting and later receiving a signed development certificate. You'll then also need the required provisioning profile(s) to develop/distribute builds of the app.
No, you won't need to create separate account. Xcode provide the facility to use several provisioning profile and certificate at the same time.
For more information check this thread - Multiple Certificates/Provisioning Profiles in one Xcode organizer?
First of all you don't need to create new account on your Mac to develop iOS application. In Xcode 4 it become very easy to start developing and signing application. All you need to do is go to Organizer (most right button on Xcode toolbar). In Provisioning Profiles section you can see Refresh button on the botoom of the screen. When you click it ask you about your developer account information such as account name and password. Then it tries to install all profiles and certificates to your Mac automatically. Then you could select your profile and sign your app. If automatically install fails, check yourself that you download all you need for this.
Create keys on your mac and submit to Apple.
Download your certificate and WWDR certificate. Two!!!!
Add your device to the devices section and create Development certificate (Distribution as well ). Download it manually or via refresh in Xcode Organizer.
Hope it helps. Sergey!
Once you have your Apple Developer Account Credentials, You can follow gist I have created:
Apple's Code Signing Process

Adding Tester to TestFlight

If I add a tester to TestFlightApp.com They get a link to register their device. This then downloads a profile, which is called TestFlight Access. Not for my app.
What is this profile for and how does it relate to my app?
Also do I still need to add the tester's UDID to the apple developer portal, myself?
That profile allows the service to gather the UDID of the testers device. This way the user never has to manually search that UDID and it is possible for the service to provide developers who invite users that information automatically.
Additionally, the installed web clip will authenticate the device against the service, so the apps that can be installed will be offered. These apps are found by comparing the UDID of the device against the provisioning profiles of all apps available.
So yes, you still need to add the UDID to the provisioning profile and compile your app against it.
The profile process is provided by Apple and well documented here: http://developer.apple.com/library/ios/#documentation/NetworkingInternet/Conceptual/iPhoneOTAConfiguration/Introduction/Introduction.html#//apple_ref/doc/uid/TP40009505
There are also other services who leverage that functionality for "easier" gathering of UDIDs and providing an easy way to let users download their beta apps.
I'm jumping in here to say, yes you do need to re-build your app with a new profile that includes the new tester's device UDID. I'm having a problem with this for one tester only, that no matter what I do TestFlight refuses to acknowledge that the profile I am using has this one person's UDID in it yet it does. I'm writing to their support group about it and will let the forum know what I find out if anything useful.
The profile allows the test flight app to install your app. And yes, you will still need to add their UDID to the provisioning profile.

Submitting iPhone App To App Store, Proper provision profile

We are in the process of submitting an iphone app to the app store. We've tested it using an adhoc distribution provisioning profile, however I was wondering if I need to create a separate provisioning profile for the app store.
On the distribution tab in the provisioning area, it enables me to create a distribution provision profile for the app store. Do I need to build the app with that in order to submit it?
Ad hoc would will not work. For me dealing the certificates and provisioning profiles is a very annoying experience.
This is what I needed to do to submit an app:
In Developer under iOS Provisioning Portal I needed to generate 4 certificates and download the WWDR intermediate certificate to be able to submit my app to the App Store:
Under Developer Certificate section (link) generate a Developer Certificate. Also Make sure that you have the WWDR intermediate certificate installed, if in doubt download it from there.
Under Developer Certificate section (link) generate a Distribution Certificate (This is not that will show up in Xcode!)
Under Provisioning section (link) generate a Development Provisioning profile certificate
Under Provisioning section (link)generate a Distribution Provisioning profile. THIS WILL SHOW UP IN XCODE AS A DISTRIBUTION CERTIFICATE!
After that I was able to select the iPhone distribution profile generated at 4. Also make sure that your target and project settings are the same.
I hope it helps
Yes, the adhoc will not work, you need to rebuild / archive with the profile made for distribution app store
Back in 2009, I did use my ad hoc provisioning profile to submit the app to the store:)
But looks like things have changed since then. I guess the answers say it will not work because the application validators detect this?

Upload IPhone app to device instead of other app

So I'm not that familiar with the process of Provisioning profiles and certificates.
Currently I have one app I'm developing that I can upload to my device.
Now, for testing reasons, I want to write a very simple app and to upload it to my device as well. The thing is, is that I don't want to configure another app in iTunes connect and provisioning profiles, so I thought maybe it's possible just to change the bundle identifier of the second app to be the same as the first.
However, in XCode I get the following error :
"Code Sign error: The identity 'iPhone Developer' doesn't match any identity in any profile"
Any way to make this happen?
If you set the bundle identifier of the 2nd app to be the same as the 1st, the 2nd app will replace the 1st one on your phone.
If you want the ability to have both apps installed at the same time, you need a new app id.
But you don't want to create a new app id for each test project.
The idea is to recreate the Team provisioning profile available for the Company developer program (I guess you subscribed to the individual developer program).
Create a new app id with bundle identifier set to *
Create the provisioning profile associated to this app id
Download and install this generic provisioning profile
With this wildcard profile, you will be able to install any test application.
Please request a certificate to apple through your paid developer account, generate a provisioning profile and install this in mac as well as in your device. then choose your provisioning profile and build and run your app through this provision.then it will install in device. There are details in developer.apple.com regarding to this. If you feels confusion please mail me sandeep.kniit#gmail.com. i will reply you asap.

Provisioning profile and developer certificate

At what stage of a iPhone app development do we need provisioning profile and developer certificate? What are their importance and from where we get them? And how do we distribute our iPhone app for testing by other users and finally to end customers in App Store, using provisioning profile or developer certificate or something else. Please throw some light on this matter!!!
You can develop apps for the iOS Simulator for free. If you are not yet testing your apps on actual devices, and are not submitting apps to the App store, then you don't need developer certificates.
When you get to the point you are doing either of the above, then you will need certificates and provisions, and can read about how to use them here in the Development Guide and here in the Store Resource page on Apple's developer site.
You will need to read and follow the instructions in these documents very carefully. Don't depend on any quick answer or assumptions.
A developer account will allow you to not only test on your device, but also to generate provisioning profiles for "ad hoc" provisioning, which allows you to share apps with up to 100 devices a year (your beta testers/clients/etc.).
You can't submit an app to the App Store before you have a developer account; and you shouldn't submit an app before having tested it on at least one device.