2015-08-04 4 views
1

Я использую Facebook Messenger SDK на iOS 9, но обмен не будет работать. Даже если у меня установлен Facebook Messenger на моем iPhone, он действует так, как будто этого не будет.Facebook Messenger не может открыть URL-адрес в iOS 9 с помощью Swift

Следующая строка будет возвращать 0: FBSDKMessengerSharer.messengerPlatformCapabilities()

Я хочу отметить, что все правильно работало на прошивке 8.

ответ

1

Отвечая на мой собственный вопрос: Вещи со схемами URL немного изменились бит в iOS 9, вам нужно добавить схему URL-адреса Facebook Messenger в виде «белого списка» для вашего приложения.

Вы можете найти более подробную информацию здесь: iOS 9 not opening Instagram app with URL SCHEME

0

Пожалуйста, добавьте эти строки в AppDelegate класса

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 
     FBSDKApplicationDelegate.sharedInstance().application(application, didFinishLaunchingWithOptions: launchOptions) 

     return true 
    } 



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

    return FBSDKApplicationDelegate.sharedInstance().application(application, openURL: url, sourceApplication: sourceApplication, annotation: annotation) 
    } 

func applicationDidBecomeActive(application: UIApplication) { 
     FBSDKAppEvents.activateApp() 


    } 

И убедитесь, что ли вы добавили эти данные .plist

<key>NSAppTransportSecurity</key> 
<dict> 
    <key>NSAllowsArbitraryLoads</key> 
     <true/> 
</dict> 
2

If вы используете любой из диалоговых окон Facebook (например, Login, Share, App Invites и т. д.), которые могут выполнять переход к приложениям Facebook, вам нужно будет обновить свое приложение на plist для обработки изменений в canOpenURL, описанных в https://developer.apple.com/videos/wwdc/2015/?id=703.

Если вы перекомпиляции с прошивкой SDK 9.0, добавьте следующие строки в PLIST вашего приложения, если вы используете версию SDK v4.5 и старше:

<key>LSApplicationQueriesSchemes</key> <array> <string>fbapi</string> <string>fbapi20130214</string> <string>fbapi20130410</string> <string>fbapi20130702</string> <string>fbapi20131010</string> <string>fbapi20131219</string> <string>fbapi20140410</string> <string>fbapi20140116</string> <string>fbapi20150313</string> <string>fbapi20150629</string> <string>fbapi20160328</string> <string>fbauth</string> <string>fbauth2</string> <string>fb-messenger-api20140430</string> </array> 

Если вы используете FBSDKMessengerShareKit от версий старше выпуска v4.6, а также добавить

<string>fb-messenger-platform-20150128</string> <string>fb-messenger-platform-20150218</string> <string>fb-messenger-platform-20150305</string> 

Если вы используете v4.6.0 или выше из SDK, вам нужно только добавить:

<key>LSApplicationQueriesSchemes</key> <array>  <string>fbapi</string>  <string>fb-messenger-api</string>  <string>fbauth2</string>  <string>fbshareextension</string> </array> 

Это позволит интеграции FacebookSDK правильно идентифицировать установленные приложения Facebook для выполнения переключения приложения. Если вы не перекомпилируете iOS SDK 9.0, ваше приложение ограничено 50 различными схемами (вызовы tocanOpenURL впоследствии возвращают NO).

 Смежные вопросы

  • Нет связанных вопросов^_^