通过iOS 8 Widget断开蓝牙设备的连接

时间:2014-09-27 00:55:55

标签: ios objective-c xcode ios-app-extension

我正在开发一款适用于iOS应用并使用CoreBluetooth的蓝牙低功耗(4.0)设备。我已经成功创建了这个应用程序,它可以很好地与设备进行交互。但是,现在iOS 8允许开发人员实现自定义小部件,我想在UINotification“今天”中心显示“断开连接”按钮。

问题在于:我相信我已经读过,在小部件和应用程序之间无法进行通信,这意味着小部件具有自己的容器。这也意味着我无法访问应用程序中的蓝牙对象,该应用程序从小部件本身保存对我的蓝牙设备的引用,以便断开对象。我能够在widget类中创建一个新的蓝牙对象,并从iOS系统中检索蓝牙连接,但即使我此时断开了BT设备,它仍然会在应用程序中保留一个引用。

任何人都可以提出任何有关我想要做的事情的见解吗?

1 个答案:

答案 0 :(得分:2)

您可以使用shared NSUserDefaults database在应用和扩展程序之间传输数据。您可能也对NSUserDefaults key value observing感兴趣。

应用扩展程序意味着独立于其包含的应用程序,我不确定它们是否用于此目的。

但是,另一种选择是为您的包含应用实施custom URL scheme,然后使用openURL打开包含的应用并执行断开操作(或其他任何您喜欢的内容)扩展做)。