【问题标题】:How do I read the value of kCBAdvDataManufacturerData from the advertisement on iOS using xamarin C#如何使用 xamarin C# 从 iOS 上的广告中读取 kCBAdvDataManufacturerData 的值
【发布时间】:2020-03-17 15:19:44
【问题描述】:

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

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 上不再适用

【问题讨论】:

  • dev.to/codeprototype/… obj_mdata.Description 如 NSHipster 链接文章中所述,在 iOS13 中不再工作 ;)
  • 这可能正是我需要的文章 :) :)

标签: c# ios xamarin core-bluetooth


【解决方案1】:

通常,那些在 iOS 中用作字符串的常量被隐藏在某个地方作为枚举或仅获取属性。

这个似乎在CoreBluetooth.CBAdvertisement.DataManufacturerDataKey。我想这就是你要找的那个。

【讨论】:

  • 所以这是您可以用来获取数据的常量,但数据仍然以不是字符串的格式返回。如何将其更改为字符串?
猜你喜欢
  • 2021-12-06
  • 2017-08-29
  • 1970-01-01
  • 1970-01-01
  • 2017-06-27
  • 1970-01-01
  • 1970-01-01
  • 2023-03-12
  • 1970-01-01
相关资源
最近更新 更多