我将数据从自编写的服务器后端发送到我的iOS设备。 该应用程序在iOS模拟器中正常工作,但在设备上无法正常工作。 例如:我发送整数值4 - 在模拟器上我得到4但在设备上它是1024.我搜索了整个互联网但没有找到任何解决方案,所以也许有人可以在这里帮助我。我不认为这是一个期末问题,因为我已经注意到了它。
这是代码:
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);
答案 0 :(得分:1)
您的字节交换错误。 CFSwapInt32HostToBig()
从“主机”字节序转换为big-endian。这是倒退。您可能打算使用CFSwapInt32BigToHost()
。
答案 1 :(得分:0)
我对这个问题有一个答案。
遇到同样的问题: