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?

I came across this whilst search how to request another entitlement...

https://developer.apple.com/forums/thread/656411

I have not yet had a response as to whether there exists a new process or we are still using the TSI route.

Good luck. I'll be watching this thread :)

I have the same issue. UIDevice.current.name always callback iPhone

The process for requesting managed entitlements varies by entitlement. You can’t extrapolate from com.apple.vm.networking to, say, com.apple.developer.device-information.user-assigned-device-name.

With regards the latter, I don’t have any info to share on that front.

Share and Enjoy

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

How can I use that entitlement? I need it for my app and I can't find related information.

What is the channel to be used to request for entitlement "com.apple.developer.device-information.user-assigned-device-name" to get the device custom name ?

What is the channel to be used … ?

Quoting my own post upthread:

I don’t have any info to share on that front.

This is definitely happening, but as per usual Apple policy I can’t comment on The Future™.

Share and Enjoy

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

(r. 95320818)

Actually I thought this had been resolved in The Present™, but it seems the timeline has been altered, and we all know from sci-fi how dangerous that can be. ;-) There was a post a few days ago from an  person announcing the URL of a page to request the entitlement. But that post has mysteriously disappeared, even though the linked page is still live. So I guess we can infer that last week’s Present is now this week’s Future.

But that post has mysteriously disappeared

Yep. There was a memo, but not all of us got it )-:

Share and Enjoy

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

This is definitely happening, but as per usual Apple policy I can’t comment on The Future™.

It seems that The Future™ is now. The docs for this just went live.

Share and Enjoy

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

WWDC,

wwdc2022-10096 and 10068 it's great information, but we don't know how to fix on the "UIDevice.current.name" case and working with iOS16 (beta4 or next beta..x)

  • Privacy is good reason for changes, but a lot of Apps to used on "UIDevice.current.name" on app.
  • Our customers a lot of concern and don't know how to fix it before Apple release iOS16 soon.
  • I implemented "com.apple.developer.device-information.user-assigned-device-name" on app, it's don't work.

Related :

  1. https://developer.apple.com/videos/play/wwdc2022/10096/
  2. https://developers.apple.com/videos/play/wwdc2022/10068/?time=1384
  3. https://stackoverflow.com/questions/72983299/how-to-get-an-ipads-device-name-on-ios16

I implemented com.apple.developer.device-information.user-assigned-device-name on app, it's don't work.

Please elaborate on “it’s don’t work”.

Share and Enjoy

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

I implemented "com.apple.developer.device-information.user-assigned-device-name" on app, it's don't work.

Provisioning profile "iOS Team Provisioning Profile: com.yourdomain.yourapp" doesn't include the com.apple.developer.device-information.user-assigned-device-name entitlement

Just to clarify, are you saying you applied for the entitlement, and received approval, and verified the entitlement is now present in your app ID and provisioning profile, and still got that error message?

a lot of Apps to used on "UIDevice.current.name" on app.

A question toward @eskimo that isn’t covered in the new doc: is this one of those features that still works the old way for existing apps built with an older SDK? Or will all existing apps get the new behavior when running on iOS 16?

We are developed app under "Apple Developer Program as an organization account" and [something went wrong]

Aha, maybe an issue with your developer program role. If I log into my personal account, then the entitlement request page works. But if I log into my company’s account where I hold the Developer role, then the same link leads to a “you don’t have permission for this” page. So I’m guessing the request needs to be submitted by an Admin or possibly App Manager.

I try to logic under "apple develop program" and found User Assigned Device Name Entitlement page and submit screen.

But, I changed account to "apple enterprise program" don't found submit screen. I'm login by "Account Holder" Roles (it's admin)

is this one of those features that still works the old way for existing apps built with an older SDK?

No. You get the iOS 16 behaviour regardless of your linked SDK.

Consider this sequence:

  1. Use Xcode 13 to build a tiny test app that displays the device name.

  2. Do a Product > Archive.

  3. From the Xcode organiser, export a Development signed app (.ipa).

  4. Use the Finder to install that on your iOS 16 beta test device.

  5. Run it.

The app displays the generic name (iPhone), not the device’s real name (Scout in a Can).

Share and Enjoy

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

Having now submitted several privacy entitlement requests, I am receiving the following answers from Apple:

"Thank you for your interest in the user-assigned device name entitlement. We need more information in order to review your request. Please review the entitlement documentation and provide screenshots of your app to show that the user-assigned device name is visible to the user."

Well, I would have loved to upload that screenshot in the first place, but the application form did not provide a possibility for that.

Now, that I still would love to upload that screenshot, Apple (still) does not tell me WHERE to upload it (the documentation page does not tell).

Does someone else have this information? ;-)

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"

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

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"

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

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

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)

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

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