IBDesignableのRending Errorで困り果てたので状況別の解決策[Swift]

```
Failed to render and update auto layout status, The agent crashed
```
こやつに相当悩まされたので状況別の対策をメモ

# 初めてでなんのこっちゃわからんとき
リフレッシュやderivedDataの削除、xcodeの再起動を試す
**・[Xcodeのリフレッシュ方法と対処できるエラーについて - Qiita](https://qiita.com/fuwamaki/items/70f74b7b3c72a7df96d3)**

ダメなら`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](https://github.com/mapbox/mapbox-navigation-ios/issues/210)**
**・[ios - Xcode 8 - IB Designables - 自動レイアウトステータスのレンダリングと更新に失敗した、エージェントがクラッシュした - Stack Overflow](https://stackoverflow.com/questions/39732312/xcode-8-ib-designables-failed-to-render-and-update-auto-layout-status-the-a)**
**・[ios - ストーリーボードをレンダリングする際のIBDesignableエラー - Stack Overflow](https://stackoverflow.com/questions/48093466/ibdesignable-errors-when-rendering-storyboard?noredirect=1&lq=1)**
**・[ios - Xcode 8 - IB Designables - 自動レイアウトステータスのレンダリングと更新に失敗した、エージェントがクラッシュした - Stack Overflow](https://stackoverflow.com/questions/39732312/xcode-8-ib-designables-failed-to-render-and-update-auto-layout-status-the-a/42678873#42678873)**
**・[All objects disappear in view controller (main storyboard) when I use custom @IBDesignable UITextfield class. (Xcode 10, Swift 4.2) - Stack Overflow](https://stackoverflow.com/questions/52470506/all-objects-disappear-in-view-controller-main-storyboard-when-i-use-custom-ib?noredirect=1&lq=1)**
**・[ios - IB Designables：自動レイアウトステータスのレンダリングと更新に失敗 - Stack Overflow](https://stackoverflow.com/questions/46723683/ib-designables-failed-to-render-and-update-auto-layout-status?noredirect=1&lq=1)**
**・[「@IBDesignable error: IB Designables: Failed to update auto layout status:」が出た時の対処方法 - Qiita](https://qiita.com/nakamurau1@github/items/8e9ec108bcc2b3966f61)**
**・[IB Designables: Failed to render and update auto layout status が出たときの対処法 - Qiita](https://qiita.com/toshi4dev/items/e59a19f614db1f341a09)**

**Podまわり**
**・[CocoaPodsのアンインストール方法](https://blog.yukim.xyz/post/2015-09-18-how-to-uninstall-cocoapods/)**
**・[古いバージョンのCocoaPodsをつかう - Qiita](https://qiita.com/makoto_kw/items/f81712ce13b9addd9192)**