【Realmバージョン対応エラー】’ObjectKeyIdentifiable’ is only available in application extensions for iOS 13 or newer

TIPS

こんにちは。ざわかける!のざわ(@zw_kakeru)です。
久しぶりにXcodeを開いたらRealmライブラリのバージョンアップエラーが出たので解決方法のメモを残しておきます。

動作環境

Xcode: 13.0
Swift: 5.5
Realm: 10.5.0
RealmSwift: 10.5.0

起きたこと

Xcodeのバージョンを12から13にアップデートして、久しぶりにプロジェクトをビルドしようとしたらエラーが出ました。

‘ObjectKeyIdentifiable’ is only available in application extensions for iOS 13 or newer.
‘Identifiable’ is only available in application extensions for iOS 13 or newer.

iOS13以降じゃないと’ObjectKeyIdentifiable’と’Identifiable’は使えませんよとのことです。
ターゲットをiOS13.4以降に設定してるので別に良くない?と思いましたが、このままだとビルドができないので解決することにします。

やったこと

RealmとRealmSwiftをアップデートします。
Podfileが置いてあるディレクトリで次のコマンドを実行します。

$ > pod update Realm RealmSwift

これだけです。
実行するとRealmとRealmSwiftのバージョンが10.5.0から10.15.1にアップデートされました。


Xcode側に戻ると、これらのアップデートに伴う差分取り込みが行われます。
「Perform Changes」を選択します。

完了

これで完了ですね。
対応しているバージョン情報が自動で追加されています。

終わりに

対応バージョンの情報は自分で手で追加してもエラー解消はできそうですが、全てのライブラリのオブジェクトに対して把握しておくのは無理なので、ツール側の実装に頼らせてもらいましょう。

今後もバージョンアップが入るたびにエラーが出てきそうなので、メモとして残しておきます。

タイトルとURLをコピーしました