设备唯一识别码

从今年年初到现在, 一直在接活, 没有停过, 先是《时装》ipad版,然后是CCTV5, 然后是会点会汇通, 然后是黔西南移动客户端。 

今天终于完成了黔西南这个项目中的上传图片和视频的问题。 9月份苹果的SWIFT就正式与开发者见面了, 在这段时间内需要腾出时间去全力搞SWIFT了。 

在 SWIFT出来之前需要花些时间把这段时间的问题记录下来。

现在说一下这个设备唯一识别码的问题。

最好不要使用IDFA, 即苹果自已提供的这个, 使用这个的话,你的代码中需要使用iad之类。 否则可能被拒。

最好使用OpenUDID

在ios7.0以下, 使用设备的mac地址和程序的bundle id再进行一下md5, 是个很好的方法。

在ios7.0及以上, 使用OpenUDID值生成一个值, (注:该值每次生成会是不一样的。)


上面这两种情况都不宜每次都执行, 较好的办法是每次生成后,就进行存储。 下次直接取该值即可。

代码如下:

- (NSString *) uniqueDeviceIdentifier{

    if ([[UIDevice currentDevice].systemVersion floatValue] < 7.0) {

        NSString *bundleIdentifier = [[NSBundle mainBundle] bundleIdentifier];

        NSString *macaddress = [[UIDevice currentDevice] macaddress];

        

        NSString *stringToHash = [NSString stringWithFormat:@"%@%@",macaddress,bundleIdentifier];

        NSString *uniqueIdentifier = [stringToHash stringFromMD5];

        

        return uniqueIdentifier;

    }

    else {

        return [OpenUDID value];

    }

}


你可能感兴趣的:(技术)