我正在从自写服务器后端向我的iOS设备发送数据。 该应用程序在iOS模拟器中正常工作,但不在设备上。 例如:我发送整数值4 - 在模拟器上,我得到4,但在设备上它是1024.我搜索了整个互联网,但没有找到任何解决方案,所以也许有人可以帮助我。我不认为这是一个endian问题,因为我已经注意到它。NSData getBytes在模拟器中比在设备上提供了不同的结果
这是代码:
int someintvalue = 0;
uint8_t firstBuffer[4];
[inputStream read:firstBuffer maxLength: sizeof(firstBuffer)];
NSMutableData *data1 = [[NSMutableData alloc] initWithBytes:firstBuffer
length:sizeof(firstBuffer)];
NSRange rng = NSMakeRange(0, 4);
[data1 getBytes:&someintvalue range:rng];
someintvalue = CFSwapInt32HostToBig(someintvalue);
NSLog(@"Got %i Value", someintvalue);
感谢您的回答 - 不幸的是它不能解决我的问题......我试图改变它,但实际上它并没有改变任何东西。在模拟器中它仍然正常工作 - 在设备上我得到错误的值 – 2013-03-13 20:16:57