gpt4 book ai didi

swift - 使用 Dropbox SDK 时无法调用 AppDelegate openURL( )

转载 作者:行者123 更新时间:2023-11-28 06:56:43 25 4
gpt4 key购买 nike

我正在尝试将 Dropbox 身份验证添加到我的应用程序,但它向我显示此错误:

DropboxSDK: app delegate does not implement application:openURL:sourceApplication:annotation:

下面是我的应用委托(delegate)中的代码:

let dbSession = DBSession(appKey: dbAppKey, appSecret: dbAppSecret, root: kDBRootDropbox)
DBSession.setSharedSession(dbSession)

func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool {

if DBChooser.defaultChooser().handleOpenURL(url){
return true
}
else if DBSession.sharedSession().handleOpenURL(url){

if DBSession.sharedSession().isLinked(){
return true
}
}
return false
}

我创建了一个 NSObject 用于身份验证和处理与 Dropbox API 相关的其他操作。下面是我的验证码:

if !DBSession.sharedSession().isLinked(){
DBSession.sharedSession().linkFromController(viewController)
}
else{
delegate.authenticationStatus!(true, error: nil)
}

成功登录后出现此错误。我还在我的 plist 中设置了 LSApplicationQueriesSchemes 并添加了 URL 类型。我找不到哪里出错了。

我也在尝试检查 Dropbox 应用程序是否存在或未使用

if UIApplication.sharedApplication().canOpenURL(NSURL(string: "dbapi-1://")!){
}

但它给我以下错误:

canOpenURL: failed for URL: "dbapi-1://" - error: "(null)"
canOpenURL: failed for URL: "dbapi-2://1/connect" - error: "(null)"

我们将不胜感激。

提前致谢。

最佳答案

您的应用委托(delegate)似乎实现了与 SDK 预期不同的 openURL 签名。

改为将签名改为:

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

请注意,此方法已在 iOS 9 SDK 中标记为已弃用。不过,它将继续按预期工作一段时间。

关于swift - 使用 Dropbox SDK 时无法调用 AppDelegate openURL( ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33428963/

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