Gre*_*sek 25 home-automation ipad ios swift
我正在构建家庭自动化系统,我选择iPad作为主要的集线器/桥接设备来控制大量的蓝牙设备(一些使用RFDuino定制).
iPad(iOS 8.4.1)安装在墙上并一直插入充电器.
我需要选择正确的方法让应用程序一直运行来控制设备并接收更新,触发事件等.
问题是:有没有办法可以屏幕禁用屏幕?将其调暗不够好; 最好是屏幕关闭,就像锁定的设备状态一样.
简单来说,我可以使用黑屏保护程序吗?
如果上面的答案是否定的:有没有办法强制应用程序永远在后台运行?
这里有一点需要强调.此应用程序不会转到Apple Store,因此解决方案可能是一个肮脏的解决方法
提前致谢
到目前为止测试:
let backgroundQueue = dispatch_get_global_queue(QOS_CLASS_BACKGROUND,0)
func applicationDidEnterBackground(application: UIApplication) {
application.beginBackgroundTaskWithName("myBgTask", expirationHandler: nil)
dispatch_async(self.backgroundQueue, myBackgroundTask)
}
func myBackgroundTask() {
NSThread.sleepForTimeInterval(1)
dispatch_async(self.backgroundQueue, myBackgroundTask)
}
Run Code Online (Sandbox Code Playgroud)
此方法使应用程序仅在后台运行3分钟.
不停寻找...
尝试UIApplicationExitsOnSuspend解决方案:
当你点击主页按钮时,iOS 4应用程序会被暂停.在此之前(iOS 3),他们会在每次打开应用程序时退出并重新启动 - 但是如果您没有使用主页按钮关闭应用程序,而是在iOS 3应用程序打开的情况下锁定设备,它将永远在后台运行.您可以通过将UIApplicationExitsOnSuspend密钥添加到信息plist 来将应用程序设置为这样,将值设置为YES.
您无法快速关闭并重新打开应用程序(每次使用主页按钮时都会重新启动),但如果您不经常与iPad交互,那么您可以在应用程序打开时锁定设备并且它将继续运行,直到iPad解锁或您打开另一个应用程序.
请注意,此解决方案对App Store有效,因为它使用官方Apple API.
| 归档时间: |
|
| 查看次数: |
4226 次 |
| 最近记录: |