1

我想手動鏈接Facebook SDK,因爲我們不使用cocoapods &不想實現它。但由於某些原因,當我們在buddybuild上構建應用程序時,它會失敗。如果我將sdk文件夾放入react-native項目中,Facebook sdk無法工作?

我所做放在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和把它放在文件夾裏。

回答

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」文件夾下,以便它可以在持續集成系統上工作。

您可以找到有關此in our react-native documentations的更多信息。

請讓我知道這是否有幫助!

相關問題