C# 如何使用xamarin C从iOS上的广告中读取KCBADVDATA ManufacturerData的值#

C# 如何使用xamarin C从iOS上的广告中读取KCBADVDATA ManufacturerData的值#,c#,ios,xamarin,core-bluetooth,C#,Ios,Xamarin,Core Bluetooth,我尝试了很多东西,但这似乎是我能得到的最接近 NSDictionary advertisementData = e.AdvertisementData; NSString ns_p_mdata = new NSString("kCBAdvDataManufacturerData"); NSObject obj_mdata = advertisementData.ValueForKey(ns_p_mdata); NSData strMdata = (NSData)obj_mdata; byte[

我尝试了很多东西,但这似乎是我能得到的最接近

NSDictionary advertisementData = e.AdvertisementData;
NSString ns_p_mdata = new NSString("kCBAdvDataManufacturerData");
NSObject obj_mdata = advertisementData.ValueForKey(ns_p_mdata);
NSData strMdata = (NSData)obj_mdata;

byte[] result = new byte[strMdata.Length];
System.Runtime.InteropServices.Marshal.Copy(strMdata.Bytes, result, 0, (int)strMdata.Length);
string test = Convert.ToBase64String(result);
但是,这并没有给我期望的值


我以前使用过obj_mdata.Description,但这在iOS 13.x上已经不起作用了。通常,在iOS中用作字符串的常量作为枚举或get only属性隐藏在某处


这一个似乎位于
核心Bluetooth.cbadvision.DataManufacturerDataKey
。我想这就是你要找的。

这就是你可以用来获取数据的常数,但数据仍然以非字符串的格式返回。如何将其转换为字符串
obj_mdata.Description
在iOS13中不再起作用,正如NSHipster链接文章中所说;)那可能正是我需要的文章:):)