Swift UI Tutorialのエラーまとめ
https://waarumstudy.blogspot.com/2019/09/swift-ui-tutorial.html?m=0
一般的な話
Live previewがうまく動かない時はまず、今書いてるコードが中途半端になってないか確認が必要です。チュートリアルの一区切りまで行くと普通にプレビューできることがあります。
それでもダメだったらワークスペースの開き直し、xcodeの再起動、Macの再起動の順に試してみてください。
私がぶち当たったエラーは下にまとめていきます。
(解決済み)Compiling failed: no type named 'LandmarkRow_Previews' in module Landmarks
内容
LandmarkRow.swiftファイル内でプレビューを見ようとしたらこのエラーが出てプレビューが表示されませんでした。エラー文をみると「LandmarkRow_Previewsという型が見つからないよ」と言ってるようです。
他の名前でファイルを作ってみてもダメでした。
元からプロジェクトに入っていたSwiftUIファイルはキチンとプレビューできてるのに…
そして、完成形の方のプロジェクトでLandmarkRow.swiftファイルをみてみると普通にプレビューできてます。
とはいえ、ここからLandmarkRow.swiftファイルをStartingpointの方のプロジェクトにコピーしても動きません。
試しに完成形のプロジェクトでも新しいフォルダを作ってみたらやっぱりダメでした。
アップルのディベロッパーフォーラムにも同じエラーが報告されていますが、今のところは「ベータ版だからバグがあるのはしょうがない」という回答しかついていません。
解決法
(*追記の解決法の方が効果的かもしれないので先に試してみてください。)
もしかしたらデスクトップフォルダの名前がシステム内では英語の「Desktop」、ユーザーの目に見える範囲では日本語の「デスクトップ」となっていることで読み込みに混乱が生じていたのかもしれないですな。
ダウンロードフォルダ内で確認しても同じ現象が起きたので結構有力な気がします。
ディベロッパーフォーラムに投稿していた人も非英語圏からだったのかも。
追記:フォルダを移動してから新しいファイルを作ったらまた動かなくなりました。
さらに調べてみたらcommand + shift + Kでビルドフォルダを綺麗にすると復活するようです。
こっちが正しい解決策っぽいですね。
Landmarks.app crashed: communication with the app was interrupted
ちょくちょく出てきます。EnvironmentObject関連をいじると治ることがあります。