iOS基础知识点随记

1. UUID IDFV

  • uuid每次循环都会变动 并且不一样
  • identifierForVendor即IDFV循环不会变 ,删除app后重新安装会改变
for (NSInteger i =0; i<10; i++) {
       /**
        用第一种方法获取的uuid每次循环都会变动 并且不一样,
        用第二中方法生成的identifierForVendor即IDFV循环不会变 ,删除app后也不会改变(刘玉同, 17-06-23)
        */
       /*
        IDFV的特性是让同一个证书的下的所有app共享同一个id 但是当这个设备上的本证书下的所有app都卸载了后就会重新生成
        但是无论A应用安装卸载多少次,产生的是都是1234.  所以我们知道,这个identifierForVendor是一种应用加设备绑定产生的标识符,相当于是:Z(identifierForVendor) = X(某应用) + Y(某设备)。
        
        当然,和真正的UDID的区别是显而易见的:也就是说App的开发者没有办法去区分某一台设备了,而是只能识别某个应用在某台设备上。 */
       NSString *uuid =[NSUUID UUID].UUIDString;
       NSString *IDFV = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
       NSLog(@"设备uuid:%@-------%@",uuid,IDFV);
       /* 6ECB7824-8995-4871-A4F9-9D3A31768427  D262A428-F9F0-4D71-8CAA-3A23A06CC04E */
       
       NSString *IDFA =[[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString];
       NSLog(@"设备IDFA:%@",IDFA);
       /* 在今年iOS10推出后,苹果推出了“限制广告追踪”功能,设置的路径和iOS9一致。
        不过经过实际的测试,在iOS10之前,即使用户打开这个功能,商家一样可以获取IDFA,只不过与之前的不一样了,每次切换这个开关与点击“还原广告标识符”的效果一样。
        而iOS10就不一样了,当用户打开这个功能后,商家只能获取到一连串无意义的0 */
       
   }

你可能感兴趣的:(iOS基础知识点随记)