ストーリーボードを使用した私のXcodeプロジェクトは、最近非常に奇妙な状態になりました。Xcodeは、プロジェクト全体、特に各キー押下の後、ストーリーボードを構築し続けます。この動作の理由は、プロジェクトですべての興味深いファイル(ストーリーボードとプロジェクト)を比較することも、Xcodeの設定(多分私はそれを見つけることができなかっただけでしょうか?)新しいコードを入力するときにCPUがストーリーボードの再構築に常に占有しているためです。誰もこれを見た?
これは、ソースヘッダーファイルのIB_DESIGNABLE
定義が原因です。おそらく、IB_DESIGNABLE
を含むヘッダーファイルが、現在編集中のソースファイルに(暗黙的にでも)含まれている場合にのみ問題になります。
IB_DESIGNABLE
を無効にして、ストーリーボードとソースファイルを継続的にコンパイルする方法の決定的なソリューションは見つかりませんでした。これを一時的に無効にするXcodeフラグをいただければ幸いです。 IB_DESIGNABLE
を#ifdef
マクロで囲みましたが、#ifdef
がfalseと評価された場合でも考慮されます。 IB_DESIGNABLE
を1つずつコメントアウトすると役立ちますが、多くのIB_DESIGNABLE
sを使用した実行可能なソリューションではありません。
更新
私はついに、この迷惑な振る舞いを避ける簡単な方法を見つけました。アクティブなウィンドウでストーリーボードを開いて、エディターメニューから[ビューの自動更新]を無効にします。これにより、カスタムコードを使用するストーリーボードエディターのビューの更新が停止し、開発が大幅にスピードアップします。カスタムコードの視覚的なプレビューを得るために再度ジャストインタイムコンパイルが必要な場合は、このオプションを再度有効にします(ストーリーボードを再度開いて動作させる必要があるようです)。
動作のオン/オフを簡単に切り替えるために、command-option-control-Aなどのコマンドにキーバインディングを追加することもできます。 Xcodeでキーバインディングを追加するには、設定のコマンドコンマをタッチし、[キーバインディング]タブを選択し、検索バーを使用してコマンドを見つけ、右側の領域をダブルクリックして目的のキーストロークを追加します。
「離れる」アプローチ
または、「ビューの自動更新」をオフにし、オンにしないでください。
「すべてのビューを更新」、たとえばcommand-option-shift-Rに便利なキーストロークを作成します
作業中に、時々、または必要に応じてcommand-option-shift-Rをタッチします。通常、ストーリーボードで作業するときにcommand-option-shift-Rをタッチするだけです。
私にはこの問題があり、受け入れられた答えは私にとってはうまくいきませんでした。
私が抱えていた問題は、XCode内の独自のタブでストーリーボードを常に開いたままにしておくと、すぐにアクセスできるようになることでした。
修正できる唯一の方法は、そのタブを閉じるか、別のファイル(通常のコードファイルなど)を選択してから、XCodeを閉じて再度開くことでした。その後、各キーストロークで再構築されなくなりました。
ただし、ストーリーボードを開いて変更を加える必要がある場合は、この問題が再発することがあるため、上記のプロセスを繰り返す必要があることに注意してください。
Appleがこれを修正するまで待ちきれません。
(ノಠ益ಠ)ノ彡┻━┻