有没有办法在您的应用程序中一致地识别用户的设备?

时间:2014-12-01 16:59:15

标签: ios objective-c

说我有一个应用程序 - 'MyApp' - 有没有办法在'MyApp'中持续获取设备标识符字符串?

即。只要用户在特定设备上使用“MyApp”,我就可以调用API并始终返回相同的字符串?

2 个答案:

答案 0 :(得分:0)

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"];
}

以上内容将在应用程序重新安装后继续存在。

答案 1 :(得分:0)

Apple可能拒绝您的应用发送个人身份信息。请改用广告ID:

#import <AdSupport/AdSupport.h>

// Advertising ID
ASIdentifierManager *adManager = [ASIdentifierManager sharedManager];
NSUUID *uuid = [adManager advertisingIdentifier];
NSString *stringRepresentation = uuid.UUIDString;

请确保遵守Apple针对UDID使用的指南,包括对已在“设置”中选中“限制广告跟踪”的用户的限制。