Adding Tester to TestFlight - iphone

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.

Related

ios-provisioning-portal for PushSharp

I want to develop demo application at my development machine.
Here I want to use pushsharp for mobile Notifications and further I want to use it on
iphone.
For pushsharp integration with iphone I requires ios provisioning
reference: https://github.com/Redth/PushSharp/wiki/How-to-Configure-&-Send-Apple-Push-Notifications-using-PushSharp
But https://developer.apple.com is asking for $99 dollars for it use.
So here my question is that Is there any free/developer key is available to this or I need to purchase this.
I need to show some demo before going to purchase any thing.
please help me on this.
Thanks
Apple recommended that developer use the code singing when they want to test application on device. So for that purpose developer have to purchase such a/c. for create provisioning profile and certificates.
you can found more information at developer portal regarding setup profile check this. Also for APNS have to set that enabled in your app id.
You can test your app in Simulator without purchase of $99.
But if you want to test your app in physical device then you must have to purchase developer account of $99.
Also if you want to test APNS then also you need this purchasable account.
So, I recommended to purchase it for other benefits as well.

app store distribution provisioning profile from different account than the one to submit to itunes

I have developed an iphone app for a client. Can I code sign app against the appstore distribution provisioning profile generated from my apple developer account, send it to the client & let him submit it to apple itunes from his apple developer account?
As i learned from my experience, this is not possible. You need to have the provisioning profile generated from the same developer account which you want to use to publish to the appstore.
Basically yes, but look into the xcode 4 archive organizer. You can share an archive with another Xcode. From there it seems to be possibe to do a re-signing. Since your client must use anyway his xcode for submitting to the AppStore, this might be a way to go.

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

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.

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.

Can I change the Bundle Identifier in my app after it's been approved?

I've got my app approved a while ago and used the * provisioning profile so I created somehting like:
com.mydomain.MyApp
but now I have the necessity of adding push notifications and I can't due I am using the * provisioning profile and it needs to have its own app ID and profile.
How should I proceed in order to achieve an app update without breaking anything
The bundle identifier for an app must always remain the same between updates, but the AppID can actually be different. So all you need to do is create a new AppID that used the same bundle identifier as the original app instead of a wild card.
Apps that use a wildcard still need a normal bundle identifier. The wildcard AppID lets you use any bundle identifier you like, but it still needs one.
There used to be an Apple article about this:
but it is no longer available online However, an archive is available.
You can't change the CFBundleIdentifier of a released app if you want to release updates for it, the App Store will automatically reject it when you upload. So...
I needed to enable iAds on an app previously developed with a wildcard App ID. Here's what I did:
I have a wildcard App ID of <AlphaNumeric>.* which my app currently uses, and my app has a CFBundleIdentifier of com.companyname.mygame.
Created a new App ID of <AlphaNumeric>.com.companyname.mygame.
Created new development and distribution provisioning profiles that include the new App ID.
Download the new provisioning profiles to Xcode and my devices.
I was then able to compile the App with the new non-wildcard distribution profile, which meant on upload I could enable iAds (or Push for you). The CFBundleIdentifier didn't change so the new compilation appears as an update to the existing app.
I can confirm this process worked without issue.
Under Frequently Asked Questions in the document entitled "Technical Note TN2259," which is "Adding In-App Purchase to your iOS and Mac Applications," there's this bit
Question: My iOS application is currently signed with a Provisioning Profile
that uses a wildcard App ID. How do I enable my App ID to support
In-App Purchase?
Answer: Read the Creating and Configuring App IDs section of
the iOS Team Administration Guide to learn how you can enable your App
ID to support In-App Purchase.
The link points here, and there's a section called, "Updating Your App to Include APNS, iCloud, In-App Purchase, or Game Center Requires an Explicit App ID"
That said, I don't know (yet) at what point the app takes on the new App ID. Is it when you upload for review, before that, or when it has been approved? I am working on this problem now, so I might be able to add to this answer soon.
Edit: The explicit app id only affects the piece of software you are testing and has, essentially, nothing to do with iTunes Connect whatsoever. This means that if you are testing in-app purchases, the piece of software that's running (your app) has to have a provision profile based on a cert that is app specific. What happens in iTunes Connect is totally irrelevant.