2016-08-15 103 views
3

我遵循Facebook开发人员指南中列出的所有准则,针对iOS反应本机sdk,但我仍然无法构建应用程序。附上我的配置的屏幕截图,并生成日志React native 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/bin:/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/Products/Debug-iphonesimulator -F/Applications/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/FacebookMessengerShareKitSDK-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/FacebookMessengerShareKitSDK-1_3-for-iOS.docset/Contents -FFacebookSDK/DocSets/FacebookSDK-4_13-for-iOS.docset/Contents -FFacebookSDK/Samples/FBAudienceNetwork/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/FacebookMessengerShareKitSDK-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/Resources/Documents -FFacebookSDK/DocSets/FacebookMessengerShareKitSDK-1_3-for-iOS.docset/Contents/Resources/Documents -FFacebookSDK/DocSets/FacebookSDK-4_13-for-iOS.docset/Contents/Resources/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/FacebookMessengerShareKitSDK-1_3-for-iOS.docset/Contents/Resources/Documents/Classes -FFacebookSDK/DocSets/FacebookMessengerShareKitSDK-1_3-for-iOS.docset/Contents/Resources/Documents/Constants -FFacebookSDK/DocSets/FacebookMessengerShareKitSDK-1_3-for-iOS.docset/Contents/Resources/Documents/css -FFacebookSDK/DocSets/FacebookMessengerShareKitSDK-1_3-for-iOS.docset/Contents/Resources/Documents/img -FFacebookSDK/DocSets/FacebookMessengerShareKitSDK-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/Resources/Documents/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-iphonesimulator/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: warning: Auto-Linking supplied 'FacebookSDK/Bolts.framework/Bolts', framework linker option at FacebookSDK/Bolts.framework/Bolts is not a dylib Undefined symbols for architecture x86_64: "_OBJC_CLASS_$_FBSDKHashtag", referenced from: objc-class-ref in libRCTFBSDK.a(RCTConvert+FBSDKSharingContent.o) ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

回答

1

请务必下载并保存在您的计算机(https://developers.facebook.com/docs/ios/)上FacebookSDK文件夹。我通常将它放在〜/ Documents/FacebookSDK中,并从构建设置中引用它。除了将3个框架文件拖到Frameworks文件夹中。

+0

因为它在屏幕截图中,我确实拖动了3个.framework文件,并将sdk文件夹放在正确的路径 –

4

我最近在我的反应原生项目上做了同样的事情,我花了相当多的时间使它工作。

您的情况似乎是,您的项目文件夹中没有包括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添加到构建阶段 - >链接二进制与Xcode中的库。

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

3.导入FacebookSDK框架手动

文件从经验来说,如果你使用的CocoaPods下载FBSDK框架文件时,Xcode不会libRCTFBSDK.a一起建造它们。按照官方FB文档中的步骤,下载文件,将它们解压缩到~/Documents/FacebookSDK,然后将它们拖到Xcode项目中而不复制它们。将路径添加到框架搜索路径。 (如果有人知道为什么的CocoaPods将无法正常工作的原因,我所有的耳朵)

4.清洁您的Xcode项目和删除派生数据

做是为了避免在先前构建文件搞乱与您当前的设置。

+0

感谢您的广泛答复,但它似乎仍然无法正常工作......所有内容都会建立起来,直到包含'libRCTFBSDK.a' ... –

+0

不太确定你在哪里找到'libRCTFBSDK.a'。它不包含在从Facebook下载的Facebook SDK中 – jacks205

+0

@ jacks205一旦完成了与“react-native-fbsdk”的链接,库文件将包含在您的Xcode项目中。 – tropicalfish

2

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

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

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/

相关问题