我正在從自寫服務器後端向我的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