有没有办法使用NSUserDefaultsDidChangeNotification我可以通知我对常规设备设置所做的更改?
我不确定这里提到的是什么设置。它是否仅涉及应用程序特定设置或整体设备设置。
我想要做的是:如果用户打开/关闭wifi或蓝牙或其他任何设置,我想要通知。我有可能使用NSUserDefaultsDidChangeNotification ??
来做到这一点到目前为止,我能想到的是创建一个自定义通知,每次更改变量值时都会触发该通知。但是,在这种情况下,我将不得不继续轮询设置的值。
答案 0 :(得分:0)
来自NSUserDefaults class reference:
NSUserDefaults类为其提供编程接口 与默认系统交互。默认系统允许 应用程序以自定义其行为以匹配用户的首选项。 例如,您可以允许用户确定哪些单位 测量您的应用程序显示或文档的频率 自动保存。 应用程序通过分配来记录此类首选项 值为用户默认数据库中的一组参数。 参数被称为默认值,因为它们是常用的 确定应用程序在启动时的默认状态或其行为方式 默认情况下。
根据您要执行的操作,即监视wifi或蓝牙或其他设备设置,无法使用NSUserDefaults进行此操作。所以是的,你不能使用NSUserDefaultsDidChangeNotification。它更适用于您的特定应用的用户默认设置。
如何确定wifi:iPhone Wifi on or off?
对于蓝牙可用性,我认为您可以使用Core Bluetooth。对于其他设备设置,您需要逐个查找。