React-Native FBSDK LoginButton 仅在 iOS 中崩溃应用程序

Posted

技术标签:

【中文标题】React-Native FBSDK LoginButton 仅在 iOS 中崩溃应用程序【英文标题】:React-Native FBSDK LoginButton crashes app in iOS only 【发布时间】:2018-03-06 12:54:07 【问题描述】:

我正在我的应用程序上设置 react-native-fbsdk,我能够配置所有内容并修复所有出现的错误,但现在每当我从 FBSDK 中单击 LoginButton 时,我的应用程序在 ios 中崩溃,但在 android 中一切正常。

这是我尝试做的:

更改publishPermissions to readPermissions;

在 AppDelegate.m 中添加 #import <FBSDKLoginKit/FBSDKLoginKit.h>

将 iOS SDK 升级到 v4.31.0 并更改 info.plist

到:

<key>FacebookAppID</key>
<string>000000000000</string>
<key>FacebookDisplayName</key>
<string>AppName</string>
<key>LSApplicationQueriesSchemes</key>
<array>
    <string>fbapi</string>
    <string>fb-messenger-share-api</string>
    <string>fbauth2</string>
    <string>fbshareextension</string>
</array>
从 0 重新安装 fbsdk 包。

在调试模式下行为相同,没有任何错误。

我还能做些什么来解决这个问题?

【问题讨论】:

您使用的 xcode 版本是多少?您是否尝试使用 xcode 运行并检查调试控制台? 我使用的是 9.2 版的 xcode。我像你说的那样运行 xcode 并得到以下错误:“原因:'fb172231600071063 未注册为 URL 方案。请将其添加到您的 Info.plist 中'” 尝试将此值添加到 info.plist 的 LSApplicationQueriesSchemes 部分。几天前我遇到了同样的问题。 LSApplicationQueriesSchemes ... fb172231600071063 也许错误会持续存在,但值不同。继续插入 xcode 要求的内容。 感谢 Rafael,这实际上解决了我的问题。我正在遵循一个没有该步骤的旧指南。再次感谢! 【参考方案1】:

在我的 info.plist 中添加 @Rafael Motta 答案解决了我的问题:

  <key>CFBundleURLTypes</key>
  <array>
    <dict>
      <key>CFBundleURLSchemes</key>
      <array>
        <string>fb[app-id]</string>
      </array>
    </dict>
  </array>

【讨论】:

以上是关于React-Native FBSDK LoginButton 仅在 iOS 中崩溃应用程序的主要内容,如果未能解决你的问题,请参考以下文章

React-native fbsdk 获取名称和电子邮件

React-Native FBSDK LoginButton 仅在 iOS 中崩溃应用程序

react-native run-android失败,出现“Task:app:compileDebugJavaWithJavac FAILED”安装后的react-native-fbsdk

如何找到与我的 react native 版本兼容的 fbsdk 版本?

React-Native 无法构建项目

FB SDK 错误:登录失败(react-native)