Xcode 6.3(リリースバージョン)にアップグレードした後、IB_DESIGNABLE
ビューを含むXIB /ストーリーボードファイルを開くたびにXcodeがフリーズするようになりました カスタムフォントを使用する すべてのプロジェクトに対応し、カスタムフォントを含みます(必ずしもそのXIB /ストーリーボードでそのフォントを参照する必要はありません)。 .xibファイルを開いてから他のファイルに切り替えようとすると、フリーズが発生します。 Xcodeがハングし、強制終了する必要があります。
Appleとバグレポートを開きました。 (バグ20483867)。
現在、2つの回避策があります。
これはおそらくAppleバグですが、誰かがより良い回避策や解決策を持っていますか?
Xcode 6.3.1は、カスタムフォントとIB_DESIGNABLE
ストーリーボードのビュー。 Mac App Store経由でアップデートすれば、うまくいくはずです。
より正確な説明のための編集を既に提案しました。
プロジェクトにカスタムフォントが含まれている場合にのみ発生します。 IBDesignableカスタムビューを含むStoryboard/XIBにアクセスするだけでフリーズし、Storyboard/XIBのそのフォントも参照しません。
私の回避策は xcodeの古いバージョン(Xcode 6.3ベータ版またはXcode 6.2)もインストールして使用し、それを使用してInterface Builderファイルを更新し、6.3で開かないようにします。 プロジェクトツリーのファイルoption
+ shift
+ click
を使用して、Xcodeの新しいウィンドウでそれらのStoryboard/XIBを開きます。
フリーズが発生するたびに、このコマンドを使用して、そのプロジェクトの保存状態をクリアします。
rm -rf YourProject.xcodeproj/project.xcworkspace/xcuserdata
Appleからの応答: Appleの開発者フォーラムへのリンク
ご報告ありがとうございます。私たちはこれを最後に追跡し、解決するために一生懸命取り組んでいます。残念ながら、私たちは素晴らしい回避策はありませんが、ここにあなたを導くための2つのオプションがあります:
カスタムフォント/ IBDesignableを使用するストーリーボード/ XIBが以前開いていたためにXcodeが起動中にハングした場合:開いているプロジェクトのxcodeproj内の "UserInterfaceState.xcuserstate"ファイルを削除すると、次のようなパスになります。 .xcodeproj/project.xcworkspace/xcuserdata/yourusername.xcuserdatad/UserInterfaceState.xcuserstate
Xcode 6.3でカスタムフォントを含むストーリーボード/ XIBファイルを編集する必要がある場合:
- ストーリーボード/ XIBファイルのコピーをバックアップとして作成します
- テキストエディターでストーリーボード/ XIBファイルを開きます
- カスタムフォントを参照する「fontDescription」という名前のXMLタグを削除します。例:。このタグを削除すると、フォントは標準のシステムフォントに戻ります。
- カスタムフォントを使用してオブジェクトへのアウトレットを作成し、実行時にそれらのオブジェクトのフォントをカスタムフォントに設定します。たとえば、View ControllerのviewDidLoadまたはawakeFromNibをオーバーライドします。
重要な注意:ストーリーボード/ XIBファイルを手で編集することはお勧めしません。ただし、この問題により多くのユーザーがドキュメントを編集できなくなるため、手動で編集するとドキュメントが破損する可能性があるという警告を回避したいと考えています。
私にとっても同じ問題。 IB_DESIGNABLEを削除すると問題が解決します。iOS8.3を搭載したデバイスでアプリをテストしているため、6.2に戻ると機能しません。Xcode6.2はiOS 8.3を搭載したデバイスでアプリを実行できません。
別の回避策は、ファイル拡張子をすべてのフォントファイルに変更し、変更されたファイル名をInfo.plistからロードすることです。このようにして、IBDesignablesを保持したままカスタムフォントを使用できますが、Interface BuilderのFont Pickerでそれらを表示することはできません。
Interface Builderから以前に設定されたすべてのカスタムフォントは引き続き機能しますが、変更したり、別のカスタムフォントを設定するには、コードから行うか、テキストエディターからStoryboardまたはNibファイルを順番に変更する必要がありますフォント名を設定します。
答えはありませんが、単に強制終了して再起動すると、まったく同じ状況でXcodeが再起動することがわかりました。 Xcodeを再起動できるようにするには、フォルダー~/Library/Saved Application State/com.Apple.dt.Xcode.savedState
。
このバグは、今日リリースされた6.4 Xcodeベータ版で修正されました。開発センターにアクセスし、ログインしてダウンロードします。
Xcode 8.1-ナビゲーション付きのビュー(私の場合はトップバーの不透明なナビゲーションバー)がある場合は、プロパティ "トップバー"をNoneに設定してみてください。
@O。クルネンコフの答えは私のために働いた。 IB_Designableやカスタムフォント、Cocoapodなどとは何の関係もありませんでした。
何らかの理由で「不透明なナビゲーションバー」があると、nib
ファイル(storyboard
sには影響しないようです)がy
の位置を常に変更します。これはSize Inspector
y
の位置が0から64の間でちらつきます。これはXcode 8.2(8C38)で起こっています。
私の推測では、これによりXcodeが絶えずレイアウトを更新し、リソースを消費し、ハング/フリーズすることになります。
解決策は、「半透明」オプション、推測、またはなしのいずれかを使用することです。
お役に立てれば!
回避策として、これを使用する少数のカスタムコンポーネントの@IBDesignableマークアップをすべてコメントアウトしました。そうすると、はい、Interface Builderで設定を微調整することができなくなりますが、少なくともXCodeがクラッシュすることなく.xibファイルを開くことができました。
Appleが修正されたときに、@ IBDesignable行のコメントを外します。