If you open Settings -> General -> About
, it'll say Bob's iPhone at the top of the screen. How do you programmatically grab that name?
From the UIDevice
class:
Swift version:
UIDevice.current.name
Objective-C version:
[[UIDevice currentDevice] name];
The UIDevice is a class that provides information about the iPhone or iPod Touch device.
Some of the information provided by UIDevice is static, such as device name or system version.
source: http://servin.com/iphone/uidevice/iPhone-UIDevice.html
Offical Documentation: Apple Developer Documentation > UIDevice
Class Reference
In addition to the above answer, this is the actual code:
[[UIDevice currentDevice] name];
Remember: import UIKit
Swift:
UIDevice.currentDevice().name
Swift 3, 4, 5:
UIDevice.current.name
Here is class structure of UIDevice
+ (UIDevice *)currentDevice;
@property(nonatomic,readonly,strong) NSString *name; // e.g. "My iPhone"
@property(nonatomic,readonly,strong) NSString *model; // e.g. @"iPhone", @"iPod touch"
@property(nonatomic,readonly,strong) NSString *localizedModel; // localized version of model
@property(nonatomic,readonly,strong) NSString *systemName; // e.g. @"iOS"
@property(nonatomic,readonly,strong) NSString *systemVersion;
Unfortunately from iOS 16 onwards you need a special entitlement. You can request it here: https://developer.apple.com/contact/request/user-assigned-device-name/
For swift4.0 and above used below code:
let udid = UIDevice.current.identifierForVendor?.uuidString
let name = UIDevice.current.name
let version = UIDevice.current.systemVersion
let modelName = UIDevice.current.model
let osName = UIDevice.current.systemName
let localized = UIDevice.current.localizedModel
print(udid ?? "") // ABCDEF01-0123-ABCD-0123-ABCDEF012345
print(name) // Name's iPhone
print(version) // 14.5
print(modelName) // iPhone
print(osName) // iOS
print(localized) // iPhone
For xamarin user, use this
UIKit.UIDevice.CurrentDevice.Name
For Swift 4+ versions, please use the below code:
UIDevice.current.name
To get an iPhone's device name programmatically
UIDevice *deviceInfo = [UIDevice currentDevice];
NSLog(@"Device name: %@", deviceInfo.name);
// Device name: my iPod
Device Name would not work out of Box now, Need to have a special entitlement.
Entitlement : com.apple.developer.device-information.user-assigned-device-name
Doc : https://developer.apple.com/forums/thread/708275
Official : https://developer.apple.com/documentation/uikit/uidevice/1620015-name
As of iOS 16 name
cannot be used for that and unfortunately I couldn't find an alternative. From UIKit.UIDevice
:
open var name: String { get } // Synonym for model. Prior to iOS 16, user-assigned device name (e.g. @"My iPhone").
© 2022 - 2024 — McMap. All rights reserved.