#author("2022-11-11T06:24:37+00:00","default:src128","src128") #author("2022-11-15T13:40:58+00:00","default:src128","src128") &tag(SwiftUI/トラブルシューティング); *目次 [#i519bf2a] #contents *関連ページ [#t5102496] *参考情報 [#w54d1a86] *言語 [#df0e0c22] **left side of mutating operator isn't mutable: 'self' is immutable [#n0d3e5f8] -structのプロパティは内部から変更できない。[[【Swift UI】@Stateの意味と使い方とは?mutatingとの違い:https://tech.amefure.com/swift-state]] -@Stateをプロパティに追加するか、関数にmutatingを付与する。 *プレビュー [#ra47b4de] **failed to produce diagnostic for expression; please submit a bug report [#ufc3f4af] -プレビュー画面を表示(resume)したら上記エラーが発生。 -プロジェクトをリビルドしてみたら解消した。 **プレビューデバイスが変わらない [#qd27cb35] -例えば以下の設定を変えてもiPhone SEはかわらない。 #pre{{ struct OrderRowView_Previews: PreviewProvider { static var previews: some View { OrderRowView(order: orderStore.orders[0]) .previewDevice("iPhone SE (3rd generation)") .previewLayout(.fixed(width: 400, height: 80)) } } }} -リストボックスでデバッグデバイスからiPhone SEを選んだらその瞬間に変わる。これが仕様かどうかわからない。 **CPU使用率が異常に上昇する [#o30b0a7e] -[[[Tips]Xcode13.1のSwiftUIのpreviewでCPU使用率が高くなるのをSpotlightを止めて回避する(iOS15) - Qiita:https://qiita.com/hrkt/items/369071eca71e8989ce3f]] -[[iOS 15 Simulator's Spotlight proce… | Apple Developer Forums:https://developer.apple.com/forums/thread/683277]] -以下を実行すれば良い? #pre{{ cd ~/Library/Developer/Xcode/UserData/Previews/Simulator\ Devices/ find . -name com.apple.suggestions.plist -exec plutil -replace SuggestionsAppLibraryEnabled -bool NO {} ";" }} -プレビューだけでなく通常のSimulatorにも有効らしい。 #pre{{ cd ~/Library/Developer/CoreSimulator/Devices find . -name com.apple.suggestions.plist -exec plutil -replace SuggestionsAppLibraryEnabled -bool NO {} ";" }} -いっそのこと「Show Editor Only(Cmd + Enter)」でプレビューオフにしといた方がいいかも。