iPhone - Same provisioning profile for different app? - iphone

Can you use the same provisioning profile for compiling 2 different apps for the App Store? I suppose not, but just wondering.

I'm quite certain you cannot use wildcards in an appID for App Store Submissions. You can build and debug all your apps with something like GK46RTKQ4V.*, though for an actually app submission you WILL need unique appIDs.

You can create a profile for any/all apps you want by using a .* at the end of your appID
example:GK46RTKQ4V.*
There are draw backs, such as if you want to be able to do in app purchase you need a unique appID.

Related

How many ids can I write at the iPhone app store ID field?

Can i set more than one iPhone app store ID?
I have created two mobile IOS application that i want to link them to one FB app.
That means two iPhone app store ID.
How can i do that. Is it possible?
No, every AppID defines just one App, there's no possibility or sense in doing it with more.
you can share the same facebook app id across applications (ios applications), the facebook developers web site explains how to do that: share-appid-across-multiple-apps-ios-sdk

Certificates, App ID and Provisioning Profile

For submitting an iPhone app to the App Store, we need to create Certificates, App ID and Provisioning Profile.
I often get confused whith these things (even after reading the Apple documentation on http://developer.apple.com/library/ios/#documentation/ToolsLanguages/Conceptual/DevPortalGuide/Introduction/Introduction.html#//apple_ref/doc/uid/TP40011159-CH1-SW1)
So could someone please explain me these things in simple terms.
Can the same certificate be used for multiple apps (and both for dev/distribution) ?
Also I guess App Id is unique for each app. But can the same App ID be used for both dev/distribution ?
For Provisioning Profile, I think we need to create 1 each for Dev/distribution. Correct?
Please explain in simple terms. Thank you.
1. Can the same certificate be used for multiple apps (and both for dev/distribution) ?
No, distribution certificates can't be used for development, especially the App Store profile which can only be used to submit an app.
2. Also I guess App Id is unique for each app. But can the same App ID be used for both dev/distribution ?
Yes you can use the same app id for the development, ad-hoc and AppStore.
3. For Provisioning Profile, I think we need to create 1 each for Dev/distribution. Correct?
No, you can create a wildecard development profile * as the app bundle id. You can even create a wildcard AppStore profile. Only apps signed with this profile will not be able to use pushnotifications or InApp purchases.
You need one certificate for Development and one certificate for Distribution (new ones for every year of enrollment). These 2 certificates can be used for any number of iOS apps.
A bundle ID is what identifies an app (not its name), so you should use the same ID for all versions and builds, including development, ad hoc, distribution, and updates of that same app.

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.

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.

Changing an iPhone app id?

I would like to change the app id of an iPhone app that I am selling.
Is it possible to do so, update it, maybe add in-app purchases and have no problems?
EDIT
I did not change the bundle identifier. What I did was to create a new App Id in the iPhone Developer Program Portal. I first used a wildcard one and then to add the in-app purchase I created a specific one just for this app. I used the same id as I used first time I posted to the AppStore.
So, I did not change the App Id of the app. But this was how I solved this problem.
--
I did just that with one of my apps, "Nya Öl"
I added a in-app purchase for a Favorites List in version 1.1