关于ios5以上不在支持设备的uniqueIdentifier解决方案

官方出了两个接口,

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
关键词: 开发  app  代码  ios  code

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值