說我有一個應用程序 - 'MyApp' - 有沒有一種方法可以在'MyApp'中持續獲取設備標識符字符串?有沒有一種方法可以在應用程序中始終如一地識別用戶的設備?
即當用戶在特定設備上使用'MyApp'時,我可以調用API並始終返回相同的字符串?
說我有一個應用程序 - 'MyApp' - 有沒有一種方法可以在'MyApp'中持續獲取設備標識符字符串?有沒有一種方法可以在應用程序中始終如一地識別用戶的設備?
即當用戶在特定設備上使用'MyApp'時,我可以調用API並始終返回相同的字符串?
identifierForVendor將在安裝之間更改,最好使用CFUUIDCreate。
if ([[NSUserDefaults standardUserDefaults] valueForKey:@"UUID"] == nil) {
CFUUIDRef uuid = CFUUIDCreate(NULL);
NSString *uniqueIdentifier = (NSString*)CFBridgingRelease(CFUUIDCreateString(NULL, uuid));
CFRelease(uuid);
[[NSUserDefaults standardUserDefaults] setObject:uniqueIdentifier forKey:@"UUID"];
}
上述內容將在應用程序重新安裝後生效。
Apple可能會拒絕您的應用程序發送個人身份信息。使用廣告ID來代替:
#import <AdSupport/AdSupport.h>
// Advertising ID
ASIdentifierManager *adManager = [ASIdentifierManager sharedManager];
NSUUID *uuid = [adManager advertisingIdentifier];
NSString *stringRepresentation = uuid.UUIDString;
只要確保你通過蘋果的UDID的使用,包括已檢查在設置「限制廣告跟蹤」用戶限制遵守的準則。
最接近的可能是https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIDevice_Class/index.html#//apple_ref/doc/uid/TP40006902-CH3-SW49 – Jack 2014-12-01 17:02:59