iOS   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了如果不是“IPHONE UDID”,该怎么用?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

哇…本周在线查看关于使用iPhone的UDID的所有“恐慌故事”. [[UIDevice currentDevice] uniquEIDentifier] 我们应该使用什么呢? 如果手机被卖给另一个用户……并且应用程序已根据手机的UDID在远程服务器上存储了一些数据,该怎么办? (当然,我想避免应用商店的“加密限制”问题.) 为什么不使用Mac地址,然后可能将其哈希. 有一个很好的UIDevice
哇…本周在线查看关于使用iPhone的UDID的所有“恐慌故事”.

[[UIDevice currentDevice] uniquEIDentifier]

我们应该使用什么呢?

如果手机被卖给另一个用户……并且应用程序已根据手机的UDID在远程服务器上存储了一些数据,该怎么办

(当然,我想避免应用商店的“加密限制”问题.)

解决方法

为什么不使用Mac地址,然后可能将其哈希.

一个很好的UIDevice-Extension类别here

- (NSString *) macaddress
{
    int                 mib[6];
    size_t              len;
    char                *buf;
    unsigned char       *ptr;
    struct if_msghdr    *ifm;
    struct sockaddr_dl  *sdl;

    mib[0] = CTL_NET;
    mib[1] = AF_ROUTE;
    mib[2] = 0;
    mib[3] = AF_LINK;
    mib[4] = NET_RT_IFLIST;

    if ((mib[5] = if_nametoindex("en0")) == 0) {
        printf("Error: if_nametoindex error\n");
        return NULL;
    }

    if (sysctl(mib,6,NULL,&len,0) < 0) {
        printf("Error: sysctl,take 1\n");
        return NULL;
    }

    if ((buf = malloc(len)) == NULL) {
        printf("Could not allocate memory. error!\n");
        return NULL;
    }

    if (sysctl(mib,buf,take 2");
        return NULL;
    }

    ifm = (struct if_msghdr *)buf;
    sdl = (struct sockaddr_dl *)(ifm + 1);
    ptr = (unsigned char *)LLADDR(sdl);
    NSString *outString = [NSString StringWithFormat:@"%02X:%02X:%02X:%02X:%02X:%02X",*ptr,*(ptr+1),*(ptr+2),*(ptr+3),*(ptr+4),*(ptr+5)];
    // NSString *outString = [NSString StringWithFormat:@"%02X%02X%02X%02X%02X%02X",//                       *ptr,*(ptr+5)];
    free(buf);

    return outString;
}

你可以用模型散列这个吗?

大佬总结

以上是大佬教程为你收集整理的如果不是“IPHONE UDID”,该怎么用?全部内容,希望文章能够帮你解决如果不是“IPHONE UDID”,该怎么用?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。