应用程序openURL函数未在AppDelegate中调用

时间:2016-04-25 16:13:30

标签: ios swift oauth authorization

所以,在我的Swift应用程序中,我正在使用this sdk进行SoundCloud身份验证。我将重定向URI设置为info.plist中的appname,并将SoundCloud重定向URI设置为SC网站上的appname://授权。但是,登录后我的app委托中的函数没有被调用。我有什么遗漏吗?

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool {
    print("function called")

    return true
}

这是我应该实现的正确功能吗?

2 个答案:

答案 0 :(得分:0)

该方法已被弃用。

https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623073-application

使用应用程序(_:open:options :)代替: https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1623112-application

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any]) -> Bool {
    return true
}

答案 1 :(得分:0)

对于iOS 13,您还必须选择退出窗口场景以调用该应用程序委托的方法。

如果没有,那么场景代理有相应的方法

 - (void)scene:(UIScene *)scene openURLContexts:(NSSet<UIOpenURLContext *> *)URLContexts

显然还不够:

信用:https://stackoverflow.com/a/60022010/8517882