開発中に@Appstorage(UserDefaults)のデータを全て削除する

アプリの開発中にUserDefaultsのデータを削除したい場合があり、Xcodeの機能で消せないかなと検索したのですがどうやらなかったので、適当にボタンを作って押したらデータを削除するという方法を取りました。


Button(action: {
  let appDomain = Bundle.main.bundleIdentifier
  UserDefaults.standard.removePersistentDomain(forName: appDomain!)
})  {
  Text("データ削除")
}


appDomain定数には「com.~.sampleProject」のようにバンドルIDが格納されています。 .removePersitentDomain()は引数に渡したドメイン(バンドルID)のコンテンツを削除します。

このコードを好きなViewに記述し、ボタンを押せばデータが削除されます。

※全てのUserDefaultsのデータが削除されるので、特定のデータを消したい場合は「UserDeafaults.standard.removeObject」等で検索してください。