1. ホーム
  2. ios

[解決済み] Xcodeがキーストロークのたびにストーリーボードを構築し続ける

2022-05-06 18:43:36

質問

ストーリーボードを使ったXcodeプロジェクトが最近とても変な状態になってしまいました。Xcodeはプロジェクト全体を構築し続け、特にストーリーボードは キーを押すたびに . この動作の理由は、私のプロジェクトのすべての興味深いファイル(ストーリーボードとプロジェクト)の差分でも、Xcodeの設定でも見つかりませんでした(多分、私が見つけられなかっただけでしょう?誰かこれを見たことがありますか?

解決方法は?

が原因です。 IB_DESIGNABLE を定義しています。を含むヘッダファイルがある場合のみ、問題が発生すると思われます。 IB_DESIGNABLE が、現在編集中のソースファイルに(暗黙のうちにでも)インクルードされている場合。

を無効化する決定的な解決策は見つかりませんでした。 IB_DESIGNABLE そのため、ストーリーボードとソースファイルを連続的にコンパイルしています。これを一時的に無効にするXcodeフラグをお願いします。また IB_DESIGNABLE を使用しています。 #ifdef マクロを使用した場合でも考慮されます。 #ifdef は false と評価されます。を一つずつコメントアウトしていくと IB_DESIGNABLE は役立ちますが、多くの IB_DESIGNABLE s.

更新情報

この迷惑な動作を回避する簡単な方法をやっと見つけました。ストーリーボードをアクティブウィンドウで開いた状態で、エディタメニューの "ビューを自動的に更新する" を無効にするのです。これにより、カスタムコードを使用しているストーリーボードエディタのビューの更新が停止し、開発速度が大幅に向上します。カスタムコードのビジュアルプレビューのためにジャストインタイムコンパイルが再び必要になったら、このオプションを再び有効にしてください(再び動作させるには、ストーリーボードを再び開く必要があるようです)。

コマンドに command-option-control-A などのキーバインドを追加して、動作のオン/オフを簡単に切り替えられるようにすることもできます。Xcodeでキーバインディングを追加するには、環境設定のcommand-commaをタッチして、Key Bindingsタブを選択し、検索バーを使ってコマンドを見つけ、右側の領域をダブルクリックして、希望のキーストロークを追加します。

オフにする方法

または、quot;Automatically Refresh Views"をオフにして、次のようにします。 決してオンにしない .

に便利なキー操作をしてください。 すべてのビューを更新します。 コマンド-オプション-シフト-R

作業中、時々、または必要に応じて、command-option-shift-Rをタッチしてください。一般的には、ストーリーボード上で作業しているときに command-option-shift-R に触れるだけでよいでしょう。