React本机facebook iOS sdk构建失败

时间:2016-08-15 21:50:18

标签: ios xcode linker react-native react-native-fbsdk

我已经按照Facebook开发者指南中列出的所有指南为iOS做出反应原生sdk,但我还是无法构建应用。附上我的配置和构建日志的屏幕截图

enter image description here

  

Ld /Users/alaaattya/Library/Developer/Xcode/DerivedData/Alnomad-fcoerljazsnnxbggcygydgyxmimr/Build/Products/Debug-iphonesimulator/Alnomad.app/Alnomad normal x86_64       cd / Applications / MAMP / htdocs / marscodes / alnomad-ios / ios       export IPHONEOS_DEPLOYMENT_TARGET = 8.0       export PATH =" /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/ usr / local /箱:在/ usr / bin中:/ bin中:/ usr / sbin目录:/ sbin目录"       /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator9。 3.sdk -L / Users / alaaattya / Library / Developer / Xcode / DerivedData / Alnomad-fcoerljazsnnxbggcygydgyxmimr / Build / Products / Debug-iphonesimulator -F / Users / alaaattya / Library / Developer / Xcode / DerivedData / Alnomad-fcoerljazsnnxbggcygydgyxmimr / Build /产品/调试-iphonesimulator -F /应用程序/ MAMP / htdocs / marscodes / alnomad-ios / ios /../ node_modules / react-native-facebook-login / FacebookSDK -F / Applications / MAMP / htdocs / marscodes / alnomad-ios / ios -F。 -FAlnomad -FAlnomadTests -Fbuild -FFacebookSDK -Fbuild / Build -Fbuild / Logs -FFacebookSDK / AccountKitStrings.bundle -FFacebookSDK / DocSets -FFacebookSDK / FacebookSDKStrings.bundle -FFacebookSDK / Samples -Fbuild / Logs / Build -FFacebookSDK / AccountKitStrings.bundle / Resources -FFacebookSDK / DocSets / FacebookAudienceNetworkSDK-4_13-for-iOS.docset -FFacebookSDK / DocSets / FacebookMes​​sengerShareKitSDK-1_3-for-iOS.docset -FFacebookSDK / DocSets / FacebookSDK-4_13-for-iOS.docset -FFacebookSDK / FacebookSDKStrings.bundle / Resources -FFacebookSDK / Samples / Configurations -FFacebookSDK / Samples / FBAudienceNetwork -FFacebookSDK / Samples / Iconicus -FFacebookSDK / Samples / RPSSample -FFacebookSDK / Samples / Scrumptious -FFacebookSDK / Samples / ShareIt -FFacebookSDK / Samples / SwitchUserSample -FFacebookSDK / DocSets / FacebookAudienceNetworkSDK-4_13 -for-iOS.docset / Contents -FFacebookSDK / DocSets / FacebookMes​​sengerShareKitSDK-1_3-for-iOS.docset / Contents -FFacebookSDK / DocSets / FacebookSDK-4_13-for-iOS.docset / Contents -FFacebookSDK / Samples / FBAudie nceNetwork / AdUnitsSample -FFacebookSDK / Samples / FBAudienceNetwork / NativeAdSample -FFacebookSDK / Samples / Iconicus / Configurations -FFacebookSDK / Samples / Iconicus / Iconicus -FFacebookSDK / Samples / RPSSample / RPSSample -FFacebookSDK / Samples / Scrumptious / scrumptious -FFacebookSDK / Samples / ShareIt / ShareIt -FFacebookSDK / Samples / SwitchUserSample / SwitchUserSample -FFacebookSDK / DocSets / FacebookAudienceNetworkSDK-4_13-for-iOS.docset / Contents / Resources -FFacebookSDK / DocSets / FacebookMes​​sengerShareKitSDK-1_3-for-iOS.docset / Contents / Resources -FFacebookSDK / DocSets / FacebookSDK-4_13-for-iOS.docset / Contents / Resources -FFacebookSDK / Samples / FBAudienceNetwork / AdUnitsSample / AdUnitsSample -FFacebookSDK / Samples / FBAudienceNetwork / NativeAdSample / NativeAdSample -FFacebookSDK / DocSets / FacebookAudienceNetworkSDK-4_13-for-iOS.docset / Contents /资源/文档-FFacebookSDK / DocSets / FacebookMes​​sengerShareKitSDK-1_3-for-iOS.docset / Contents / Resources / Documents -FFacebookSDK / DocSets / FacebookSDK-4_13-for-iOS.docset / Contents / Reso urces / Documents -FFacebookSDK / DocSets / FacebookAudienceNetworkSDK-4_13-for-iOS.docset / Contents / Resources / Documents / Classes -FFacebookSDK / DocSets / FacebookAudienceNetworkSDK-4_13-for-iOS.docset / Contents / Resources / Documents / Constants -FFacebookSDK / DocSets / FacebookAudienceNetworkSDK-4_13-for-iOS.docset / Contents / Resources / Documents / css -FFacebookSDK / DocSets / FacebookAudienceNetworkSDK-4_13-for-iOS.docset / Contents / Resources / Documents / img -FFacebookSDK / DocSets / FacebookAudienceNetworkSDK-4_13- for-iOS.docset / Contents / Resources / Documents / Protocols -FFacebookSDK / DocSets / FacebookMes​​sengerShareKitSDK-1_3-for-iOS.docset / Contents / Resources / Documents / Classes -FFacebookSDK / DocSets / FacebookMes​​sengerShareKitSDK-1_3-for-iOS.docset /目录/资源/文档/常量-FFacebookSDK / DocSets / FacebookMes​​sengerShareKitSDK-1_3-for-iOS.docset / Contents / Resources / Documents / css -FFacebookSDK / DocSets / FacebookMes​​sengerShareKitSDK-1_3-for-iOS.docset / Contents / Resources / Documents / img -FFacebookSDK / DocSets / FacebookMes​​sen gerShareKitSDK-1_3-for-iOS.docset / Contents / Resources / Documents / Protocols -FFacebookSDK / DocSets / FacebookSDK-4_13-for-iOS.docset / Contents / Resources / Documents / Classes -FFacebookSDK / DocSets / FacebookSDK-4_13-for- iOS.docset / Contents / Resources / Documents / Constants -FFacebookSDK / DocSets / FacebookSDK-4_13-for-iOS.docset / Contents / Resources / Documents / css -FFacebookSDK / DocSets / FacebookSDK-4_13-for-iOS.docset / Contents /资源/文件/ img -FFacebookSDK / DocSets / FacebookSDK-4_13-for-iOS.docset / Contents / Resources / Documents / Protocols -F / Applications / MAMP / htdocs / marscodes / alnomad-ios / ios / FacebookSDK -filelist / Users / alaaattya / Library / Developer / Xcode / DerivedData / Alnomad-fcoerljazsnnxbggcygydgyxmimr / Build / Intermediates / Alnomad.build / Debug-iphonesimulator / Alnomad.build / Objects-normal / x86_64 / Alnomad.LinkFileList -Xlinker -rpath -Xlinker @ executable_path / Frameworks - mios-simulator-version-min = 8.0 -Xlinker -no_deduplicate -Xlinker -objc_abi_version -Xlinker 2 -ObjC -lc ++ -fobjc-arc -fobjc-link-runtime / Users /alaaattya/Library/Developer/Xcode/DerivedData/Alnomad-fcoerljazsnnxbggcygydgyxmimr/Build/Products/Debug-iphonesimulator/libReact.a / Users / alaaattya / Library / Developer / Xcode / DerivedData / Alnomad-fcoerljazsnnxbggcygydgyxmimr / Build / Products / Debug-iphonesimulator /libRCTActionSheet.a-framework FBSDKLoginKit /Users/alaaattya/Library/Developer/Xcode/DerivedData/Alnomad-fcoerljazsnnxbggcygydgyxmimr/Build/Products/Debug-iphonesimulator/libRCTGeolocation.a/ Users / alaaattya / Library / Developer / Xcode / DerivedData / Alnomad- fcoerljazsnnxbggcygydgyxmimr / Build / Products / Debug-iphonesimulator / libRCTImage.a /Users/alaaattya/Library/Developer/Xcode/DerivedData/Alnomad-fcoerljazsnnxbggcygydgyxmimr/Build/Products/Debug-iphonesimulator/libRCTLinking.a/ Users / alaaattya / Library / Developer / Xcode / DerivedData / Alnomad-fcoerljazsnnxbggcygydgyxmimr / Build / Products / Debug-iphonesimulator / libRCTNetwork.a / Users / alaaattya / Library / Developer / Xcode / DerivedData / Alnomad-fcoerljazsnnxbggcygydgyxmimr / Build / Products / Debug-iphonesimul ator / libRCTSettings.a -framework FBSDKShareKit /Users/alaaattya/Library/Developer/Xcode/DerivedData/Alnomad-fcoerljazsnnxbggcygydgyxmimr/Build/Products/Debug-iphonesimulator/libRCTText.a / Users / alaaattya / Library / Developer / Xcode / DerivedData / Alnomad -fcoerljazsnnxbggcygydgyxmimr / Build / Products / Debug-iphonesimulator / libRCTVibration.a /Users/alaaattya/Library/Developer/Xcode/DerivedData/Alnomad-fcoerljazsnnxbggcygydgyxmimr/Build/Products/Debug-iphonesimulator/libRCTWebSocket.a -lRNVectorIcons-framework FBSDKCoreKit -lRNI18n - lRCTFBSDK -Xlinker -dependency_info -Xlinker /Users/alaaattya/Library/Developer/Xcode/DerivedData/Alnomad-fcoerljazsnnxbggcygydgyxmimr/Build/Intermediates/Alnomad.build/Debug-iphonesimulator/Alnomad.build/Objects-normal/x86_64/Alnomad_dependency_info.dat- o /Users/alaaattya/Library/Developer/Xcode/DerivedData/Alnomad-fcoerljazsnnxbggcygydgyxmimr/Build/Products/Debug-iphonesimulator/Alnomad.app/Alnomad

     

ld:警告:自动链接在FacebookSDK / Bolts.framework / Bolts提供的FacebookSDK / Bolts.framework / Bolts',框架链接器选项不是dylib   架构x86_64的未定义符号:     " _OBJC_CLASS _ $ _ FBSDKHashtag",引自:         libRCTFBSDK.a中的objc-class-ref(RCTConvert + FBSDKSharingContent.o)   ld:找不到架构x86_64的符号   clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)

4 个答案:

答案 0 :(得分:5)

我最近对我的反应原生项目做了同样的事情,我花了很多时间才使它工作。

您的案例似乎是您未在项目文件夹中包含Bolts.frameworkFBSDKCoreKit.framework的依赖项)。我相信这就是Facebook官方文档建议大家将SDK文件保存在~/Documents中的原因,因此您不会错过相关文件,或者不得不在每个项目上复制这些文件

以下是针对集成问题的任何人的一些故障排除步骤:

<强> 1。将react-native-fbsdk链接到您的项目。 (编辑:截至目前,链接无法与SDK配合使用。根据@ chez.mosey的回答,您可以按照此blog中的步骤手动将SDK添加到项目中。)

rnpm link react-native-fbsdk

react-native link react-native-fbsdk

编辑:rnpm自2016年8月1日起已集成到React Native中。从那时起,使用react-native link链接您的依赖项。

link函数通过链接所有本机依赖项来更新项目,在这种情况下,我们将react-native-fbsdk链接到本机FacebookSDK。

<强> 2。将libRCTFBSDK.a添加到构建阶段 - &gt;链接二进制文件与Xcode中的库。

这应该在您运行react-native link时自动添加,但要确保它在那里。

第3。手动导入FacebookSDK框架文件

根据经验,如果您使用Cocoapods下载FBSDK框架文件,Xcode不会与libRCTFBSDK.a一起构建它们。按照官方FB文档中的步骤,下载文件,将它们解压缩到~/Documents/FacebookSDK,然后将它们拖到Xcode项目中而不复制它们。添加框架搜索路径的路径。 (如果有人知道Cocoapods之所以能够工作的原因,我会全力以赴)

<强> 4。清理Xcode项目并删除派生数据

这样做可以避免以前构建的文件弄乱您当前的设置。

答案 1 :(得分:2)

从(https://developers.facebook.com/docs/ios/)下载FacebookSDK时,该文件夹将命名为FacebookSDKs-iOS-4.20.1。 因此,请尝试将其重命名为FacebookSDK。

然后再次清理并构建您的Xcode项目。

答案 2 :(得分:1)

确保在您的计算机上下载并保留FacebookSDK文件夹(https://developers.facebook.com/docs/ios/)。我通常将它放在〜/ Documents / FacebookSDK中并从构建设置中引用它。这是将3个框架文件拖到Frameworks文件夹中的补充。

答案 3 :(得分:0)

正如其他人所建议的那样,请确保您在此处遵循SDK的所有配置步骤:https://developers.facebook.com/docs/react-native/configure-ios/

执行此操作后,我遇到了“疑难解答”部分中提到的问题,“如果出现构建错误,例如'警告:'RCTFBLikeView'的本机组件不存在',请验证libRCTFBSDK.a是否显示在链接二进制文件中使用构建目标的构建阶段的库部分。“我认为这是你遇到的问题。

问题是,我不知道如何解决libRCTFBSDK.a没有出现的事实。事实证明,这是因为react-native-fbsdk没有正确链接,因此我必须手动链接它,我可以按照此处提供的精彩步骤进行链接:http://www.namvo.me/manual-setup-for-facebook-sdk-in-react-native/