BluetoothManager不适用于iOS 7

BluetoothManager不适用于iOS 7,ios,iphone,bluetooth,ios7,iphone-privateapi,Ios,Iphone,Bluetooth,Ios7,Iphone Privateapi,我试图在iOS 7上的应用程序中使用BluetoothManager,但它似乎不起作用 在BluetoothManager上调用setEnabled:和setPowered:没有任何效果,我正在注册通知(BluetoothAvailabilityChangedNotification),但这些通知从未发送 我已经导入了这个框架,并且使用了这些问题给出的示例代码,但是这些都是iOS 7之前的版本,这可能是问题所在 结果表明,这个框架在iOS 7中没有受到保护,仍然可以使用 我认为问题在于Blu

我试图在iOS 7上的应用程序中使用BluetoothManager,但它似乎不起作用

在BluetoothManager上调用
setEnabled:
setPowered:
没有任何效果,我正在注册通知(
BluetoothAvailabilityChangedNotification
),但这些通知从未发送

我已经导入了这个框架,并且使用了这些问题给出的示例代码,但是这些都是iOS 7之前的版本,这可能是问题所在




结果表明,这个框架在iOS 7中没有受到保护,仍然可以使用

我认为问题在于BluetoothManager.h和BluetoothDevice.h头文件的位置。它们需要位于以下目录中:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.0.sdk/System/Library/privateframes/BluetoothManager.framework/Headers

项目的“框架搜索路径”构建设置需要包含
$(SDKROOT)$(SYSTEM\u LIBRARY\u DIR)/privateframes
,以便使用这些文件

我不知道这是为什么——在Xcode项目中的头文件仍然为
[BluetoothManager sharedInstance]
返回了一个有效的(?)对象,但没有提供任何其他功能。至少现在它起作用了,耶


哦,我应该提到我是如何发现这一点的!这几乎是一个为iOS 7设计的基本BluetoothManager示例项目。自述文件描述了头文件的位置,不同的是,它只是他的项目中的生成设置,用于启用这些头文件。

检查控制台,其中可能有一些消息。最有可能的是它受到了权利的保护。你的第三个链接有多个答案,而且只有一个。注意它们之间的区别。我相信你的第二个答案已经解释了这一点。让我们知道,如果你特别尝试过,但它仍然不起作用。谢谢。@Victoroni在控制台中唯一的消息是“BTM:attaching to BTServer”。如果它不再可用,是否有其他方法连接到Bluetooth 2.0设备?@Nate Nope,恐怕也不行。头文件的位置无法区分运行时错误和代码是否正常工作。如果最初缺少标头,则应该看到一些编译时错误或警告。这里肯定发生了其他事情。这是我的想法,但这是唯一一件为了让应用程序正常运行而改变的事情。我不需要修改我的任何代码(michaeldorner的代码结构不同,但在其他方面是相同的),只需添加头文件并更改生成设置即可开始工作。出于某种原因,我似乎没有头文件夹。我有一个_code签名文件夹和BluetoothManager Unix文件。有什么想法吗?@Jorgen默认情况下它不存在。您需要下载头文件并将其添加到框架文件夹中,例如,从这里:@ev0lution谢谢您的帮助。仍然有问题。我正在尝试“配对”两台设备(iPad和打印机),我知道打印机的MAC地址和BT Pin码。有什么想法吗?