We have migrated the app from one account to another. It has the same bundleID but definitely different teamID. So the AppID is different.
My question is
Will my app use the same SandBox or will create another?
If you have transferred the app to another account in AppStore Connect and continue to use the same bundle id then any new versions will be seen as an "update" to users that have already installed the app and the updated version will see the same files/preferences etc that the old version had
Related
App is not published on App Store but distributed to testers via Testflight on previous account.
Now I have to shift the app to new account.
With same Bundle Identifier
Can I place it on new account with same bundle identifier?
What will be the procedure to transfer the app because it is in the Testflight and docs says "The app must have a published version." ?
If I just have to simply upload it to new account then what changes to be made and what are the consequences?
Will the testers get it as a new app or an update to installed one?
Are the certificates of older account are required to sign the app?
With new Bundle Identifier
App will be treated as a new app and will be signed with new certificates. So will there be any chances to conflict with the previous one? Or I have to remove the older app from previous account?
If there is any way to distribute it as an update to previous one that replaces the installed one?
What changes to be made and what are the consequences?
According to the Apple Doc -
The app must meet specific criteria to be transferable.
App transfer criteria. Before an app can be transferred it has to meet the following criteria:
Both accounts can’t be in a pending or changing state, and the latest version of the agreements in the Agreements, Tax, and Banking section must be accepted.
No version of the app can use an iCloud entitlement.
No version of the app can use a Passbook entitlement.
The App must have had at least one version that has been released to the App Store.
In-app purchase product IDs on the app can’t be the same as product IDs on any apps in the recipient’s account.
TestFlight beta testing should be turned off for all beta versions of the app.
Sandboxed Mac apps that share the Application Group Container Directory with other Mac apps cannot be transferred.
Source - Apple Doc Link
So ,
You can not move your Testflight app on your new account.
Yes, you can place it on new account with same bundle identifier but before that you have to delete that app first from App Store Connect.I believe that is the case, although you probably could rename the original rather than deleting it.
When an app is removed in this way, the app's name is released to other developers, so make sure you can reuse the name (bundle id),as long as no other developer grabs it before you do.
Upload it to new account then what changes to be made - just upload it as you did before for Testflight and there will be no consequences.
Will the testers get it as a new app or an update to installed one - If you upload it as a new app from your new developer account, it will be a fresh new app for the testers ,not a updated version, but if that version contains any changes then definitely they will get it.
Are the certificates of older account are required to sign the app - No. But you have to download the necessary certification to upload an iPA on iTunes connect for your new developer account.
With new Bundle Identifier
No, there will be no conflicts if you upload the app with different developer account with new identifier as long as it's for Testflight and not published in app store.
You can notify the tester about this app, what it's new feature, or easy way to do that is update the version number while uploading it. If is there anything else you have to know then feel free to ask me in the comment, i will be happy to answer that.
I have an app that has been uploaded to itunesconnect and used for TestFlight. I have uploaded many builds.
I now wish to upload the app to a different iTunes account. However I can't because the name and bundleID are being used by the older version which is on TestFlight.
I need to either change the bundle ID on the older version that is on test flight or to transfer the app. Unfortunately I can do neither. There is no option or ability to change the bundle Id on the old version that is presently being used in TestFlight. And there is no option to transfer the app as it has not been approved and not on store. How can I resolve this?
Bundle id is register for development team so with same bundle id but different development team you can not release app. However, you can slightly twig your bundle id and app name, this way you can easily up the app.
I read from Cocoa Core Competencies
that
An App ID is a two-part string used to identify one or more apps from
a single development team. The string consists of a Team ID and a
bundle ID search string, with a period (.) separating the two parts.
However it also says that,
The bundle ID is a unique identifier that identifies a single app and
cannot be used by other teams.
I see that we can't register an App ID in the Developer account portal with same bundle ID of an app that is on the appstore.
An App ID with Identifier 'com.example.myapp' is not available. Please enter a different string.
So I don't know if 2 apps from 2 developers can have same bundle ID (like com.example.MyApp), and if this causes any conflicts?
Can these 2 apps be installed on the device?
Can these 2 apps be allowed on the app store?
How does Push Notification work with these 2 apps ?
I see that many services like Fabric Crashlytics, Urban Airship, Google App Invites, ... depends on the Bundle ID to differentiate among apps.
Can these 2 apps be installed on the device?
No, it won't. It will replace the existing app.
Can these 2 apps be allowed on the app store?
No, you cannot create Apps on App Store with same bundle ID.
How does Push Notification work with these 2 apps ?
Push Notifications will show for the app it is made for whose Push Certificates etc are made
Can these 2 apps be installed on the device?
No. If you tried to install another application with same bundle ID it will replace the existing one.
Can these 2 apps be allowed on the app store?
No. When you upload the application on an App store it will ask for unique bundle ID.
If you use same bundle identifier for two different application and try to run on device then previous application is replaced from Device and current application is installed on Device. if you want to run two different application then you can use wild card id.
for App store when you creating application in iTunes connect first it check with existing App ID(same with bundle identifier in Xcode) on app store if exits the you have to put different app id.
a client of mine has accidentally deleted his App from itunesconnect. Which stil has a lot of users and we want to update this app. Which unfortunately is not possible because he deleted it and didn't put it on status "Removed from sale", not so smart.
But is there still a way to resubmit this app with the same bundle id to update the app which the existing users already have installed? Or is this impossible? Or is there no way to reach those users which have the app already installed.
Does someone know how the updating system in iOS works? Does the app has to use the same specific bundle id and SKU? Or is it possible to update the app with a different developer account which uses the same bundle id and name of the app because it was deleted by a different developer.
Or is this impossible to do and is the only option left to republish the app under a different name. And try to force the existing users to re-download the updated version of the app.
If you delete your app, you can't restore it. The SKU or app name can't be reused in the same organization.
See here & here.
I have an app published on the AppStore and I want to migrate it to an enterprise developer account for in-house distribution. I read in the enterprise documentation that:
If you want users to keep the app’s data stored on their device, make sure the new version uses the same bundle-identifier as the one it’s replacing, and tell users not to delete their old version before installing the new one. The new version will replace the old one and keep data stored on the device, if the bundle-identifiers match.
Now, assuming we keep the Bundle ID the same between the AppStore binary already installed and the enterprise binary signed with a different certificate... it should overwrite the same app on their phone rather than create a second app.
I contacted Apple support and they said "No, you will have 2 apps installed if you do not instruct the clients to uninstall their old one". Is this true?
EDIT: I'm leaving my original answer below for conversations sake as there is good dialogue below. As #mja noted when you initially create an app ID it is associated with one of a few available prefixes to your developer portal and that prefix may be used by iOS to associate & differentiate between apps.
EDIT2: When I go into my Enterprise Portal and try to create an app ID with an identical value to an existing app ID but with a different prefix it still blows up on me and says:
An App ID with Identifier 'com.mycompany.myapp' is not available.
Please enter a different string.
ORIGINAL Answer:
The latter part is incorrect - iOS devices use the Bundle Identifier to differentiate between apps. I can have 20 apps labeled "Cool App" on the same iOS device so long as they have unique bundle identifiers such as com.mycompany.coolapp.1 - com.mycompany.coolapp.20. Likewise (and I've done this accidentally) if I open two projects, both of which have bundle identifiers com.mycompany.myapp, and run one right after the other the last app to be run will be installed on the device whereas the previous app will be overwritten.
Regarding the app data sustaining itself I have not tested that though I'd be interested in what happens for you!
I have managed to achieve this, so that the 'enterprise' build of the app overwrites an 'app store' distributed version.
This does not use the exact same bundle ID but does achieve what OP asked in his original question.
How I did this was, in my enterprise account, create a wildcard bundle identifier with the first two parts the same as the bundle identifier for our production app, for example:
Production : com.xyz.abc
Enterprise : com.xyz.*
Using this wildcard bundle ID, the app can be distributed and will overwrite any versions installed via the app store (user data will still persist). The prefix does not seem to matter here.
One drawback of the wildcard bundle id is the fact that you cannot use APNS etc.