如何以编程方式获取完整的 ios 设备详细信息

Posted

技术标签:

【中文标题】如何以编程方式获取完整的 ios 设备详细信息【英文标题】:How to get the complete ios device details programatically 【发布时间】:2015-06-30 10:09:40 【问题描述】:

我需要在我的 ios 设备的 general->settings->about 中访问所有设备详细信息,我可以获得除设备 IMEI 和序列号调制解调器固件之外的详细信息,有任何方法可以在我的申请或上述详细信息

【问题讨论】:

Apple 不允许您检索任何设备特定信息,例如 IMEI、UDID、Mac 地址、序列号等。 查看更新的答案以获取 IMEI 号码 【参考方案1】:

Message.framework 添加到您的项目并获取IMEI 号码,

NetworkController *ntc = [NetworkController sharedInstance];
NSString *imeistring = [ntc IMEI];

Apple 允许设备的一些详细信息,不提供 IMEI、序列号。在UIDevice 类中提供详细信息。

class UIDevice : NSObject 

    class func currentDevice() -> UIDevice

    var name: String  get  // e.g. "My iPhone"
    var model: String  get  // e.g. @"iPhone", @"iPod touch"
    var localizedModel: String  get  // localized version of model
    var systemName: String  get  // e.g. @"iOS"
    var systemVersion: String  get  // e.g. @"4.0"
    var orientation: UIDeviceOrientation  get  // return current device orientation.  this will return UIDeviceOrientationUnknown unless device orientation notifications are being generated.

    @availability(iOS, introduced=6.0)
    var identifierForVendor: NSUUID!  get  // a UUID that may be used to uniquely identify the device, same across apps from a single vendor.

    var generatesDeviceOrientationNotifications: Bool  get 
    func beginGeneratingDeviceOrientationNotifications() // nestable
    func endGeneratingDeviceOrientationNotifications()

    @availability(iOS, introduced=3.0)
    var batteryMonitoringEnabled: Bool // default is NO
    @availability(iOS, introduced=3.0)
    var batteryState: UIDeviceBatteryState  get  // UIDeviceBatteryStateUnknown if monitoring disabled
    @availability(iOS, introduced=3.0)
    var batteryLevel: Float  get  // 0 .. 1.0. -1.0 if UIDeviceBatteryStateUnknown

    @availability(iOS, introduced=3.0)
    var proximityMonitoringEnabled: Bool // default is NO
    @availability(iOS, introduced=3.0)
    var proximityState: Bool  get  // always returns NO if no proximity detector

    @availability(iOS, introduced=4.0)
    var multitaskingSupported: Bool  get 

    @availability(iOS, introduced=3.2)
    var userInterfaceIdiom: UIUserInterfaceIdiom  get 

    @availability(iOS, introduced=4.2)
    func playInputClick() // Plays a click only if an enabling input view is on-screen and user has enabled input clicks.

示例:[[UIDevice currentDevice] name];

【讨论】:

感谢您的帮助。告诉我如何获取设备的imei号?【参考方案2】:

不幸的是,Apple 没有公开此类 API 来以编程方式获取 iOS 设备的 IMEI 或序列号。这是一个Apple Discussion Forum Thread。

【讨论】:

以上是关于如何以编程方式获取完整的 ios 设备详细信息的主要内容,如果未能解决你的问题,请参考以下文章

以编程方式获取网关和子网掩码详细信息

如何在 iOS 7 中使用 iBeacons 获取设备详细信息,如 UUID 或设备名称

xcode/ios:以编程方式推送视图控制器并传递行信息

以编程方式在我的 ASP .net Core Web API 中获取 TFS 工作项详细信息?

如何以编程方式通过 Wifi 获取连接在同一网络上的其他设备的 IP 地址?

Sitecore SocialConnect 1.3:以编程方式检索用户详细信息