我制作了一个Web服务,它获取一个整数作为Phone的唯一标识符。后来,我意识到iPhone UID是这种格式的NSstring:5DE31FA12-XXXXX-XXXXX-XXXXXXX。所以我想将此值转换为整数。
以下是我以NSString格式获取UID的方式。
CFUUIDRef theUUID = CFUUIDCreate(NULL);
CFStringRef string = CFUUIDCreateString(NULL, theUUID);
CFRelease(theUUID);
NSString *theUID = (NSString *)string;
如何将NSString * theUID转换为整数值,以便将其发送到网络服务?
编辑 :正如CocoaFu正确提到的那样,将该值放入int中是不可能的。我能以某种方式将其转换为NSString,其格式为“dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd现在无法更改网络服务。
答案 0 :(得分:2)
最大整数是8个字节或64位。您显示的UUID有26个十六进制字符,即104位。它只是不适合整数。使用字符串。
CFUUIDCreate
返回一个包含32个十六进制字符的字符串,即128位或16字节。忽略' - '字符,它们只是为了人类的可读性。这是一个例子
CFUUIDCreate: BDFC3FE6-3A5E-48C0-B18D-E42B8E275428
答案 1 :(得分:1)
UDID不适合int。您列出的格式是模拟器为您提供的格式。设备UDID是40个字符长的字母数字。