我有一个 OSX 项目和一个 iOS 子项目。子项目使用 UIKit.h,但即使子项目已将 UIKit 框架添加到“链接二进制文件与库”部分,我仍然收到错误消息:
词法或预处理器问题错误 UIKit/UIKit.h 文件未找到
我该如何解决这个问题?
听起来你只需要一些条件编译:
我有一个为 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。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)