官方出了两个接口,UIDevice.identifierForVendor,同一家公司的app的取值是一样的。以及给广告商的。ASIdentifierManager.advertisingIdentifier,这个很像老的ID,除了设备格式化数据后会创建一个新的之外。
下面内容作废。
关于ios5以上不在支持设备的uniqueIdentifier解决方案
苹果又禁了一个功能 uniqueidentifier 在iOS5以上不能用了,也就是说,它不能用作分析数据的一种方式了
先说下苹果啊,今年以来真的是很nb啊,自己想怎么弄就怎么弄,谁让这么多人都用他家的 开发环境了呢,人家就不怕失去一两个开发者 tnd! 废话不多说了,抱怨也没用 解决方案是,我们可以创建uuid CFUUIDRef uuid = CFUUIDCreate(nil); NSString *uuidString = [(NSString*)CFUUIDCreateString(nil, uuid) autorelease]; CFRelease(uuid); 虽然每次uuid都不一样,切看下面 先放个demo的地址: https://github.com/samsoffes/sskeychain (MAC 下用这个) iphone上用 SFHFKeychainUtils(google搜一下,很多) [SSKeychain setPassword:@"Your UUID" forService:@"com.yourapp.yourcompany" account:@"user"]; 虽然每次都不一样,但是经过上面的操作之后,就可以把随即的uuid存储到keychar里面,当你下次启动,或者删除程序重新下载的时候,可以通过这种方式来获得 NSString *retrieveuuid = [SSKeychain passwordForService:@"com.yourapp.yourcompany" account:@"user"]; 但要注意一点:service和account一定要完全匹配,不然的话,后果你懂的。 这样即使是你删掉了 app,下次重新安装也会得到uuid的 如果你还想通过设备来 分享你的uuid的话,就是在程序里面加上icloud的功能了,然后可以存储uuid到 NSUserDefaults,然后同步 KeyValueStore,用上面的代码就可以获得uuid了 可能还有很多方法,这里只说这一个,如果有误,请大家指出,谢谢 这是第二种方式
[ 此帖被1056975026在2012-01-04 16:40重新编辑 ]
|
附件:
UIDevice-with-UniqueIdentifier.zip (38 K) 下载次数:11
|
关于ios5以上不在支持设备的uniqueIdentifier解决方案
最新推荐文章于 2021-02-01 05:37:44 发布