我有一个带有 iOS 子项目的 OSX 项目。子项目使用 UIKit.h,但即使子项目已将 UIKit 框架添加到“链接二进制文件与库”部分,我仍然收到错误消息:
Lexical or Preprocessor Issue error UIKit/UIKit.h file not found
我该如何解决这个问题?
最佳答案
听起来你只需要一些条件编译:
我有一个为 OSX 和 iOS 构建的共享源代码的项目。我有一个名为 SysInfo.h
的头文件,其顶部有:
#import <TargetConditionals.h>
#if !TARGET_OS_IPHONE && !TARGET_IPHONE_SIMULATOR
#define SYSINFO_OSX 1
#else
#define SYSINFO_IOS 1
#endif
(以及其他与此处不相关的内容)
然后可以像这样使用它:
#import "SysInfo.h"
#ifdef SYSINFO_OSX
#import <Cocoa/Cocoa.h>
#else // !SYSINFO_OSX
#import <UIKit/UIKit.h>
#endif // SYSINFO_OSX
当然,这只是冰山一角,因为您需要确保使用大致相同的方法在正确的平台上使用正确的 API。
关于ios - 嵌入了 iOS 项目的 OSX 项目 - 未找到 UIKit.h,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19003794/