使用 cocoapods-0.37.2 这是我的Podfile:

platform :ios, "8.0"
use_frameworks!

pod "GoogleMaps"
pod 'FontAwesomeKit'
pod 'PureLayout'

我试图像这样在我的.swift文件中导入PureLayout:
import PureLayout

class ViewController: UIViewController {
...

但是我得到了错误:

没有这样的模块“PureLayout”

为什么???我以为Cocoapods在使用-Bridging-Header.h时会自行创建use_frameworks!

最佳答案

我没有使用use_framework选项,但是在Swift和CocoaPods中使用了PureLayout却没有问题。

  • 我的Podfile只有一行pod 'PureLayout'
  • 我按照Apple here的指示自己创建了<Your Module>-Bridging-Header.h文件。我添加了一行#import "PureLayout.h"。我还更新了目标构建设置,以按照说明输入桥接头文件名。
  • 在要使用PureLayout的.swift文件中,我不需要import PureLayout。正如您所提到的,这会给我一个错误。自动布局调用将起作用,因为它是通过桥接头定义的。

  • 一方面-如果将桥接头文件添加到其构建设置中,则测试目标将无法编译。因此,请确保桥接标头更新是在目标而非项目级别上完成的。

    我猜当前PureLayout github页面中的自述文件有些过时了,因为它当前要求您在.swift文件中执行import PureLayout。我也在this README enhancement issue中添加了评论。

    08-27 19:38