【问题标题】:Using @import in a CocoaPods project在 CocoaPods 项目中使用 @import
【发布时间】:2015-02-22 18:42:30
【问题描述】:

我在 Xcode 6 中处理的 CocoaPods 项目中有一个标题,其中有一个 @import Cocoa; 语句。它在自己的项目中构建良好,但是当我将其集成到客户端应用程序中时,出现以下错误:

禁用模块时使用“@import”

我检查了客户端项目的每个目标以及 Pods 项目中的每个目标中的 CLANG_ENABLE_MODULES 设置,每个目标都设置为YES。什么可能触发此错误。我可以切换回#import,它确实可以修复它,但我想了解为什么会发生这种情况,因为一切看起来都配置正确。

我推送了我的 podspec (UnzipKit),但我也将 @import 语句替换为 #import 以使其正常工作。另外,我正在使用 Cocoapods 0.35.0。如果您在 Podfile 中使用它,它将为您提供 @import 版本。

pod 'UnzipKit', :git => 'https://github.com/abbeycode/UnzipKit.git', :commit => '38cd0225015a245b0d3167666b3f40d57f99147a'

【问题讨论】:

  • 你解决问题了吗?我还将 cocoapods 与使用 @import 的库一起使用。在一个项目中一切正常,在其他项目中我得到同样的错误。模块随处可用。
  • @Sk0prion 不,我没有。如前所述,我不得不在任何地方恢复到#imports。

标签: objective-c xcode cocoa clang cocoapods


【解决方案1】:
Use of '@import' when modules are disabled

如果您使用的是 Xcode 版本 6,请确保在语言模块设置中启用以下两项。请参阅随附的屏幕截图:-

如果您使用低于 6 的 Xcode 版本,您将收到错误,因为该模块仅适用于苹果框架,您不能在其他框架或第三方应用程序中使用它们。可以查看here

有关此答案的更多详细信息,请查看stackOverflow answer

【讨论】:

  • 为什么有人会否决这个?这是正确的答案,您只能在 @MapKit 等 Apple 框架上使用 @import
  • 我更新了问题,提到我 am 使用 Xcode 6。此外,我正在导入 Apple 框架 Cocoa 和 Foundation。
  • 这并不能解决我的问题。我可以添加“@import”,但有时我会遇到同样的错误。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-12-16
  • 2016-04-08
  • 2013-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-19
相关资源
最近更新 更多