現在、ブロードキャスト機能を追加して、Git codeに拡張して、nativescriptでBLEの広告+スキャンを実装しようとしています。 Androidでは既に広告を作成しており、iOSとAndroidの両方でこれをスキャンして解析することができます。BLE iOS Nativescript:データをブロードキャストできません
しかし、実際のデータをサービスに入れても、私のiOSの試みは失敗しています。特性が含まれていないと、明らかに無効な値に変換されるエラー*が表示されます。サービスを含まない。チュートリアルの後、私は*(そのコードをjavascriptスタイルに翻訳した後)、CBMutableServiceにsetCharacteristics
を使用する必要があります。ただし、特性を追加すると、setCharacteristics
は利用可能な機能ではないという警告が表示されます。
var kServiceUUID = NSString.stringWithString("2EACE71A-1F75-426E-833F-E77CB58F7201")
var kCharacteristicUUID = NSString.stringWithString("D40670C5-4ECC-4776-8661-B8A11C2833B3");
var serviceUUID = [CBUUID.UUIDWithString(kServiceUUID)];
var characteristicUUID = [CBUUID.UUIDWithString(kCharacteristicUUID)];
var message = arg.message || "No message configured.";
var service = CBMutableService.alloc().initWithTypePrimary(serviceUUID, true);
var service = CBMutableService.alloc().initWithTypePrimary(serviceUUID, true);
var characteristic = CBMutableCharacteristic.alloc().initWithTypePropertiesValuePermissions(characteristicUUID, CBCharacteristicPropertyRead | CBCharacteristicPropertyNotify, "test", CBAttributePermissionsReadable);
service.setCharacteristics([characteristic]);
Bluetooth._state.periManager.addService(service);
var dict = NSDictionary.alloc().initWithObjectsForKeys(["test2"],[kServiceUUID]);
Bluetooth._state.periManager.startAdvertising(dict);
私は今、エラーとして
"CONSOLE LOG file:///app/main-view-model.js:199:32: TypeError: service.setCharacteristics is not a function. (In 'service.setCharacteristics([characteristic])', 'service.setCharacteristics' is undefined)"
を取得します。ただし、特性を追加しないと、サービスとして提供されますが、スキャン結果にサービスはありません。
CBMutableService: 0x17ef4bd0 Primary = YES, UUID = 2EACE71A-1F75-426E-833F-E77CB58F7201, Included Services = (null), Characteristics = (null)
*私はiOSの下でプログラムを作成していますが、現時点ではWindowsを使用しています。私は仕事場でiOSにしかログインできないためです。このため、私は現在利用可能なリンクを持っていません。
更新:service.characteristics = <...>を使用して特性を直接設定できることを発見しました。私は、UUIDの配列を使用せずにUUID自体の特性を調整する必要がありました。まだ放送に成功していない可能性があります。私はそこに価値を置くことに失敗している可能性が高いですが、その特性自体がサービスに正しく追加されています。 –