【发布时间】:2015-12-26 19:00:06
【问题描述】:
我在一个项目中遇到了模块问题。在我使用@import 的地方,我得到“禁用模块时使用'@import'”。但是为什么他们被禁用了呢?
- 在我的构建设置中,我将所有目标的“启用模块(C 和 Objective-C)”设置为“是”。
- 将“自动链接框架”设置为是或否不会影响此(编译时)错误
- 虽然该项目曾经有 Objective-C++ 和一些 C++ 代码,但现在没有了。是否有任何我因此而错过的项目设置?
- 我在项目中没有更多的 .pch 文件,构建设置也没有提及它们
- 我将 CocoaPods (0.39.0) 与“use_frameworks!”一起使用我希望@import 的模块来自那里。但是如果我将 '#import ' 或 '#import ' 替换为 '@import Foundation;' 也会发生同样的错误和“@import UIKit”,所以我希望这不相关
- 该项目来自 iOS7 之前的版本,所以我可能错过了过去默认开启的设置
- 该项目需要 iOS 8 并针对 iOS 9.2 构建。
我意识到加载第三方模块可能会减慢应用程序的加载时间。我正在使用 use_frameworks 转换为 CocoaPods!这样我就可以测量多少。如果还不错的话,我想使用,因为我计划将代码库的多个 swift-only 部分移动到他们自己的框架中(作为开源 coocapods)
我相信这不是关于 SO 的其他问题的重复,因为我已经浏览了我找到的问题(非常感谢this one),点击链接,重新观看了WWDC'13 session 404,并且阅读苹果论坛上的相关帖子,所以我相信我已经完成了我的功课。 :-)
【问题讨论】:
-
您是否尝试过使用相关文件创建一个新项目并检查它是否在那里工作?如果它有效,我建议你比较构建设置中的每个字段
标签: ios module ios8 cocoapods xcode7