Ahm*_*gle 3 apple-push-notifications nsoperationqueue grand-central-dispatch ios
这是我的应用场景:当用户滑动通知时,我将通过URL启动一些其他应用.因此,当通知到达时,它基本上会启动其他应用程序.
目前处理滑动通知方案的时候
- (BOOL)application:(UIApplication *)app didFinishLaunchingWithOptions:(NSDictionary *)
Run Code Online (Sandbox Code Playgroud)
方法被调用,在这个方法中,我调用processNotification:方法,其中包含:
...
[[UIApplication sharedApplication] openURL:url];
...
Run Code Online (Sandbox Code Playgroud)
url则打开完全正常.url则在后台打开,但当前查看的应用程序是我的应用程序.例如,如果我url是tel:123-456-7890,iOS启动呼叫(你可以听到声音)但活动的应用程序不是Phone.app,它是我的应用程序.这对我来说似乎很奇怪.但是,如果我等待UI加载,然后调用processNotification:它,它会Phone.app正确显示窗口.(平台中的错误?因为调用发生但我的UI位于顶部.)
我需要一种方法来延迟执行此processNotification:调用(可能通过操作队列),直到加载视图控制器.否则,我的应用程序将保持在最顶层,并在后台打开URL.
我遇到了同样的问题,我openURL进入了main_queue它,似乎工作正常.我甚至没有做出改变didBecomeActive
dispatch_async(dispatch_get_main_queue(), ^(void){
[[UIApplication sharedApplication] openURL:url];
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2884 次 |
| 最近记录: |