我在项目中使用模块。在我使用@import的地方,当模块被禁用时,我得到“使用'@import'”。但为什么他们被禁用?
我意识到加载第三方模块可能会减慢应用加载时间。我正在使用use_frameworks转换为CocoaPods!所以我可以衡量多少。如果它不是太糟糕,我想使用,因为我打算将代码库的多个快速部分移动到他们自己的框架中(作为开源coocapods)
我认为这与SO上的其他问题没有重复,因为我已经找到了我发现的那些(非常感谢this one),接着链接,重新观看{{3 ,并阅读苹果论坛上的相关帖子,所以我相信我已完成了我的作业。 : - )
答案 0 :(得分:1)
在我的项目中,我有一个桥接头从ObjC桥接到Swift,并且有一个生成的头文件可以从Swift桥接到ObjC。事实证明,如果桥接头引用了实现文件引用从Swift到ObjC的桥文件的头,则禁用模块支持。所以要小心你在桥接文件中放入的内容,并在导入生成的-Swift.h文件时要小心。
答案 1 :(得分:0)
首先转到终端并输入xcode-select -p
。它应该说,/Applications/Xcode.app/Contents/Developer
。如果没有,请键入sudo xcode-select -s /Applications/Xcode.app
并按Enter键并输入您的密码。
如果不能解决问题,请尝试删除项目的派生数据目录。转到“项目”视图并删除项目的派生数据。然后清理您的构建文件夹(command-shift-K)。运行Analyze(命令转换-B)并解决蓝色和黄色的任何问题。
现在如果@import仍无法正常工作,请创建一个全新的XCode项目。验证@import是否正常工作。如果没有,那么你的XCode安装可能搞砸了,或者你的硬盘正在死机。删除XCode并重新下载,看看是否有效。重新启动恢复分区,看看是否有一些磁盘问题(不太可能,但是嘿)。
如果@import在新项目中有效,请尝试从当前项目中获取所有项目并将其复制到新项目中。确保您拥有最新版本的cocoapods,然后将您的pod安装到新项目中。
如果所有这些都没有解决问题,你可能会在某处留下一个@end语句或者丢失了} ...