Swift 和 Cocoapods - 缺少必需的模块

Posted

技术标签:

【中文标题】Swift 和 Cocoapods - 缺少必需的模块【英文标题】:Swift and Cocoapods - Missing required module 【发布时间】:2015-04-23 16:43:01 【问题描述】:

我正在尝试制作一个 Swift 框架。这个框架依赖于两个库,Alamofire 和 SwiftyJSON,它们都是用 Swift 编写的。

我正在使用 CocoaPods 在我的框架中导入这些库。这是我的 Podfile 的内容:

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

pod 'Alamofire', '1.2'
pod 'SwiftyJSON', '2.2'

在我的框架中,我有一个类可以导入并使用这两个模块:

import Alamofire
import SwiftyJSON

我可以运行pod install成功构建我的框架

现在,当我尝试在 Swift 项目中使用我的框架时,事情变得很棘手。

    我将.framework 文件复制到我的项目中。 在我的项目目标的构建阶段,我添加了一个“目标”设置为“框架”的复制文件阶段,并添加了我的框架文件。

    我在项目的 Swift 类中导入我的框架:

    import MyFramework
    

问题是:Xcode 一直在告诉我

缺少必需的模块“SwiftyJSON”

更令人惊讶的是:如果我不使用 SwiftyJSON 并将其从我的框架中删除(但仍然使用 Alamofire)... 它可以工作! 而且我对任何其他库都有同样的问题SwiftyJSON。只有 Alamofire 似乎有效。

我已经看到了一些问题,例如this one,并尝试了一些方法(更改构建设置、将库添加到链接库、添加桥接头,尽管我不处理 ObjC)但没有任何效果。 ..

有人对如何解决这个问题有任何想法吗?快把我逼疯了!

编辑:我正在使用 Cocoapods v0.37.0.beta.1。与 v0.36.4 相同的问题。

【问题讨论】:

【参考方案1】:

将 Xcode 更新到 6.3.1 版本后问题解决。

【讨论】:

以上是关于Swift 和 Cocoapods - 缺少必需的模块的主要内容,如果未能解决你的问题,请参考以下文章

Swift 应用程序:导入静态库的框架时“缺少必需的模块”

在 Swift Playground 中导入使用 Firebase 的框架(“缺少必需的模块 'Firebase'”)

Xcode - @IBDesignables - X.framework 缺少必需的代码签名

使用 Swift 3 时出现错误“缺少必需的参数:grant_type”

XCode 构建错误 - 缺少必需的模块“算法”

Xcode:缺少必需的模块错误