No edit summary |
|||
Line 34: | Line 34: | ||
Wild cat is the codename of iPad. | Wild cat is the codename of iPad. | ||
== Identifiers == | == LS Identifiers == | ||
The identifiers are stored in the following file: | The identifiers are stored in the following file: | ||
/private/var/db/lsd/com.apple.lsdidentifiers.plist | /private/var/db/lsd/com.apple.lsdidentifiers.plist | ||
{| class="wikitable" | {| class="wikitable" | ||
Line 55: | Line 53: | ||
It appears that when you install your app to \Applications and it uses the identifierForVendor. It fills in the both the "identifierForVendor Xcode deployed app" and the "identifierForVendor \Applications app" with different IDs and the app actually only uses the one for \Applications. This means you can't share the same ID for an app you are developing by both deploying from Xcode and also copying to \Applications. | It appears that when you install your app to \Applications and it uses the identifierForVendor. It fills in the both the "identifierForVendor Xcode deployed app" and the "identifierForVendor \Applications app" with different IDs and the app actually only uses the one for \Applications. This means you can't share the same ID for an app you are developing by both deploying from Xcode and also copying to \Applications. | ||
These identifiers are backed up however they will change if the user restores their backup to a new device, according to the Apple docs but not fully verified. This stack overflow user has done some testing: http://stackoverflow.com/questions/16520231/under-what-conditions-is-apples-advertisingidentifier-reset | |||
== References == | == References == | ||
* Official reference: {{sdklink|UIKit|UIDevice}} | * Official reference: {{sdklink|UIKit|UIDevice}} | ||
{{IPFHeader|UIKit|3=2}} | {{IPFHeader|UIKit|3=2}} |
Revision as of 18:48, 14 January 2014
UIDevice is a singleton class that provides access to some properties of the current device.
As a client to liblockdown
Many important properties can be accessed via liblockdown. This can be used to bypass higher-level spoofing hacks. One has to use the liblockdown functions in MobileSubstrate initializers because UIKit was not ready at that time.
UIDevice property | liblockdown key |
---|---|
model | kLockdownDeviceClassKey |
localizedModel | kLockdownDeviceClassKey |
uniqueIdentifier | kLockdownUniqueDeviceIDKey |
buildVersion | kLockdownBuildVersionKey |
systemVersion | kLockdownProductVersionKey |
name | kLockdownDeviceNameKey |
identifierForVendor | unknown |
advertisingIdentifier | unknown |
iPad mode (Wild cat)
Signature | @property(assign,nonatomic) BOOL isWildcat; |
---|---|
Available in | 3.2 — |
iPad has a drastically different user interface than iPhone/iPod Touch, but all three share the same OS. In UIKit and SpringBoard, this property is heavily used to determine which behavior should be used.
Wild cat is the codename of iPad.
LS Identifiers
The identifiers are stored in the following file: /private/var/db/lsd/com.apple.lsdidentifiers.plist
property | lsidentifiers key |
---|---|
advertisingIdentifier | LSAdvertiserIdentifier |
identifierForVendor AppStore app | Vendor Name (e.g. Google, Inc.) |
identifierForVendor Xcode deployed app | BundleID:[first parts of app's bundle ID] (e.g. com.malcolmhall) |
identifierForVendor \Applications app or daemon | Path:[ExecutableName] (e.g. Path:pmpd) |
It appears that when you install your app to \Applications and it uses the identifierForVendor. It fills in the both the "identifierForVendor Xcode deployed app" and the "identifierForVendor \Applications app" with different IDs and the app actually only uses the one for \Applications. This means you can't share the same ID for an app you are developing by both deploying from Xcode and also copying to \Applications.
These identifiers are backed up however they will change if the user restores their backup to a new device, according to the Apple docs but not fully verified. This stack overflow user has done some testing: http://stackoverflow.com/questions/16520231/under-what-conditions-is-apples-advertisingidentifier-reset
References
- Official reference: UIDevice
- Header: http://github.com/kennytm/iphone-private-frameworks/blob/master/UIKit/UIDevice2.h