OGeek|极客世界-中国程序员成长平台

标题: ios - 在 CI 构建中使用 Facebook iOS SDK - 未找到框架 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 22:42
标题: ios - 在 CI 构建中使用 Facebook iOS SDK - 未找到框架

我的 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,并且在我的 podfile 中有以下内容:

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",
);

有人可以帮助构建工作吗?



Best Answer-推荐答案


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

enter image description here

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

希望这能解决您的问题。

关于ios - 在 CI 构建中使用 Facebook iOS SDK - 未找到框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55726253/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4