当我使用CocoaPods时,没有这样的模块

所以这是我的程序。 我在项目目录中创build一个新的Podfile ,然后添加了以下内容

 platform :ios, '9.0' use_frameworks! target 'CPod' do pod 'AFNetworking', '~> 2.5' pod 'ORStackView', '~> 2.0' pod 'SwiftyJSON', '~> 2.1' end 

我开始pod install ,一切顺利,打开xcworkspace 。 然后我去看ViewController.swift ,如果我尝试导入一个窗格,我得到No such module 'SwiftyJSON' ,如果我要import SwiftyJSON 。 有任何想法吗?

编辑:SwiftyJSON是一个基于Swift的模块,而不是Obj-C

尝试将Pods框架添加到您的构buildscheme并构build框架。 build好之后,编译/运行你的项目。

脚步:

  1. scheme菜单>pipe理scheme>检查Pods >closures( 图片1 , 图片2 )
  2. 从scheme菜单中selectPods
  3. build立Pods
  4. 从相同的菜单中select您的项目,然后构build/运行它。

Command + Option + Shift + K ,然后运行你的应用程序,你会看到一个魔法。

或从菜单 – >产品,按键盘上的选项,你会看到清洁生成文件夹。

看起来很有趣,Xcode如何处理这些事情,但同样的事情发生在我身上,当我使用一个使用Pod的Swift库,并经过太多的斗争后,我最终与清洁生成文件夹。

安装podfile后,必须重新打开项目.xcworkspace文件(而不是.xcodeproj)。

  1. 用CocoaPods克隆回购
  2. 打开YourWorkspace / YourApplication.xcworkspace
  3. select你要运行的应用程序在该项目的embedded式二进制文件中添加SwiftyJSON.framework命中运行

快乐编码:)

您也可以尝试使用以下方法重新安装Pod:

 pod deintegrate 

接着

 pod install 

这为我解决了这个问题

不知道这是否会对其他人有帮助。 但是,在我的情况下,它最终成为一个愚蠢的错误,不从.podspec文件引用依赖关系。

我们有一个具有多个内部库的应用程序,这些库也相互依赖 – 我们在Podfiles中占据了…但不在podspec中。

所以,即使我们的Podfiles有:

应用程序/ Podfile

 # Development Pods pod 'ConsumingLibrary ', :path => '../ios-consuming-lib' pod 'DependentLibrary1', :path => '../ios-library-one' pod 'CommonCoreLibrary', :path => '../ios-common-core-lib' 

ConsumingLibrary / Podfile

 # Development Pods pod 'DependentLibrary1', :path => '../ios-library-one' pod 'CommonCoreLibrary', :path => '../ios-common-core-lib' 

需要在.podspec中调用它:

ConsumingLibrary / ConsumingLibrary.podspec

  # TODO # Add here any resources to be exported. s.dependency 'DependentLibrary1', '~> 0.1.0-RC' 

DependentLibrary1 / DependentLibrary1.podspec

  # TODO # Add here any resources to be exported. s.dependency 'CommonCoreLibrary', '~> 0.1.0-RC' 

我想我浪费了大约2个小时,试图找出为什么我可以build立ConsumingLibrary&运行testing,但是一旦我build立了应用程序,这消耗了所有三个库 – 我不断得到:

没有这样的模块“DependentLibrary1”

有时在swift项目中使用obj-c pod时(即使在use_frameworks!中使用use_frameworks! )也是.podfile

如果你确定已经安装了pod ,并且你仍然没有这样的模块 ,试试这个:

  • 转到Xcode中的Pods项目
  • 右键单击受影响的窗格
  • 在查找器中显示

应该有一个包含.framework后缀的包文件。 在其中创build一个文件夹模块 。 在这个文件夹中用代码创build一个名为module.modulemap的文件:

 framework module MODULE_NAME_HERE { umbrella header "MODULE_NAME_HERE.h" export * module * { export * } link framework LINKED_FRAMEWORKS_AND_LIBRARIES_THE_POD_NEEDS_HERE link framework "AdSupport" link "c++" link "z" } 

重build ,你应该没问题。

在框架module.modulemap文件中添加链接“c ++”为我工作

请更新您的pod文件

 platform :ios, '9.0' use_frameworks! target 'CPod' do pod 'AFNetworking', '~> 2.5' pod 'ORStackView', '~> 2.0' pod 'SwiftyJSON', '~> 2.1' end 

 platform :ios, '9.0' use_frameworks! target 'CPod' do pod 'AFNetworking', '~> 2.5' pod 'ORStackView', '~> 2.0' pod 'SwiftyJSON', :git => 'https://github.com/SwiftyJSON/SwiftyJSON.git' end 

因为你使用SwiftyJSON 2.1版本和当前版本是SwiftyJSON 2.3.2。

我目前使用相同的工作正常,我的podfile是

 # Uncomment this line to define a global platform for your project # platform :ios, '9.0' target 'Sample' do # Comment this line if you're not using Swift and don't want to use dynamic frameworks use_frameworks! pod 'Alamofire', '~> 3.4' pod 'SVProgressHUD' pod 'SDWebImage', '~>3.7' pod 'FontAwesome.swift' pod "PagingMenuController" pod 'Moodstocks-iOS-SDK', '~> 4.1.5' pod 'SwiftyJSON', :git => 'https://github.com/SwiftyJSON/SwiftyJSON.git' target 'SampleTests' do inherit! :search_paths # Pods for testing end target 'SampleUITests' do inherit! :search_paths # Pods for testing end end 

为了在Objective-C中使用Swift,你应该导入一个Xcode在编译时自动生成的头文件(NameOfModule + Swift.h)。 在这种情况下,您应该尝试在您的头文件中导入SwifityJSON,如下所示:

 #import "SwiftyJSON-Swift.h"