2015-11-16 21 views
18

với iOS9 ứng dụng openURL: sourceApplication: chú thích bị phản đốiFBSDKApplicationDelegate ứng dụng openURL: sourceApplication: chú thích bị phản đối

func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject?) -> Bool { 
    return FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation) 
} 

vì vậy bây giờ chúng ta nên sử dụng;

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

FBSDKApplicationDelegate những gì để đặt cho tham số sourceApplication (String)

Trả lời

32
func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool 
{ 
    return FBAppCall.handleOpenURL(url, sourceApplication: options["UIApplicationOpenURLOptionsSourceApplicationKey"] as! String) 
} 

nếu bạn có param chú thích trong SDK của bạn vượt qua như nil

New SDK

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

Cập nhật 2017/04/06: Xcode 8.3, FBSDKCoreKit 4.20.2

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) 
} 
+4

tôi sử dụng mới FB SDK để nó là như thế này, nhưng đối với phần còn lại nó đang làm việc, Cảm ơn! ứng dụng func (ứng dụng: UIApplication, url openURL: NSURL, tùy chọn: [String: AnyObject]) -> Bool { trả về FBSDKApplicationDelegate.sharedInstance(). Application (app, openURL: url, sourceApplication: options ["UIApplicationOpenURLOptionsSourceApplicationKey"] như! String !, chú thích: nil) } –

+1

FBAppCall ở đây là gì? –

+0

Trong fbsdk cũ, lớp FBAppCall được sử dụng.Nhưng nếu bạn thử với fbsdk mới, hãy gọi FBSDKApplicationDelegate.sharedInstance(). Application (app, openURL: url, sourceApplication: options ["UIApplicationOpenURLOptionsSourceApplicationKey"] as! String !, chú thích: nil) –

4

Sau đây sử dụng trên trang web facebook đến (Jan 1, 2017)

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool { 
     let handled = FBSDKApplicationDelegate.sharedInstance().application(app, 
         open: url, 
         sourceApplication: options[UIApplicationOpenURLOptionsKey.sourceApplication] as! String?, 
         annotation: options[UIApplicationOpenURLOptionsKey.annotation]) 

     return handled 
} 
Các vấn đề liên quan