Obj-C - 导入(Swift编译器识别?)

时间:2016-08-26 19:28:08

标签: objective-c swift xcode

我从Obj-C迁移到Swift,刚从PSGameScene.h和PSGameScene.m迁移到GameScene.swift。

当我构建应用程序时,我收到一条错误消息,指出PSGameScene不是一个公认的符号。

GameScene.swift被添加到"编译列表",我已经尝试将GameSCene-swift.h添加到源代码,但它没有看到它..

我哪里错了?

我可以确认桥接头和.swift文件区域都添加到编译方案中。

在.h和.m文件中,它确实识别了类,当我尝试使用时(GameScene-swift.s它抱怨文件不在那里......

我'米。有点失落......

任何海报都会有所帮助......

干杯,

A

2 个答案:

答案 0 :(得分:0)

听起来您想在Objective-C中使用新的Swift类,请查看此answer about how to mix and match the two in the same project

要点是:在-Swift.h文件中导入要使用Swift类的生成的.m标头(不能在.h中导入它,检查以上答案更多):

// SomeImplementationFile.m
#import "ProjectName-Swift.h"

您可以在Build Settings / Objective-C Generated Interface Header Name中仔细检查-Swift.h标题的名称。

答案 1 :(得分:0)

该问题与构建设置有关。由于defines module设置为NO,所以它不喜欢导入。当DEFINES_MODULEdefines module)设置设为YES时,所有设置都会点击到位。

这可能发生在与旧项目相关的问题上,该项目可以追溯到Xcode 4天。似乎Xcode的新版本没有考虑到某些设置。

感谢您的回答..