73
votes

It used to be that hitting the refresh arrow/loop button in preferences -> account would pull down a new provisioning profile with all ur new devices.

Now it just downloads the ones you already have. But if the one you need updated is managed by Xcode, theres's no way I can find to add a device to it!

14

14 Answers

42
votes

After adding the UDID in the member center I had the same issue. I have to say that I have a XCode managed iOS team development profile.

eventually what's worked is deleting the provisioning profile from the member center.

in xcode preferences, delete the team provisioning profile for the relevant app

go to your target, you'll see a "Fix Issue" button. click it, it will generate a new provisioning profile with the relevant devices.

Hope it helps.

116
votes

Here's what worked for me on Xcode 8 & 9.

  1. Add your device to developer.apple.com.
  2. Go to your target's General tab and tap the (i) next to "Xcode Managed Profile", then drag the profile file icon in that popover to your desktop to get the filename of the provisioning profile. enter image description here
  3. Go to ~/Library/MobileDevice/Provisioning Profiles and delete the provisioning profile with the same filename that you got in #2.
  4. Xcode should regenerate the profile for your app with the device added in #1.

My account on developer.apple.com was not showing any Xcode managed profiles so this was the only way to make it work.

72
votes

Simplest way:

Remove the mobileprovision file using terminal

rm + drag the file path from xcode

enter image description here

15
votes

I also had this problem. I am using Xcode 7.2. Then its worked with following steps:

  1. Add you new device UDID in the Member Center
  2. Take Xcode -> Preference...
  3. Select account and press 'View Details...'
  4. Press 'Download All' button in bottom-left corner. New set of Team Provisioning Profiles will be downloaded.
  5. Now you can delete the old Team Provisioning Profiles from the list. (Right click -> Move to Trash)
  6. Update Provisioning Profile in 'Build Settings' Tab
  7. Press 'Fix Issue' button in 'General' Tab

Now you can run the app in your new device.

8
votes

Spent a lot of time trying to fix the same issue on Xcode 7 i.e. refreshing the Xcode managed provisioning profiles.

After adding the UDID in the member center, what worked for me was just removing the account from preferences -> account and adding it back again. It updated all the provisioning profiles.

4
votes

Problem: Some time update devices in developer account, causes sometime not able reflect on our automatic management signing even update provisioning profile in xcode account.

Solution: find provisioning profile folder and delete all provisioning. ~/Library/MobileDevice/Provisioning Profiles

Automatic management signing will create new one. your devices will update in provisioning.

2
votes

Update for Xcode 8

With Xcode 8 you don’t need to add the device in the “Member Center” anymore and you can skip some annoying steps.

What you still have to do are the following steps:

  1. Open “Xcode → Preferences…” (,).
  2. Select the corresponding “Apple ID” from the “Apple IDs” list in the left side of the window. Then select the corresponding “Team” from the list in the bottom right side of the window.
  3. Click on “View Details…”, then click on “Download All Profiles”.
  4. Close the “Preferences” window, select the scheme & affected devices and build your project. Eventually let Xcode automatically register the device.
1
votes

I also couldn't find a way to delete or refresh the provisioning profile in Xcode.

I managed to pull the provisioning profile with the new devices by quitting Xcode, deleting the Development provisioning profiles - the ones marked "Active (Managed by Xcode)" - on the Apple Developer site, then reopening Xcode and choosing the team in General settings for the app target. Xcode recreated the profiles (as confirmed on the developer site) and the device was included.

1
votes

I had a similiar problem and found the following - add a file called build.json in your root (same level as config.xml) with the following contents - replace the developmentTeam value with your Team Id as seen here https://developer.apple.com/account/#/membership/

{
  "ios": {
    "debug": {
      "codeSignIdentity": "iPhone Developer",
      "developmentTeam": "DP7KW42777",
      "packageType": "development"
    },
    "release": {
      "codeSignIdentity": "iPhone Developer",
      "developmentTeam": "DP7KW42777",
      "packageType": "app-store"
    }
  }
}

I also found that by adding the following in config.xml under

<platform name="ios">

there was no need anymore to set various Info settings, for example hiding the status bar

<config-file parent="NSBluetoothPeripheralUsageDescription" platform="ios" target="*-Info.plist">
  <string>${EXECUTABLE_NAME} requires bluetooth access to function properly</string>
</config-file>
<config-file parent="NSCalendarsUsageDescription" platform="ios" target="*-Info.plist">
<string>${EXECUTABLE_NAME} requires calendar access to function properly</string>
</config-file>
<config-file parent="NSCameraUsageDescription" platform="ios" target="*-Info.plist">
<string>${EXECUTABLE_NAME} requires camera access to function properly</string>
</config-file>
<config-file parent="NSContactsUsageDescription" platform="ios" target="*-Info.plist">
<string>${EXECUTABLE_NAME} requires contacts access to function properly</string>
</config-file>
<config-file parent="NSLocationAlwaysAndWhenInUseUsageDescription" platform="ios" target="*-Info.plist">
<string>${EXECUTABLE_NAME} would like to check your location when app is active or in background</string>
</config-file>
<config-file parent="NSLocationAlwaysUsageDescription" platform="ios" target="*-Info.plist">
<string>${EXECUTABLE_NAME} would like to check your location when app is active or in background</string>
</config-file>
<config-file parent="NSLocationWhenInUseUsageDescription" platform="ios" target="*-Info.plist">
<string>${EXECUTABLE_NAME} would like to check your location when app is active or in background</string>
</config-file>
<config-file parent="NSMicrophoneUsageDescription" platform="ios" target="*-Info.plist">
<string>${EXECUTABLE_NAME} requires microphone access to function properly</string>
</config-file>
<config-file parent="NSMotionUsageDescription" platform="ios" target="*-Info.plist">
<string>${EXECUTABLE_NAME} requires motion detection access to function properly</string>
</config-file>
<config-file parent="NSPhotoLibraryUsageDescription" platform="ios" target="*-Info.plist">
<string>${EXECUTABLE_NAME} requires photo library access to function properly</string>
</config-file>
<config-file parent="NSRemindersUsageDescription" platform="ios" target="*-Info.plist">
<string>${EXECUTABLE_NAME} equires reminders access to function properly</string>
</config-file>
<config-file parent="UIStatusBarHidden" platform="ios" target="*-Info.plist">
<true/>
</config-file>
<config-file parent="UIViewControllerBasedStatusBarAppearance" platform="ios" target="*-Info.plist">
<false/>
</config-file>

and finally, by adding

<icon height="1024" src="resources/ios/icon/AppIcon.png" width="1024" />

to the icons list, I no longer needed to manually add the 1024 icon. So now all I do is build, archive and upload without having to change any settings. Hope this helps.

0
votes
  1. Remove old team provisioning profile from site.
  2. Remove all local provisioning profiles (Xcode -> Preferences -> Accounts -> Select account -> Select team -> View details -> Right click any profile -> Show in finder -> Cmd+A -> Cmd+Backspace).
  3. Try build for device.

You will see fix button.

0
votes

In my case nothing listed above helped on Xcode 8.

Here are the steps I tried, which eventually worked to allow Xcode to fix the problem by once again showing me the Register Device button:

  • Removed apple id from Preferences > Accounts
  • Re-added apple id.
  • Restarted Xcode

Sidenote: In my case I think the problem was that my login expired (Xcode told me this in Preferences > Accounts). But even after clicking on Sign In Again nothing worked. I think maybe all I had to do to refresh it was sign in again and restart Xcode for the Register Device(s) button to show.

0
votes

Add your new device id's in apple's console

Simply go to your target settings and select the General tab

Uncheck Automatically manage signing

Let Xcode complain and then re-enable the Automatically manage signing

It should have all the new devices in the provisioning profile when you make a new archive

0
votes

Spent the last hour looking for a solution

I unplugged my iPhone and now it works.

0
votes

I just downloaded the profile from Member Center and hit fix issue in XCode.

I'm on OSX 10.15 and XCode 11.3 beta.