#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)」でプレビューオフにしといた方がいいかも。

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS