Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在Xamarin.ios应用程序中比较CBUUID对象_C#_Ios7_Xamarin.ios_Uuid_Core Bluetooth - Fatal编程技术网

C# 如何在Xamarin.ios应用程序中比较CBUUID对象

C# 如何在Xamarin.ios应用程序中比较CBUUID对象,c#,ios7,xamarin.ios,uuid,core-bluetooth,C#,Ios7,Xamarin.ios,Uuid,Core Bluetooth,我正在开发一款支持Xamarin.iOS蓝牙功能的应用程序,我需要克服一些障碍。我正在尝试从C#iOS应用程序连接到外围设备;我可以成功连接到设备,但在发现设备的服务和特征后,我需要捕获特定的服务,以便我可以进一步将其用于不同的目的 现在,问题是如何从cb外围对象中的服务列表中捕获特定的服务。每个服务都由CBUUID对象标识,我已经知道设备返回的CBUUID对象,但我不确定如何比较它们,以便知道我捕获了适当的服务 如果您的目标是iOS 7.1(或更高版本),则可以比较CFUUID的System.

我正在开发一款支持Xamarin.iOS蓝牙功能的应用程序,我需要克服一些障碍。我正在尝试从C#iOS应用程序连接到外围设备;我可以成功连接到设备,但在发现设备的服务和特征后,我需要捕获特定的服务,以便我可以进一步将其用于不同的目的


现在,问题是如何从cb外围对象中的服务列表中捕获特定的服务。每个服务都由
CBUUID
对象标识,我已经知道设备返回的
CBUUID
对象,但我不确定如何比较它们,以便知道我捕获了适当的服务

如果您的目标是iOS 7.1(或更高版本),则可以比较
CFUUID
System.String
Uuid
属性。这是最简单的方法。例如

if (cbuuid1.Uuid == cbuuid2.Uuid)
    Console.WriteLine ("Equal");
else
    Console.WriteLine ("Different");
否则(iOS 7.0及更早版本),您需要比较
CFUUID
NSData
属性。首先比较它们的长度,如果相等,比较它们内部的每个字节。例如

bool equal = false;
using (var d1 = cbuuid1.Data)
using (var d2 = cbuuid2.Data) {
    if (d1.Lenght == d2.Length) {
        for (int i=0; i < d1.Lenght; i++) {
            if (d1 [i] != d2 [i]) {
                equal = false;
                break;
            }
        }
    }
}
Console.WriteLine (equal ? "Equal" : "Different");
bool equal=false;
使用(var d1=cbuuid1.Data)
使用(var d2=cbuuid2.Data){
如果(d1.Lenght==d2.Length){
对于(int i=0;i
谢谢@poupou,这让我非常清楚。是的,我的目标是iOS 7.1,我会尝试一下。嗨,Poupou,它工作得非常好。但是,我被另一部分卡住了。每次测试设备时,我都会尝试扫描它。和。我不知道如何利用cb central manager类的retrieve know peripherals事件您对此有何想法?没有,我从未真正使用过蓝牙设备。你最好问一个新问题,这样更多的人就能看到它并帮助你。好吧,没关系,我刚刚看了核心蓝牙文档并得到了答案。谢谢