4

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

调用setEnabled:setPowered:蓝牙管理器没有任何效果,我正在注册通知(BluetoothAvailabilityChangedNotification)但这些从未发送。

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

iOS BluetoothManager 框架
iOS:无法让 BluetoothManager 工作以
编程方式在 iphone sdk 中打开蓝牙?

4

1 回答 1

2

事实证明,这个框架在 iOS 7 中没有受到保护,仍然可以使用。

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

并且您的项目的“框架搜索路径”构建设置需要包含$(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks它才能使用这些文件。

我不确定为什么会这样——让 Xcode 项目中的头文件仍然返回一个有效的(?)对象,[BluetoothManager sharedInstance]但根本没有提供任何其他功能。至少现在它有效,耶!

哦,我应该提到我是如何发现这一点的!michaeldorner 的“BeeTee”github 项目几乎是一个为 iOS 7 设计的基本 BluetoothManager 示例项目。自述文件描述了头文件的位置,除了它只是他的项目中的构建设置以启用这些头文件。

于 2013-11-11T05:29:22.123 回答