Tag: 蓝牙

如何发送数据到iPhone变成了一个iBeacon?

如何将数据发送到充当iBeacon的iPhone? 我正在寻找一个过程如下: search附近的iBeacons 连接到一些iBeacon 在设备之间交换数据 有谁知道如何把不同的蓝牙function放在一起,使之成为可能吗? thx提前

CBCentralManager的状态什么时候会启动,但仍然给我一个“不通电”的警告?

当我运行在iPhone 5上使用CoreBluetooth的应用程序时,我不断收到此错误: <CBConcreteCentralManager: 0x2007d590> is not powered on 但是当我在我的程序的唯一一个CBCentralManager对象上调用state时,它返回5,即CBCentralManagerStatePoweredOn。 所以它的电源,但我得到这个错误。 iPhone的蓝牙function也已启用。 一般来说,这种情况何时会发生? 我甚至不知道当程序运行时发生了什么,因为我看到了看起来有冲突的消息。

核心蓝牙状态恢复

我正在做一个应用程序,对外设断开作出反应,我现在正在尝试采用iOS 7中引入的ne状态保存和恢复。 我做了一切像文档说的,意思是: 我为中央添加了背景模式。 我总是使用相同的唯一标识符来实例化我的中央pipe理器。 我实现了centralManager:willRestoreState:方法。 当我的应用程序移动到后台时,我用kill(getpid(), SIGKILL);在AppDelegatecallback中杀死它kill(getpid(), SIGKILL); 。 ( 核心蓝牙状态保持和恢复不工作,不能重新启动应用程序到后台 ) 当我现在通过删除电池断开外设我的应用程序正在被唤醒如预期和launchOptions[UIApplicationLaunchOptionsBluetoothCentralsKey]包含正确的标识符,但centralManager:willRestoreState:未被调用。 只有当我断开另一个外设时,这个方法才被调用。

了解iBeacon数据:电源字段和其他字节

我是蓝牙系统的新手,我正试图理解用于苹果新技术的数据:iBeacon。 已经有一些很好的答案解释了它是如何工作的,我一直在阅读我能find的所有东西(尤其是蓝牙规范)。 不过,我错过了一些观点,我将首先举个例子:(我正在使用设置广告数据命令 ,这里忽略了OGF之前的hcitool cmd ) 0x08 0x0008 1E 02 01 1A 1A FF 4C 00 02 15 E2 C5 6D B5 DF FB 48 D2 B0 60 D0 F5 A7 10 96 E0 00 00 00 00 C5 00 我将在这里列出我不了解或find的信息。 有没有关于OGF的任何信息(这里是0x08 )? 我知道它代表的是OpCode Group Field,但是跟OGF一样,OCF没有find任何东西。 02 01 1A 1A字节代表什么? 我知道第一个字节1E告诉了其余数据的长度,在那行之后,从FF开始,你得到了制造商的特定数据。 但是我找不到这4个字节的内容。 功率字节是如何工作的? 这是C5 。 […]

CoreBluetooth didDiscoverPeripheral不在Swift中调用

我99%确定我按照说明正确设置CoreBluetooth 。 无论我做什么,当我在iPad mini上运行这个应用程序时,蓝牙都在说。 这是说它正在扫描设备,但它绝对没有find任何设备。 如果我去设备上的蓝牙菜单,我看到其他设备被发现。 我初始化CBCentralManager 。 我设置了centralManagerDidUpdateState 。 当确定蓝牙准备就绪时,它会调用centralManager.scanForPeripheralsWithServices 。 所有这一切都正确地发生。 但是我的centralManager(central: CBCentralManager!, didDiscoverPeripheral peripheral: CBPeripheral!, advertisementData: [NSObject : AnyObject]!, RSSI: NSNumber!)functioncentralManager(central: CBCentralManager!, didDiscoverPeripheral peripheral: CBPeripheral!, advertisementData: [NSObject : AnyObject]!, RSSI: NSNumber!)永远不会被调用。 我的代码非常简单。 也许我错过了一些东西,但我能够确认我的Macbook是BTLE设备,而我的iPad mini也是BTLE设备。 这是我的代码。 import UIKit import CoreBluetooth class ViewController: UIViewController, CBCentralManagerDelegate { var centralManager:CBCentralManager! var blueToothReady = false override func […]

寻找范围内的通用蓝牙设备

我们正在使用iOS专用框架BluetoothManager进行一个简单的实验 – find可触及的通用 (非iOS)BT设备。 现在,只有以下行返回设备: for(BluetoothDevice* device in [[BluetoothManager sharedInstance] pairedDevices]) 不幸的是,它只返回已经配对的设备,这不是我们想要的。 使用connectingDevices而不是pairedDevices根本不返回任何设备。 那么,我们有什么select能够检测到任何可触及的蓝牙设备? 我不认为我可以使用GameKit,因为我想发现非iOS设备。 任何build议,欢迎。

EAAccessory / EASession在后台拆卸

使用苹果的EADemo作为基础我试图了解背景对EAA饰品的影响。 当我收到connectNotification时,我得到附件,检查协议并获取stream。 随着stream我设置委托,安排RunLoop,并打开 目前当我进入背景时,我把这一切都撕下来。 我退出了我所做的一切并释放所有对象。 我也在didDisconnect上做了这个拆解。 进入时,我并不总是得到一个didConnect,所以我走连接的附件列表,并检查适当的设备。 – = – = – = – EA Demo在视图上设置并删除会话,因此我们不会看到是否存在后台持久性。 EA演示代码似乎暗示只要设备本身没有断开连接,您就可以拆卸并重新开机。 然而,会话和设备有时似乎进入一个状态,当iOS设备睡觉或把应用程序放到后台,设备将停止确认数据或更糟的是将停止从stream中提取数据,直到stream填充向上。 问题:在使用后台处理时,除非实际发生了didDisconnect通知,否则不应拆除活动的会话/附件。 有了这个,我认为会议和配件结构(也许是stream)将在后台生存?

如何使用GCDAsyncUdpSocket通过wifi和蓝牙进行组播

我目前使用GCDAsyncUdpSocket在iOS设备之间通过wifi发送多播数据报。 守则很简单.. 客户 self.socket = [[GCDAsyncUdpSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()]; //omitted error checking [self.socket bindToPort:12345 error:&err]; [self.socket joinMulticastGroup:@"224.0.1.1" error:&err]; [self.socket beginReceiving:&err]; 服务器 self.multicastSocket = [[GCDAsyncUdpSocket alloc] initWithDelegate:self delegateQueue:dispatch_get_main_queue()]; NSData *d = [@"hello" dataUsingEncoding:NSUTF8StringEncoding]; [self.multicastSocket sendData:d toHost:@"224.0.1.1" port:12345 withTimeout:-1 tag:11]; 这工作得很好,无线networking。 我如何使它通过蓝牙工作呢? 我GOOGLE了一堆,找不到任何东西…我需要创build两个单独的套接字? 一个绑定到wifi接口,另一个绑定到蓝牙接口? 编辑:还是我困惑的东西根本? 这一定是可能的。 GameKit的GKSession完全是这样的,对吧?

Bonjour不是通过BT广告

过去一周左右,我一直在抨击我的头脑。 我已经通过了以下资源: StackOverflow:通过蓝牙Bonjour没有Gamekit? (3844189) StackOverflow:如何通过蓝牙工作Bonjour(3350094) StackOverflow:在其他平台上使用iOS GameKit的“蓝牙Bonjour”(8070998) 技术问答QA1753 – 苹果开发者 WiTap示例应用程序 SRVResolver示例应用程序 DNSSDObjects示例应用程序 我使用的是Mac OS 10.7,Xcode 4.5,iOS 6的iPhone 4和iOS 5.1.1的iPad 1。 我的问题是这样的:我正在修改一个当前使用GameKit的对等select器来连接iPad和iP {}的应用程序。 我们想修改这个以通过蓝牙使用Bonjour,而不是因为我们在连接丢失的情况下使用Gamekit重新连接设备。 我已经使用dns_sd.h API来取得一些成功,并已获得服务,通过无线广告和解决,但即使我通过kDNSServiceFlagsIncludeP2P我没有得到任何成功通过蓝牙。 我认为蓝牙Bonjour可能需要在设备之间build立一个PAN,但即使将iPad与iMac配对,浏览DNS-SD服务也不会给我带来任何影响,iPhone也不会与iPad配对。

客观c检查是否蓝牙可用性改变

问题很简单:当用户启用或禁用iOS设备上的蓝牙时,有什么方法可以注意到吗? 我search了互联网,但只是find了一些私人API。 谢谢你的帮助。