appium-xcuitest-driver 11.7.7 → 11.8.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.
- package/CHANGELOG.md +6 -0
- package/build/lib/device/real-device-management.d.ts +11 -0
- package/build/lib/device/real-device-management.d.ts.map +1 -1
- package/build/lib/device/real-device-management.js +44 -0
- package/build/lib/device/real-device-management.js.map +1 -1
- package/build/lib/device/zip-conduit-client.d.ts +45 -0
- package/build/lib/device/zip-conduit-client.d.ts.map +1 -0
- package/build/lib/device/zip-conduit-client.js +73 -0
- package/build/lib/device/zip-conduit-client.js.map +1 -0
- package/lib/device/real-device-management.ts +50 -0
- package/lib/device/zip-conduit-client.ts +83 -0
- package/npm-shrinkwrap.json +12 -12
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [11.8.0](https://github.com/appium/appium-xcuitest-driver/compare/v11.7.7...v11.8.0) (2026-06-02)
|
|
2
|
+
|
|
3
|
+
### Features
|
|
4
|
+
|
|
5
|
+
* **app:** use zip_conduit service for IPA installation/upgrade ([#2860](https://github.com/appium/appium-xcuitest-driver/issues/2860)) ([308ccfd](https://github.com/appium/appium-xcuitest-driver/commit/308ccfd1851a7bad1e0ae709aef617b32e07c922))
|
|
6
|
+
|
|
1
7
|
## [11.7.7](https://github.com/appium/appium-xcuitest-driver/compare/v11.7.6...v11.7.7) (2026-06-01)
|
|
2
8
|
|
|
3
9
|
### Miscellaneous Chores
|
|
@@ -97,6 +97,17 @@ export declare class RealDevice {
|
|
|
97
97
|
bundleId?: string;
|
|
98
98
|
fullReset?: boolean;
|
|
99
99
|
}): Promise<void>;
|
|
100
|
+
/**
|
|
101
|
+
* Attempt a streaming zip_conduit install of an `.ipa` over RemoteXPC.
|
|
102
|
+
*
|
|
103
|
+
* @param appPath - Local path to the app package
|
|
104
|
+
* @param timeoutMs - Overall install timeout in milliseconds
|
|
105
|
+
* @returns `true` when the app was installed via zip_conduit; `false` when the
|
|
106
|
+
* package is not an eligible `.ipa`, the service is unavailable, or the
|
|
107
|
+
* streamed install failed. A `false` result tells the caller to fall back to
|
|
108
|
+
* the AFC upload + installation_proxy path.
|
|
109
|
+
*/
|
|
110
|
+
private installViaZipConduit;
|
|
100
111
|
}
|
|
101
112
|
/**
|
|
102
113
|
* Retrieve a file from a real device
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"real-device-management.d.ts","sourceRoot":"","sources":["../../../lib/device/real-device-management.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"real-device-management.d.ts","sourceRoot":"","sources":["../../../lib/device/real-device-management.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ const asyncbox_1 = require("asyncbox");
|
|
|
18
18
|
const node_path_1 = __importDefault(require("node:path"));
|
|
19
19
|
const helpers_1 = require("../commands/helpers");
|
|
20
20
|
const utils_1 = require("../utils");
|
|
21
|
+
const constants_1 = require("../commands/constants");
|
|
21
22
|
const logger_1 = require("../logger");
|
|
22
23
|
const node_devicectl_1 = require("node-devicectl");
|
|
23
24
|
const afc_client_1 = require("./afc-client");
|
|
@@ -26,6 +27,7 @@ const installation_proxy_client_1 = require("./installation-proxy-client");
|
|
|
26
27
|
const notification_client_1 = require("./notification-client");
|
|
27
28
|
const lockdown_client_1 = require("./lockdown-client");
|
|
28
29
|
const app_termination_client_1 = require("./app-termination-client");
|
|
30
|
+
const zip_conduit_client_1 = require("./zip-conduit-client");
|
|
29
31
|
const DEFAULT_APP_INSTALLATION_TIMEOUT_MS = 8 * 60 * 1000;
|
|
30
32
|
exports.IO_TIMEOUT_MS = 4 * 60 * 1000;
|
|
31
33
|
// Mobile devices use NAND memory modules for the storage,
|
|
@@ -65,6 +67,12 @@ class RealDevice {
|
|
|
65
67
|
const { timeoutMs = exports.IO_TIMEOUT_MS } = opts;
|
|
66
68
|
const timer = new support_1.timing.Timer().start();
|
|
67
69
|
const useRemoteXPC = (0, helpers_1.isIos18OrNewer)(this.driverOpts);
|
|
70
|
+
// first try with zip_conduit service for iOS/tvOS 18+ and IPA only
|
|
71
|
+
// fall through to the AFC + installation_proxy path for other cases/zip_conduit failure
|
|
72
|
+
if (useRemoteXPC && (await this.installViaZipConduit(appPath, timeoutMs))) {
|
|
73
|
+
this.log.info(`The installation of '${bundleId}' succeeded after ${timer.getDuration().asMilliSeconds.toFixed(0)}ms`);
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
68
76
|
const afcClient = await afc_client_1.AfcClient.createForDevice(this.udid, useRemoteXPC);
|
|
69
77
|
try {
|
|
70
78
|
let bundlePathOnPhone;
|
|
@@ -249,6 +257,42 @@ class RealDevice {
|
|
|
249
257
|
}
|
|
250
258
|
this.log.debug(`Reset: removed '${bundleId}'`);
|
|
251
259
|
}
|
|
260
|
+
/**
|
|
261
|
+
* Attempt a streaming zip_conduit install of an `.ipa` over RemoteXPC.
|
|
262
|
+
*
|
|
263
|
+
* @param appPath - Local path to the app package
|
|
264
|
+
* @param timeoutMs - Overall install timeout in milliseconds
|
|
265
|
+
* @returns `true` when the app was installed via zip_conduit; `false` when the
|
|
266
|
+
* package is not an eligible `.ipa`, the service is unavailable, or the
|
|
267
|
+
* streamed install failed. A `false` result tells the caller to fall back to
|
|
268
|
+
* the AFC upload + installation_proxy path.
|
|
269
|
+
*/
|
|
270
|
+
async installViaZipConduit(appPath, timeoutMs) {
|
|
271
|
+
// zip_conduit only accepts .ipa archives. Unpacked .app bundles (and any
|
|
272
|
+
// other non-.ipa package) must use the AFC + installation_proxy
|
|
273
|
+
// path, so anything that is not a regular .ipa file is skipped here.
|
|
274
|
+
if (!appPath.toLowerCase().endsWith(constants_1.IPA_EXT) || !(await support_1.fs.stat(appPath)).isFile()) {
|
|
275
|
+
return false;
|
|
276
|
+
}
|
|
277
|
+
let client = null;
|
|
278
|
+
try {
|
|
279
|
+
client = await zip_conduit_client_1.ZipConduitClient.create(this.udid, this.log);
|
|
280
|
+
if (!client) {
|
|
281
|
+
return false;
|
|
282
|
+
}
|
|
283
|
+
this.log.debug(`Installing '${node_path_1.default.basename(appPath)}' via streaming zip_conduit`);
|
|
284
|
+
await client.install(appPath, { timeoutMs });
|
|
285
|
+
return true;
|
|
286
|
+
}
|
|
287
|
+
catch (err) {
|
|
288
|
+
this.log.warn(`Fast zip_conduit install of '${node_path_1.default.basename(appPath)}' failed; falling back to ` +
|
|
289
|
+
`AFC upload + installation_proxy. Original error: ${err.message}`);
|
|
290
|
+
return false;
|
|
291
|
+
}
|
|
292
|
+
finally {
|
|
293
|
+
await client?.close();
|
|
294
|
+
}
|
|
295
|
+
}
|
|
252
296
|
}
|
|
253
297
|
exports.RealDevice = RealDevice;
|
|
254
298
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"real-device-management.js","sourceRoot":"","sources":["../../../lib/device/real-device-management.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"real-device-management.js","sourceRoot":"","sources":["../../../lib/device/real-device-management.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { AppiumLogger } from '@appium/types';
|
|
2
|
+
/**
|
|
3
|
+
* Options accepted by {@link ZipConduitClient.install}
|
|
4
|
+
*/
|
|
5
|
+
export interface ZipConduitInstallOptions {
|
|
6
|
+
/** Maximum number of milliseconds to wait for the streamed installation to finish */
|
|
7
|
+
timeoutMs?: number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Thin wrapper around the RemoteXPC streaming `zip_conduit` service.
|
|
11
|
+
*
|
|
12
|
+
* `zip_conduit` streams an `.ipa` straight into the on-device installer, avoiding the separate AFC upload +
|
|
13
|
+
* `installation_proxy` round trip. It is RemoteXPC-only (iOS/tvOS 18+ with an
|
|
14
|
+
* active tunnel) and only accepts `.ipa` archives, so callers must keep a
|
|
15
|
+
* fallback for unpacked `.app` bundles and older devices.
|
|
16
|
+
*/
|
|
17
|
+
export declare class ZipConduitClient {
|
|
18
|
+
private readonly service;
|
|
19
|
+
private readonly _log;
|
|
20
|
+
private _lastLoggedProgress?;
|
|
21
|
+
private constructor();
|
|
22
|
+
/**
|
|
23
|
+
* Create a zip_conduit client for the device
|
|
24
|
+
*
|
|
25
|
+
* @param udid - Device UDID
|
|
26
|
+
* @param logger - Optional logger
|
|
27
|
+
* @returns A connected client, or `null` when zip_conduit is unavailable
|
|
28
|
+
*/
|
|
29
|
+
static create(udid: string, logger?: AppiumLogger): Promise<ZipConduitClient | null>;
|
|
30
|
+
/**
|
|
31
|
+
* Stream-install an `.ipa`. Handles both fresh installs and upgrades; the
|
|
32
|
+
* device resolves the target by bundle id from the archive contents, so no
|
|
33
|
+
* separate upgrade call is needed.
|
|
34
|
+
*
|
|
35
|
+
* @param ipaPath - Absolute path to the local `.ipa`
|
|
36
|
+
* @param opts - Install options
|
|
37
|
+
*/
|
|
38
|
+
install(ipaPath: string, opts?: ZipConduitInstallOptions): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Close the underlying socket.
|
|
41
|
+
*/
|
|
42
|
+
close(): Promise<void>;
|
|
43
|
+
private logInstallProgress;
|
|
44
|
+
}
|
|
45
|
+
//# sourceMappingURL=zip-conduit-client.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zip-conduit-client.d.ts","sourceRoot":"","sources":["../../../lib/device/zip-conduit-client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,YAAY,EAAC,MAAM,eAAe,CAAC;AAGhD;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IAIzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJvB,OAAO,CAAC,mBAAmB,CAAC,CAAsC;IAElE,OAAO;IAKP;;;;;;OAMG;WACU,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,GAAE,YAAkB,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;IAS/F;;;;;;;OAOG;IACG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,GAAE,wBAA6B,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlF;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,OAAO,CAAC,kBAAkB;CAU3B"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ZipConduitClient = void 0;
|
|
4
|
+
const remotexpc_utils_1 = require("./remotexpc-utils");
|
|
5
|
+
const logger_1 = require("../logger");
|
|
6
|
+
/**
|
|
7
|
+
* Thin wrapper around the RemoteXPC streaming `zip_conduit` service.
|
|
8
|
+
*
|
|
9
|
+
* `zip_conduit` streams an `.ipa` straight into the on-device installer, avoiding the separate AFC upload +
|
|
10
|
+
* `installation_proxy` round trip. It is RemoteXPC-only (iOS/tvOS 18+ with an
|
|
11
|
+
* active tunnel) and only accepts `.ipa` archives, so callers must keep a
|
|
12
|
+
* fallback for unpacked `.app` bundles and older devices.
|
|
13
|
+
*/
|
|
14
|
+
class ZipConduitClient {
|
|
15
|
+
service;
|
|
16
|
+
_log;
|
|
17
|
+
_lastLoggedProgress;
|
|
18
|
+
constructor(service, _log = logger_1.log) {
|
|
19
|
+
this.service = service;
|
|
20
|
+
this._log = _log;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Create a zip_conduit client for the device
|
|
24
|
+
*
|
|
25
|
+
* @param udid - Device UDID
|
|
26
|
+
* @param logger - Optional logger
|
|
27
|
+
* @returns A connected client, or `null` when zip_conduit is unavailable
|
|
28
|
+
*/
|
|
29
|
+
static async create(udid, logger = logger_1.log) {
|
|
30
|
+
const Services = await (0, remotexpc_utils_1.tryGetRemoteXPCServices)();
|
|
31
|
+
if (!Services || typeof Services.startZipConduitService !== 'function') {
|
|
32
|
+
return null;
|
|
33
|
+
}
|
|
34
|
+
const service = await Services.startZipConduitService(udid);
|
|
35
|
+
return new ZipConduitClient(service, logger);
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Stream-install an `.ipa`. Handles both fresh installs and upgrades; the
|
|
39
|
+
* device resolves the target by bundle id from the archive contents, so no
|
|
40
|
+
* separate upgrade call is needed.
|
|
41
|
+
*
|
|
42
|
+
* @param ipaPath - Absolute path to the local `.ipa`
|
|
43
|
+
* @param opts - Install options
|
|
44
|
+
*/
|
|
45
|
+
async install(ipaPath, opts = {}) {
|
|
46
|
+
this._lastLoggedProgress = undefined;
|
|
47
|
+
await this.service.install(ipaPath, {
|
|
48
|
+
timeoutMs: opts.timeoutMs,
|
|
49
|
+
progress: ({ percent, status }) => this.logInstallProgress(percent, status),
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Close the underlying socket.
|
|
54
|
+
*/
|
|
55
|
+
async close() {
|
|
56
|
+
try {
|
|
57
|
+
this.service.close();
|
|
58
|
+
}
|
|
59
|
+
catch (err) {
|
|
60
|
+
this._log.debug(`Error closing zip_conduit service: ${err.message}`);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
logInstallProgress(percent, status) {
|
|
64
|
+
if (percent === this._lastLoggedProgress?.percent &&
|
|
65
|
+
status === this._lastLoggedProgress?.status) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
this._lastLoggedProgress = { percent, status };
|
|
69
|
+
this._log.debug(`App install progress: ${percent}%${status ? ` (${status})` : ''}`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.ZipConduitClient = ZipConduitClient;
|
|
73
|
+
//# sourceMappingURL=zip-conduit-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"zip-conduit-client.js","sourceRoot":"","sources":["../../../lib/device/zip-conduit-client.ts"],"names":[],"mappings":";;;AAAA,uDAA0D;AAC1D,sCAA8B;AAY9B;;;;;;;GAOG;AACH,MAAa,gBAAgB;IAIR;IACA;IAJX,mBAAmB,CAAuC;IAElE,YACmB,OAAmC,EACnC,OAAqB,YAAG;QADxB,YAAO,GAAP,OAAO,CAA4B;QACnC,SAAI,GAAJ,IAAI,CAAoB;IACxC,CAAC;IAEJ;;;;;;OAMG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,IAAY,EAAE,SAAuB,YAAG;QAC1D,MAAM,QAAQ,GAAG,MAAM,IAAA,yCAAuB,GAAE,CAAC;QACjD,IAAI,CAAC,QAAQ,IAAI,OAAO,QAAQ,CAAC,sBAAsB,KAAK,UAAU,EAAE,CAAC;YACvE,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;QAC5D,OAAO,IAAI,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,OAAO,CAAC,OAAe,EAAE,OAAiC,EAAE;QAChE,IAAI,CAAC,mBAAmB,GAAG,SAAS,CAAC;QACrC,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE;YAClC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ,EAAE,CAAC,EAAC,OAAO,EAAE,MAAM,EAAC,EAAE,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC;SAC1E,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,IAAI,CAAC;YACH,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,sCAAsC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;IAEO,kBAAkB,CAAC,OAAe,EAAE,MAAc;QACxD,IACE,OAAO,KAAK,IAAI,CAAC,mBAAmB,EAAE,OAAO;YAC7C,MAAM,KAAK,IAAI,CAAC,mBAAmB,EAAE,MAAM,EAC3C,CAAC;YACD,OAAO;QACT,CAAC;QACD,IAAI,CAAC,mBAAmB,GAAG,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC;QAC7C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,yBAAyB,OAAO,IAAI,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACtF,CAAC;CACF;AA7DD,4CA6DC"}
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
withTimeout,
|
|
10
10
|
} from '../commands/helpers';
|
|
11
11
|
import {isEmpty, isPlainObject} from '../utils';
|
|
12
|
+
import {IPA_EXT} from '../commands/constants';
|
|
12
13
|
import {log as defaultLogger} from '../logger';
|
|
13
14
|
import {Devicectl} from 'node-devicectl';
|
|
14
15
|
import type {AppiumLogger} from '@appium/types';
|
|
@@ -19,6 +20,7 @@ import {InstallationProxyClient} from './installation-proxy-client';
|
|
|
19
20
|
import {NotificationClient} from './notification-client';
|
|
20
21
|
import {LockdownClient} from './lockdown-client';
|
|
21
22
|
import {AppTerminationClient} from './app-termination-client';
|
|
23
|
+
import {ZipConduitClient} from './zip-conduit-client';
|
|
22
24
|
|
|
23
25
|
const DEFAULT_APP_INSTALLATION_TIMEOUT_MS = 8 * 60 * 1000;
|
|
24
26
|
export const IO_TIMEOUT_MS = 4 * 60 * 1000;
|
|
@@ -114,6 +116,16 @@ export class RealDevice {
|
|
|
114
116
|
const {timeoutMs = IO_TIMEOUT_MS} = opts;
|
|
115
117
|
const timer = new timing.Timer().start();
|
|
116
118
|
const useRemoteXPC = isIos18OrNewer(this.driverOpts);
|
|
119
|
+
|
|
120
|
+
// first try with zip_conduit service for iOS/tvOS 18+ and IPA only
|
|
121
|
+
// fall through to the AFC + installation_proxy path for other cases/zip_conduit failure
|
|
122
|
+
if (useRemoteXPC && (await this.installViaZipConduit(appPath, timeoutMs))) {
|
|
123
|
+
this.log.info(
|
|
124
|
+
`The installation of '${bundleId}' succeeded after ${timer.getDuration().asMilliSeconds.toFixed(0)}ms`,
|
|
125
|
+
);
|
|
126
|
+
return;
|
|
127
|
+
}
|
|
128
|
+
|
|
117
129
|
const afcClient = await AfcClient.createForDevice(this.udid, useRemoteXPC);
|
|
118
130
|
try {
|
|
119
131
|
let bundlePathOnPhone: string;
|
|
@@ -333,6 +345,44 @@ export class RealDevice {
|
|
|
333
345
|
}
|
|
334
346
|
this.log.debug(`Reset: removed '${bundleId}'`);
|
|
335
347
|
}
|
|
348
|
+
|
|
349
|
+
/**
|
|
350
|
+
* Attempt a streaming zip_conduit install of an `.ipa` over RemoteXPC.
|
|
351
|
+
*
|
|
352
|
+
* @param appPath - Local path to the app package
|
|
353
|
+
* @param timeoutMs - Overall install timeout in milliseconds
|
|
354
|
+
* @returns `true` when the app was installed via zip_conduit; `false` when the
|
|
355
|
+
* package is not an eligible `.ipa`, the service is unavailable, or the
|
|
356
|
+
* streamed install failed. A `false` result tells the caller to fall back to
|
|
357
|
+
* the AFC upload + installation_proxy path.
|
|
358
|
+
*/
|
|
359
|
+
private async installViaZipConduit(appPath: string, timeoutMs: number): Promise<boolean> {
|
|
360
|
+
// zip_conduit only accepts .ipa archives. Unpacked .app bundles (and any
|
|
361
|
+
// other non-.ipa package) must use the AFC + installation_proxy
|
|
362
|
+
// path, so anything that is not a regular .ipa file is skipped here.
|
|
363
|
+
if (!appPath.toLowerCase().endsWith(IPA_EXT) || !(await fs.stat(appPath)).isFile()) {
|
|
364
|
+
return false;
|
|
365
|
+
}
|
|
366
|
+
|
|
367
|
+
let client: ZipConduitClient | null = null;
|
|
368
|
+
try {
|
|
369
|
+
client = await ZipConduitClient.create(this.udid, this.log);
|
|
370
|
+
if (!client) {
|
|
371
|
+
return false;
|
|
372
|
+
}
|
|
373
|
+
this.log.debug(`Installing '${path.basename(appPath)}' via streaming zip_conduit`);
|
|
374
|
+
await client.install(appPath, {timeoutMs});
|
|
375
|
+
return true;
|
|
376
|
+
} catch (err) {
|
|
377
|
+
this.log.warn(
|
|
378
|
+
`Fast zip_conduit install of '${path.basename(appPath)}' failed; falling back to ` +
|
|
379
|
+
`AFC upload + installation_proxy. Original error: ${(err as Error).message}`,
|
|
380
|
+
);
|
|
381
|
+
return false;
|
|
382
|
+
} finally {
|
|
383
|
+
await client?.close();
|
|
384
|
+
}
|
|
385
|
+
}
|
|
336
386
|
}
|
|
337
387
|
|
|
338
388
|
/**
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import {tryGetRemoteXPCServices} from './remotexpc-utils';
|
|
2
|
+
import {log} from '../logger';
|
|
3
|
+
import type {AppiumLogger} from '@appium/types';
|
|
4
|
+
import type {ZipConduitService as RemoteXPCZipConduitService} from 'appium-ios-remotexpc';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Options accepted by {@link ZipConduitClient.install}
|
|
8
|
+
*/
|
|
9
|
+
export interface ZipConduitInstallOptions {
|
|
10
|
+
/** Maximum number of milliseconds to wait for the streamed installation to finish */
|
|
11
|
+
timeoutMs?: number;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Thin wrapper around the RemoteXPC streaming `zip_conduit` service.
|
|
16
|
+
*
|
|
17
|
+
* `zip_conduit` streams an `.ipa` straight into the on-device installer, avoiding the separate AFC upload +
|
|
18
|
+
* `installation_proxy` round trip. It is RemoteXPC-only (iOS/tvOS 18+ with an
|
|
19
|
+
* active tunnel) and only accepts `.ipa` archives, so callers must keep a
|
|
20
|
+
* fallback for unpacked `.app` bundles and older devices.
|
|
21
|
+
*/
|
|
22
|
+
export class ZipConduitClient {
|
|
23
|
+
private _lastLoggedProgress?: {percent?: number; status?: string};
|
|
24
|
+
|
|
25
|
+
private constructor(
|
|
26
|
+
private readonly service: RemoteXPCZipConduitService,
|
|
27
|
+
private readonly _log: AppiumLogger = log,
|
|
28
|
+
) {}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Create a zip_conduit client for the device
|
|
32
|
+
*
|
|
33
|
+
* @param udid - Device UDID
|
|
34
|
+
* @param logger - Optional logger
|
|
35
|
+
* @returns A connected client, or `null` when zip_conduit is unavailable
|
|
36
|
+
*/
|
|
37
|
+
static async create(udid: string, logger: AppiumLogger = log): Promise<ZipConduitClient | null> {
|
|
38
|
+
const Services = await tryGetRemoteXPCServices();
|
|
39
|
+
if (!Services || typeof Services.startZipConduitService !== 'function') {
|
|
40
|
+
return null;
|
|
41
|
+
}
|
|
42
|
+
const service = await Services.startZipConduitService(udid);
|
|
43
|
+
return new ZipConduitClient(service, logger);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Stream-install an `.ipa`. Handles both fresh installs and upgrades; the
|
|
48
|
+
* device resolves the target by bundle id from the archive contents, so no
|
|
49
|
+
* separate upgrade call is needed.
|
|
50
|
+
*
|
|
51
|
+
* @param ipaPath - Absolute path to the local `.ipa`
|
|
52
|
+
* @param opts - Install options
|
|
53
|
+
*/
|
|
54
|
+
async install(ipaPath: string, opts: ZipConduitInstallOptions = {}): Promise<void> {
|
|
55
|
+
this._lastLoggedProgress = undefined;
|
|
56
|
+
await this.service.install(ipaPath, {
|
|
57
|
+
timeoutMs: opts.timeoutMs,
|
|
58
|
+
progress: ({percent, status}) => this.logInstallProgress(percent, status),
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Close the underlying socket.
|
|
64
|
+
*/
|
|
65
|
+
async close(): Promise<void> {
|
|
66
|
+
try {
|
|
67
|
+
this.service.close();
|
|
68
|
+
} catch (err: any) {
|
|
69
|
+
this._log.debug(`Error closing zip_conduit service: ${err.message}`);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
private logInstallProgress(percent: number, status: string): void {
|
|
74
|
+
if (
|
|
75
|
+
percent === this._lastLoggedProgress?.percent &&
|
|
76
|
+
status === this._lastLoggedProgress?.status
|
|
77
|
+
) {
|
|
78
|
+
return;
|
|
79
|
+
}
|
|
80
|
+
this._lastLoggedProgress = {percent, status};
|
|
81
|
+
this._log.debug(`App install progress: ${percent}%${status ? ` (${status})` : ''}`);
|
|
82
|
+
}
|
|
83
|
+
}
|
package/npm-shrinkwrap.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "appium-xcuitest-driver",
|
|
3
|
-
"version": "11.
|
|
3
|
+
"version": "11.8.0",
|
|
4
4
|
"lockfileVersion": 3,
|
|
5
5
|
"requires": true,
|
|
6
6
|
"packages": {
|
|
7
7
|
"": {
|
|
8
8
|
"name": "appium-xcuitest-driver",
|
|
9
|
-
"version": "11.
|
|
9
|
+
"version": "11.8.0",
|
|
10
10
|
"license": "Apache-2.0",
|
|
11
11
|
"dependencies": {
|
|
12
12
|
"@appium/strongbox": "^1.0.0-rc.1",
|
|
@@ -63,7 +63,7 @@
|
|
|
63
63
|
"npm": ">=10"
|
|
64
64
|
},
|
|
65
65
|
"optionalDependencies": {
|
|
66
|
-
"appium-ios-remotexpc": "^2.
|
|
66
|
+
"appium-ios-remotexpc": "^2.3.0"
|
|
67
67
|
},
|
|
68
68
|
"peerDependencies": {
|
|
69
69
|
"appium": "^3.0.0-rc.2"
|
|
@@ -494,9 +494,9 @@
|
|
|
494
494
|
}
|
|
495
495
|
},
|
|
496
496
|
"node_modules/appium-ios-remotexpc": {
|
|
497
|
-
"version": "2.
|
|
498
|
-
"resolved": "https://registry.npmjs.org/appium-ios-remotexpc/-/appium-ios-remotexpc-2.
|
|
499
|
-
"integrity": "sha512-
|
|
497
|
+
"version": "2.3.0",
|
|
498
|
+
"resolved": "https://registry.npmjs.org/appium-ios-remotexpc/-/appium-ios-remotexpc-2.3.0.tgz",
|
|
499
|
+
"integrity": "sha512-dL/3Wzpf1iiXa33GiQFfiCTmcXi/m/y6RFoQaxmONvibnDDLRvSuP5s+h2z3HJxIN4+rD2qjivKO+7NAXClAOQ==",
|
|
500
500
|
"license": "Apache-2.0",
|
|
501
501
|
"optional": true,
|
|
502
502
|
"dependencies": {
|
|
@@ -538,9 +538,9 @@
|
|
|
538
538
|
}
|
|
539
539
|
},
|
|
540
540
|
"node_modules/appium-ios-tuntap": {
|
|
541
|
-
"version": "0.4.
|
|
542
|
-
"resolved": "https://registry.npmjs.org/appium-ios-tuntap/-/appium-ios-tuntap-0.4.
|
|
543
|
-
"integrity": "sha512-
|
|
541
|
+
"version": "0.4.2",
|
|
542
|
+
"resolved": "https://registry.npmjs.org/appium-ios-tuntap/-/appium-ios-tuntap-0.4.2.tgz",
|
|
543
|
+
"integrity": "sha512-eawRtPp0RwZn89A0oGaCr9Nll+Z1LeZF5oGfEc7LnAA5BHjnN/GEZIBocPA84uTHAg2GXb3//LEO6RpsltI53A==",
|
|
544
544
|
"hasInstallScript": true,
|
|
545
545
|
"license": "Apache-2.0",
|
|
546
546
|
"optional": true,
|
|
@@ -754,9 +754,9 @@
|
|
|
754
754
|
}
|
|
755
755
|
},
|
|
756
756
|
"node_modules/bare-path": {
|
|
757
|
-
"version": "3.0.
|
|
758
|
-
"resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.
|
|
759
|
-
"integrity": "sha512-
|
|
757
|
+
"version": "3.0.1",
|
|
758
|
+
"resolved": "https://registry.npmjs.org/bare-path/-/bare-path-3.0.1.tgz",
|
|
759
|
+
"integrity": "sha512-ghj2DSK/2e99a1anTVPCV4m4YIYtrbXhfM7V3D7XZLOTsybnYyaJloymGqssQc8l/or0UoDyRtNQkmkEF/ysgQ==",
|
|
760
760
|
"license": "Apache-2.0",
|
|
761
761
|
"dependencies": {
|
|
762
762
|
"bare-os": "^3.0.1"
|
package/package.json
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"xcuitest",
|
|
9
9
|
"xctest"
|
|
10
10
|
],
|
|
11
|
-
"version": "11.
|
|
11
|
+
"version": "11.8.0",
|
|
12
12
|
"author": "Appium Contributors",
|
|
13
13
|
"license": "Apache-2.0",
|
|
14
14
|
"repository": {
|
|
@@ -107,7 +107,7 @@
|
|
|
107
107
|
"ws": "^8.13.0"
|
|
108
108
|
},
|
|
109
109
|
"optionalDependencies": {
|
|
110
|
-
"appium-ios-remotexpc": "^2.
|
|
110
|
+
"appium-ios-remotexpc": "^2.3.0"
|
|
111
111
|
},
|
|
112
112
|
"scripts": {
|
|
113
113
|
"build": "tsc -b",
|