转:http://blog.163.com/china_uv/blog/static/11713726720118141618475/
获取iphone的系统信息使用[UIDevice currentDevice],信息如下:
[[UIDevice currentDevice] systemName]:系统名称,如iPhone OS
[[UIDevice currentDevice] systemVersion]:系统版本,如4.2.1
[[UIDevice currentDevice] model]:The model of the device,如iPhone或者iPod touch
[[UIDevice currentDevice] uniqueIdentifier]:设备的惟一标识号,deviceID
[[UIDevice currentDevice] name]:设备的名称,如 张三的iPhone
[[UIDevice currentDevice] localizedModel]:The model of the device as a localized string,类似model
http://developer.apple.com/library/ios/#documentation/uikit/reference/UIDevice_Class/Reference/UIDevice.html
[[UIDevice currentDevice] identifierForVendor] ]
An alphanumeric string that uniquely identifies a device to the app’s vendor. (read-only)
Swift
var identifierForVendor: NSUUID! { get }
Objective-C
@property(nonatomic, readonly, retain) NSUUID *identifierForVendor
The value of this property is the same for apps that come from the same vendor running on the same device. A different value is returned for apps on the same device that come from different vendors, and for apps on different devices regardless of vendor.
Normally, the vendor is determined by data provided by the App Store. If the app was not installed from the app store (such as enterprise apps and apps still in development), then a vendor identifier is calculated based on the app’s bundle ID. The bundle ID is assumed to be in reverse-DNS format.
On iOS 6, the first two components of the bundle ID are used to generate the vendor ID. if the bundle ID only has a single component, then the entire bundle ID is used.
On IOS 7, all components of the bundle except for the last component are used to generate the vendor ID. If the bundle ID only has a single component, then the entire bundle ID is used.
Table 1 shows a collection of bundle IDs and which portions of the bundle ID the system uses to calculate the vendor ID.
Bundle ID |
iOS 6.x |
iOS 7.x |
---|---|---|
com.example.app1 |
com.example.app1 |
com.example.app1 |
com.example.app2 |
com.example.app2 |
com.example.app2 |
com.example.app.app1 |
com.example.app.app1 |
com.example.app.app1 |
com.example.app.app2 |
com.example.app.app2 |
com.example.app.app2 |
example |
example |
example |
For example, com.example.app1
and com.example.app2
would appear to have the same vendor ID.
If the value is nil
, wait and get the value again later. This happens, for example, after the device has been restarted but before the user has unlocked the device.
The value in this property remains the same while the app (or another app from the same vendor) is installed on the iOS device. The value changes when the user deletes all of that vendor’s apps from the device and subsequently reinstalls one or more of them. The value can also change when installing test builds using Xcode or when installing an app on a device using ad-hoc distribution. Therefore, if your app stores the value of this property anywhere, you should gracefully handle situations where the identifier changes.
Note
When implementing a system for serving advertisements, use the value in the advertisingIdentifier
property of the ASIdentifierManager
class instead of this property. Use of that property requires you to follow the guidelines set forth in the class discussion for the proper use of that identifier. For more information, see ASIdentifierManager Class Reference.
Objective-C
@import UIKit;
Swift
import UIKit
Available in iOS 6.0 and later.