deleteSimDefaults function

Future<SimDefaultsResult> deleteSimDefaults(
  1. SimDefaultsDeleteInput input
)

Deletes an NSUserDefaults key for a given bundle ID on the iOS simulator.

Uses xcrun simctl spawn <device> defaults delete <bundleId> <key>.

Never throws; all error conditions are represented as sealed result cases.

Implementation

Future<SimDefaultsResult> deleteSimDefaults(SimDefaultsDeleteInput input) async {
  final device = await resolveSimulatorDevice();
  final bundleId = input.bundleId;

  final args = <String>[
    'spawn',
    device,
    'defaults',
    'delete',
    bundleId,
    input.key,
  ];

  final error = await runSimctl(args);
  if (error != null) {
    return SimDefaultsFailed(error);
  }
  return SimDefaultsDeleted(key: input.key);
}