gpt4 book ai didi

ios - openParentApplication 仅在应用程序在前台运行时有效

转载 作者:可可西里 更新时间:2023-11-01 05:03:45 32 4
gpt4 key购买 nike

我正在尝试使用 openParentApplication 从服务器请求数据并在 watch 扩展中使用它,但是当主应用程序未在前台运行时我没有得到任何回复。当主应用程序在前台运行时,一切正常。

最佳答案

我之前遇到过这个问题,原因是您没有注册长时间运行的后台操作,系统将其终止。这就是我的排序方式,请参阅评论以获取解释,这一切都在 AppDelegate 文件中,并且很快,但您可以轻松地将其移植到 Objective-c:

private var backgroundTask: UIBackgroundTaskIdentifier = UIBackgroundTaskInvalid

func registerBackgroundTask() {
backgroundTask = UIApplication.sharedApplication().beginBackgroundTaskWithExpirationHandler {
[unowned self] in
self.endBackgroundTask()
}
assert(backgroundTask != UIBackgroundTaskInvalid)
}

func endBackgroundTask() {
UIApplication.sharedApplication().endBackgroundTask(backgroundTask)
backgroundTask = UIBackgroundTaskInvalid
}

// MARK: - Watch Kit
func application(application: UIApplication, handleWatchKitExtensionRequest userInfo: [NSObject : AnyObject]?, reply: (([NSObject : AnyObject]!) -> Void)!) {

registerBackgroundTask()

// Fetch the data from the network here
// In the competition handler you need to call:
// the nil can be replaced with something else you want to pass back to the watch kit
reply(nil)
if self.backgroundTask != UIBackgroundTaskInvalid {
self.endBackgroundTask()
}
}

关于ios - openParentApplication 仅在应用程序在前台运行时有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30703590/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com