申し訳ありませんが、私は以前この問題を抱えていました。ここにも同様の質問がありますが、これは正確ですが、答えがなく、放棄されたようです。Xcode 8 SpriteKit:GameScene.swiftファイルが認識されない/実行された
私のGameScene.swiftのすべてのコードは、自分のプロジェクトで実行されているものに影響を与えていないようです。私のGameScene.sksファイルにインターフェイスビルダーを使って構築したものは、想定通りに表示されますが、ラベル、インパルス、または.swiftファイルに入れたオブジェクトの変更は無視されているようです。
これをテストするために、私はGameScene.swiftのdidMovetoviewセクションに入り、単純に:print( "hello")を入れて、それがコンソールで実行されるかどうか、そして他の問題があるかどうかを確認しました。それを無視した。 .sksインターフェースビルダーにもラベルを作成し、.swiftファイルを使用してテキストを変更しました。テキストも変更されませんでした。
.swiftファイルにあるクラス名 "GameScene"も、.sksファイルで参照される正しいカスタムクラスであることを確認しました。私はGameViewControllerが私の初期View Controllerであり、シーンを正しいGameScene.sksに設定していることを確認しました。
いくつかの調査をした後、私はGameScene.swiftファイルと.sksファイルをコピーして削除し、プロジェクトをクリーニングしてビルドし、ファイルを置き換えてから実行しました。 (これは私がまったく同じ問題を抱えていた過去に私が一度働いていた)私のプロジェクトの派生データを削除することは、特に問題が少ないので助けになるかと聞いたことがあります。またしなかった。
私は今何をすべきかについてはわかりません。これを解決するための具体的なソリューションや解決策をオンラインで見つけることはできません。
ありがとうございます。
あなたが知っています以前はSpriteKitでこれに似たバグがありました。私はそれが助けることを保証することはできませんが、私はそれが私のために働いて覚えています。私は新しいGameScene.swiftファイルを作成しなければなりませんでしたが、 "NewGameScene.swift"のようなまったく新しい名前を付け、古いものを削除し、 "Custom Class"の '.sks'ファイルで名前を更新してから私のGameViewControllerにシーン 'view.presentScene(scene)'を提示するようにしてください。それはとても奇妙ですが、新しい名前のファイルを作成するだけの 'GameScene.swift'という名前のファイルでは動作しませんでした。 – Pierce
どのXcodeを使用していますか? Xcode 8には派生データを削除するオプションはありません(手動ではありません)ので、Xcode 7を使用している可能性があります。また、Product - > Cleanを試してみましたか?Simulatorでテストしたら、内容と設定をクリアしていますか? – Whirlwind
お返事ありがとうございます。 私は実際にあなたがピアスと言ったことをしました、残念ながらそれはまだ私のために働いていませんでした。 Xcode 8を使用しています。派生データを手動で削除しました。私もそれをきれいにして、複数の機会にシミュレータとXcodeを再起動しました – Killernoober