appium-ios-remotexpc 2.2.4 → 2.2.5
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/src/services/ios/installation-proxy/index.d.ts.map +1 -1
- package/build/src/services/ios/installation-proxy/index.js +1 -24
- package/build/src/services/ios/installation-proxy/index.js.map +1 -1
- package/package.json +1 -1
- package/src/services/ios/installation-proxy/index.ts +1 -42
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,9 @@
|
|
|
1
|
+
## [2.2.5](https://github.com/appium/appium-ios-remotexpc/compare/v2.2.4...v2.2.5) (2026-06-01)
|
|
2
|
+
|
|
3
|
+
### Miscellaneous Chores
|
|
4
|
+
|
|
5
|
+
* Remove unnecessary logs from installation proxy ([#231](https://github.com/appium/appium-ios-remotexpc/issues/231)) ([b8b44f8](https://github.com/appium/appium-ios-remotexpc/commit/b8b44f8201b74e0d835eab5df68f594fcdf3c792))
|
|
6
|
+
|
|
1
7
|
## [2.2.4](https://github.com/appium/appium-ios-remotexpc/compare/v2.2.3...v2.2.4) (2026-06-01)
|
|
2
8
|
|
|
3
9
|
### Miscellaneous Chores
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/installation-proxy/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/installation-proxy/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,KAAK,EACV,OAAO,EACP,eAAe,EACf,aAAa,EAEb,cAAc,EACd,aAAa,EAEb,gBAAgB,EAEhB,gBAAgB,EACjB,MAAM,YAAY,CAAC;AAIpB,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAE9C,eAAO,MAAM,yBAAyB,UAOrC,CAAC;AAEF,eAAO,MAAM,eAAe,UAI3B,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,QAAgB,CAAC;AAEpD;;;GAGG;AACH,eAAO,MAAM,uBAAuB,QAAiB,CAAC;AAEtD;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,WAAW;IACvD,MAAM,CAAC,QAAQ,CAAC,gBAAgB,qDACoB;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,UAAU,CAAkC;gBAExC,OAAO,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAE,MAAc;IAK9D;;OAEG;IACG,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAkD7D;;OAEG;IACG,MAAM,CACV,SAAS,CAAC,EAAE,MAAM,EAAE,EACpB,OAAO,GAAE,OAAO,CAAC,aAAa,CAAM,GACnC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IA8BnC;;OAEG;IACG,OAAO,CACX,eAAe,GAAE,eAA0C,EAC3D,cAAc,GAAE,OAAe,EAC/B,SAAS,CAAC,EAAE,MAAM,EAAE,GACnB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAqBnC;;;;;OAKG;IACG,OAAO,CACX,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,cAAmB,EAC5B,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;;OAKG;IACG,SAAS,CACb,gBAAgB,EAAE,MAAM,EACxB,OAAO,GAAE,gBAAqB,EAC9B,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;;OAKG;IACG,OAAO,CACX,WAAW,EAAE,MAAM,EACnB,OAAO,GAAE,cAAmB,EAC5B,gBAAgB,CAAC,EAAE,gBAAgB,GAClC,OAAO,CAAC,IAAI,CAAC;IAYhB;;;;OAIG;IACG,cAAc,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC;QACtD,WAAW,EAAE,OAAO,CAAC;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IAwBF;;OAEG;IACH,KAAK,IAAI,IAAI;YAaC,aAAa;YAqCb,mBAAmB;IAqCjC,OAAO,CAAC,aAAa;CAYtB"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { util } from '@appium/support';
|
|
2
1
|
import { getLogger } from '../../../lib/logger.js';
|
|
3
2
|
import { BaseService } from '../base-service.js';
|
|
4
3
|
const log = getLogger('InstallationProxyService');
|
|
@@ -41,7 +40,6 @@ export class InstallationProxyService extends BaseService {
|
|
|
41
40
|
* Browse installed applications
|
|
42
41
|
*/
|
|
43
42
|
async browse(options = {}) {
|
|
44
|
-
log.debug('Browse command with options:', options);
|
|
45
43
|
const { applicationType = DEFAULT_APPLICATION_TYPE, returnAttributes = DEFAULT_RETURN_ATTRIBUTES, } = options;
|
|
46
44
|
const clientOptions = {
|
|
47
45
|
ApplicationType: applicationType,
|
|
@@ -67,10 +65,8 @@ export class InstallationProxyService extends BaseService {
|
|
|
67
65
|
this.checkForError(response);
|
|
68
66
|
if (response.CurrentList && response.CurrentList.length > 0) {
|
|
69
67
|
result.push(...response.CurrentList);
|
|
70
|
-
log.debug(`Received ${util.pluralize('app', response.CurrentList.length, true)}, total: ${util.pluralize('app', result.length, true)}`);
|
|
71
68
|
}
|
|
72
69
|
if (response.Status === 'Complete') {
|
|
73
|
-
log.debug(`Browse complete. Found ${util.pluralize('application', result.length, true)}.`);
|
|
74
70
|
break;
|
|
75
71
|
}
|
|
76
72
|
}
|
|
@@ -80,7 +76,6 @@ export class InstallationProxyService extends BaseService {
|
|
|
80
76
|
* Lookup application information by bundle IDs
|
|
81
77
|
*/
|
|
82
78
|
async lookup(bundleIds, options = {}) {
|
|
83
|
-
log.debug('Lookup command for bundle IDs:', bundleIds);
|
|
84
79
|
const clientOptions = {
|
|
85
80
|
...options,
|
|
86
81
|
};
|
|
@@ -98,14 +93,12 @@ export class InstallationProxyService extends BaseService {
|
|
|
98
93
|
log.warn('Lookup returned no results');
|
|
99
94
|
return {};
|
|
100
95
|
}
|
|
101
|
-
log.debug(`Lookup found ${util.pluralize('application', Object.keys(response.LookupResult).length, true)}`);
|
|
102
96
|
return response.LookupResult;
|
|
103
97
|
}
|
|
104
98
|
/**
|
|
105
99
|
* Get all installed applications with optional size calculation
|
|
106
100
|
*/
|
|
107
101
|
async getApps(applicationType = DEFAULT_APPLICATION_TYPE, calculateSizes = false, bundleIds) {
|
|
108
|
-
log.debug('Get apps:', { applicationType, calculateSizes, bundleIds });
|
|
109
102
|
const options = {
|
|
110
103
|
applicationType,
|
|
111
104
|
};
|
|
@@ -129,7 +122,6 @@ export class InstallationProxyService extends BaseService {
|
|
|
129
122
|
* @param progressCallback Optional callback for progress updates
|
|
130
123
|
*/
|
|
131
124
|
async install(packagePath, options = {}, progressCallback) {
|
|
132
|
-
log.debug(`Installing app from: ${packagePath}`);
|
|
133
125
|
const { timeoutMs, ...clientOptions } = options;
|
|
134
126
|
const request = {
|
|
135
127
|
Command: 'Install',
|
|
@@ -137,7 +129,6 @@ export class InstallationProxyService extends BaseService {
|
|
|
137
129
|
ClientOptions: clientOptions,
|
|
138
130
|
};
|
|
139
131
|
await this.executeWithProgress(request, progressCallback, timeoutMs);
|
|
140
|
-
log.info('Installation complete');
|
|
141
132
|
}
|
|
142
133
|
/**
|
|
143
134
|
* Uninstall an application by bundle identifier
|
|
@@ -146,7 +137,6 @@ export class InstallationProxyService extends BaseService {
|
|
|
146
137
|
* @param progressCallback Optional callback for progress updates
|
|
147
138
|
*/
|
|
148
139
|
async uninstall(bundleIdentifier, options = {}, progressCallback) {
|
|
149
|
-
log.debug(`Uninstalling app: ${bundleIdentifier}`);
|
|
150
140
|
const { timeoutMs, ...clientOptions } = options;
|
|
151
141
|
const request = {
|
|
152
142
|
Command: 'Uninstall',
|
|
@@ -154,7 +144,6 @@ export class InstallationProxyService extends BaseService {
|
|
|
154
144
|
ClientOptions: clientOptions,
|
|
155
145
|
};
|
|
156
146
|
await this.executeWithProgress(request, progressCallback, timeoutMs);
|
|
157
|
-
log.info('Uninstallation complete');
|
|
158
147
|
}
|
|
159
148
|
/**
|
|
160
149
|
* Upgrade an existing application
|
|
@@ -163,7 +152,6 @@ export class InstallationProxyService extends BaseService {
|
|
|
163
152
|
* @param progressCallback Optional callback for progress updates
|
|
164
153
|
*/
|
|
165
154
|
async upgrade(packagePath, options = {}, progressCallback) {
|
|
166
|
-
log.debug(`Upgrading app from: ${packagePath}`);
|
|
167
155
|
const { timeoutMs, ...clientOptions } = options;
|
|
168
156
|
const request = {
|
|
169
157
|
Command: 'Upgrade',
|
|
@@ -171,7 +159,6 @@ export class InstallationProxyService extends BaseService {
|
|
|
171
159
|
ClientOptions: clientOptions,
|
|
172
160
|
};
|
|
173
161
|
await this.executeWithProgress(request, progressCallback, timeoutMs);
|
|
174
|
-
log.info('Upgrade complete');
|
|
175
162
|
}
|
|
176
163
|
/**
|
|
177
164
|
* Check if an app is installed on the device
|
|
@@ -179,16 +166,13 @@ export class InstallationProxyService extends BaseService {
|
|
|
179
166
|
* @returns Object with installation status and version info if installed
|
|
180
167
|
*/
|
|
181
168
|
async isAppInstalled(bundleIdentifier) {
|
|
182
|
-
log.debug(`Checking if app ${bundleIdentifier} is installed`);
|
|
183
169
|
try {
|
|
184
170
|
const installedApps = await this.lookup([bundleIdentifier]);
|
|
185
171
|
const appInfo = installedApps[bundleIdentifier];
|
|
186
172
|
if (!appInfo) {
|
|
187
|
-
log.debug(`App ${bundleIdentifier} is not installed`);
|
|
188
173
|
return { isInstalled: false };
|
|
189
174
|
}
|
|
190
175
|
const version = appInfo.CFBundleShortVersionString || appInfo.CFBundleVersion;
|
|
191
|
-
log.debug(`App ${bundleIdentifier} is installed${version ? ` (version: ${version})` : ''}`);
|
|
192
176
|
return {
|
|
193
177
|
isInstalled: true,
|
|
194
178
|
version,
|
|
@@ -208,7 +192,6 @@ export class InstallationProxyService extends BaseService {
|
|
|
208
192
|
try {
|
|
209
193
|
if (this.connection) {
|
|
210
194
|
this.connection.close();
|
|
211
|
-
log.debug('Connection closed successfully');
|
|
212
195
|
}
|
|
213
196
|
}
|
|
214
197
|
catch (error) {
|
|
@@ -231,7 +214,6 @@ export class InstallationProxyService extends BaseService {
|
|
|
231
214
|
createConnectionTimeout: this.timeout,
|
|
232
215
|
});
|
|
233
216
|
const startServiceResponse = await this.connection.receive(this.timeout);
|
|
234
|
-
log.debug('StartService response:', startServiceResponse);
|
|
235
217
|
if (!startServiceResponse) {
|
|
236
218
|
throw new Error('No response received from service');
|
|
237
219
|
}
|
|
@@ -260,14 +242,9 @@ export class InstallationProxyService extends BaseService {
|
|
|
260
242
|
this.checkForError(response);
|
|
261
243
|
// Report progress if available
|
|
262
244
|
if (response.PercentComplete !== undefined && response.Status) {
|
|
263
|
-
|
|
264
|
-
const status = response.Status;
|
|
265
|
-
log.debug(`Progress: ${percent}% - ${status}`);
|
|
266
|
-
await progressCallback?.(percent, status);
|
|
245
|
+
await progressCallback?.(response.PercentComplete, response.Status);
|
|
267
246
|
}
|
|
268
|
-
// Break when we receive the final "Complete" status
|
|
269
247
|
if (response.Status === 'Complete') {
|
|
270
|
-
log.debug('Operation complete');
|
|
271
248
|
break;
|
|
272
249
|
}
|
|
273
250
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/ios/installation-proxy/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/services/ios/installation-proxy/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAcjD,MAAM,GAAG,GAAG,SAAS,CAAC,0BAA0B,CAAC,CAAC;AAElD,MAAM,CAAC,MAAM,wBAAwB,GAAG,KAAK,CAAC;AAE9C,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,oBAAoB;IACpB,cAAc;IACd,qBAAqB;IACrB,iBAAiB;IACjB,4BAA4B;IAC5B,iBAAiB;CAClB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,oBAAoB;IACpB,iBAAiB;IACjB,kBAAkB;CACnB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,YAAY;AAEjE;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;AAEpE;;GAEG;AACH,MAAM,OAAO,wBAAyB,SAAQ,WAAW;IACvD,MAAM,CAAU,gBAAgB,GAC9B,iDAAiD,CAAC;IACnC,OAAO,CAAS;IACzB,UAAU,GAA6B,IAAI,CAAC;IAEpD,YAAY,OAAyB,EAAE,UAAkB,KAAK;QAC5D,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,UAAyB,EAAE;QACtC,MAAM,EACJ,eAAe,GAAG,wBAAwB,EAC1C,gBAAgB,GAAG,yBAAyB,GAC7C,GAAG,OAAO,CAAC;QAEZ,MAAM,aAAa,GAAsC;YACvD,eAAe,EAAE,eAAe;SACjC,CAAC;QAEF,gDAAgD;QAChD,IAAI,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACpC,aAAa,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;QACpD,CAAC;QAED,MAAM,OAAO,GAAoB;YAC/B,OAAO,EAAE,QAAQ;YACjB,aAAa,EAAE,aAAa;SAC7B,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAExB,MAAM,MAAM,GAAc,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAEpC,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,sBAAsB,EAAE,CAAC;gBAC3D,MAAM,IAAI,KAAK,CACb,+CAA+C,sBAAsB,GAAG,IAAI,MAAM;oBAChF,yDAAyD,CAC5D,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAmB,CAAC;YAEtE,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAE7B,IAAI,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC5D,MAAM,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;YACvC,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACnC,MAAM;YACR,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,SAAoB,EACpB,UAAkC,EAAE;QAEpC,MAAM,aAAa,GAAwD;YACzE,GAAG,OAAO;SACX,CAAC;QAEF,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,aAAa,CAAC,SAAS,GAAG,SAAS,CAAC;QACtC,CAAC;QAED,MAAM,OAAO,GAAoB;YAC/B,OAAO,EAAE,QAAQ;YACjB,aAAa,EAAE,aAAa;SAC7B,CAAC;QAEF,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,gBAAgB,CAC3C,OAAO,EACP,IAAI,CAAC,OAAO,CACb,CAAmB,CAAC;QAErB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAE7B,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC3B,GAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YACvC,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,QAAQ,CAAC,YAAY,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CACX,kBAAmC,wBAAwB,EAC3D,iBAA0B,KAAK,EAC/B,SAAoB;QAEpB,MAAM,OAAO,GAAkB;YAC7B,eAAe;SAChB,CAAC;QAEF,IAAI,cAAc,EAAE,CAAC;YACnB,mEAAmE;YACnE,OAAO,CAAC,gBAAgB,GAAG;gBACzB,GAAG,yBAAyB;gBAC5B,iBAAiB;gBACjB,kBAAkB;aACnB,CAAC;QACJ,CAAC;QAED,IAAI,SAAS,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;QAChC,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CACX,WAAmB,EACnB,UAA0B,EAAE,EAC5B,gBAAmC;QAEnC,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC;QAEhD,MAAM,OAAO,GAAoB;YAC/B,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,WAAW;YACxB,aAAa,EAAE,aAAgC;SAChD,CAAC;QAEF,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;IACvE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CACb,gBAAwB,EACxB,UAA4B,EAAE,EAC9B,gBAAmC;QAEnC,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC;QAEhD,MAAM,OAAO,GAAoB;YAC/B,OAAO,EAAE,WAAW;YACpB,qBAAqB,EAAE,gBAAgB;YACvC,aAAa,EAAE,aAAgC;SAChD,CAAC;QAEF,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;IACvE,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,OAAO,CACX,WAAmB,EACnB,UAA0B,EAAE,EAC5B,gBAAmC;QAEnC,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC;QAEhD,MAAM,OAAO,GAAoB;YAC/B,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,WAAW;YACxB,aAAa,EAAE,aAAgC;SAChD,CAAC;QAEF,MAAM,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,EAAE,SAAS,CAAC,CAAC;IACvE,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc,CAAC,gBAAwB;QAK3C,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC;YAC5D,MAAM,OAAO,GAAG,aAAa,CAAC,gBAAgB,CAAC,CAAC;YAEhD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;YAChC,CAAC;YAED,MAAM,OAAO,GACX,OAAO,CAAC,0BAA0B,IAAI,OAAO,CAAC,eAAe,CAAC;YAEhE,OAAO;gBACL,WAAW,EAAE,IAAI;gBACjB,OAAO;gBACP,OAAO;aACR,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,uCAAuC,KAAK,EAAE,CAAC,CAAC;YAC1D,+CAA+C;YAC/C,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC;QAChC,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC;YACH,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,GAAG,CAAC,KAAK,CAAC,2BAA2B,EAAE,KAAK,CAAC,CAAC;QAChD,CAAC;gBAAS,CAAC;YACT,yCAAyC;YACzC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,aAAa;QACzB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QAED,MAAM,OAAO,GAAG;YACd,WAAW,EAAE,wBAAwB,CAAC,gBAAgB;YACtD,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;SACjC,CAAC;QAEF,IAAI,CAAC,UAAU,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,OAAO,EAAE;YACzD,uBAAuB,EAAE,IAAI,CAAC,OAAO;SACtC,CAAC,CAAC;QAEH,MAAM,oBAAoB,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEzE,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;QACvD,CAAC;QAED,IAAI,oBAAoB,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;YACpD,MAAM,IAAI,KAAK,CACb,wCAAwC,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAC/E,CAAC;QACJ,CAAC;QAED,IAAI,oBAAoB,CAAC,KAAK,EAAE,CAAC;YAC/B,MAAM,SAAS,GACb,oBAAoB,CAAC,gBAAgB,IAAI,eAAe,CAAC;YAC3D,MAAM,IAAI,KAAK,CACb,yBAAyB,oBAAoB,CAAC,KAAK,MAAM,SAAS,EAAE,CACrE,CAAC;QACJ,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,OAAwB,EACxB,gBAAmC,EACnC,YAAoB,uBAAuB;QAE3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QACxC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;QAExB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC;QAEpC,OAAO,IAAI,EAAE,CAAC;YACZ,IAAI,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS,GAAG,SAAS,EAAE,CAAC;gBAC9C,MAAM,IAAI,KAAK,CACb,wCAAwC,SAAS,GAAG,IAAI,MAAM;oBAC5D,yDAAyD,CAC5D,CAAC;YACJ,CAAC;YAED,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAqB,CAAC;YAExE,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;YACvD,CAAC;YAED,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YAE7B,+BAA+B;YAC/B,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;gBAC9D,MAAM,gBAAgB,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;YACtE,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACnC,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IAEO,aAAa,CACnB,QAA4D;QAE5D,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;YACpB,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC7B,MAAM,WAAW,GAAG,QAAQ,CAAC,gBAAgB,IAAI,gBAAgB,CAAC;QAClE,GAAG,CAAC,KAAK,CAAC,6BAA6B,KAAK,MAAM,WAAW,EAAE,CAAC,CAAC;QACjE,MAAM,IAAI,KAAK,CAAC,GAAG,KAAK,KAAK,WAAW,EAAE,CAAC,CAAC;IAC9C,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import { util } from '@appium/support';
|
|
2
|
-
|
|
3
1
|
import { getLogger } from '../../../lib/logger.js';
|
|
4
2
|
import type { PlistDictionary } from '../../../lib/types.js';
|
|
5
3
|
import { ServiceConnection } from '../../../service-connection.js';
|
|
@@ -66,8 +64,6 @@ export class InstallationProxyService extends BaseService {
|
|
|
66
64
|
* Browse installed applications
|
|
67
65
|
*/
|
|
68
66
|
async browse(options: BrowseOptions = {}): Promise<AppInfo[]> {
|
|
69
|
-
log.debug('Browse command with options:', options);
|
|
70
|
-
|
|
71
67
|
const {
|
|
72
68
|
applicationType = DEFAULT_APPLICATION_TYPE,
|
|
73
69
|
returnAttributes = DEFAULT_RETURN_ATTRIBUTES,
|
|
@@ -107,15 +103,9 @@ export class InstallationProxyService extends BaseService {
|
|
|
107
103
|
|
|
108
104
|
if (response.CurrentList && response.CurrentList.length > 0) {
|
|
109
105
|
result.push(...response.CurrentList);
|
|
110
|
-
log.debug(
|
|
111
|
-
`Received ${util.pluralize('app', response.CurrentList.length, true)}, total: ${util.pluralize('app', result.length, true)}`,
|
|
112
|
-
);
|
|
113
106
|
}
|
|
114
107
|
|
|
115
108
|
if (response.Status === 'Complete') {
|
|
116
|
-
log.debug(
|
|
117
|
-
`Browse complete. Found ${util.pluralize('application', result.length, true)}.`,
|
|
118
|
-
);
|
|
119
109
|
break;
|
|
120
110
|
}
|
|
121
111
|
}
|
|
@@ -130,8 +120,6 @@ export class InstallationProxyService extends BaseService {
|
|
|
130
120
|
bundleIds?: string[],
|
|
131
121
|
options: Partial<LookupOptions> = {},
|
|
132
122
|
): Promise<Record<string, AppInfo>> {
|
|
133
|
-
log.debug('Lookup command for bundle IDs:', bundleIds);
|
|
134
|
-
|
|
135
123
|
const clientOptions: Record<string, string | string[] | ApplicationType> = {
|
|
136
124
|
...options,
|
|
137
125
|
};
|
|
@@ -158,9 +146,6 @@ export class InstallationProxyService extends BaseService {
|
|
|
158
146
|
return {};
|
|
159
147
|
}
|
|
160
148
|
|
|
161
|
-
log.debug(
|
|
162
|
-
`Lookup found ${util.pluralize('application', Object.keys(response.LookupResult).length, true)}`,
|
|
163
|
-
);
|
|
164
149
|
return response.LookupResult;
|
|
165
150
|
}
|
|
166
151
|
|
|
@@ -172,8 +157,6 @@ export class InstallationProxyService extends BaseService {
|
|
|
172
157
|
calculateSizes: boolean = false,
|
|
173
158
|
bundleIds?: string[],
|
|
174
159
|
): Promise<Record<string, AppInfo>> {
|
|
175
|
-
log.debug('Get apps:', { applicationType, calculateSizes, bundleIds });
|
|
176
|
-
|
|
177
160
|
const options: LookupOptions = {
|
|
178
161
|
applicationType,
|
|
179
162
|
};
|
|
@@ -205,8 +188,6 @@ export class InstallationProxyService extends BaseService {
|
|
|
205
188
|
options: InstallOptions = {},
|
|
206
189
|
progressCallback?: ProgressCallback,
|
|
207
190
|
): Promise<void> {
|
|
208
|
-
log.debug(`Installing app from: ${packagePath}`);
|
|
209
|
-
|
|
210
191
|
const { timeoutMs, ...clientOptions } = options;
|
|
211
192
|
|
|
212
193
|
const request: PlistDictionary = {
|
|
@@ -216,7 +197,6 @@ export class InstallationProxyService extends BaseService {
|
|
|
216
197
|
};
|
|
217
198
|
|
|
218
199
|
await this.executeWithProgress(request, progressCallback, timeoutMs);
|
|
219
|
-
log.info('Installation complete');
|
|
220
200
|
}
|
|
221
201
|
|
|
222
202
|
/**
|
|
@@ -230,8 +210,6 @@ export class InstallationProxyService extends BaseService {
|
|
|
230
210
|
options: UninstallOptions = {},
|
|
231
211
|
progressCallback?: ProgressCallback,
|
|
232
212
|
): Promise<void> {
|
|
233
|
-
log.debug(`Uninstalling app: ${bundleIdentifier}`);
|
|
234
|
-
|
|
235
213
|
const { timeoutMs, ...clientOptions } = options;
|
|
236
214
|
|
|
237
215
|
const request: PlistDictionary = {
|
|
@@ -241,7 +219,6 @@ export class InstallationProxyService extends BaseService {
|
|
|
241
219
|
};
|
|
242
220
|
|
|
243
221
|
await this.executeWithProgress(request, progressCallback, timeoutMs);
|
|
244
|
-
log.info('Uninstallation complete');
|
|
245
222
|
}
|
|
246
223
|
|
|
247
224
|
/**
|
|
@@ -255,8 +232,6 @@ export class InstallationProxyService extends BaseService {
|
|
|
255
232
|
options: InstallOptions = {},
|
|
256
233
|
progressCallback?: ProgressCallback,
|
|
257
234
|
): Promise<void> {
|
|
258
|
-
log.debug(`Upgrading app from: ${packagePath}`);
|
|
259
|
-
|
|
260
235
|
const { timeoutMs, ...clientOptions } = options;
|
|
261
236
|
|
|
262
237
|
const request: PlistDictionary = {
|
|
@@ -266,7 +241,6 @@ export class InstallationProxyService extends BaseService {
|
|
|
266
241
|
};
|
|
267
242
|
|
|
268
243
|
await this.executeWithProgress(request, progressCallback, timeoutMs);
|
|
269
|
-
log.info('Upgrade complete');
|
|
270
244
|
}
|
|
271
245
|
|
|
272
246
|
/**
|
|
@@ -279,24 +253,17 @@ export class InstallationProxyService extends BaseService {
|
|
|
279
253
|
version?: string;
|
|
280
254
|
appInfo?: AppInfo;
|
|
281
255
|
}> {
|
|
282
|
-
log.debug(`Checking if app ${bundleIdentifier} is installed`);
|
|
283
|
-
|
|
284
256
|
try {
|
|
285
257
|
const installedApps = await this.lookup([bundleIdentifier]);
|
|
286
258
|
const appInfo = installedApps[bundleIdentifier];
|
|
287
259
|
|
|
288
260
|
if (!appInfo) {
|
|
289
|
-
log.debug(`App ${bundleIdentifier} is not installed`);
|
|
290
261
|
return { isInstalled: false };
|
|
291
262
|
}
|
|
292
263
|
|
|
293
264
|
const version =
|
|
294
265
|
appInfo.CFBundleShortVersionString || appInfo.CFBundleVersion;
|
|
295
266
|
|
|
296
|
-
log.debug(
|
|
297
|
-
`App ${bundleIdentifier} is installed${version ? ` (version: ${version})` : ''}`,
|
|
298
|
-
);
|
|
299
|
-
|
|
300
267
|
return {
|
|
301
268
|
isInstalled: true,
|
|
302
269
|
version,
|
|
@@ -316,7 +283,6 @@ export class InstallationProxyService extends BaseService {
|
|
|
316
283
|
try {
|
|
317
284
|
if (this.connection) {
|
|
318
285
|
this.connection.close();
|
|
319
|
-
log.debug('Connection closed successfully');
|
|
320
286
|
}
|
|
321
287
|
} catch (error) {
|
|
322
288
|
log.error('Error closing connection:', error);
|
|
@@ -341,7 +307,6 @@ export class InstallationProxyService extends BaseService {
|
|
|
341
307
|
});
|
|
342
308
|
|
|
343
309
|
const startServiceResponse = await this.connection.receive(this.timeout);
|
|
344
|
-
log.debug('StartService response:', startServiceResponse);
|
|
345
310
|
|
|
346
311
|
if (!startServiceResponse) {
|
|
347
312
|
throw new Error('No response received from service');
|
|
@@ -392,16 +357,10 @@ export class InstallationProxyService extends BaseService {
|
|
|
392
357
|
|
|
393
358
|
// Report progress if available
|
|
394
359
|
if (response.PercentComplete !== undefined && response.Status) {
|
|
395
|
-
|
|
396
|
-
const status = response.Status;
|
|
397
|
-
log.debug(`Progress: ${percent}% - ${status}`);
|
|
398
|
-
|
|
399
|
-
await progressCallback?.(percent, status);
|
|
360
|
+
await progressCallback?.(response.PercentComplete, response.Status);
|
|
400
361
|
}
|
|
401
362
|
|
|
402
|
-
// Break when we receive the final "Complete" status
|
|
403
363
|
if (response.Status === 'Complete') {
|
|
404
|
-
log.debug('Operation complete');
|
|
405
364
|
break;
|
|
406
365
|
}
|
|
407
366
|
}
|