【问题标题】:ld:找不到框架 Pod
【发布时间】:2015-07-04 03:28:13
【问题描述】:

我正在尝试向我的 IOS 项目添加一个框架,但是当我构建时,我总是收到相同的消息:

ld: 框架未找到 Pods

clang: error: 链接器命令失败,退出代码为 1(使用 -v 查看调用)

我试图删除我的Pods 目录,然后运行pod install 我打开.xcworkspace,就像它写在 pod 安装的日志中一样,我在 xcode 上清理项目,然后尝试构建,但它不起作用..

我的 podfile 看起来像这样:

xcodeproj '/Users/guillaume/project/Mobile/iOS/FoodPin/FoodPin.xcodeproj'
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
pod 'SwiftHTTP', '~> 0.9.2'

我的xcode版本是6.3.1

谢谢,

【问题讨论】:

  • 您是否检查过libpods.a 是否在您目标的“链接框架和库”中?在你的构建阶段也是如此?
  • 你解决了吗?我遇到了同样的错误
  • @ChristopherFrancisco 我解决了,检查我的答案。
  • 这个How to Answer[1] 解决了我的问题!希望对您有所帮助 [1]:stackoverflow.com/a/31161871/1557663
  • @MárioCarvalho 这只是我的答案的更长、更适合初学者的版本 x)

标签: ios xcode cocoapods


【解决方案1】:

删除 pod install 或 update 后创建的 frameworks 文件夹

【讨论】:

    【解决方案2】:

    我通过将.framework 文件拖到Linked Framework and Libraries 解决了这个问题

    假设我因为错误 FIRAnalyticsConnector not found 而遇到这个问题,我只是将 FIRAnalyticsConnector.framwork 文件拖到 Linked Framework and Libraries 并解决了我的问题

    【讨论】:

      【解决方案3】:

      也许你突然打开了.xcodprj的错误文件,你应该打开.xcworkspace

      【讨论】:

      • 最好将这样的内容作为评论发布。
      【解决方案4】:

      请检查您在 .Framework 中的可执行文件,例如

      1. 可执行文件名应该是这样的,没有任何扩展名。

      2. 一些框架显示如下

      3. 使用终端转到 .framework 目录使用以下命令 lipo -create FrameworkName-x86_64 FrameworkName-armv7 FrameworkName-armv7s FrameworkName-i386 FrameworkName-arm64 -output FrameworkName

      创建单个可执行文件后删除这些文件

      【讨论】:

        【解决方案5】:

        另一个很棒的事情是使用这个规则来禁用 CocoaPods 脚本阶段的输入和输出路径(复制 框架和复制资源):

         install! 'cocoapods',
                :disable_input_output_paths => true
        

        【讨论】:

          【解决方案6】:

          就我而言,我在安装 pod 之前创建了工作区,因此当我安装 pod 时,工作区仅包含我的项目,将 Pods 项目添加到您的工作区,清理并重建解决了我的问题

          【讨论】:

            【解决方案7】:

            对我来说,问题是在我的主项目中,构建设置Build Active Architecture Only 设置为NO,而在Pods 项目中,它设置为YES

            将两者设置为相同后,它起作用了!

            【讨论】:

              【解决方案8】:

              如果您打开 .xcworkspace 文件仍然出现同样的错误,请删除 Pods 目录的所有内容并在命令行中写入 pod install 以解决问题。

              【讨论】:

                【解决方案9】:

                就我而言, 我遇到了这个问题,因为我在项目名称中使用了非英文字符。

                当我更改项目名称并再次运行 install pod 时问题解决了。

                【讨论】:

                  【解决方案10】:

                  我使用 step -> 转到目标的构建设置,并使用“${inherited}”编辑“框架搜索路径”,现在问题出现在 FBLPromises.framework not found。

                  【讨论】:

                    【解决方案11】:

                    我的解决方案是

                    1. delete实际上是通过 pod 被移除但仍然产生错误 Xcode 中的框架 Target > Build Settings > Other linking flags(在链接部分)

                    2. 关闭 Xcode,然后运行 ​​pod update

                    3. 重新打开 Xcode,然后在菜单中运行 Product > Clean Build Folder

                    之后我的项目又开始运行和编译了!

                    【讨论】:

                      【解决方案12】:
                      1. pod 初始化
                      2. 关闭当前的 xcode 项目
                      3. 使用 xcworkspace 后缀重新打开 xcode 项目

                      enter image description here

                      【讨论】:

                      • 问题是已经提到他们正在使用.xcworkspace
                      猜你喜欢
                      • 2015-09-17
                      • 2016-01-13
                      • 2016-02-09
                      • 2019-04-06
                      • 2017-08-16
                      • 2017-01-17
                      • 2019-02-16
                      • 2018-07-02
                      • 2017-03-21
                      相关资源
                      最近更新 更多