[Swift]unrecognized selector sent to instance エラーについて

はじめに

SwiftにてiOSアプリ作成中に起きたエラー
unrecognized selector sent to instance XXXXXXXというエラーでどうやら入れているライブラリのSVProgressHUD周りで起きていた。
他のアプリでもこのライブラリは多数で使用しているがこんなエラーは初めてでた。

解決方法

どうやらSVProgressHUDはXcode11にまだ対応していないらしい。
確かにXcode11で新規アプリ作成したのは初めてだった。

待てるなら、大人しくライブラリが対応するのを待つのがいいと思うけどそうも言っていられない。
そんな場合には回避するためのコードがあるらしい。

回避コードは以下。

まず、AppDelegate.swiftに以下のコードを追加する。

そして次にXcode11から追加されたSceneDelegate.swiftscene(_:willConnectTo:options)メソッド(初期で1番上のメソッド)に以下のコードを追加する。

上記でSVProgressHUDがXcode11のプロジェクトでも動作するようになります。

以上です。

おすすめの記事