Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/flash/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 是否有iOS设备';随着软件更新,uuid是否会发生变化?_Iphone_Ios4_Ios5_Uuid - Fatal编程技术网

Iphone 是否有iOS设备';随着软件更新,uuid是否会发生变化?

Iphone 是否有iOS设备';随着软件更新,uuid是否会发生变化?,iphone,ios4,ios5,uuid,Iphone,Ios4,Ios5,Uuid,iOS设备的uuid会随着软件更新或任何相关内容而改变吗 不,它不会改变。但请注意,这是现在(可能是出于隐私考虑)。您可以创建自己的“UUID”,只要您的应用程序在设备上,它就会一直存在 + (NSString *)localUuid { NSString *ident = [[NSUserDefaults standardUserDefaults] objectForKey:@"unique identifier stored for app"]; if (!ident) {

iOS设备的uuid会随着软件更新或任何相关内容而改变吗

不,它不会改变。但请注意,这是现在(可能是出于隐私考虑)。

您可以创建自己的“UUID”,只要您的应用程序在设备上,它就会一直存在

+ (NSString *)localUuid {
   NSString *ident = [[NSUserDefaults standardUserDefaults] objectForKey:@"unique identifier stored for app"];
   if (!ident) {
      CFUUIDRef uuidRef = CFUUIDCreate(NULL);
      CFStringRef uuidStringRef = CFUUIDCreateString(NULL, uuidRef);
      CFRelease(uuidRef);
      ident = [NSString stringWithString:(NSString *)uuidStringRef];
      CFRelease(uuidStringRef);
      [[NSUserDefaults standardUserDefaults] setObject:ident forKey:@"unique identifier stored for app"];
      [[NSUserDefaults standardUserDefaults] synchronize];
   }
   return ident;
}
但这并没有为您提供一个唯一的id,您可以在应用程序之间使用它,原因很明显。另一个

#导入
#进口
#进口
#进口
#进口
#进口
#进口
#进口
#进口
#导入ifa\u addr->sa\u family==AF\u LINK)和((const struct sockaddr\u dl*)游标->ifa\u addr->sdl\u type==IFT\u)
{
dlAddr=(const struct sockaddr_dl*)游标->ifa_addr;
基本=(const uint8_t*)&dlAddr->sdl_数据[dlAddr->sdl_nlen];
对于(i=0;isdl_alen;i++)
{
如果(i!=0)
{
[结果追加字符串:@”:“];
}
[结果格式:@“%02x”,基[i]];
}
}
光标=光标->ifa\U下一步;
}
freeifaddrs(addrs);
}
返回结果;
}
@结束

不,它没有。在运行苹果股票操作系统的iOS设备上,UDID永远不会改变


在运行根目录/修改过的操作系统的设备上,任何API返回的值都可以是聪明的修改器想要的任何值。

这不是他所要求的。此外,正如@Hagglead在对的评论中指出的,出于隐私原因,按原样使用MAC不是一个好主意。应该对其进行模糊处理,例如使用MD5或SHA1对其进行散列。
#import <sys/types.h>
#import <sys/socket.h>
#import <sys/sysctl.h>
#import <sys/time.h>
#import <netinet/in.h>
#import <net/if_dl.h>
#import <netdb.h>
#import <errno.h>
#import <arpa/inet.h>
#import <unistd.hv
#import <ifaddrs.h>

#if !defined(IFT_ETHER)
   #define IFT_ETHER 0x6
#endif

@implementation MACIdentify

- (NSString*)MACAddress {
    NSMutableString* result = [NSMutableString string];

    BOOL success;
    struct ifaddrs* addrs;
    const struct ifaddrs* cursor;
    const struct sockaddr_dl* dlAddr;
    const uint8_t * base;
    int i;

    success = (getifaddrs(&addrs) == 0);
    if(success)
    {
        cursor = addrs;
        while(cursor != NULL)
        {
            if((cursor->ifa_addr->sa_family == AF_LINK) && (((const struct sockaddr_dl *) cursor->ifa_addr)->sdl_type == IFT_ETHER))
            {
                dlAddr = (const struct sockaddr_dl *) cursor->ifa_addr;

                base = (const uint8_t *) &dlAddr->sdl_data[dlAddr->sdl_nlen];

                for(i=0; isdl_alen; i++)
                {
                    if(i != 0)
                    {
                        [result appendString:@":"];
                    }
                    [result appendFormat:@"%02x", base[i]];
                }
            }
            cursor = cursor->ifa_next;
        }
        freeifaddrs(addrs);
    }

    return result;
}

@end