【问题标题】:Cocoapods + Cannot load underlying module for 'x'Cocoapods + 无法为“x”加载底层模块
【发布时间】:2015-12-16 21:25:24
【问题描述】:

我正在运行 XCode 7、Swift 2.0、iOS 9。

我想使用 Cocoapods 在我的项目中安装 Alamofire。我做了以下事情:

gem install cocoapods

pod setup

pod init

将 Podfile 更新为:

# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
use_frameworks!

target 'JSONeg' do

  pod 'Alamofire', :branch => 'swift-2'

end

然后我安装了 pod:

pod install

我在 ViewController.swift 中添加了以下内容

import Alamofire

这会引发以下错误:

Cannot load underlying module for 'Alamofire'

我用另一个 pod 进行了测试,它引发了同样的错误,所以我猜问题出在 Cocoapods 的安装上。任何帮助将不胜感激。

【问题讨论】:

  • 检查您是否已导入所需的框架

标签: ios swift afnetworking cocoapods alamofire


【解决方案1】:

另一种可能的情况:确保测试目标定义在父目标的范围内(而不是在它之外)

例如

target 'MyApp' do
  pod 'GoogleAnalytics', '~> 3.1'

  target 'MyAppTests' do
    inherit! :search_paths
    pod 'OCMock', '~> 2.0.1'
  end
end

如果它看起来像:

target 'MyApp' do
  pod 'GoogleAnalytics', '~> 3.1'
end

target 'MyAppTests' do
  inherit! :search_paths
  pod 'OCMock', '~> 2.0.1'
end

那么您也会收到此错误。

【讨论】:

    【解决方案2】:

    在这个网址:https://github.com/Alamofire/Alamofire/issues/441

    其中一位用户写道:

    清理无效,从 pod 重新安装无效,从 carthage 安装无效,手动安装无效。在 Build for Testing 之后,我终于让它工作了。

    所以我尝试了这个(xcode 版本 9.2 (9C40b)):

    它确实对我有用。现在错误消失了。

    注意:我的 Pod 不是 Alamofire,所以我想它适用于每个 Pod。

    【讨论】:

      【解决方案3】:

      按照以下步骤操作:

      1.安装 pod 2.开放式工作空间 3.运行/构建您的应用程序 4.然后就可以导入框架了

      【讨论】:

        【解决方案4】:

        就我而言:

        1. //import Pod_Module

        2 的评论行。转到项目 -> 清理或使​​用快捷键 (Command+Shift+K)

        2.关闭您的项目

        3.在终端中转到您的项目目录

        4.运行> pod install

        5.打开.xcworkspace 文件并构建它!

        6.取消import Pod_Module的注释行

        【讨论】:

          【解决方案5】:

          如果您已验证您的 Pod 已成功安装,则该错误可能与您在安装 Pod 之前剩余的派生数据有关。您可以前往File -> Workspace Settings... -> Derived Data 清除您的派生数据。删除与您的应用关联的派生数据文件夹并清理您的构建应该可以解决问题。

          【讨论】:

            【解决方案6】:

            尝试 Build For 测试对我有用

            【讨论】:

              【解决方案7】:

              我的情况是不同的原因,它是我的目标构建设置中的 Other swift flags,我必须将继承的标志添加到顶部。

              【讨论】:

                【解决方案8】:

                在安装 CocoaPods 时,请务必通过删除 # 来指定 ios 9.0。因此,# platform :ios, '9.0' 应该只是platform :ios, '9.0' 然后,如果错误再次出现,只需构建并运行。构建并运行后,错误不应返回。

                此外,如果您的计算机上安装了多个版本的 Xcode,也会发生这种情况。首先退出(不仅仅是关闭)所有版本的 Xcode。

                【讨论】:

                  【解决方案9】:

                  这对我有用:

                  1. 关闭你的项目
                  2. 在终端中转到您的项目目录
                  3. 添加此命令:pod update
                  4. 之后,您的所有 pod 都会更新。只需运行您的项目

                  【讨论】:

                    【解决方案10】:

                    我必须做一个产品>(选择单击)清理构建文件夹...然后再次运行,问题就消失了。

                    【讨论】:

                      【解决方案11】:

                      一旦你安装了 Alamofire pod。

                      Step.1 您应该通过双击 your_project_name.xcworkspace 文件来打开您的项目。

                      Step.2 进入项目设置 --> Build Phases --> Link Binary with Libraries --> 添加框架“Alamofire.framework”

                      就是这样!!

                      现在你可以导入模块了

                      【讨论】:

                        【解决方案12】:

                        在正在链接的框架中将GCC_SYMBOLS_PRIVATE_EXTERN(在目标设置中显示为“默认隐藏的符号”)设置为YES,帮助我摆脱了这个错误。我花了 2 天时间才找到这个,希望它对某人有所帮助:)

                        【讨论】:

                          【解决方案13】:

                          对我有什么帮助:

                          1) 关闭项目和 XCode

                          2) 在终端重复命令中

                          > pod install
                          

                          3) 打开项目

                          (如果没有帮助,请在重新安装之前尝试删除 Pod/ 文件夹)

                          【讨论】:

                          • 另外,在重新安装之前删除 Pod/ 文件夹
                          【解决方案14】:

                          对我来说同样的问题。 我通过删除 pod 文件中的 Alamofire 版本解决了这个问题。

                          Pod 文件为

                          # Uncomment this line to define a global platform for your project
                          platform :ios, "8.0"
                          
                          # Uncomment this line if you're using Swift
                          use_frameworks!
                          
                          target 'GettingSwift' do
                           pod 'Alamofire'
                          end
                          
                          target 'GettingSwiftTests' do
                          end
                          

                          【讨论】:

                            【解决方案15】:

                            我尝试了所有这些解决方案:重新构建、清理、重新安装 pod 等,但在我的情况下,将我的“仅构建活动架构”设置更改为“否”是一个问题,因为到我正在使用的 AR 库。将其改回“是”并已修复。希望这对某人有所帮助。

                            【讨论】:

                            • 没错,这是主要问题,您必须使用 command-shift-K 进行清理
                            • 我必须将其从“是”设置为“否”。很奇怪。
                            【解决方案16】:

                            转到产品>构建,它​​将解决问题:

                            【讨论】:

                              【解决方案17】:

                              我使用的是 Xcode 版本 8.3.1 (8E1000a)。当我想安装 SwiftCloudant 模块时,不知何故会出现这个问题。可能我在运行 pod install 时没有关闭我的 Xcode。

                              我在 Targets > General 选项卡中手动添加了 SwiftCloudant.framework 修复了这个问题。

                              Targets > General > Linked Frameworks and Libraries

                              【讨论】:

                              • 在其他一切都失败后,这确实有效。非常感谢。
                              【解决方案18】:

                              无法加载底层模块

                              1. 检查框架路径:Build Settings -> Framework Search Paths
                              2. 确保框架的路径不包含空格。
                              3. 如果路径中包含变量,请通过在Build Settings 中搜索变量名称来查找变量的值。
                              4. 确保变量的值不包含空格。
                              5. 如果路径包含空格,请重命名那些包含空格的目录。
                              6. 清理并构建项目。

                              总之,请确保您的 <Project Root> 路径不包含空格。否则,重命名包含空格的dir,然后清理并构建您的项目。

                              例如如果这是您的项目根目录:/Users/handsomeboy/ios app/Fancy App/,请重命名包含空格的文件夹。摆脱空间的一种方法:将'ios app'更改为'ios_app'

                              【讨论】:

                                【解决方案19】:

                                无法为 SWIFT 加载“x”的底层模块:

                                如何解决问题:

                                步骤:1 创建一个新项目并在不安装 pod 的情况下成功构建和运行。

                                step:2 成功构建并运行项目后,现在尝试安装 pod,然后尝试 importrealm,alamofire,charts 等它会像魅力一样工作。

                                失败案例 --> 新建项目 -> 通过 cocoapods 添加(领域、alamofire、charts 等),无需先构建 -> 打开 Xcode 工作区 -> 构建和运行

                                成功案例 -->新建项目 -> 构建&运行 -> 通过 cocoapods 添加(领域、alamofire、图表等) -> 打开 Xcode 工作区 -> 再次构建&运行 = 成功

                                【讨论】:

                                • 当 99% 的时间发生在现有项目中时,您不能每次看到此错误时都考虑“开始一个新项目”。试试“pod update”怎么样
                                【解决方案20】:

                                这似乎是 XCode 中的一个错误。我遇到了同样的问题,正如这个问题的另一个答案的 cmets 中所述,构建项目使错误消失。

                                【讨论】:

                                • 我几乎是在任何项目开始时来到这里...谢谢哥们
                                • 该死的解决方法仍然有效.. XCode 应该是开源的。
                                【解决方案21】:

                                您是否检查过您是否有最新版本的 Cocoapods ?您可以通过更新所有宝石来更新:

                                sudo gem update
                                

                                或者只是重新安装 Cocoapods:

                                 [sudo] gem install cocoapods
                                

                                如果这没有帮助,请查看:CocoaPods - build for iOS 9 / Swift 2 with Xcode-beta

                                where is 向您展示了如何在 Xcode 首选项“位置”选项卡中轻松更改命令行工具版本,并将“命令行工具”更改为 Xcode 7.0。

                                【讨论】:

                                • 是的,它是最新版本。我只是想通了这个问题。我建立了这个项目,突然之间,它奏效了。
                                • 好的,那么请用您想出的解决方案回答您自己的问题,以便其他人在遇到该问题时可以解决该问题,
                                猜你喜欢
                                • 2016-03-02
                                • 2021-10-06
                                • 2015-10-18
                                • 2016-07-13
                                • 2015-07-10
                                • 1970-01-01
                                • 1970-01-01
                                • 1970-01-01
                                • 1970-01-01
                                相关资源
                                最近更新 更多