我正在创建一个基于Swift的iOS应用程序,它结合了iBeacons,为WatchKit(OS 1)应用程序提供数据.应用程序根据信标CLProximity是否设置为.Near或将数据从JSON加载到tableView中.Immediate.iOS应用程序启动后,能够无问题地检测信标,填充变量,并使其可用于WatchKit应用程序.但是,当WatchKit应用程序尝试使用application:handleWatchKitExtensionRequestiOS尚未首先启动时从应用程序请求信标数据时,信标的对象将返回nil.我的假设是,当手机上的应用程序关闭时,打开父应用程序的WatchKit调用不会触发存储在AppDelegate中的信标范围代码.将信标初始化代码移动到application:handleWatchKitExtensionRequest该问题中并不能解决问题.
如何构建应用程序(一般来说,我知道足够的代码,我不一定需要逐行细分,但如果您认为它可以帮助其他人,您可以自由地执行此操作)其中:
我有一种感觉,我的解决方案的一部分在于DarwinNotification和注册观察者,这不是我以前曾经用过很多东西的东西,但是在StackOverflow上有足够的例子我可以实现它们,如果是这样的话.我想真正的问题是如何在尚未启动iOS应用程序时收集信标数据.
小智 1
如果有帮助,Apple WatchKit Tips 页面建议:
“iPhone 应用程序应该完成大部分工作。如果 Apple Watch 上的应用程序需要执行较长时间运行的后台任务,例如网络调用,您应该依靠 iPhone 应用程序来完成这项工作。使用 openParentApplication:reply: 方法WKInterfaceController 在后台唤醒您的 iPhone 应用程序并返回 WatchKit 扩展所需的数据。处理 WatchKit 请求的 UIApplicationDelegate 方法必须立即返回。如果需要异步调用,例如要执行网络,请使用后台任务来确保您的应用程序在有机会发送回复之前没有被暂停。”
查看它和链接的文档 - https://developer.apple.com/watchkit/tips/
| 归档时间: |
|
| 查看次数: |
221 次 |
| 最近记录: |