openURL 回调?
Posted
技术标签:
【中文标题】openURL 回调?【英文标题】:openURL Callback? 【发布时间】:2016-02-22 05:35:37 【问题描述】:用户拒绝位置,我将用户发送到设置应用程序上的位置设置:
UIApplication.sharedApplication().openURL(NSURL(string:"prefs:root=LOCATION_SERVICES")!)
用户从“设置”应用授权位置,返回到我的应用,左上角有Back to App
我怎么知道他回到了应用程序? viewDidAppear
不起作用
【问题讨论】:
发生了什么?... 你找到解决办法了吗?,你可以回答这个问题 【参考方案1】:您可以通过检查AppDelegate's
方法轻松检测:-
func applicationWillEnterForeground(application: UIApplication!)
或者通过NSNotificationCenter
:-
NSNotificationCenter.defaultCenter().addObserver(self, selector: "applicationWillEnterForeground", name: UIApplicationWillEnterForegroundNotification, object: nil)
//calling selector method
func applicationWillEnterForeground()
println("did enter foreground")
【讨论】:
【参考方案2】:试试UIApplicationDelegate applicationDidBecomeActive
。
【讨论】:
【参考方案3】:在你的 viewController 中使用 NSNotificationCenter
在 viewDidLoad 上调用它
- (void)registerAppEnterForeground
[[NSNotificationCenter defaultCenter]
addObserver:self
selector:@selector(applicationWillEnterForeground)
name:UIApplicationWillEnterForegroundNotification
object:nil];
-(void)applicationWillEnterForeground
/*HANDLE YOUR CODE HERE*/
【讨论】:
以上是关于openURL 回调?的主要内容,如果未能解决你的问题,请参考以下文章
iOS AppDelegate.m:处理 openUrl RCTLinkingManager 和 Twitter - 方法 'application:openURL:options:' 的重复声明
'openURL'在iOS 10.0中已被弃用:请使用openURL:options:completionHandler:而不是在Swift 3中[重复]