如何在 swift 中导入 JSQMessagesViewController?

How to import JSQMessagesViewController in swift?

我正在使用 xcode 6.3、swift 1.2,我安装了带有 cocoapods 的 "JSQMessagesViewController" 库。这是我的 pod 文件:

pod 'JSQMessagesViewController'

和我的桥接文件:

#import <JSQMessagesViewController/JSQMessages.h>

然后我得到错误:

'JSQMessagesViewController/JSQMessages.h' file not found with <angled> include; use "quotes" instead

不知道为什么会出错。当我用

更新桥接文件时
 #import "JSQMessagesViewController/JSQMessages.h"

我收到错误

JSQMessagesViewController/JSQSystemSoundPlayer+JSQMessages.h:19:9: 'JSQSystemSoundPlayer/JSQSystemSoundPlayer.h' file not found with <angled> include; use "quotes" instead

这真的让我很困惑,因为错误在 JSQMessagesViewController 的源代码中,我无法修改。我在谷歌上搜索了一天,没有找到修复它的方法。 既然 JSQMessagesViewController 库在 githup 中如此流行,我相信一定有人知道如何修复它。

这应该有效:

#import "JSQMessages.h"
#import "JSQMessageData.h"

示例取自 this Swift repo.

您使用了框架的表示法。您使用的是 cocoapods 0.36 或更高版本吗?然后你可以通过将它放在你的 pod 文件中来从 JSQMessagesViewController 创建一个框架:

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

我 运行 遇到这个问题,我正在使用 Xcode7、swift 2、iOS 9,使用 cocoapods 版本 0.38.2 以及为我解决的问题正在从 Bridging-Header.h 文件中删除 #import <JSQMessagesViewController/JSQMessages.h> 的声明。

然后将其导入到您要使用它的 class 中。

 import UIKit
 import JSQMessagesViewController

 class MessageViewController: JSQMessagesViewController {

 }

从 Cocoapods 0.36 开始,如果你使用 use_frameworks!进入 Podfile(如 Eric D 所说,然后 cocoapods 将为您包含的任何 Pod 创建一个框架。

对我来说,使用这个 Podfile 是可行的:

source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!
pod 'JSQMessagesViewController'

并创建桥头。

(iOS 9, xCode 7, 椰子足 0.39.0)