Swift 3.0中没有'SwiftyJSON'模块

27

在迁移到Swift 3.0后,我试图将SwiftyJSON导入我的项目中。然而,当我导入框架 'import SwiftyJSON' 时,我收到了“No Such Module”错误。

如果我移除导入语句,则无法识别其类。

有什么建议,为什么Xcode可能无法读取我导入的框架?

请参见附加的屏幕截图:

输入图像描述

输入图像描述

输入图像描述


1
你是否正确地移除了Swift 2版本的SwiftyJSON,然后安装了Swift 3版本? - Eric Aya
这是一个CocoaPods,所以我注释掉了那一行并重新安装。 - Jacobo Koenig
你可能需要“清理项目”(菜单产品-清理)和删除派生数据 - Eric Aya
11个回答

44
我的问题是我正在打开项目文件而不是工作区文件...

2
愚蠢的错误,但这也是我的问题。感谢您的贡献! - Nico
1
那是什么意思? - mercury
1
@HosMercury 这是由Xcode生成的文件,用于在其他项目中包含代码。我现在正在移动中,无法轻松提供链接或截图,但您应该在文件夹中看到一个.xcworkspace文件,这应该由Xcode打开。 - Greg Hilston
1
我犯了同样的错误。感谢你的帮助! - Elaine Lin
@ElaineLin 这个问题是多么普遍啊,真是有趣。这是我最受欢迎的答案,而且问题如此简单。 - Greg Hilston
显示剩余2条评论

12

尝试检查Targets-> Build Phases Link Binary With Libraries,其中必须包含与SwiftyJSON相关的链接。 Check


对于那些感到困惑的人:这个页面不是项目的“Build settings”,而是“Pods”(导航菜单上的蓝色图标)。 - Muhammed Gül

10

将我的pod更新为引用官方的SwiftyJSON gem对我起了作用!它从默认安装的版本2.3.2(通过“pod SwiftyJSON”安装)更新到版本3.1.1。

因此,在您的Podfile中,将SwiftyJSON pod更新为:

 pod 'SwiftyJSON', :git =>'https://github.com/SwiftyJSON/SwiftyJSON.git'

HTH


6

清理您的项目并重新构建。确保打开 project.xcworkspace 文件。

pod 'SwiftyJSON'

pod 'SwiftyJSON' 对我很有帮助!但是只有在最新版本的Cocoapods中才能使用。 - Blank

5

2
尝试这个。
# Uncomment this line to define a global platform for your project
platform :ios, '10.0'
# Uncomment this line if you're using Swift
use_frameworks!

target 'Project names' do
  pod 'SwiftyJSON', git: 'https://github.com/BaiduHiDeviOS/SwiftyJSON.git', branch: 'swift3'    
end

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

1

如果你有多个目标,请尝试构建每个目标。我有两个目标 - 一个可以构建,另一个不行。这可能有助于您追踪问题。

在我的情况下,我只是删除了不能工作的开发目标,复制了生产目标,进行了一些设置更改,然后恢复正常运行。


只是让你知道,我花了大部分时间来尝试解决这个问题。几个小时后,我发现了你的建议,并且它起作用了。我所要做的就是构建这个项目。谢谢! - rjcarr

0

清理你的项目,然后构建和运行你的项目,如果还是不行,那么在你的CocoaPods中移除SwiftyJSON库并重新安装它,这应该可以解决问题,对我来说百分之百有效,所以你也可以试试。


0

//先注释掉 import SwiftyJSON 然后执行 pod install 再把 import SwiftyJSON 加回来 最后再执行一次 pod install 这个方法对我有效


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接