gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-10-31 08:13:29 24 4
gpt4 key购买 nike

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

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

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

我已将它包含在桥接 header 中,但是当我为 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”添加到目标构建选项的“其他 cflags”部分。

关于ios - Swift 项目中 Objective-C 的条件编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24664649/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com