Objective-C で「1234674」などの 6 桁の整数を 16 進数の 4 バイト NSData に変換するにはどうすればよいですか?
これは、パスキーを送信するコードの一部です。
#define HSL_PRIVATE_SERVICE_UUID 0xFF20
#define HSL_PRIVATE_NEW_PASSKEY_UUID 0xFF35
unsigned int newPassKey = [_confirmNewPassKey.text intValue];
NSLog(@"newPasskey %d", newPassKey);
NSData *d = [NSData dataWithBytes:&newPassKey length:sizeof(unsigned int)];
[_t writeValue:HSL_PRIVATE_SERVICE_UUID characteristicUUID:HSL_PRIVATE_NEW_PASSKEY_UUID p:_peripheral data:d];
BTOOL と iPhone のパスキー書き込みを比較するエア キャプチャを行いました。
BTOOL (シミュレーターツール) が書きました (正しい結果):
0x40e201
iPhoneが書いた(間違ったデータ):
0x0001e240
Bluetooth デバイスが期待する結果と一致するように、何が起こっているのか、アプリで修正する方法がわからない。結果は BTOOL のものと同じにしたいと思います。