swift Xcode中没有此类模块...

46scxncf  于 2023-01-25  发布在  Swift
关注(0)|答案(9)|浏览(168)

我在使用Xcode(使用Swift)时遇到了一个问题,这个问题把我完全难倒了。我意识到这个问题已经问过又回答过了,但没有一个答案对我有效,而且我的情况似乎与其他人有点不同,因为我所有的pod都出现了故障(不仅仅是某个特定的pod)。一周前它们都运行得很好。
我在一些更常见的Swift框架中使用Cocoapods(例如Alamofire、Eureka 、Kingfisher、SwiftyJSON等)。它们在Xcode 7中都运行良好。但是,其中一个(自动)更新提升了我的Xcode版本,之后在podfile中指定目标就变得强制性了。我这样做了,运行了pod安装。pod都还在那里,但是现在与这些框架相关的每个import语句都失败了。
起初我以为这是Alamofire的问题,因为这是第一个出现“No such module 'Alamofire'”错误的问题。我尝试了所有我能用的方法,包括以下方法:

  • 清理并重建
  • 清理生成文件夹
  • 重新启动Xcode
  • 重新启动计算机
  • 删除所有派生数据
  • 在“链接的框架和库”中添加了框架
  • 添加了“将二进制文件与库链接”的框架
  • 验证我是否正在打开工作空间而不是项目
  • 重新安装CocoaPods
  • 重新安装Xcode版本7.3.1

没有什么可以删除“No such module ...”错误。最后,我从pod中删除了Alamofire,只是将Alamofire项目拖到了我的项目中。这允许我删除Alamofire的import语句。然而,令我沮丧的是,现在下一个框架导致了“No such module”。我将接下来的三个框架移到了我的项目中,看起来它只是要继续下去。显然,我的Pod框架都不能再被识别了。我安装了Xcode 8,并在Swift 2. 3中尝试过,但我得到了同样的“没有这样的模块”错误。
我真的更喜欢使用Cocoapods,因为它使升级更容易,沿着其他的奖励。我猜我有一些设置错误,这是搞砸了我所有的豆荚,但没有任何运气找到它。这是一个有点灾难,因为它已经关闭了几天的发展,没有修复的迹象。如果有什么我可以做或提供,以帮助找到一个解决方案,请告诉我。如果有人能提供任何可能的解决方案或尝试的东西,我将不胜感激。我目前正在使用Xcode版本7.3.1。
我的pod文件看起来像这样:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'

target 'Y2GOsp' do
    use_frameworks!

    # Pods for Y2GOsp
    pod 'Alamofire', '~> 3.0'
    pod 'AlecrimCoreData', '~> 4.0'
    pod 'Kingfisher', '~> 2.4'
    pod 'Eureka', '~> 1.6'
    pod 'SwiftyJSON', :git => 'https://github.com/SwiftyJSON/SwiftyJSON.git', :branch => 'xcode7'
    pod 'PhoneNumberKit', '~> 0.1'
    pod 'PKHUD'
    pod 'Dollar'
end

post_install do |installer|
    installer.pods_project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['SWIFT_VERSION'] = '2.2'
        end
    end
end
slhcrj9b

slhcrj9b1#

来自@ l 'L'l的评论引导我找到了解决方案。我去了

build settings > frameworks search path

并将其设置为:

$(inherited) (non-recursive)
$(PROJECT_DIR)/build/Debug-iphoneos (non-recursive)
$(SRCROOT) (recursive)

现在它可以正确地找到pod框架。

ssm49v7z

ssm49v7z2#

确保在Xcode中打开了.xcworkspace文件,而不仅仅是.xcodeproj文件。

svgewumm

svgewumm3#

在Pod文件中

取消注解以下行以定义项目的全局平台

平台:ios,'10.0'
使用框架!
现在在xcode中

a)清理您的项目
B)确保所有“Pod”〉“Build Settings”〉“Build Active Architecture Only”均设置为“NO”
c)现在,构建项目

af7jpaap

af7jpaap4#

有时候pod deintegratepod install也会帮助我

jfgube3f

jfgube3f5#

尝试将SDK的版本转换为早期版本

pod 'Alamofire', '~> 3.0'
pod 'AlecrimCoreData', '~> 4.0'
pod 'Kingfisher', '~> 2.4'
pod 'Eureka', '~> 1.6'
pod 'SwiftyJSON', :git => 'https://github.com/SwiftyJSON/SwiftyJSON.git', :branch => 'xcode7'
pod 'PhoneNumberKit', '~> 0.1'
pod 'PKHUD'
pod 'Dollar'

例如,更改3. 0到可用的以前版本,它为我工作过一次,当我面临同样的问题。

pod 'Alamofire', '~> 2.4' #I am assuming prev available version is 2.4

但它不一定是“Alamofire”版本的结果“没有这样的模块”,你可以尝试在你的列表中的每一个在吊舱文件。

g52tjvyc

g52tjvyc6#

我遇到了同样的问题,我只是通过确保选中了“查找隐式依赖项”来解决它。转到编辑方案-〉构建。以前我取消选中它,这样我的xCode会运行得更快一点。从未意识到它会在稍后抛出这个错误。

ht4b089n

ht4b089n7#

虽然这个问题是很久以前的事了,但是“没有这样的模块”的错误让我在Xcode 13中挣扎了3天,我在这里找到了很多不同的解决方案,但是仍然无法修复,直到我尝试将不同的解决方案一起应用,并找到了自己的解决方案。
我的问题是,我可以在设备上构建应用程序,但在模拟器上构建时显示“没有这样的模块”。似乎在构建Pod时出现了问题。
因此,我在Podfile中添加了use_frameworks!use_modular_headers!

target 'Application' do

use_frameworks!
use_modular_headers!        

pod 'ChameleonFramework/Swift', :git => 'https://github.com/wowansm/Chameleon', :branch => 'swift5'
pod "BSImagePicker", "~> 3.1"
pod 'FirebaseCoreInternal'

我还更改了Pod的 * 构建设置 *,以排除在arm64架构中构建Pod。我在我的项目和目标的 * 构建设置 * 中做了相同的操作。
Image of Pods' Build Settings
请注意,如果您在项目中安装新的Pod,Pod的 * 构建设置 * 将被重置。您需要手动更改以排除arm64。

wswtfjt7

wswtfjt78#

对我来说,问题是我更新了项目中构建配置的名称,但我没有在使用该构建配置的方案中选择新的构建配置。将方案中的构建配置更新为新名称解决了这个问题!

p5fdfcr1

p5fdfcr19#

你应该排除架构,我也运行了pod安装命令来安装pod。

相关问题