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!
I had almost the same problem, i was using Xcode 7.3 and trying to compile it but the build failed all the time, so the problem was for me that i needed to make a developer provisions profile and an appstore provisions profile for the same app so i could use fastlane to release it and build it in xcode.
After this i did the following:
I had to delete the app id from the developer console and let XCode re-create the app id for me.
I faced the same problem when i upgraded my Xcode to 7.3 and it showed me the same error in every project. The simplest solution that i found was to just the remove the apple account from Xcode and add it again.
To remove just go to Xcode > Preferences > Select the account and click on - sign.
If in case this still doesn't work . Then perform a next step of downing your provisioning profile again and run it.
Hope this helps. All the best
Xcode to 7.3
I encountered the same problem after upgrading from 7.2 to 7.3. In my case the fault was a hyphenated domain and AppID which worked in the past but stopped working in XCode 7.3. I replaced the hyphen with a space in AppID (in Membercenter) and it worked again.
Here is what worked for me on Xcode 7.3:
Check Devices in the Apple Developer member centre. Once a year you have the opportunity to reset the devices. After reseting devices you will notices your Xcode managed provisioning profile is invalid. To update this I went into Xcode > Accounts -> my Apple ID -> View Details and downloaded all provisioning profiles. I then built to device and then downloaded the provisioning profiles again for good measure
I can see lot's of great answers,
I tried a few of them but no luck, finally I used "Use local signing assets" option to export ipa and it works for me.
Hopefully this will help someone.