Tag: 蓝牙

iBeacon协议澄清

我想了解更多关于新的苹果iBeacon协议,以及如何适用于其他设备。 我已经看到协议本身已经被逆向工程:这是个好消息,但是我还有一些疑问关于协议。 该协议devise为允许自定义文本消息发送到接收方客户端? 如“欢迎来到我的店”而不是靠近某个灯塔? 我可以看到很多其他的问题,但是我对将该文本(如Hex)注入协议的位置有点困惑。 什么是iBeacon蓝牙configuration文件 使用BlueZ堆栈作为外设(广告客户) 它看起来像协议设置为只有真正广播UUID和主要/次要集的信标,然后客户端应用程序需要做的事情。 但我希望它能更多地反映一个自定义的消息,如“进入一个免费的咖啡”或类似的东西…是可能使用iBeacon协议,还是我需要只使用标准的蓝牙LE?

iOS:无法使BluetoothManager正常工作

警告:我知道私人框架不会在App Store中飞行。 我正在尝试使用BluetoothManager框架让我1)检查设备上是否启用了蓝牙,以及2)如果不启用,请将其打开。 我可以按照在这里find的说明成功地加载BluetoothManager,但是一旦我这样做了,BluetoothManager似乎并没有做任何事情。 即使在启用蓝牙的情况下,启用的呼叫始终返回NO。 调用setEnabled从不改变它的状态。 绝对每一个我试过的BluetoothManager调用总是返回NO,零,零元素数组等。总之,得到返回的BluetoothManager似乎完全被中止。 (我跑掉我的4.2.1 iPhone,而不是模拟器。) 我曾经见过那些声称已经得到这个工作的人的post,但我还没有得到他们的答复。 任何人都可以阐明为什么这可能不工作? 非常感谢。

CodenameOne BluetoothLe连接的后台任务

我正在开发一个使用Codename One的应用程序,它连接到一个蓝牙LE专有的外部设备,并logging接收到的数据(平均数据大约每秒钟到达一次)。 我正在使用蓝牙LE CN1库 (Cordova 插件的包装)。 该应用程序应该能够接收和logging数据,即使不在前景,我不知道如何在CodenameOne中做的方式,系统将不会自行closures它。 我已经编写了一个原生的Android应用程序,在这个应用程序中,在与外部BTLE设备连接期间使用持久通知的服务 – 连接丢失(或者用户取消连接)时退出后台服务。 有没有办法在CodenameOne中做同样的事情,在Android和iOS上都可以使用? 我知道我可以编写本地代码来做到这一点,但我仍然怀疑,如果我仍然可以使用插件 – 我想避免编写应用程序本机的两个操作系统的整个蓝牙连接模块,因为这种否定点使用CodenameOne。 我没有尝试过只是产生一个Java线程,因为它看起来不会真的工作,因为它被转换为本地代码…或者它呢? PS:我已经find了解决我的问题的方法,最接近我能find的就是CodenameOne背景音乐播放,但这只是为了音乐播放,据我所知。

使用iPhone作为外设时的连接问题

我正在使用iPhone作为外设来暴露蓝牙低能量的一些价值,并使用浅蓝色(在另一个iphone上)进行debugging。 我所看到的是20秒​​后aprox与外设的连接丢失了吗? 有任何想法吗? 外设iPhone:5c iOS 8.1中央iPhone与浅蓝色应用程序:5s iOS 8.1 另外,当我用我的Mac Book Pro OS X 10.9.5与浅蓝色桌面应用程序与外围设备的连接丢失。 我也尝试了另一个我写的检查连接错误的应用程序,我得到'外设已经从我们断开连接'的错误信息,这个应用程序与其他BLE设备正常工作。 所以问题是iPhone处于外设模式时。

蓝牙应用程序的最佳平台

哪个移动应用程序平台开发人员喜欢基于蓝牙的应用程序开发 开发人员对这些平台上当前可用的API有什么看法? 它是否满足您的大部分需求? 您希望看到哪些应用程序的API /function。

iOS到Mac OS X 蓝牙数据传输

我的目标是通过蓝牙在运行iOS的设备与运行Mac OS X的设备之间build立连接。 我知道我可能会使用CoreBluetooth,但是我不明白如何在iOS设备上设置服务并将其作为运行Mac OS X的设备的可用服务进行广播的方法。 换句话说,我只是想设置一个连接来让iOS设备发送数据到Mac OS X设备 。 另外,我将如何去指定如何设置服务的属性。 我试过研究这个东西,但是大部分的文档对我来说都没什么意义。 数据传输很小,所以蓝牙就足够了。 我试图避免这个Bonjour,以及P2P的游戏中心框架,因为OS X无法处理(我认为)。

读取BLE外设特性并检查其值?

我正在使用Xcode上的Swift编写一个应用程序,该应用程序连接到蓝牙BLE外设。 我build立了一个到设备的连接,并且想从特定的特性(特别是服务UUID FFF0中的FFF1)读取一些数据。 如果我想要查找信息的characteristicx是characteristicx x,则可以使用以下代码请求读取characteristicx : peripheral.readValueForCharacteristic(charactericsx) 我想知道的是:如何检查这个读取的值是我正在寻找的。 我希望能够做一个if语句来检查我的价值与该特征的发现价值。 例如:如果发现的值是X,那么做一些事情,否则如果发现的值是Y,那么做别的事情。 这不是我想要做的很好的解释,但是我希望你能得到这个主意。 任何人都知道如何去做这个?

在iOS 10的背景CoreBluetooth广告

首先:我有一台iPad Air 2和一台iPhone 7.为了进一步阅读,我们估计该应用在iPad上处于活动状态,并在iPhone上以后台模式打开。 该应用程序是完全相同的,即使使用相同的蓝牙服务UUID和相同的DataLocalNameKey。 我想写一个应用程序,可以在后台广告一个蓝牙服务,并能够发现这个服务(最佳的背景也)。 正如我已经阅读,我不能使用苹果信标技术,因为它只能在背景附近扫描/通知信标(我testing这个,工作正常),但不能做广告。 所以我开始使用CoreBluetooth所描述的SO回答的原因那里有可能在后台做广告。 我的应用程序调用iPhone上的didDiscoverPeripheral方法(应用程序在后台),所以它检测到了iPad。 CBPeripheralManager在iPhone上的isAdvertising属性是true 。 但didDiscoverPeripheral没有在iPad上调用。 我有点困惑。 其中一个select是我的iPad不能够检测到iPhone由于某种原因,或者我的iPhone在撒谎,而不是广告。 所以我觉得我只是一个愚蠢和谷歌search“CoreBluetoothdebugging应用程序”一点点。 我find了附近和AltBeacon 。 而与这两个应用程序的行为是一样的! 如果您背景(按Home /睡眠button)的广告应用程序,浏览应用程序无法发现它了。 如果你打开应用程序的背景,它会立即发现它。 这两个应用程序都提到可能与他们在后台播放。 难道我做错了什么; 这是预期的行为? 我误解了框架吗? 你能证实这种行为吗? 为了确认这一点,最快的方法是在两台设备上安装Vicinity (您必须将NSBluetoothPeripheralUsageDescription添加到设备上),设置一台设备进行广播,然后按主页button。

iOS 7蓝牙输出不适用于AVAudioSessionCategoryPlayAndRecord

在我的应用程序中,如果iPhone连接到蓝牙耳机,则使用蓝牙播放声音。 否则使用默认扬声器。 这是我的代码 [[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback withOptions:AVAudioSessionCategoryOptionAllowBluetooth error:nil]; [[AVAudioSession sharedInstance] setMode:AVAudioSessionModeVoiceChat error:nil]; [[AVAudioSession sharedInstance] overrideOutputAudioPort:AVAudioSessionPortOverrideNone error:nil]; [[AVAudioSession sharedInstance] setActive:YES error:nil]; 但是,当我试图使用类别setCategory:AVAudioSessionCategoryPlayAndRecord。 路由到蓝牙设备停止工作..我不知道为什么。 因为正确的,蓝牙选项应该只适用于logging或PlayAndRecord类别… / *只适用于AVAudioSessionCategoryRecord和AVAudioSessionCategoryPlayAndRecord * / 另外:我可以只有蓝牙输出(input仍然使用默认话筒从电话)? UPDATE 我通过先调用setMode来改变顺序,然后是setCategory。 它首次运行应用程序(一个调用)。 当我试图再次做同样的动作,currentRoute仍然给我输出=蓝牙,但实际输出返回到默认的电话前置扬声器。

如何让我的应用程序audio很好地中断说话时的iPhoneaudio

我的iOS 7应用程序在必要时发声文本。 我想要做的是让用户在我的运行过程中收听他的音乐或播客(或任何其他使用audio的应用程序)。 预期的行为是,当我的应用程序说话时,其他audio混音或鸭子,然后其他audio恢复在初始阶段的音量。 我已经尝试了很多方法来实现这个目标,但是没有什么是不够的,因为我在代码之后列出了我面对的问题。 我目前的实施是基于在播放或文本到语音之前创build会话如下: + (void)setAudioActive { [[self class] setSessionActiveWithMixing:YES]; } 演讲/演讲结束后,我把我设置为闲置状态如下: + (void)setAudioIdle { [[self class] setSessionActiveWithMixing:NO]; } 处理会话设置的核心function对应于激活的参数,如下所示: + (void)setSessionActiveWithMixing:(BOOL)active { NSError *error = NULL; BOOL success; AVAudioSession *session = [AVAudioSession sharedInstance]; static NSInteger counter = 0; success = [session setActive:NO error:&error]; if (error) { DDLogError(@"startAudioMixAndBackground: session setActive:NO, %@", error.description); } […]