Getting the ...user-assigned-device-name entitlement?

In iOS 16, UIDevice.name has changed to only return the model of the device, not the user specified name.

There is an entitlement, com.apple.developer.device-information.user-assigned-device-name that can be requested to keep the old behaviour, but I can't find any info on how to request that entitlement.

Anyone able to help?

Post not yet marked as solved Up vote post of Wellington Down vote post of Wellington
14k views
  • I have the same issue. UIDevice.current.name always callback iPhone

Add a Comment

Replies

You got that response via email, right? If so, reply to that and attach the screen shots to your reply.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

  • I'll try - never thought that this level of personal communication would be possible :-)

  • Do you know the approximate time it takes for Apple to respond? We sent the request a couple of days ago and they still haven't responded.

Add a Comment

We already added the entitlement, do you know if any other step is needed to be able to see the Device Name?

  • Hi, did you figure it out? I'm facing the same issue now. Everything seems to be configured correctly but device name isn't returned. Testing with iPadOS beta 6 and Xcode 14 beta 6

  • I'm faceing same issue to you,I got user-assign entitlements in my profile, but I still can not get user-assign name according to UIDevice.current.name.

Add a Comment

Using this entitlement is like using any other entitlement:

  1. You must claim the entitlement by listing it in your app’s code signature.

  2. To authorise that claim, it must be listed in your app’s provisioning profile.

If you don’t do 1, nothing happens regardless of 2.

If you do 1 but not 2, your app won’t launch.

To debug this, first check for 1 by dumping the entitlements claimed by your app:

  1. Build the app.

  2. Choose Product > Show Build Folder in Finder.

  3. Navigate to the app.

  4. In Terminal, run this command against the built app:

    % codesign -d --entitlements - /path/to/your.app
    

What do you see?

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

  • I'm having the same issue as KRATOSFM, so I followed your instructions. The codesign -d --entitlements - returned several entitlements but the user-assigned-device-name entitlement was missing.

    This is really interesting since I can clearly see this entitlement at the target setting in Xcode under "Signing & Capabilities" -> iOS section -> Xcode Managed Profile > tapping the "info" button.

    Any ideas?

  • Do I need to add a capability under "Signing & Capabilities" tab in Xcode? Or do I need to manually add a row in the entitlements file in Xcode? In Apple documentation they specify that "In your app’s .entitlements file, add the assigned entitlement key and value pair" but I'm not sure what value to assign the "com.apple.developer.device-information.user-assigned-device-name" key?

  • Never mind, figured it out. Value as documentation specifies is boolean.

How long should we expect to wait for approval? I submitted a request last week and am still waiting to hear back.

  • The entitlement was just approved. Took ~7 business days from submission to email approval.

Add a Comment

Hi, I've just received the authorization for the User Assigned Device Name. I checked in the App ID Configuration. In Xcode, in Singing and capabilities, when I select the info icon in the provisioning profile, I see the entitlement. I've added the entitlement in the plist of entitlements of the app with the value true, but I'm getting this error

/Users/XXXXXX/XXXXX/XXXX/XXXXX/XXXXX.xcodeproj error project: Provisioning profile "iOS Team Provisioning Profile: ***.xxxxx.XXXXXX" doesn't match the entitlements file's value for the com.apple.developer.device-information.user-assigned-device-name entitlement.

Anyone can help me, please. I've found the documentation about it confusing.

Thanx

  • You need to enable the entitlement in your App ID.

Add a Comment

I recommend that you start a new thread for this. The focus of this thread is folks trying to get access to this capability, and I’d rather not dilute that with a bunch of talk about how to use it once you have it.

Share and Enjoy

Quinn “The Eskimo!” @ Developer Technical Support @ Apple
let myEmail = "eskimo" + "1" + "@" + "apple.com"

I also can't get the user-assigned device name to work on iOS 16. I applied for the entitlement, and received approval, and verified the entitlement is now present in my app ID and provisioning profile, and it still doesn't extract the device name in iOS 16. It still says only "iPad".

I created the app id and provisioning profile in my developer account and included the entitlement. When I download the profile and install in Xcode on a machine running Big Sur using Xcode 13.2.1, Xcode shows that I have the entitlement in the profile when I click the little information icon next to the Provisioning Profile name in the Signing and Capabilities section. When I do the same on a machine running Monterey and Xcode 14.1, the entitlement has disappeared from the profile.

Can you help? (this is an Enterprise developer account)

  • I also added the entitlement to a newly created Entitlements.plist file in Xcode.

Add a Comment

Solved. It turns out that when you create a new Entitlements.plist file, Xcode doesn't know about it even though it shows up in the project navigator until you put it's path in the code-sign entitlements section of the Build Settings. Once I did this it worked in iOS 16.

Summary: Apply for entitlement with Apple (must be developer account's owner) Receive approval from Apple Add entitlement to app ID (under Additional Capabilities tab) Make sure the Provisioning Profile uses that app ID and lists the entitlement Add a Entitlements.plist to the Xcode project and set it's path in Build Settings Put the entitlement name in Entitlements.plist file (com.apple.developer.device-information.user-assigned-device-name Boolean YES) Build and run the app

For anyone else who winds up here look to use the entitlement once approved and correctly assigned to your profile, here's what worked for me.

Xcode > Target > Build Settings > Signing > Code Signing Entitlements > YourApp/YourApp.entitlements

Find this .entitlements file in your preferred code editor and add the following under <dict>

	<key>com.apple.developer.device-information.user-assigned-device-name</key>
	<true/>

This solution brought to you by chatGPT <3

How are people getting their entitlement request approved? We have submitted four entitlement requests and had email exchanges with three or four different people at Apple and nobody has been able to help us at all. Any advice?

kinshuk1234, good question. I have requested the entitlement before and have gotten it. But now, no matter what I do, I cannot get the entitlement. DTS doesn't no, no one knows. Apple wants you to guess and guess. NO HELP AT ALL.

Screenshots don't help, answering every question clearly doesn't help. DTS cannot help. In other words, you cannot even pay to get help. I guess this is the way Apple treats their developers.