iosiphonexcodeprovisioning-profileapp-id

An App ID with Identifier 'com.example.app.extention' is not available. Please enter a different string


I have tried to add extensions to my iOS app, both a today extension and an Apple Watch app. My app has been completed however when submitting my archive I got the error based on my bundle identifiers. I then removed the extensions, added them back, and attempted to resubmit. However, xcode now complained that my provisioning profiles cannot be signed.

"An App ID with Identifier 'com.example.app.extention' is not available. Please enter a different string."

I immediately went to the member center to see if an App ID already exists that prevents me from using it for my extensions. Nothing conflicted with the name, this is what was so bizarre to me. Shouldn't I be able to make the new ID if it doesn't conflict with an old ID? I also removed any provisioning profiles from previous extensions. Still, I could not add either "com.example.app.extention" or "com.example.app.watchkitextension."

I decided to just create new app IDs, following a new naming convention like "com.example.app.extentions.watchkitextension." or "com.example.app.extentions.todayextention." Everything worked fine, and built fine. I installed on my devices, things were good. My archive even was validated. However, upon submission I am given the error:

ERROR ITMS-90347: "Bad bundle identifier. The bundle identifier "xxx.yyy.zzz" of the application extension xxx.app/Plugins/xxxExtension.appex should start with the application's bundle identifier "xxx" and not contain more than one period "." after the application bundle ID.

This means I have to use the naming convention "com.example.app.extention" that xcode and the member center will not allow me to create the proper IDs.

I am extremely frustrated, can someone please help. I cannot find a solution anywhere.

EDIT

It seemed that I was actually not able to use that identifier at all.

Also, I should note a couple of warnings for anyone with this message:

1) You cannot add anything before the extension of it includes a period, as in com.domain.app.extensions.extension won't work either. 2) The automatics Swift 2 converter has a tendancy to change identifieres to more standard names and try to let xcode work out the provisioning profiles. Be careful of this!

The only fix I had was to change the identifier name for good. I personally used com.domain.app.todayextension. I got it to work then, but only after installing and adding the correct provisioning profiles for development and distribution through the member center. It appears to be a bug in Apple's system, or maybe we all have absolutely no idea how provisioning profiles work. I think the latter is probably what is true. Anyway, I hope that helps!


Solution

  • I found the solution from Apple developer forums.

    Apple has just updated their Dev Center CGU. It seems that the app extension bundleId is stricter.

    if your app bundleId format is : com.my.app

    your app extension bundleId now have to be : com.my.app.XXX

    Creating new appID and provisioning profile fix the issue.

    Check this link https://forums.developer.apple.com/thread/15712