我在.h文件中定义了以下内容:
extern Byte cADPU_IDToken[];
并在相应的.m文件中:
Byte cADPU_IDToken[] = {0xDF,0x00,0x06,0x07};
当执行iPad2的应用程序(32位)时,我得到以下代码:
NSData *test = [[NSData alloc] initWithBytes:cADPU_IDToken length:sizeof(&cADPU_IDToken)];
NSLog(@" ..ARM64... %lu", test2.length);
结果:4个字节(这是正确的)。
当执行iPad5(64位)时,我得到结果:8个字节!?
我做错了什么以及如何解决以便App在任何32/64 iPad / iPhone上正常运行?
此致
取值
答案 0 :(得分:0)
我建议你阅读64-Bit Transition Guide for Cocoa。 对于您的情况,解决方案是将“字节”更改为“uint8_t”:
我们的建议是选择一个 C99表示,准确反映您的应用程序所需的值范围。
uint8_t:0到255