繁体   English   中英

在Swift项目中对Objective-C进行条件编译

[英]Conditional compiling of Objective-C in a Swift project

我有一个Objective-C类别,我已经在iOS和OSX项目中使用了一段时间,我想在Swift项目中使用它...直到我有时间将它转换为Swift。

这是我的类别的.h文件的顶部:

#if TARGET_OS_IPHONE
#import <UIKit/UIKit.h>
#else
#import <Cocoa/Cocoa.h>
#endif

我把它包含在桥接头中,但是当我为iOS构建项目时,我得到一个错误,说它无法找到文件Cocoa / Cocoa.h。

为什么要找它呢? 即使在Swift项目中,条件编译仍然不起作用吗? 它仍在编译Objective-C文件。

谢谢。

在源文件中添加#import "TargetConditionals.h"

#import "TargetConditionals.h"
#if TARGET_OS_IPHONE
#import <UIKit/UIKit.h>
#else
#import <Cocoa/Cocoa.h>
#endif

或者将“-DTARGET_OS_IPHONE”添加到目标构建选项的“其他C标志”部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM