gpt4 book ai didi

ios - 如何在 Xamarin iOS 中使用蓝牙低功耗协议(protocol)宣传制造商特定数据?

转载 作者:行者123 更新时间:2023-12-01 22:19:41 26 4
gpt4 key购买 nike

我需要在 Xamarin iOS 中使用蓝牙低功耗协议(protocol)广播包含某些制造商特定数据的广告数据包。我能够广播广告数据包,但是当它们收到时,它们不包含制造商特定的数据。它们确实包含我正在设置的本地名称和数据服务 UUID key 。我应该提到在 Xamarin Android 中这样做不是问题。你能告诉我为什么 Xamarin iOS 中没有广播制造商的特定数据吗?我正在使用以下代码:

using CoreBluetooth;

namespace XamarinBt
{
public class BluetoothOperations
{
CBPeripheralManager cbPeriphMang = new CBPeripheralManager();
public void AdvertiseData()
{
var uui = new CBUUID[] { CBUUID.FromString("E20A39F4-73F5-4BC4-A12F-17D1AD07A961") };
var nsArray = NSArray.FromObjects(uui);
var nsObject = NSObject.FromObject(nsArray);

var manufacturerDataBytes = new byte[6] { 5, 255, 76, 0, 25, 35 };

var advertisementData = new NSDictionary(
CBAdvertisement.DataLocalNameKey, "id1",
CBAdvertisement.DataServiceUUIDsKey, nsObject,
CBAdvertisement.DataManufacturerDataKey, NSData.FromArray(manufacturerDataBytes));

if(cbPeriphMang.Advertising) cbPeriphMang.StopAdvertising();

cbPeriphMang.StartAdvertising(advertisementData);
}
}
}

最佳答案

不幸的是,您不能在广告中指定制造商数据。
来自 documentation :

advertisementData

An optional dictionary containing the data you want to advertise. The possible keys of an advertisementData dictionary are detailed inCBCentralManagerDelegate. That said, only two of the keys are supported for peripheral manager objects:CBAdvertisementDataLocalNameKeyandCBAdvertisementDataServiceUUIDsKey.

关于ios - 如何在 Xamarin iOS 中使用蓝牙低功耗协议(protocol)宣传制造商特定数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46364443/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com