Karl
Karl

Reputation: 14974

How to get around Apple app ID insanity

As you all know, Apple changed how Xcode works such that you can't ever create an app with a previously used app ID, even if you're just writing test apps to use locally. Up until now I've just been typing in garbage IDs to get around this stupid antifeature, but today I was greeted with this gem:

Unable to add App ID because the '10' App ID limit in '7' days has been exceeded.

So now I'm blocked from creating any more test apps, effectively stopping my development dead in its tracks (I write libraries and frameworks, and need to test them in test apps).

Does anyone know of a way to bypass or disable Apple's restrictions?

Upvotes: 59

Views: 76532

Answers (11)

Giovanni
Giovanni

Reputation: 595

Me too I had the "limits you to 10 apps in 7 days" message, and was the wrong apple bundle name, so I copied the "test" bundle name, under the test TARGETS and paste it without the "RunnerTests" at the end, so: com.<bundle_name>.myProject.RunnerTests ==> com.<bundle_name>.myProject

Upvotes: 0

Fadi
Fadi

Reputation: 743

It is a kind of limit of free developer accounts, but you could figure out a solution for that:

1- Navigate to the project of any previous application that have been installed on the same device has the problem with .

2- Open Build Settings tab for the app project in Xcode .

3- Search for Bundle ID and copy it .

4- Open up your current app that has the problem and navigate to the same place > Paste and Replace the current Bundle ID with the old one.

5- Run the app.

!!! WALA

Upvotes: 33

ChrisW
ChrisW

Reputation: 950

The workaround is to use an id that you previously created. As Xcode does not list the Bundle IDs via Apple ID Details any more, save this into your .bash_profile or ~/.zshrc and call it with list_xcode_provisioning_profile from a terminal

list_xcode_provisioning_profiles() {
    while IFS= read -rd '' f; do
        2> /dev/null /usr/libexec/PlistBuddy -c 'Print :Entitlements:application-identifier' /dev/stdin \
            <<< $(security cms -D -i "$f")

    done < <(find "$HOME/Library/MobileDevice/Provisioning Profiles" -name '*.mobileprovision' -print0)
}

To make this answer easier to find I just copied it from hyperknot here: Parsing mobileprovision files in bash?

Upvotes: 1

Rawand Saeed
Rawand Saeed

Reputation: 855

  1. Xcode>General>Identity

  2. Copy Previous Bundle ID

    Bundle Identifier : AppleDeveloperName-PreviousProjectName(or whatever)

  3. Paste it in the new project's Bundle ID. It should be fine now.

Upvotes: -1

leanne
leanne

Reputation: 8719

I have a paid developer account and found this happening in Xcode 9 after creating a bunch of simple test/example apps. In the past, I would have simply selected a "wildcard" App ID. However, Xcode doesn't seem to have a way to do this anymore.

Researching based on the wildcard, I found Technical Q&A QA1713: When should I use a wildcard App ID?. Following these steps seems to have worked for me. (The signing errors are gone, but we'll see what happens in another 7 days or 10 apps, lol.)

Here are the steps, if you have a paid developer account:

  1. Log into your developer account.
  2. In the list on the left, click on Certificates, Profiles & IDs.
  3. In the new list on the left, under Identifiers, click on App IDs.
  4. Click the '+' symbol in the upper right of the page. (You're now at the 'Registering an App ID' page.)
  5. In the box under App ID Description, enter something to describe your App ID. (Note that this description has to be purely alphanumeric; spaces seem to be allowed, but nothing else.)
  6. Under App ID Suffix, select the radio button for Wildcard App ID.
  7. In the box below that, enter the beginning of what you'd like to use as your app's bundle identifier, followed by a dot-asterisk. (For example, maybe your app bundle identifiers in Xcode are something like com.myname.appname. Then, in the box under Wildcard App ID, you'd enter com.myname.*.)
  8. Under App Services, select any available items you think you might use in an app at some point in the near future. (Only a few of the items are available for selecting at this step.)
  9. At the bottom of the page, click the Continue button.
  10. At the resulting 'Confirm your App ID.' page, scan your selections to ensure they're okay; then, at the bottom of the page, click the Register button.
  11. At the resulting 'Registration complete.' page, you can again review the registered options. Then, just scroll to the bottom, and click the Done button.

The new wildcard App ID will now appear in your list of App IDs.

Next, go into Xcode, and create your app, entering an Organization Identifier that matches the wildcard App ID you registered without the dot-asterisk. (For example, if you enter com.myname, Xcode completes what becomes the bundle identifier with a dot and the app name.)

When the project opens at the signing page, Xcode will "Automagically manage signing" correctly ;)

Note: If you have a free developer account, as of the date of this posting, you can't access the 'Certificates, Profiles & IDs' link in your account. ;(

Upvotes: 0

Pedro
Pedro

Reputation: 623

I had this and the other answers here didn't fix the problem. I solved it by opening Window > Devices, finding my device, right-clicking it to "Show Provisioning Profiles", and then deleting a bunch of the profiles there.

Then it worked!

Upvotes: 3

Rafael Fernandes
Rafael Fernandes

Reputation: 100

DO NOT MAKE ANOTHER ID thats not the solution!!!

To make it work thats what you need to do:

Window > Preferences - Account 

Then choose your apple ID and your team, then click on View Detail... Button on the bottom right.

A new window will show up, click on Download all button on the bottom left and all of yours Provisioning Profile will show up.

After that just Left click on those ones you don't have to use anymore and click to move to trash.

after you delete enough profiles, you'll be able to build your project again!

Upvotes: 4

Anand Prem
Anand Prem

Reputation: 437

Just use the bundle ID of any old app that you have already installed like this and change the bundle ID after 7 days. I think apple puts a limit for free developer accounts.

EDIT: Its important about what @haquangvu mentioned in his answer that, your old app get replaced. So take care of it and thanks @haquangvu for your answer.

Upvotes: 7

Raj
Raj

Reputation: 6015

I faced the same situation in my new mackbook with xcode 7.3.1 version. Even if I tried with old bundle identifier, it didnt worked. Following below steps helped me to run the app in device.

  1. Got to xcode preference
  2. Click accounts and choose your apple id.

  1. Click the View details
  2. And Click download All.

This will download all the provisioning profile associated with given apple id. And after that use any identifier that you have used before. You can easily get the old identifier from provisioning profile names.

Upvotes: 11

haquangvu
haquangvu

Reputation: 77

Use one of your old Bundle IDs. It works. But your old Application will be delete.

Upvotes: 5

Darko
Darko

Reputation: 615

Same thing happened to me. I presume it's some kind of a new limit that Apple has put on "non-paying" developers, and that it limits you to 10 apps in 7 days.

Edit - To resolve this, I'll just make a random apple dev ID...

Upvotes: 12

Related Questions