ios - Swift 库和 Objective-C 库通过 Cocoapods 结合在一起

标签 ios objective-c swift cocoapods

在我的 Swift 项目中,我不得不使用 Parse。 Parse 是一个用 Objective-C 编写的库。所以,我使用 Cocoapods 安装了它。我的 Podfile 是这样的:

pod 'Parse'

我做了桥头设置。之后,我按照快速入门指南使用官方文档测试 Parse。用于测试 Parse 的代码行之一如下所示:

let testObject = PFObject(className: "TestObject")
        testObject["foo"] = "bar"
        testObject.saveInBackgroundWithBlock { (success: Bool, error: NSError?) -> Void in
            print("Object has been saved.")
        }

一切正常。现在,我还想使用 Alamofire,因为它是一个用 Swift 编写的库,文档建议它应该包含在框架中,所以我通过添加以下代码修改了我的 Podfile :

pod 'Parse'

use_frameworks!
pod 'Alamofire', '~> 3.0'

然后在执行pod install 后,我的Parse 代码出现错误

Use of unresolved identifier 'PFObject'
Use of unresolved identifier 'Parse'
Use of unresolved identifier 'PFAnalytics'

那么,我应该如何通过 Cocoapods 在我的项目中安装这两个库,一个是 Swift 编写的,另一个是 Ojective-C 编写的?

最佳答案

你必须在 pod 'Parse' 之前放置 use_frameworks!

我的 Pod 使用 Almafore 和 Parse:

platform :ios, '8.0'
use_frameworks!

pod 'JSQMessagesViewController'
pod 'Alamofire'
pod 'Parse'

更新:正如 The Rohan Sanap 所发布的,另一件事是添加

#import Parse

到使用这个框架的swift文件。

关于ios - Swift 库和 Objective-C 库通过 Cocoapods 结合在一起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34309833/

相关文章:

ios - 如何将 UIImage、UILabel 和 UIView 内容映射到 Swift 中的字符串?

ios - 将 onClick 事件添加到 MKAnnotation swift

ios - 如何发送/返回值从 dispatch_sync(dispatch_get_main_queue(), {} 到另一个页面

ios - 在变量上使用 POP 时,类没有初始值设定项

android - 我如何将域放在 AWS ESB 前面

ios - 更改捆绑 ID iOS

IOS - 使用drawRect方法设置 View 的背景颜色

android - 从项目目录读取本地文件 | Kotlin 多平台移动 |知识管理系统

ios - 无法弹出 iOS viewController。不确定,但我认为这与导航 Controller 有关

ios - Swift - 从图像创建 GIF 并将其转换为 NSData