podspec JSQMessagesViewController非模块头

时间:2016-03-10 20:20:20

标签: swift cocoapods podspec

我想使用JSQMessagesViewController作为我的swift pod的依赖项。当我构建我的示例应用程序时,我得到与JSQSystemSoundPlayer相关的旧的非模块化标题错误,但我不知道如何使用XCode 7解决它。

Podspec

s.dependency 'JSQSystemSoundPlayer'
s.dependency 'JSQMessagesViewController', '7.2.0' #Also tried 5.3.2

错误:

enter image description here

enter image description here

3 个答案:

答案 0 :(得分:1)

这是JSQMessagesViewController v7.2.0的一个已知问题:https://github.com/jessesquires/JSQMessagesViewController/pull/1284

检查此提款请求:https://github.com/jessesquires/JSQMessagesViewController/pull/1284

具体来说,来自jessesquires(作者)的评论:https://github.com/jessesquires/JSQMessagesViewController/pull/1284#issuecomment-181132880

根据该主题,修复将成为v7.2.1的一部分。

答案 1 :(得分:1)

JSQSystemSoundPlayer无关。 在Podfile

的开头添加此内容
platform :ios, '8.0'
use_frameworks!

因此,应用程序将使用框架而不是静态库来包含项目。

JSQMessagesViewController的更改摘要:

  1. 将Podfile平台更改为iOS 8(platform :ios, '8.0'
  2. 将Podfile更改为使用框架而不是静态库(use_frameworks!
  3. 将项目结构部署目标更改为iOS 8
  4. 运行pod install
  5. 构建&运行应用程序

答案 2 :(得分:0)

问题在于Swift在将非模块化框架导入框架方面表现不佳。从本质上讲,在将框架捆绑到另一个框架中时,您只会遇到此问题。有一个简单的解决方案,但它需要一些工作JSQSystemSoundPlayer以及JSQMessagesViewController。两个项目都需要具有以下Xcode项目设置:DEFINES_MODULE = YES。