Failed to render and update auto layout status, The agent crashed
こやつに相当悩まされたので状況別の対策をメモ
初めてでなんのこっちゃわからんとき
リフレッシュやderivedDataの削除、xcodeの再起動を試す
・Xcodeのリフレッシュ方法と対処できるエラーについて - Qiita
ダメならDiagnosticReports
をチェック
DiagnosticReports
の開き方
これでDiagnosticReports
(Mac内にあるらしい)をterminalから開ける
cd ~/library/Logs/DiagnosticReports/
open .
IBDesignableのcustom class内の関数でエラーが出ている
どのファイル・classがエラーの原因なのかわかっている場合
IBDesignableのcustom classのコードをいじる
・init()
を付け足す
・(init()
でエラーが出てるなら)init()
を消してみる
(※init()
とrequired init()
は付け足す時も消す時もセット)
classの参照を外し、リフレッシュ操作を行う
Rending Errorが起きると原因になっているclassでなくても
IBDesignable
を適用しているViewのがIBDesignable
を反映してくれなかったり
ましてやViewの表示すらうまくいかなかったり(このパターンかなり多い)、勘弁してくれよとなるわけですが
・Storyboard
でのCustom Class
のIBDesignable
のclassの参照を外す
・Derived Data
を消してBuild
(再起動とかまでしても良い)
以上でも解決しました
cocoaTouchでエラーが出ている
・Podfileの最後にこれを付け足す
post_install do |installer|
installer.pods_project.build_configurations.each do |config|
config.build_settings.delete('CODE_SIGNING_ALLOWED')
config.build_settings.delete('CODE_SIGNING_REQUIRED')
end
end
・podを1.4.0にダウングレードする(1.5.0以上で多数Rending Errorが確認されているらしい)
$ pod --version
1.7.1
$ gem uninstall cocoapods --version=1.7.1
Successfully uninstalled cocoapods-1.7.1
$ gem install -v 1.4.0
$ pod --version
1.4.0
他参考記事
Rending Errorそのもの
・IB Designables MapViewControllerの自動レイアウトステータスのレンダリングと更新に失敗した(CocoaPodsを使用)・Issue#210・mapbox / mapbox-navigation-ios
・ios - Xcode 8 - IB Designables - 自動レイアウトステータスのレンダリングと更新に失敗した、エージェントがクラッシュした - Stack Overflow
・ios - ストーリーボードをレンダリングする際のIBDesignableエラー - Stack Overflow
・ios - Xcode 8 - IB Designables - 自動レイアウトステータスのレンダリングと更新に失敗した、エージェントがクラッシュした - Stack Overflow
・All objects disappear in view controller (main storyboard) when I use custom @IBDesignable UITextfield class. (Xcode 10, Swift 4.2) - Stack Overflow
・ios - IB Designables:自動レイアウトステータスのレンダリングと更新に失敗 - Stack Overflow
・「@IBDesignable error: IB Designables: Failed to update auto layout status:」が出た時の対処方法 - Qiita
・IB Designables: Failed to render and update auto layout status が出たときの対処法 - Qiita