找不到框架 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 Only在Build 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”失败”