1

我想手动链接 Facebook SDK,因为我们不使用 cocoapods 并且不想实现它。但是由于某种原因,当我们在 buddybuild 上构建我们的应用程序时,它会失败。

我所做的是将 FacebookSDK 文件夹放在里面(不是我知道的最佳解决方案):

ios/<ProjectName>/FacebookSDK

我将此文件夹(添加$(SRCROOT)/ios/<ProjectName>/FacebookSDK)到框架搜索标题路径中,它似乎仍然抛出错误。

1850
    ▸ Compiling RCTFBSDKShareDialog.m
1851
    » In file included from node_modules/react-native-fbsdk/ios/RCTFBSDK/share/RCTFBSDKShareDialog.m:19:
1852
    ✗ node_modules/react-native-fbsdk/ios/RCTFBSDK/share/RCTFBSDKShareDialog.h:21:9: fatal error: 'FBSDKShareKit/FBSDKShareKit.h' file not found
1853
    » #import <FBSDKShareKit/FBSDKShareKit.h>
1854
    »         ^
1855
    ▸ Compiling RCTFBSDKAppEvents.m
1856
    » In file included from node_modules/react-native-fbsdk/ios/RCTFBSDK/core/RCTFBSDKAppEvents.m:19:
1857
    ✗ node_modules/react-native-fbsdk/ios/RCTFBSDK/core/RCTFBSDKAppEvents.h:21:9: fatal error: 'FBSDKCoreKit/FBSDKCoreKit.h' file not found
1858
    » #import <FBSDKCoreKit/FBSDKCoreKit.h>
1859
    »         ^
1860
    ** BUILD FAILED **
1861
    The following build commands failed:
1862
        CompileC /tmp/sandbox/582d62aa1d76fc0100f1f6dd/bbbuild/Build/Intermediates/RCTFBSDK.build/Release-iphoneos/RCTFBSDK.build/Objects-normal/armv7/RCTFBSDKAppEvents.o RCTFBSDK/core/RCTFBSDKAppEvents.m normal armv7 objective-c com.apple.compilers.llvm.clang.1_0.compiler
1863
    (1 failure)

对我能做什么有什么想法吗?如果我们现在可以使用这个解决方案,那就太好了,这样所有开发人员(和 buddybuild CI)都可以提取它,而不必下载 SDK 并将其放在文档文件夹中。

4

1 回答 1

3

这通常是由于 FBSDK 依赖项的位置配置不正确的存储库造成的。

如果你看看:https ://github.com/facebook/react-native-fbsdk/blob/master/ios/RCTFBSDK.xcodeproj/project.pbxproj

您会注意到 RCTFBSDK 将在以下两个位置之一中查找依赖项:

~/Documents/FacebookSDK
$(PROJECT_DIR)/../../../ios/Frameworks

第二个选项是 buddybuild 等持续集成系统的正确选项。

换句话说,您必须将 FBSDK 依赖项放在“ios/Frameworks”文件夹下,以便它在持续集成系统上工作。

您可以在我们的 react-native 文档中找到有关此的更多信息。

请让我知道这可不可以帮你!

于 2017-11-10T15:33:49.050 回答