deleteSimDefaults function
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 resolved = await resolveSimulatorDevice(deviceOverride: input.deviceOverride);
if (resolved.error != null) {
return SimDefaultsFailed(resolved.error!);
}
final device = resolved.udid!;
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);
}