Ios Facebook登录-无法转换类型为';URL';到预期的参数类型';网址';

Ios Facebook登录-无法转换类型为';URL';到预期的参数类型';网址';,ios,xcode,facebook,login,swift3,Ios,Xcode,Facebook,Login,Swift3,豆荚 使用FBSDKCoreKit(4.23.0) 使用FBSDKLoginKit(4.23.0) 我无法通过此函数,因为我无法将URL转换为URL!。我确实试着用它来铸造!但它不能让我通过。我在散文中错过了什么吗 干杯 PS:我确实为此创建了一个报告,但他们似乎没有定期检查他们的github回购协议 在swift 3.0中,openURL的方法签名为: 打开url:url 查看此帖子。在swift 3.0中,使用此方法打开由url标识的资源: func application(_ ap

豆荚

  • 使用FBSDKCoreKit(4.23.0)
  • 使用FBSDKLoginKit(4.23.0)
我无法通过此函数,因为我无法将URL转换为URL!。我确实试着用它来铸造!但它不能让我通过。我在散文中错过了什么吗

干杯


PS:我确实为此创建了一个报告,但他们似乎没有定期检查他们的github回购协议

在swift 3.0中,openURL的方法签名为: 打开url:url


查看此帖子。

在swift 3.0中,使用此方法打开由url标识的资源:

  func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
    <#code#>
}
func应用程序(application:UIApplication,open url:url,sourceApplication:String?,annotation:Any)->Bool{
}

您可能使用了错误的方法

这是使用FBSDK的非常标准的东西。你应该使用

func应用程序(app:UIApplication,打开url:url,选项:[uiApplicationOpenUrlOptions:Any]=[:])->Bool{}

归来

应用程序(应用程序,打开:url,源应用程序:源应用程序,注释:nil)

通常,该函数在AppDelegate中应如下所示-

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

        let sourceApplication: String? = options[UIApplicationOpenURLOptionsKey.sourceApplication] as? String
        return FBSDKApplicationDelegate.sharedInstance().application(app, open: url, sourceApplication: sourceApplication, annotation: nil)

    }
另外,假设您有这个选项,在您的
didfishlaunchingwithoptions

 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions)

        return true
    }
另外,你应该使用Facebook的Swift播客-

pod 'FacebookCore'
pod 'FacebookLogin'
pod 'FacebookShare'

有关更多信息,请参阅。

在我发现应用程序方法中使用的URL类之前,我遇到了相同的问题

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool
指向我定义的实用程序类。我不得不将我的URL类重命名为APP_URL,问题就消失了


毁了我两个小时的生活。

将URL转换为URL意味着什么????我不知道。。我试着把它作为URL来使用!但它不是工人,代码截图…:/你能不能在问题中加入实际的代码,让它更具可读性?还有,为什么你认为你需要转换到
URL,它甚至不是实际的类型?你知道optionals和强制展开,是吗?根据我在SDK文档中看到的内容,您应该只传递一个普通的、非可选的URL实例,我需要了解您如何调用这些方法以了解导致错误的原因。现在它显示“无法将“URL”类型的值转换为预期的“URL!”。我尝试使用as URL转换URL!但是它不起作用。请把声明寄给我。你是如何尝试转换的?确实尝试过,但没有成功。在我最初的问题中发布了一个截图。干杯