2016-08-26 6 views
0

Obj-CからSwiftに移行しており、PSGameScene.hとPSGameScene.mからGameScene.swiftに移行しました。Obj-C - インポート(Swiftコンパイラが認識します)

私がアプリケーションをビルドすると、PSGameSceneが認識されたシンボルではないことを示すエラーが表示されます。

GameScene.swiftは

はどこが間違っているつもりです..私はソースにGameSCene-swift.hを追加しようとしましたが、それはそれを見ていない、「コンパイルリスト」に追加されますか?

私は、ブリッジングヘッダと.swiftファイル領域の両方がコンパイル方式に追加されたことを確認できます。 .Hとの.mファイルで

、それはクラスを認識しない、と私は(GameScene-swift.sを使用しようとimoprtとき、それはファイルが存在しないことを不平を言う...

私は」メートル。少し失った...どれポスターが参考になる

...

乾杯、

あなたはObjective-Cであなたの新しいスウィフトクラスを使用するように

+0

PSGameScene.h "'をブリッジヘッダーに追加しましたか? –

+0

"PSGameScene.hとPSGameScene.mからGameScene.swiftに移行した"と言いますと、Swiftで古いコードを書き直したか、 'PSGameScene.hからObjCクラスをインポートしようとしていることを意味しますか? 'GameScene.swift'で? – sudo

答えて

0

が鳴り、このanswer about how to mix and match the two in the same projectをチェックしてください。

要旨は次のとおりです。

// SomeImplementationFile.m 
#import "ProjectName-Swift.h" 
:あなたは(あなたがより多くのために上記の答えをチェックし、 .hでそれをインポートすることはできません)上スウィフトクラスを使用したいあなた .mファイルに生成 -Swift.hヘッダをインポート

Build Settings/Objective-C Generated Interface Header Nameで-Swift.hヘッダーの名前を再確認できます。

+0

答えをありがとう。私はSwiftをObj-Cにインポートする方法と限界をよく知っています。古いプロジェクトだったので、 'DEFINES_MODULE'はビルド設定で' NO'または 'Defines Module'に設定されていました。私は、新しいXcodeのリリースは、プロジェクトをアップグレードするときに見落とされたと思います... –

0

ビルド設定に関連する問題が判明しました。 defines moduleNOに設定されていたため、インポートが好きではありませんでした。 DEFINES_MODULEdefines module)の設定がYESに設定されていると、すべての場所にクリックされました。

これはおそらく、Xcode 4日間にわたる古いプロジェクトに関連して発生したものです。 Xcodeの新しいリリースではいくつかの設定が考慮されていないようです。

お返事ありがとうございました..

関連する問題