Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift项目中Objective-C的条件编译_Ios_Objective C_Cocoa_Swift - Fatal编程技术网

Ios Swift项目中Objective-C的条件编译

Ios Swift项目中Objective-C的条件编译,ios,objective-c,cocoa,swift,Ios,Objective C,Cocoa,Swift,我有一个Objective-C类别,我已经在iOS和OSX项目中使用了一段时间,我想在Swift项目中按原样使用它……直到我有时间将它翻译成Swift 以下是我的类别的.h文件的顶部: #if TARGET_OS_IPHONE #import <UIKit/UIKit.h> #else #import <Cocoa/Cocoa.h> #endif #如果目标是IPHONE #进口 #否则 #进口 #恩迪夫 我已经在桥接头中包含了它,但是当我为iOS构建项目时,我得到一

我有一个Objective-C类别,我已经在iOS和OSX项目中使用了一段时间,我想在Swift项目中按原样使用它……直到我有时间将它翻译成Swift

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

#if TARGET_OS_IPHONE
#import <UIKit/UIKit.h>
#else
#import <Cocoa/Cocoa.h>
#endif
#如果目标是IPHONE
#进口
#否则
#进口
#恩迪夫
我已经在桥接头中包含了它,但是当我为iOS构建项目时,我得到一个错误,说它找不到Cocoa/Cocoa.h文件

它为什么还要找呢?即使在Swift项目中,条件编译是否仍然有效?它还在编译Objective-C文件

谢谢。

在源文件中添加
#导入“TargetConditionals.h”

#import "TargetConditionals.h"
#if TARGET_OS_IPHONE
#import <UIKit/UIKit.h>
#else
#import <Cocoa/Cocoa.h>
#endif
#导入“TargetConditionals.h”
#如果目标是IPHONE
#进口
#否则
#进口
#恩迪夫
或者将“-DTARGET\u OS\u IPHONE”添加到目标构建选项的“Other C Flags”部分