【发布时间】:2014-11-17 22:25:53
【问题描述】:
搜索了这个问题,找不到太多帮助。
"could not build module 'Foundation'"
#import <Foundation/Foundation.h>
不确定是什么问题。谢谢你的建议。
【问题讨论】:
搜索了这个问题,找不到太多帮助。
"could not build module 'Foundation'"
#import <Foundation/Foundation.h>
不确定是什么问题。谢谢你的建议。
【问题讨论】:
我能够使用 Apple 支持社区thread 中提供的解决方案解决此问题:
这里真正的问题在于会话中的构建设置:Apple LLVM 5.0 - Language - Modules,我们应该将 Enable Modules (C and Objective C) 设置为 NO
【讨论】:
我发现如果你在你的项目中使用了一些外部的 c/c++ 代码,你必须删除所有的 #import in 前缀。这很令人头疼,但这是一个真正的问题
【讨论】:
只需重命名您的 Objective-C++ 文件从 *.c 到 *.mm。
错误就这样消失了,它可以很好地处理所有导入。
【讨论】:
Cmd+Option+Shift+k 然后 Cmd+Option+k 为我解决了上述错误。
【讨论】:
你可以试试这个
在你的 .pch 文件中
这样写
#ifndef PureStandard_PrefixHeader_pch
#define PureStandard_PrefixHeader_pch
#ifdef __OBJC__
#import "A.h"
#import "B.h"
#endif
#endif
【讨论】:
设置Enable Modules (C and Objective-C) 的建议修复对我来说并没有解决这个问题。
将我的someFile.c 文件重命名为someFile.m。即使这些文件只包含 C 函数(确实使用 Foundation 类型),将它们命名为 .c 也会产生此错误。
【讨论】:
如果在终端或 android studio 中使用 flutter run flutter clean,请重新启动模拟器并运行应用程序。
【讨论】:
我已通过将 Build System 更改为 Legacy Build System 来解决
Open the ios/PROJECT_NAME.workspace file
Then in the top menu select File > Workspace Settings
Then change Build System to Legacy Build System
【讨论】:
以下:
Cmd+alt+Shift+k 然后Cmd+alt+k
File > Workspace Settings > Legacy Build SystemCmd+B
为我工作
【讨论】:
来自这个答案:https://stackoverflow.com/a/47328607/164089
在目标的构建设置中将 Allow Non-modular Includes in Framework Modules 设置为 YES
我在作为扩展的一部分构建的 .m 文件中看到了这一行的问题:
#import <Foundation/Foundation.h>
【讨论】:
所以我遇到了同样的问题,但是这些错误由于某种原因不会导致构建失败,所以它们就像假错误一样,我通过退出 Xcode 并删除 ~/Library/Developer/Xcode/DerivedData/ProjectName 使它们消失了
【讨论】:
在我的情况下,我有一个 Precompiled Header,其中包含包含 <Foundation/Foundation.h> 的解决方案是我的解决方案是将包含包含在一个
#ifdef __OBJC__
#include SomeIncludeWithFoundation.h
#endif
您还可能在 .pch 文件中看到类似:
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
确保您的模块包含在您的 Precompiled Header 中的正确位置
【讨论】: