DX本部 システム開発第二事業部で主にiOS/Androidアプリの開発を担当する社員が、iOSアプリのデータベースをRealmからSwiftDataへ移行した後、一部のユーザー環境で発生したクラッシュの原因調査と対応について紹介する記事を執筆しました。
SQLiteのエラーコード「NSSQLiteErrorDomain Code=13」の原因を調査し、SwiftDataに保存していたHTTPレスポンスのキャッシュデータがストアファイルを肥大化させていたことを解説しています。また、@Attribute(.externalStorage)を利用したデータの外部保存や、キャッシュの整理による改善方法についても紹介しています。
SwiftDataを用いたアプリ開発や、データベースの移行・パフォーマンス改善に興味のある方は、ぜひご覧ください。
RealmからSwiftDataへ移行後、一部のユーザーで発生するNSSQLiteErrorDomain Code=13を追った話
システム開発第二事業部の丸山です。普段は主にiOS/Androidアプリの開発を担当しております。
iOSアプリのローカルDBをRealmからSwiftDataへ移行しました。移行そのものは大きな問題なく終わったのですが、そのあとの計測フェーズで、再現性の低いクラッシュに悩まされました。
開発中もQAテストでも一度も再現できませんでした。それにもかかわらず、一部のユーザーの環境でのみ発生していました。
この記事は、そのエラーの読み方と、最終的にどこに原因があったのかを記録したものです。SwiftDataでバイナリデータを扱っている方の参考になれば幸いです。...
» 続きを見る
