Team-KARIYUSHI / TalkStock

0 stars 0 forks source link

画面によってプレビューが見れない #144

Closed king-kazu39 closed 3 years ago

king-kazu39 commented 3 years ago

不具合内容

プレビュー機能で画面のレイアウトを確認する際、プレビューが表示できない画面がある。 ・TopicHomeView ・TopicCreateView ・PersonalHomeView ・PersonalCreateView

またデバイスによって表示できないことがある。 (iPhone11◯, iPhone8✖️になる)

king-kazu39 commented 3 years ago

原因調査

参考:SwiftUI Xcode Previews あるあるエラー5選

上記リンクを参考に原因調査。 .crashがつくcrashログファイルを確認してみた。

open ~/Library/Logs/DiagnosticReports   // crashログファイルが保存されるディレクトリを開く

アプリ名が含まれる最新のcrashファイルを開く スクリーンショット 2021-03-26 18 25 16

errorメッセージを出していることがあるのでerrorで検索。 →ヒットしない時はログファイルを読み進めていく スクリーンショット 2021-03-26 18 31 19(2)

対処

今回はエラー分にあるように、Topicモデルにidをプライマリーキーとして追加したからマイグレーションが必要になります。 とあるので、AppDelegateに記述したRealm.ConfigurationのschemaVersionを上げてみました。

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
     // Override point for customization after application launch.
     let config = Realm.Configuration(
         // 新しいスキーマバージョンを設定します。以前のバージョンより大きくなければなりません。
         // (スキーマバージョンを設定したことがなければ、最初は0が設定されています)
         schemaVersion: 9, // <-ここを1上げる
         ......
}