找不到框架 GoogleToolboxForMac

Posted

技术标签:

【中文标题】找不到框架 GoogleToolboxForMac【英文标题】:Framework not found GoogleToolboxForMac 【发布时间】:2017-03-14 12:17:55 【问题描述】:

通过“pod update”更新 Firebase 后,出现如下错误:

ld: warning: directory not found for option '-F/Users/bennysantoso/Library/Developer/Xcode/DerivedData/FCM-atfcxuircoryufazlomgwfgmvaqm/Build/Products/Debug-iphonesimulator/GoogleToolboxForMac'
ld: framework not found GoogleToolboxForMac
clang: error: linker command failed with exit code 1 (use -v to see invocation)

这是我的 Podfile:

# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
pod 'Firebase/Core'
pod 'Firebase/Messaging'

target 'BB' do
  # Comment this line if you're not using Swift and don't want to use dynamic frameworks
  use_frameworks!

  # Pods for BB

  target 'BBTests' do
    inherit! :search_paths
    # Pods for testing
  end

  target 'BBUITests' do
    inherit! :search_paths
    # Pods for testing
  end

end

有人知道这个错误吗?

我在寻找 GoogleToolboxForMac 和 Firebase 的关系,但我只得到了一点信息。

仅供参考,我使用 Swift 2.3 和 Firebase 3.8.0。

如果您能提供任何帮助,我将不胜感激。谢谢!

【问题讨论】:

我也一样..有人可以帮忙吗?我整天都在研究这个:/我注意到使用同一库的旧版本并没有使用 GoogleToolboxForMac 并且可以完美运行:( 从其他 *** 答案中,我尝试将以下所有内容添加到我的 pod 文件中,但仍然无法正常工作: pod 'Google/Analytics' pod 'Firebase/Core' pod 'Firebase/AdMob' # Trying to fix GoogleToolboxForMac 缺少错误 pod 'Firebase/Messaging' pod 'GoogleToolboxForMac/Logger' pod 'GoogleToolboxForMac', '~> 2.1' 首先,您的 Podfile 的格式是旧的(Q4/2016)。删除它并使用“pod init”创建新的。按照下面的建议使用工作区而不是 xcodeproj。 【参考方案1】:

GoogleToolboxForMac 是 Firebase/Messaging 的依赖项。 podspec 中的详细信息。在进行“pod update”时,Cocoapods 应该设置您的工作区来构建和链接 GoogleToolboxForMac。

听起来您的工作空间有些问题。产品 -> 清洁有帮助吗?删除 Derived Data 和 ModuleCache(Xcode -> Preferences -> Locations -> Derived Data)怎么样?

这不是必需的,但您也可以尝试将 pod 'GoogleToolboxForMac/Logger' 显式添加到您的 Podfile。

【讨论】:

不,这对我不起作用...通过从工作区打开项目有效! @JayprakashDubey 此答案假定您从工作区开始。见第一段。答案解决了导致相同症状的另一种情况。 @PaulBeusterien 我尝试了你在这里所说的一切,但仍然无法构建。【参考方案2】:

我有同样的错误。安装 pod 后,您将看到以下消息。

[!] 请关闭所有当前的 Xcode 会话并使用 MyApp.xcworkspace 从此项目开始。

我第一次没有注意到这一点,并尝试使用常规 xcodeproj 文件构建项目。看到这条消息后,我打开了正确的项目,它运行良好。

打开此项目后,您会发现有两个子项目。一个是您的项目,另一个是 Pods 项目。

【讨论】:

【参考方案3】:

在我的情况下,所有集成都做得很好,并且尝试了很多时间来删除和重新安装 pod,但没有成功。

最后尝试以下步骤

Projetc->Manage Schemes -> 选中复选框“Pods-MyProjectName”

并获得成功。

【讨论】:

我在模拟器中运行时遇到此错误,但在实际设备上没有。 这对我有用,但在尝试构建我的项目之前,我也必须明确构建 pods 项目。不知道为什么。 我这样做了,但我无法在我的模拟器上运行应用程序? 构建“Pods-ProjectName”后,我能够在我的设备上运行真正的项目..【参考方案4】:

在完成 pod install 后关闭我试图构建的项目,然后打开 .workspace,然后一切都构建完美。

【讨论】:

【参考方案5】:

已通过在 Build Settings -> 搜索 LIBRARY_SEARCH_PATHS 中添加 $(inherited) 来解决此问题。

这是可以理解的,因为在为项目所依赖的最新版本库更新 pod 文件时,调试输出会告诉您需要在哪里添加所有 $(inherited) 标志: LIBRARY_SEARCH_PATHS OTHER_LD_FLAGS GCC_PREPROCESSOR_DEFINITIONS

【讨论】:

我应该按 + 然后输入 $(inherited) 在哪里放置 $(inherited)? 是的,你可以按+并输入$(inherited)或者直接双击可编辑框然后输入$(inherited) 这解决了我的问题!谢谢@TomV【参考方案6】:
    Friends, you must be confused with the exact result, as i was. So, i feel to share the 
screenshot that might be helpful. We all had to be careful that we need to change the flag for property **"Build Active architecture Only"** for **pod target** to **NO** And build, it would not show the linking error.

    See the attached screenshot.
    Screen Shot 1, Screen Shot 2, Screen Shot 3
    [Select Pods][1]
    [Select Targets in the pod][2]
    [Change flag to No][3]


  [1]: https://i.stack.imgur.com/E7mjX.png
  [2]: https://i.stack.imgur.com/wCwET.png
  [3]: https://i.stack.imgur.com/KVGKM.png

【讨论】:

不要发布完整的截图,请只提供内嵌部分,我的朋友。 这很有效,尽管最好解释解决方案而不是发布屏幕截图。解决方案是在项目和 Pod 目标处将 Valid Arch Only 更改为“No”。【参考方案7】:

找不到框架

在使用 Pods 时,我们通常会遇到这个问题。

这主要有两个原因

    当我们打开 .xcodeproj 文件而不是 izaaz-yunus 在此 Answer 中提到的 .xcworkspace

    Build Active Architecture OnlyBuild Settings中设置为Yes

    这适用于项目目标,也适用于 pod 项目中的所有目标

主项目截图

Pod 项目截图

    选择构建设置(主项目、pod 项目两者) 逐个选择目标 为每个目标将 Build Active Architectures 设置为 No

最后清理并重建您的项目。

【讨论】:

是否有错字,在#2 你说“是”但在图像显示“否”,谢谢@Vinay Kumar #2 说明导致问题的原因,图像是要解决问题的设置应如何显示 所有其他解决方案都对我不起作用,例如:将所有 pod 库的 Build Active Architecture Only 设置为 NO【参考方案8】:

在您的项目目标中打开 your-project.xcworkspace。

1)打开终端 -> 2) $cd /project_destination -> 3) $open your-project.xcworkspace

或者直接在finder中打开文件

【讨论】:

【参考方案9】: 其作品 1.在目录中选择你的项目 2.选择一般 3. 将“GoogleToolboxForMac.framework”添加到链接的“框架和库”中

【讨论】:

链接库为我明确解决了这个问题。谢谢!【参考方案10】:

确保项目目标和 pod 的“构建活动架构设置”相同。在这两种情况下设置 NO 解决了我的问题。

【讨论】:

【参考方案11】:

当我尝试在我的设备上运行它时,我遇到了同样的问题。在模拟器上它工作正常。我尝试了上述一些方法,但它对我不起作用。我检查了我正在处理.xcworkspace 而不是.xcodeproj 文件,所以我尝试了这个。请按照以下步骤:

    使用 .xc... 文件打开 Xcode 项目(cocoapods 项目)。 在项目导航器中选择 Pods 项目(左侧的蓝色图标)。 在 Targets 下,确保选中 Pods-ProjectName(蓝色图标)。 导航到构建设置并设置 iOS 部署目标,您将在哪个 iOS 版本上运行项目。

注意:和你在Project->Targets->Deployment info->Deployment Target中设置的一样。

也许有人会从中受益。

【讨论】:

【参考方案12】:

转到:target -> Build Settings -> Other Linker Flags -> remove framework "GoogleToolboxforMAC" 并构建项目。

【讨论】:

【参考方案13】:

我的问题是我有一个 /bin/sh 脚本复制了不存在的特定 Pod。这是其中之一。删除脚本解决了构建问题。

【讨论】:

【参考方案14】:

-我在硬盘中搜索 GoogleToolboxForMac 文件,位于: /Users/Marco/Documents/iosapps/BomRetiro/Bom Retiro/Pods/Target 支持文件

然后我将文件复制到此文件夹: /Users/YourHomeFolder/Library/Developer/Xcode/DerivedData/Bom_Retiro-bsfjbazzzuwmuidqurdmjvdtnnsb/Build/Products

然后对我来说解决了打开项目 usinf .xcworkspace 文件。

【讨论】:

【参考方案15】:

如果您遇到同样的错误,请在 XCode 中转到:

你的项目 > 你的目标 > 向下滚动到Linked Framework and Libraries并检查Library条目是否变暗:

如果是这样,请删除并重新添加。就我而言,我有重复的条目,其中一个变暗(当 XCode 在磁盘上找不到它们时)。

【讨论】:

【参考方案16】:

Swift 5 简单答案

Shift+Alt+Cmd+K  //Clean the project and Run again! 
//if not work restart Xcode and again clean it 
//Its will work happy coding

【讨论】:

【参考方案17】:

对于那些在这一切之后仍然有问题的人。 我正在做一个cordova项目,升级到XCode 11.5后突然出现了这个问题。

最后我能够通过打开项目根目录中的 pods.json 文件并删除属于“FirebaseMessaging”的“libraries”中的条目来解决它。 我们没有使用它,我不知道它是如何到达那里的。 此外,我已将“构建设置”->“仅构建活动架构”更改为“否”。

之后我再次打开 .xcworkspace 文件,构建运行通过。

【讨论】:

【参考方案18】:

有效的解决方案是

在 xcodeproj 中搜索 GoogleToolboxForMa 从构建配置中删除所有引用

【讨论】:

以上是关于找不到框架 GoogleToolboxForMac的主要内容,如果未能解决你的问题,请参考以下文章

在 SWIFT、GoogleToolboxForMac 中实现已弃用的 GTMURLBuilder 类

上传到 Itunes Connect 时出现“代码签名“GoogleToolboxForMac.framework”失败”

未加载框架库:'找不到图像'

Cocoapods - 找不到框架 FirebaseCoreDiagnostics

找不到 FirebaseAnalytics 框架

找不到框架 FirebaseAnalytics