【发布时间】:2018-02-10 13:34:02
【问题描述】:
当我想在目标 c 项目中使用 swift 文件并从 swift 类中声明一个对象时,我收到“使用未声明的标识符”错误。 我经过的方式:
在项目中处理 swift 文件并在声明 swift 类之前键入 @objc
在项目中手动创建头文件
将目标中的“Defines module”设置为Yes
将 target 中的 objective-C 桥接头 设置为 $(SRCROOT)/$(PRODUCT_MODULE_NAME)-Bridging-Header.h
在objective-c文件中声明#import "productModuleName-Bridging-Header.h"
使用 name_of_swift_class *s = [[name_of_swift_class alloc] init];
当我想在第 6 步中使用 swift 文件时,我收到“使用未声明的标识符”错误。为什么?!!!是我搞错了吗?
当我在新项目中测试此步骤时,我没有收到错误,但在我希望它返回错误的项目中。
感谢您的帮助
【问题讨论】:
-
在#ifdef FB_SONARKIT_ENABLED 或#if DEBUG 中放置“MyProject-Swift.h”时,您也可能会收到此错误 - 然后它在模拟器中有效,但在构建版本时无效..
标签: ios objective-c swift bridging-header objc-bridging-header