appium-ios-simulator 7.0.2 → 8.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +0 -1
  3. package/build/lib/simulator-xcode-14.d.ts +311 -6
  4. package/build/lib/simulator-xcode-14.d.ts.map +1 -1
  5. package/build/lib/simulator-xcode-14.js +663 -11
  6. package/build/lib/simulator-xcode-14.js.map +1 -1
  7. package/build/lib/simulator-xcode-15.d.ts +70 -8
  8. package/build/lib/simulator-xcode-15.d.ts.map +1 -1
  9. package/build/lib/simulator-xcode-15.js +49 -56
  10. package/build/lib/simulator-xcode-15.js.map +1 -1
  11. package/build/lib/simulator.d.ts +5 -4
  12. package/build/lib/simulator.d.ts.map +1 -1
  13. package/build/lib/simulator.js +6 -19
  14. package/build/lib/simulator.js.map +1 -1
  15. package/build/lib/types.d.ts +0 -2
  16. package/build/lib/types.d.ts.map +1 -1
  17. package/build/lib/utils.d.ts +27 -22
  18. package/build/lib/utils.d.ts.map +1 -1
  19. package/build/lib/utils.js +23 -19
  20. package/build/lib/utils.js.map +1 -1
  21. package/lib/{simulator-xcode-10.js → simulator-xcode-14.ts} +281 -183
  22. package/lib/{simulator-xcode-15.js → simulator-xcode-15.ts} +59 -68
  23. package/lib/{simulator.js → simulator.ts} +10 -21
  24. package/lib/types.ts +0 -3
  25. package/lib/{utils.js → utils.ts} +42 -32
  26. package/package.json +4 -4
  27. package/build/lib/extensions/geolocation.d.ts +0 -14
  28. package/build/lib/extensions/geolocation.d.ts.map +0 -1
  29. package/build/lib/extensions/geolocation.js +0 -91
  30. package/build/lib/extensions/geolocation.js.map +0 -1
  31. package/build/lib/simulator-xcode-10.d.ts +0 -294
  32. package/build/lib/simulator-xcode-10.d.ts.map +0 -1
  33. package/build/lib/simulator-xcode-10.js +0 -619
  34. package/build/lib/simulator-xcode-10.js.map +0 -1
  35. package/build/lib/simulator-xcode-11.4.d.ts +0 -4
  36. package/build/lib/simulator-xcode-11.4.d.ts.map +0 -1
  37. package/build/lib/simulator-xcode-11.4.js +0 -154
  38. package/build/lib/simulator-xcode-11.4.js.map +0 -1
  39. package/build/lib/simulator-xcode-11.d.ts +0 -4
  40. package/build/lib/simulator-xcode-11.d.ts.map +0 -1
  41. package/build/lib/simulator-xcode-11.js +0 -21
  42. package/build/lib/simulator-xcode-11.js.map +0 -1
  43. package/lib/extensions/geolocation.js +0 -91
  44. package/lib/simulator-xcode-11.4.js +0 -158
  45. package/lib/simulator-xcode-11.js +0 -15
  46. package/lib/simulator-xcode-14.js +0 -19
package/CHANGELOG.md CHANGED
@@ -1,3 +1,20 @@
1
+ ## [8.0.0](https://github.com/appium/appium-ios-simulator/compare/v7.0.3...v8.0.0) (2025-11-22)
2
+
3
+ ### ⚠ BREAKING CHANGES
4
+
5
+ * The minimum supported Xcode version is set to 14
6
+ * Removed idb getter and setter from Simulator class
7
+
8
+ ### Features
9
+
10
+ * Stop supporting Xcode versions below 14 ([#458](https://github.com/appium/appium-ios-simulator/issues/458)) ([8071076](https://github.com/appium/appium-ios-simulator/commit/807107669c69f1b01c14156c548e6f28fbc0470f))
11
+
12
+ ## [7.0.3](https://github.com/appium/appium-ios-simulator/compare/v7.0.2...v7.0.3) (2025-11-15)
13
+
14
+ ### Miscellaneous Chores
15
+
16
+ * publish via trusted publisher ([#456](https://github.com/appium/appium-ios-simulator/issues/456)) ([8e1f1af](https://github.com/appium/appium-ios-simulator/commit/8e1f1af8b55311641b580b48f0ff28dfecf4fe59))
17
+
1
18
  ## [7.0.2](https://github.com/appium/appium-ios-simulator/compare/v7.0.1...v7.0.2) (2025-10-17)
2
19
 
3
20
  ### Miscellaneous Chores
package/README.md CHANGED
@@ -36,7 +36,6 @@ assert.equal('Shutdown', (await sim.stat()).state);
36
36
  The following tools and utilities are not mandatory, but could be used by the appium-ios-simulator, if installed locally, to extend its functionality:
37
37
 
38
38
  - [Mobile Native Foundation](https://github.com/MobileNativeFoundation)
39
- - [IDB](https://github.com/facebook/idb)
40
39
  - [AppleSimulatorUtils](https://github.com/wix/AppleSimulatorUtils)
41
40
  - For `contacts`, `camera`, `faceid`, `health`, `homekit`, `notifications`, `speech` and `userTracking` permissions
42
41
 
@@ -1,8 +1,313 @@
1
- /**
2
- * @typedef {import('./types').SupportsGeolocation} SupportsGeolocation
3
- */
4
- export class SimulatorXcode14 extends SimulatorXcode11_4 {
1
+ import EventEmitter from 'events';
2
+ import { Simctl } from 'node-simctl';
3
+ import * as appExtensions from './extensions/applications';
4
+ import * as biometricExtensions from './extensions/biometric';
5
+ import * as safariExtensions from './extensions/safari';
6
+ import * as settingsExtensions from './extensions/settings';
7
+ import * as permissionsExtensions from './extensions/permissions';
8
+ import * as miscExtensions from './extensions/misc';
9
+ import type { CoreSimulator, HasSettings, InteractsWithApps, InteractsWithKeychain, SupportsGeolocation, HasMiscFeatures, InteractsWithSafariBrowser, SupportsBiometric, DeviceStat, ShutdownOptions, RunOptions, StartUiClientOptions, KillUiClientOptions, ProcessInfo, CertificateOptions } from './types';
10
+ import type { XcodeVersion } from 'appium-xcode';
11
+ import type { AppiumLogger, StringRecord } from '@appium/types';
12
+ export declare class SimulatorXcode14 extends EventEmitter implements CoreSimulator, HasSettings, InteractsWithApps, InteractsWithKeychain, SupportsGeolocation, HasMiscFeatures, InteractsWithSafariBrowser, SupportsBiometric {
13
+ _keychainsBackupPath: string | null | undefined;
14
+ _platformVersion: string | null | undefined;
15
+ _webInspectorSocket: string | null | undefined;
16
+ private readonly _udid;
17
+ private readonly _simctl;
18
+ private readonly _xcodeVersion;
19
+ private readonly _log;
20
+ /**
21
+ * Constructs the object with the `udid` and version of Xcode.
22
+ * Use the exported `getSimulator(udid)` method instead.
23
+ *
24
+ * @param udid - The Simulator ID.
25
+ * @param xcodeVersion - The target Xcode version in format {major, minor, build}.
26
+ * @param log - Optional logger instance.
27
+ */
28
+ constructor(udid: string, xcodeVersion: XcodeVersion, log?: AppiumLogger | null);
29
+ /**
30
+ * @returns The unique device identifier (UDID) of the simulator.
31
+ */
32
+ get udid(): string;
33
+ /**
34
+ * @returns The Simctl instance for interacting with the simulator.
35
+ */
36
+ get simctl(): Simctl;
37
+ /**
38
+ * @returns The Xcode version information.
39
+ */
40
+ get xcodeVersion(): XcodeVersion;
41
+ /**
42
+ * @returns The full path to the keychain directory for this simulator.
43
+ */
44
+ get keychainPath(): string;
45
+ /**
46
+ * @returns The logger instance used by this simulator.
47
+ */
48
+ get log(): AppiumLogger;
49
+ /**
50
+ * @returns The bundle identifier of the Simulator UI client.
51
+ */
52
+ get uiClientBundleId(): string;
53
+ /**
54
+ * @returns The maximum number of milliseconds to wait until Simulator booting is completed.
55
+ */
56
+ get startupTimeout(): number;
57
+ /**
58
+ * @returns The full path to the devices set where the current simulator is located.
59
+ * `null` value means that the default path is used.
60
+ */
61
+ get devicesSetPath(): string | null;
62
+ /**
63
+ * Set the full path to the devices set. It is recommended to set this value
64
+ * once right after Simulator instance is created and to not change it during
65
+ * the instance lifecycle.
66
+ *
67
+ * @param value - The full path to the devices set root on the local file system.
68
+ */
69
+ set devicesSetPath(value: string | null);
70
+ /**
71
+ * Retrieve the full path to the directory where Simulator stuff is located.
72
+ *
73
+ * @returns The path string.
74
+ */
75
+ getRootDir(): string;
76
+ /**
77
+ * Retrieve the full path to the directory where Simulator applications data is located.
78
+ *
79
+ * @returns The path string.
80
+ */
81
+ getDir(): string;
82
+ /**
83
+ * Retrieve the full path to the directory where Simulator logs are stored.
84
+ *
85
+ * @returns The path string.
86
+ */
87
+ getLogDir(): string;
88
+ /**
89
+ * Get the state and specifics of this simulator.
90
+ *
91
+ * @returns Simulator stats mapping, for example:
92
+ * { name: 'iPhone 4s',
93
+ * udid: 'C09B34E5-7DCB-442E-B79C-AB6BC0357417',
94
+ * state: 'Shutdown',
95
+ * sdk: '8.3'
96
+ * }
97
+ */
98
+ stat(): Promise<DeviceStat | StringRecord<never>>;
99
+ /**
100
+ * Check if the Simulator has been booted at least once
101
+ * and has not been erased before.
102
+ *
103
+ * @returns True if the current Simulator has never been started before.
104
+ */
105
+ isFresh(): Promise<boolean>;
106
+ /**
107
+ * Retrieves the state of the current Simulator. One should distinguish the
108
+ * states of Simulator UI and the Simulator itself.
109
+ *
110
+ * @returns True if the current Simulator is running.
111
+ */
112
+ isRunning(): Promise<boolean>;
113
+ /**
114
+ * Checks if the simulator is in shutdown state.
115
+ * This method is necessary, because Simulator might also be
116
+ * in the transitional Shutting Down state right after the `shutdown`
117
+ * command has been issued.
118
+ *
119
+ * @returns True if the current Simulator is shut down.
120
+ */
121
+ isShutdown(): Promise<boolean>;
122
+ /**
123
+ * Retrieves the current process id of the UI client.
124
+ *
125
+ * @returns The process ID or null if the UI client is not running.
126
+ */
127
+ getUIClientPid(): Promise<string | null>;
128
+ /**
129
+ * Check the state of Simulator UI client.
130
+ *
131
+ * @returns True if UI client is running or false otherwise.
132
+ */
133
+ isUIClientRunning(): Promise<boolean>;
134
+ /**
135
+ * Get the platform version of the current Simulator.
136
+ *
137
+ * @returns SDK version, for example '18.3'.
138
+ */
139
+ getPlatformVersion(): Promise<string>;
140
+ /**
141
+ * Boots Simulator if not already booted.
142
+ * Does nothing if it is already running.
143
+ * This API does NOT wait until Simulator is fully booted.
144
+ *
145
+ * @throws {Error} If there was a failure while booting the Simulator.
146
+ */
147
+ boot(): Promise<void>;
148
+ /**
149
+ * Verify whether the Simulator booting is completed and/or wait for it
150
+ * until the timeout expires.
151
+ *
152
+ * @param startupTimeout - The number of milliseconds to wait until booting is completed.
153
+ */
154
+ waitForBoot(startupTimeout: number): Promise<void>;
155
+ /**
156
+ * Reset the current Simulator to the clean state.
157
+ * It is expected the simulator is in shutdown state when this API is called.
158
+ */
159
+ clean(): Promise<void>;
160
+ /**
161
+ * Delete the particular Simulator from devices list.
162
+ */
163
+ delete(): Promise<void>;
164
+ /**
165
+ * Shut down the current Simulator.
166
+ *
167
+ * @param opts - Shutdown options including timeout.
168
+ * @throws {Error} If Simulator fails to transition into Shutdown state after
169
+ * the given timeout.
170
+ */
171
+ shutdown(opts?: ShutdownOptions): Promise<void>;
172
+ /**
173
+ * Boots simulator and opens simulators UI Client if not already opened.
174
+ * In xcode 11.4, UI Client must be first launched, otherwise
175
+ * sim window stays minimized
176
+ *
177
+ * @param isUiClientRunning - whether the simulator UI client is already running.
178
+ * @param opts - arguments to start simulator UI client with.
179
+ */
180
+ launchWindow(isUiClientRunning: boolean, opts?: RunOptions): Promise<void>;
181
+ /**
182
+ * Start the Simulator UI client with the given arguments.
183
+ *
184
+ * @param opts - Simulator startup options.
185
+ */
186
+ startUIClient(opts?: StartUiClientOptions): Promise<void>;
187
+ /**
188
+ * Executes given Simulator with options. The Simulator will not be restarted if
189
+ * it is already running and the current UI state matches to `isHeadless` option.
190
+ *
191
+ * @param opts - One or more of available Simulator options.
192
+ */
193
+ run(opts?: RunOptions): Promise<void>;
194
+ /**
195
+ * Kill the UI client if it is running.
196
+ *
197
+ * @param opts - Options including process ID and signal number.
198
+ * @returns True if the UI client was successfully killed or false
199
+ * if it is not running.
200
+ * @throws {Error} If sending the signal to the client process fails.
201
+ */
202
+ killUIClient(opts?: KillUiClientOptions): Promise<boolean>;
203
+ /**
204
+ * Lists processes that are currently running on the given Simulator.
205
+ * The simulator must be in running state in order for this
206
+ * method to work properly.
207
+ *
208
+ * @returns The list of retrieved process information.
209
+ * @throws {Error} If no process information could be retrieved.
210
+ */
211
+ ps(): Promise<ProcessInfo[]>;
212
+ /**
213
+ * @returns The full path to the LaunchDaemons directory.
214
+ */
215
+ getLaunchDaemonsRoot(): Promise<string>;
216
+ /**
217
+ * Sets the geolocation for the simulator.
218
+ *
219
+ * @param latitude - The latitude coordinate.
220
+ * @param longitude - The longitude coordinate.
221
+ * @returns True if the geolocation was set successfully.
222
+ */
223
+ setGeolocation: (latitude: string | number, longitude: string | number) => Promise<boolean>;
224
+ /**
225
+ * Clears Keychains for the particular simulator in runtime (there is no need to stop it).
226
+ *
227
+ * @returns
228
+ * @throws {Error} If keychain cleanup has failed.
229
+ */
230
+ clearKeychains: () => Promise<void>;
231
+ /**
232
+ * Adds the given certificate to the booted simulator.
233
+ * The simulator could be in both running and shutdown states
234
+ * in order for this method to run as expected.
235
+ *
236
+ * @since Xcode 11.4
237
+ * @param payload the content of the PEM certificate
238
+ * @param opts Certificate options
239
+ * @returns True if the certificate was added successfully.
240
+ */
241
+ addCertificate: (payload: string, opts?: CertificateOptions) => Promise<boolean>;
242
+ /**
243
+ * Simulates push notification delivery to the booted simulator
244
+ *
245
+ * @since Xcode SDK 11.4
246
+ * @param payload - The object that describes Apple push notification content.
247
+ * It must contain a top-level "Simulator Target Bundle" key with a string value matching
248
+ * the target application's bundle identifier and "aps" key with valid Apple Push Notification values.
249
+ * For example:
250
+ * {
251
+ * "Simulator Target Bundle": "com.apple.Preferences",
252
+ * "aps": {
253
+ * "alert": "This is a simulated notification!",
254
+ * "badge": 3,
255
+ * "sound": "default"
256
+ * }
257
+ * }
258
+ */
259
+ pushNotification: (payload: StringRecord) => Promise<void>;
260
+ /**
261
+ * Sets UI appearance style.
262
+ * This function can only be called on a booted simulator.
263
+ *
264
+ * @since Xcode SDK 11.4
265
+ * @param value one of possible appearance values:
266
+ * - dark: to switch to the Dark mode
267
+ * - light: to switch to the Light mode
268
+ */
269
+ setAppearance: (value: string) => Promise<void>;
270
+ /**
271
+ * Gets the current UI appearance style
272
+ * This function can only be called on a booted simulator.
273
+ *
274
+ * @since Xcode SDK 11.4
275
+ * @returns the current UI appearance style.
276
+ * Possible values are:
277
+ * - dark: to switch to the Dark mode
278
+ * - light: to switch to the Light mode
279
+ */
280
+ getAppearance: () => Promise<string>;
281
+ installApp: typeof appExtensions.installApp;
282
+ getUserInstalledBundleIdsByBundleName: typeof appExtensions.getUserInstalledBundleIdsByBundleName;
283
+ isAppInstalled: typeof appExtensions.isAppInstalled;
284
+ removeApp: typeof appExtensions.removeApp;
285
+ launchApp: typeof appExtensions.launchApp;
286
+ terminateApp: typeof appExtensions.terminateApp;
287
+ isAppRunning: typeof appExtensions.isAppRunning;
288
+ scrubApp: typeof appExtensions.scrubApp;
289
+ openUrl: typeof safariExtensions.openUrl;
290
+ scrubSafari: typeof safariExtensions.scrubSafari;
291
+ updateSafariSettings: typeof safariExtensions.updateSafariSettings;
292
+ getWebInspectorSocket: () => Promise<string | null>;
293
+ isBiometricEnrolled: typeof biometricExtensions.isBiometricEnrolled;
294
+ enrollBiometric: typeof biometricExtensions.enrollBiometric;
295
+ sendBiometricMatch: typeof biometricExtensions.sendBiometricMatch;
296
+ backupKeychains: () => Promise<boolean>;
297
+ restoreKeychains: (excludePatterns: string[]) => Promise<boolean>;
298
+ shake: typeof miscExtensions.shake;
299
+ setPermission: typeof permissionsExtensions.setPermission;
300
+ setPermissions: typeof permissionsExtensions.setPermissions;
301
+ getPermission: typeof permissionsExtensions.getPermission;
302
+ updateSettings: typeof settingsExtensions.updateSettings;
303
+ setIncreaseContrast: typeof settingsExtensions.setIncreaseContrast;
304
+ getIncreaseContrast: typeof settingsExtensions.getIncreaseContrast;
305
+ setContentSize: typeof settingsExtensions.setContentSize;
306
+ getContentSize: typeof settingsExtensions.getContentSize;
307
+ configureLocalization: typeof settingsExtensions.configureLocalization;
308
+ setAutoFillPasswords: typeof settingsExtensions.setAutoFillPasswords;
309
+ setReduceMotion: typeof settingsExtensions.setReduceMotion;
310
+ setReduceTransparency: typeof settingsExtensions.setReduceTransparency;
311
+ disableKeyboardIntroduction: typeof settingsExtensions.disableKeyboardIntroduction;
5
312
  }
6
- export type SupportsGeolocation = import("./types").SupportsGeolocation;
7
- import { SimulatorXcode11_4 } from './simulator-xcode-11.4';
8
313
  //# sourceMappingURL=simulator-xcode-14.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"simulator-xcode-14.d.ts","sourceRoot":"","sources":["../../lib/simulator-xcode-14.js"],"names":[],"mappings":"AAEA;;GAEG;AAEH;CAYC;kCAfY,OAAO,SAAS,EAAE,mBAAmB;mCAHf,wBAAwB"}
1
+ {"version":3,"file":"simulator-xcode-14.d.ts","sourceRoot":"","sources":["../../lib/simulator-xcode-14.ts"],"names":[],"mappings":"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"}