【发布时间】:2018-05-10 12:01:21
【问题描述】:
在 iOS 11 之前,我一直使用 SLComposeViewController 与 Facebook 共享,但现在它已被弃用。
所以我已将 Facebook SDK 的 ShareDialog 添加到我的项目中。
如果 Facebook 应用已安装,则共享过程成功完成,但如果 Facebook 应用未安装,Facebook SDK 会抛出 EXC_BAD_ACESS。您可以看到它崩溃的屏幕。崩溃发生在SDKSharingDelegateBridge.swift 类中。
如果未安装应用程序,它应该打开 WebView 或给出一些错误。它不应该崩溃并且不会给我任何错误。
由于没有崩溃日志,我只有EXC_BAD_ACCESS。
我的环境:
- XCode 9.3
- 斯威夫特 3.3
- iOS 11.3
- FacebookShare (0.3.0)(来自 CocoaPods)
有人遇到过这种情况吗?已经谢谢了。
以下是从官方文档复制的应用程序的代码 sn-p。 (https://developers.facebook.com/docs/swift/sharing/share-dialog)
var shareContent: LinkShareContent?
if let urlstring = urlStr, let url = URL(string: urlstring) {
shareContent = LinkShareContent(url: url, quote: initialText)
}
let shareDialog = ShareDialog(content: shareContent!)
shareDialog.mode = .native
shareDialog.failsOnInvalidData = true
shareDialog.completion = { result in
// Handle share results
}
do {
try shareDialog.show()
}
catch {
}
【问题讨论】:
-
请发布实际错误而不是它的图像。
-
这是实际错误,它没有提供任何日志,正如我在帖子中所说的那样。
-
@Khushbu 这对我来说不是这样。 Share 对我有用,我的 pod 是最新的。如果在使用共享对话框时未安装 Facebook 应用程序,Facebook SDK 会崩溃,这对我来说就是这种情况。
-
能否贴出用于添加 SDK 的代码?
标签: ios swift facebook-ios-sdk facebook-share