首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TodayWidget openURL多次触发应用程序:openURL

TodayWidget openURL多次触发应用程序:openURL
EN

Stack Overflow用户
提问于 2014-09-12 14:50:24
回答 1查看 776关注 0票数 0

我今天用Tableview编写了一个简单的扩展。在didSelectRowAtIndexPath:上,我打开我的应用程序:

[self.extensionContext openURL:url completionHandler:nil];

这在大多数情况下都是好的。但有时(大多数情况下,应用程序没有在后台运行),应用程序会崩溃。对于我的应用程序来说,url计划并不是什么新鲜事,到目前为止效果还不错。

我发现在这些情况下,application:openURL:sourceApplication:annotation:applicationDidBecomeActive:将被多次触发。

是有人有同样的问题,还是可以观察到同样的行为?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-09-13 15:48:41

我复制了这个版本,结果发现iOS 8和Google都有问题。

在通过一次技术支持事件与苹果工程师解决了这一问题之后,最新的信息是,当您的应用程序被终止,然后从小部件打开,Google标记管理器通过调用其方法初始化时,问题就会发生:

代码语言:javascript
复制
self.container = [future get];

在谷歌的“开始”页面上,他们建议将这段代码放入application:didFinishLaunchingWithOptions方法中。

但是,将代码放在这里显然会旋转UIKit运行循环,这意味着在您的AppDelegate中,您将看到这两个方法被快速地连续调用两次:

代码语言:javascript
复制
- (BOOL) application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

- (BOOL) application:(UIApplication *)application openURL:(NSURL *)url

如果应用程序是后台的,而不是终止的,则不会观察到这种行为。

无论这是iOS 8中的bug还是Google中的bug,这仍然是TBC的问题,但在此期间,您最好将GTM初始化代码从AppDelegate中删除,并在应用程序中的其他地方执行。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25811062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档