Facebook SDK 导致 React Native 构建失败
Posted
技术标签:
【中文标题】Facebook SDK 导致 React Native 构建失败【英文标题】:Facebook SDK causes React Native build to fail 【发布时间】:2016-11-07 21:45:26 【问题描述】:我的团队正在使用 React Native 构建我们的第一个 ios 应用。出于某种原因,仅在我的 Mac 上运行 react-native run-ios
后构建失败。自从我们使用 react-native-fbsdk
添加 Facebook 身份验证后,这种情况就一直在发生。
我们都在运行 node -v 7.0 和最新版本的 Xcode。我什至尝试在本地删除 repo 并将其克隆回来。作为一个实验,我团队的另一名成员在本地删除了他的 repo,将其克隆回来,并且能够让一切正常运行。我们挨着坐,做了完全相同的步骤,这对他有效,但对我无效。
以下是我在终端中收到的错误消息:
** BUILD FAILED **
The following build commands failed:
CompileC /Users/philmok/js_projects/pLot/ios/build/Build/Intermediates/RCTFBSDK.build/Debug-iphonesimulator/RCTFBSDK.build/Objects-normal/x86_64/RCTFBSDKGraphRequestManager.o RCTFBSDK/core/RCTFBSDKGraphRequestManager.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)
Installing build/Build/Products/Debug-iphonesimulator/pLot.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2):
Failed to install the requested application
An application bundle was not found at the provided path.
Provide a valid path to the desired application bundle.
Print: Entry, ":CFBundleIdentifier", Does Not Exist
Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/pLot.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist
根据this question 上的答案,我尝试运行react-native upgrade
。这将允许构建完成,但会阻止 Facebook 身份验证工作。
【问题讨论】:
【参考方案1】:确保您已下载用于 fb 登录的 FBSDK。将它放在您的文档文件夹中,然后在 xcode 中打开您的项目。在左侧菜单中单击您的项目并选择构建设置选项卡,在文档中为您的 FBSDK 提供“框架路径”路径。
【讨论】:
你应该在 android 中为此做什么? @ShariqMusharaf 不确定,这是特定于 iOS 的。我还没有在 Android 上尝试过【参考方案2】:添加
pod 'FBSDKCoreKit'
pod 'FBSDKLoginKit'
pod 'FBSDKShareKit'
到你的Podfile
然后pod install
【讨论】:
【参考方案3】:您是否完成了所有配置步骤?这是很好的介绍,一步一步如何添加 facebook sdk 来响应原生应用程序:https://github.com/magus/react-native-facebook-login。顺便提一句。如果可以的话,我建议使用这个库,我在使用官方 facebook sdk 时遇到了很多问题,移到那个库,一切正常。
【讨论】:
我的团队成员已经在使用官方的 React Native fbsdk 并且它适用于所有人。切换到另一个库不是一种选择 您是否尝试从xCode
运行应用程序?有时您必须手动设置BundleIdentifier
(xCode
-> General
-> Bundle Indentifier
类似于 com.myproject
)
是的,捆绑标识符已设置以上是关于Facebook SDK 导致 React Native 构建失败的主要内容,如果未能解决你的问题,请参考以下文章
操作无法完成 com.facebook.sdk 错误 3 - IOS-react-native-FBSDK
如何获取用于 react-native-fbsdk 模块的 Facebook SDK 版本
React Native:facebook-android-sdk 依赖构建错误
如何在 react native 和 facebook sdk 中管理用户帐户状态?
react-native-fbsdk / Facebook iOS SDK - 未定义不是对象(评估'LoginManager.logInWithReadPermissions')