2016-07-15 1 views
0

この問題が発生しましたSpriteKitベースのXcodeプロジェクト私のXcode 7.3コンパイラ絶えず破壊し、非常に長いビルドを引き起こし、コンパイルされた時間は

私は私のプロジェクトは複雑ところの一定のレベルに達すると、スウィフトに問題があります私はたくさんのクラスとメソッドを持っていますが、私のオートコンプリートが壊れて「Jump To Definition」は機能しなくなり、IDEは基本的なTextEditor/Notepadの有用性にまで減ります。

私のコードの色は私の目に負担の多くを引き起こし、これが唯一の私が削除したときに起こると私は75%の使用率に登る私のCPUの活動を見ると、コードの大きなブロックを追加するには思われる、完全に白に変更されます

すべてのCPUコアで

これは、ターゲットiOSを9.3から8.0に切り替えたときに起きたと思います。これは古いSwift構文を解釈しようとするコンパイラの問題ですか?

マイナーな変更があってもビルドが失敗する場合があります。「リンカーコマンドが終了コードで失敗しました」のため2回コンパイルするだけで簡単に修正できます。

ここに私の仕様です:

OS X 10.11.4

のCore i7のSkylakeマイクロアーキテクチャ4.0GHz

16ギガバイトDDR4 RAM

私は建物を考えている256ギガバイトSSD

デュアルプロセッサを搭載したOS Xを実行しているシステムで、問題が緩和される可能性があります.1行だけ違うコードをコンパイルするのに2分以上かかります。

+0

はあなたがAppleとバグレポートを提出しましたか? - また、あなたはツールチェーンを使用していますか?この動作は、Xcode 7.3とダウンロードされたSwiftツールチェーンでは間違いありません。 – matt

+0

私はSwiftを始めて、1日目から書きました.Appleをリリースする前に、Swift 1.0ベータ版で書いたアプリをリリースする方法も見つけました。しかし、最終的には重要なプロジェクトでそれを使ってあきらめました。 Appleはこれまで以上に良くなってきていますが、Appleはこれを主要なプレイヤーにしていますが、まだObjective-Cと比較して「新しい」ものです。はい、それは多くの利点がありますが、私はAppleが構文をあまりに頻繁に変え、物事を絶えず壊しているので、全体的に私はそれが問題になるような気がしません。 24GBのRAMを搭載したクアッドコアiMacでは、Swiftは言うまでもなく、XcodeがObjective-C上では遅いと感じています。 –

答えて

0

Welcome to Swift!偉大な言葉、ひどい工具。

冗談を除いて、ここにいくつかの問題があります。まず、SourceKitがクラッシュすると構文の強調表示が消えます。 SourceKitは、Swiftをオンザフライで解析するライブラリであり、Xcodeがインデックス作成、構文強調表示、コード補完などの作業を行うことができます。以前よりもはるかに優れています(XcodeでSwift 1.0を使用することは時には非常にコミック的でした)が、それはまだ完全ではありません。 SourceKitが向上するまでは、大きな違いはありません。

ビルド時間に関しては、コンパイルするのに特に時間がかかる機能を確認するには、Swift Build Time Analyzerのようなものを試す価値があります。私は最近、閉鎖を介して設定されたすべての怠惰なvarsを削除することによって、私が取り組むプロジェクトのコンパイル時間を半分にしました。最近のコンパイラの変更により、これらの種類のクロージャの型推論が非常に遅くなり、コンパイルに約6秒かかっていました。

0

私の問題を解決した解決策が見つかりました。

は、& .Swiftファイル名、Appleの公式スウィフト2.0教科書に反し

変数名からすべての絵文字を削除する絵文字の変数名スウィフトファイル名 UNLESSのようなもののための任意の種類を使用しないでくださいあなたは、使用している絵文字が非常に古い絵文字であることを知っています(しかしそれでも、私はそれをお勧めしません)

私のプロジェクトをAppCodeで開いた後、AppCodeは、ファイル名にユニコード問題(foobar.swiftなど)がありました。非常にバグがあり、Appcodeで既存の絵文字を使ってプロジェクトを開いて保存した場合、後でXcodeを破ることになります。

のような文字列のために、それはでない限りだからあなたのコード内で絵文字を使用しないよう:

let someString = "⬛️" 
関連する問題