I'm developing an iOS app in Xcode 12.2 for a client.
The client does not have an Apple Developer account yet, so I'm using the Testflight of my own account to test the app with the designer.
The app uses AppGroups, let's say I have a group named "group.com.myorg.appname".
I'm also using CoreData, and will implement NSCloudKitContainer very soon.
My question is:
Once the client has purchased a developer account, can I easily delete my version from my Testflight, and then add it to the client's Testflight, without issues?
For example, do I have to change the AppGroup identifier? And is this a problem for iCloud?
I have read this answer which contains lots of good information, but didn't allow me to be sure about iCloud or the AppGroup identifier. This was also very useful but incomplete. I've also read information about app transfert, but in my case the app is not published, it's just in Testflight, there's no publishing before moving to the client's account.
If you do not want to lose the IDs, the safest option is the transfer the app to the new account rather than deleting it. If you have push notification certificates, these would need to be regenerated on the new account. However the same goes for the App Groups. You will need to delete it from your old account to release the ID and make it available for the new one. There shouldn’t be issues doing this since it is not launched yet. https://developer.apple.com/forums/thread/70297
Related
I have an IOS app and bundle id with "org.application.ios". I wanted to transfer an app to another account. There is an issue with plugins used so unable to transfer the same.
So planning to delete from one developer account and create the app with same name and bundle id. Is it possible that existing users will get update for the new app uploaded.
#ios #developer.
No, you can't re-use the bundle id from another account.
As per App Store Connect help
If you remove an app, you will lose ownership of the app name. Removed
apps can only be restored if the name is not currently in use by
another developer account. In addition, the SKU can’t be reused in the
same organization and if you’ve uploaded a build, your bundle ID can’t
be reused.
You’ll need to contact Apple. If you want the same app (so that updates work) apple must move the app to another developer account, you can’t do that yourself.
My Apple Developer Membership is expiring and at the moment I don't want renew it, I would like to know what happens to the app (besides obviously to disappear from the App Store) the app in the account will be removed to? Can someone else create an app with the same name as mine?
I would like to know what happens to the app (besides obviously to disappear from the App Store) the app in the account will be removed to?
You apps won't be removed from developer account but will be removed from App store (it won't be visible/accessible to end-user).
Can someone else create an app with the same name as mine?
No
If your Apple Developer Program membership expires, your apps will no longer be available for download and you will not be able to submit new apps or updates. You will lose access to pre-release software, Certificates, Identifiers & Profiles, and Technical Support Incidents. However, your apps will still function for users who have already installed or downloaded them, and you will still have access to iTunes Connect and free development resources.
if your Apple Developer Enterprise Program membership expires, your apps will no longer be available for download and will no longer function for those who have already installed or downloaded them. You will still have access to free development resources.
"Can someone else create an app with the same name as mine?"
NO
I have an app uploaded on Testflight which has been expired from my developer account. I want to upload the same app to Test flight from another company developer account. Will it create a conflict?
There is no transfer option in Testflight mode.
If you haven't already read the documentation, you can find it here:
https://developer.apple.com/library/content/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/TransferringAndDeletingApps.html
Key points to highlight in your case would be:
Make sure your accounts aren’t in a pending or changing state.
The App must have had at least one version that has been released to
the App Store
The last point is the most troublesome but it happens -_-
When going to transfer my iOS app to another developer, I got this message
You can't transfer this app because of the following reasons:
iCloud enabled
You can only transfer apps that aren’t iCloud enabled.
Deleting and Transferring Apps Documentation
The documentation states:
Make sure the app uses only technology and content that can be transferred.
No version of the app can use an iCloud entitlement.
Since a version of my app used iCloud, is there literally no way I can transfer it? If there is a way, how should I proceed?
The app must be deleted and re-created with a new SKU/Bundle ID.
Remove the app from sale by going to Pricing > Select Territories > Deselect All
Delete the app under More (to the right of Prerelease, Pricing etc) > Delete App
Create the app under the developer account as a new app with the same name with a new SKU/Bundle ID.
This will delete any reviews/ratings, gamecenter data, iCloud data, and any other data linked to that app. You'll have to recreate any in app purchases you had.
WARNING: Never use iCloud Entitlements in an app. It's not worth it because it makes your app untransferable and therefore unsaleable forever!
I had enabled iCloud entitlements in some previous build to play around with NSUbiquitousKeyValueStore, and now I can never transfer that app... This is so so so very bad. I have an Android version of the app, ran into no issues with Google Play.
Same here. I was just using NSUbiquitousKeyValueStore to allow the user to share some settings across devices. Now all my users who paid for the app will not receive any more updates, my 4.5 star ratings will be gone, etc. I am super frustrated and this will cost me a lot of money.
I have written an article about his on medium.com, so feel free to share it in your professional networks if you feel this could help fellow developers to not run into this trap.
For June 2022+: Apple has updated the rules in 2022. Now you can transfer your app the regular way even if it uses iCloud. They write about limitations in their documentation now in "Apps Using iCloud" paragraph.
We have developed an app for a client which we deliver to them as an ipa signed with our dev credentials and bundle identifier etc.
When they receive it they strip off the existing credentials and re-sign it and submit it themselves to the app store.
Now there is to going to be a new version of the app that will include in-app purchase. In order to develop and test it I'm going to have to set up an entry for our in-house version of app in iTunes connect in order to create some products.
I've never done in-app purchase or set up an iTunes connect account before so was wondering if there are any potential issues I need to be aware of bearing in mind what I've said about how the app is delivered to the client and submitted to the app store.
For example:
- can I easily set up an iTunes connect account for an app that will never be released, for example I see there's a paid applications contract to agree to? (I say the app will never be released - what I mean is the exact version we deliver to the client will never be released in that form, its bundle identifier will be altered and thus will be different).
the product identifiers used during the development phase will be different than the eventual product identifiers. I already have a .plist config file in use, are there any potential issue with adding the product identifier names in there, and when the client re-signs the app they edit it to contain the actual product identifier names?
I thought I remember reading somewhere (but not can't find it) that after creating an entry for an app on iTunes connect there's a time window within which the app must be submitted. If this is correct then would the iTunes connect account disappear? If this happened before finishing the app I'd have to go through the hassle of creating a new bundle id and associated profiles and create a new iTunes connect entry to compete it?
If you have any issues I need to be aware of I'd be keen to hear.
TIA
Your plan seems to be fine, however be careful when shifting things to the product, as there are so many parts to this operation(bundle identifiers, etc...). A small mistake could set you back weeks if not months.
We have apps with IAP that we develop for other clients and they submit with their own credentials. We also have our own app on the app store with IAP. We just have to make sure that our clients set up their IAP with the same ids as we set them up with. Other than that we have not had any problems with it. Also, we fully do IAP fulfillment (downloads and IAP store display) from our servers and not from the clients.