Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在CI构建框架中使用Facebook iOS SDK未找到_Ios_React Native_Azure Devops_Cocoapods_React Native Fbsdk - Fatal编程技术网

在CI构建框架中使用Facebook iOS SDK未找到

在CI构建框架中使用Facebook iOS SDK未找到,ios,react-native,azure-devops,cocoapods,react-native-fbsdk,Ios,React Native,Azure Devops,Cocoapods,React Native Fbsdk,我的React-Native应用程序使用了React-Native fbsdk包,我正在尝试使iOS构建在CI服务器(Azure DevOps)上工作。主要问题是Facebook SDK预计将安装在~/Documents/FacebookSDK中,这在CI构建服务器上不起作用 我碰到了不少问题。我目前遇到的错误是: ▸ Linking TzoApp ⚠️ ld: directory not found for option '-L/Users/vsts/Library/Developer/Xc

我的React-Native应用程序使用了
React-Native fbsdk
包,我正在尝试使iOS构建在CI服务器(Azure DevOps)上工作。主要问题是Facebook SDK预计将安装在
~/Documents/FacebookSDK
中,这在CI构建服务器上不起作用

我碰到了不少问题。我目前遇到的错误是:

▸ Linking TzoApp
⚠️  ld: directory not found for option '-L/Users/vsts/Library/Developer/Xcode/DerivedData/TzoApp-bghowrtdysrbywbsslmkxejgzgoc/Build/Products/Release-iphoneos/React'
⚠️  ld: directory not found for option '-F/Users/vsts/agent/2.149.2/work/1/s/tzoapp-mobile/ios/Pods/FirebaseCore/Frameworks'
⚠️  ld: directory not found for option '-F/Users/vsts/agent/2.149.2/work/1/s/tzoapp-mobile/ios/Pods/FirebaseMessaging/Frameworks'
⚠️  ld: directory not found for option '-F/Users/vsts/Documents/FacebookSDK'

❌  ld: framework not found FBSDKCoreKit

❌  clang: error: linker command failed with exit code 1 (use -v to see invocation)
我正在通过Cocoapods安装Facebook SDK,并且在我的pod文件中包含以下内容:

pod 'FBSDKCoreKit', '~> 4.40.0'
pod 'FBSDKLoginKit', '~> 4.40.0'
pod 'FBSDKShareKit', '~> 4.40.0'
我的框架搜索路径如下:

FRAMEWORK_SEARCH_PATHS = (
    "$(inherited)",
    "\"${PODS_ROOT}/FirebaseAnalytics/Frameworks\"",
    "\"${PODS_ROOT}/FirebaseCore/Frameworks\"",
    "\"${PODS_ROOT}/FirebaseInstanceID/Frameworks\"",
    "\"${PODS_ROOT}/FirebaseMessaging/Frameworks\"",
    "\"$(HOME)/Documents/FacebookSDK\"",
);
我的标题搜索路径为:

HEADER_SEARCH_PATHS = (
    "$(inherited)",
    "$(SRCROOT)/../node_modules/react-native-firebase/ios/RNFirebase/**",
    "$(SRCROOT)/../node_modules/react-native-fbsdk/ios/RCTFBSDK/**",
    "$(SRCROOT)/Pods/Headers/**",
    "${PODS_ROOT}/Headers/Public/Facebook-iOS-SDK",
    "${PODS_ROOT}/Headers/Public/Facebook-iOS-SDK/FacebookSDK",
    "${PODS_ROOT}/Headers/Public/FBSDKCoreKit",
    "${PODS_ROOT}/Headers/Public/FBSDKCoreKit/FBSDKCoreKit",
);

有人能帮助构建工作吗?

不确定这是否有帮助,但至少让我们试试。查看并尝试将FacebookSDK(FBSDKCoreKit、FBSDKLoginKit、FBSDKShareKit)文件夹中的每个框架文件复制到Xcode库部分的RCTFBSDK框架文件夹中,如下图所示

注意:将文件放入框架文件夹时,不要忘记检查(如果需要,请复制文件)。 另外,清理项目并重新运行它


希望这能解决你的问题。

我总是觉得椰子荚有点碰运气。如果您阅读了Cocoapods文档,他们建议不要在.gitignore中包含Pods目录。我们目前在源代码管理中包括了我们的POD。这在一定程度上是因为有些托管在Azure DevOps无法访问的内部网络上。它还有一个好处,就是开发人员可以直接克隆和构建