我尝试在 iOS 7 上的应用程序中使用蓝牙管理器,但它似乎不起作用。
Calling setEnabled:
and setPowered:
蓝牙管理器上没有任何效果,我正在注册通知(BluetoothAvailabilityChangedNotification
)但这些从未发送过。
我已经导入了框架,并且正在使用这些问题给出的示例代码,但这些都是 iOS 7 之前的版本,这可能是问题所在;
iOS 蓝牙管理器框架 https://stackoverflow.com/questions/5877879/ios-bluetoothmanager-framwork
iOS:无法让蓝牙管理器工作 https://stackoverflow.com/questions/5071509/ios-cant-get-bluetoothmanager-to-work
在iphone sdk中以编程方式打开蓝牙? https://stackoverflow.com/questions/1743610/programmatically-turn-on-bluetooth-in-the-iphone-sdk
事实证明,这个框架在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 项目 https://github.com/michaeldorner/BeeTee几乎是一个为 iOS 7 设计的基本 BluetoothManager 示例项目。自述文件描述了头文件的位置,除此之外,它只是项目中启用这些头文件的构建设置。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)