我在 iOS 9 上使用 Facebook Messenger SDK,但无法共享。即使我在我的 iPhone 上安装了 Facebook Messenger,它也好像不存在一样。
以下行将返回 0: FBSDKMessengerSharer.messengerPlatformCapabilities()
我想提一下,一切都在 iOS 8 上正常运行。
最佳答案
如果您使用任何可以将应用程序切换到 Facebook 应用程序的 Facebook 对话框(例如,登录、共享、应用程序邀请等),您将需要更新应用程序的 plist 以处理 https://developer.apple.com/videos/wwdc/2015/?id=703 中描述的 canOpenURL 更改.
如果您使用 iOS SDK 9.0 重新编译,如果您使用的是 SDK v4.5 或更早版本,请将以下内容添加到应用程序的 plist 中:
<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>
如果您使用的是早于 v4.6 版本的 FBSDKMessengerShareKit,请同时添加
<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 个不同的方案(调用 canOpenURL 之后返回 NO)。
关于ios - Facebook Messenger 无法使用 Swift 在 iOS 9 中打开 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31802662/