gpt4 book ai didi

ios - 从 WatchKit 调用时,MKMapSnapshotter completionHandler 从未在父应用程序中调用

转载 作者:行者123 更新时间:2023-11-29 01:57:58 25 4
gpt4 key购买 nike

我有一个奇怪的问题:我像往常一样使用 openParentApplication:reply: 调用父应用程序。

使用异步 NSURLRequests 从 Internet 获取一些数据的工作做得很好,但是当我想使用 MKMapSnapshotter 获取 map 图像时(仍在父应用程序中)它的完成 block 永远不会被调用。

MKMapSnapshotter *snapshotter = [[MKMapSnapshotter alloc] initWithOptions:options];
[snapshotter startWithCompletionHandler:^(MKMapSnapshot *snapshot, NSError *error) {
NSLog(@"completion handler is called"); //this never called
};

我尝试调用:snapshotter startWithQueue:on dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0)dispatch_get_main_queue() 等,但似乎什么都没有工作。

如果我直接从 WKInterfaceController 或父应用程序调用相同的代码,它就可以正常工作。

最佳答案

我认为您无法按照您想要的方式调用/使用MKMapSnapshooter。当您使用 openParentApplication 发出请求时,它会在后台模式下打开您的父应用程序,并且 MKMapSnapshooter 需要前台模式来提供最终图像。

根据苹果文档:

The snapshotter delivers the final image to your app only when it is running in the foreground. The snapshotter must render the final image while your app is in the foreground. If you start generating a snapshot while the app is in the background, or if your app moves to the background while a snapshot is in progress, this behavior delays the delivery of the snapshot until your app returns to the foreground.

关于ios - 从 WatchKit 调用时,MKMapSnapshotter completionHandler 从未在父应用程序中调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30644997/

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