PromiseKit pod 安装正确,但 import PromiseKit 返回错误?

Posted

技术标签:

【中文标题】PromiseKit pod 安装正确,但 import PromiseKit 返回错误?【英文标题】:PromiseKit pod installed correctly, but import PromiseKit returns error? 【发布时间】:2017-03-05 03:03:27 【问题描述】:

我正在使用 swift 3 在 Xcode 8.2.1 上开发一个应用程序。我有一些异步任务需要按适当的顺序排列,因此我决定为此目的使用 PromiseKit。我在我的项目目录中添加了一个 podfile 并使用pod install(通过 cocoapods)进行了修改然后安装它。安装工作正常,因为我的命令行给了我这个成功消息:

(顺便说一下,这是 podfile 文本):

我将框架添加到项目的链接框架和库中,如下所示:

完成所有这些后,我希望能够在我的 viewControllers 顶部使用import PromiseKit 来访问框架库中的函数。但是,输入 import PromiseKit 给了我以下错误:

有人知道问题出在哪里吗?

【问题讨论】:

构建一次项目,看看错误是否仍然存在。 @ebby94 错误确实仍然存在 【参考方案1】:

安装 pod 后,您需要打开 .xcworkspace 文件而不是 .xcodeproject。此外,由于您已经为 PromiseKit 安装了 pod,因此无需再次链接框架。只需在 xcode 中打开 .xcworkspace 即可导入 PromiseKit。

【讨论】:

我也试过这个。我重做了整个过程并打开了 .xcworkspace 没有做额外的框架链接,我仍然得到错误【参考方案2】:

事实证明,这个特殊问题源于使用了错误版本的PromiseKit。我在运行pod install 时没有定义PromiseKit 应该是什么版本,希望这种歧义允许安装选择最新版本。 (此外,最初指定版本,如网站上所建议的那样:

swift_version = "3.0"
pod "PromiseKit", "~> 4.0"

会返回一个我无法访问 4.0 的错误)。这个错误是:

` 'PromiseKit (~>4.0)' required by 'Podfile' 
None of your spec sources contain a spec satisfying the dependency:...

结果证明这是整体问题(我需要使用 4.0 规范)。为了摆脱这个错误,我运行了以下命令:

pod repo remove master
pod setup
pod install #in the project directory... after modifying the podfile to the code
#written above... ie. including the '"~> 4.0"'

不过,repo 和设置需要一些时间。

【讨论】:

【参考方案3】:

在我的情况下,Pod 目标的 ios 部署目标已过时。

要解决,请在 Project 导航中选择 Pods,选择 Pods 目标,然后在 Build Settings 中更新 [iOS Deployment Target]。

【讨论】:

以上是关于PromiseKit pod 安装正确,但 import PromiseKit 返回错误?的主要内容,如果未能解决你的问题,请参考以下文章

PromiseKit 不能与 Swift 2 和 Xcode 7 一起编译

自己的 Promisekit 承诺没有正确响应

在 PromiseKit 6 中正确链接多个 Promise

While Loop 在 Promisekit 完成运行并在 Swift 中返回正确的值之前递增并重新运行

PromiseKit 手动安装

Alamofire 和 PromiseKit 返回一个 Promise<[T]>