appium-ios-remotexpc 5.16.3 → 5.17.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 CHANGED
@@ -1,3 +1,9 @@
1
+ ## [5.17.0](https://github.com/appium/appium-ios-remotexpc/compare/v5.16.3...v5.17.0) (2026-08-28)
2
+
3
+ ### Features
4
+
5
+ * **accessibility:** decode element rectangles on audit issues ([#307](https://github.com/appium/appium-ios-remotexpc/issues/307)) ([f79c216](https://github.com/appium/appium-ios-remotexpc/commit/f79c2162cd12b87ecaf5281961dba6e61c6e8ccb))
6
+
1
7
  ## [5.16.3](https://github.com/appium/appium-ios-remotexpc/compare/v5.16.2...v5.16.3) (2026-08-28)
2
8
 
3
9
  ### Bug Fixes
@@ -31,7 +31,8 @@ export type { AxDeviceSetting } from './services/ios/accessibility-audit/index.j
31
31
  export { AxAuditDtxTransport } from './services/ios/accessibility-audit/dtx-transport.js';
32
32
  export type { InvokeOptions as AxInvokeOptions } from './services/ios/accessibility-audit/dtx-transport.js';
33
33
  export { AX_OBJECT_TYPE, deserializeAxObject } from './services/ios/accessibility-audit/ax-deserialize.js';
34
- export { AxPoint } from './services/ios/accessibility-audit/ax-values.js';
34
+ export { AxPoint, toAxRect } from './services/ios/accessibility-audit/ax-values.js';
35
+ export type { AxRect } from './services/ios/accessibility-audit/ax-values.js';
35
36
  export { serializeAxAttribute, serializeAxElement, toAxElement, toInspectedElement, } from './services/ios/accessibility-audit/ax-element.js';
36
37
  export type { AxElement, AxElementAttribute, AxInspectedElement, AxInspectorSection, } from './services/ios/accessibility-audit/ax-element.js';
37
38
  export { serializeAxSetting } from './services/ios/accessibility-audit/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,7 @@ export { PasteboardService } from './services/ios/pasteboard/index.js';
15
15
  export { AccessibilityAuditService } from './services/ios/accessibility-audit/index.js';
16
16
  export { AxAuditDtxTransport } from './services/ios/accessibility-audit/dtx-transport.js';
17
17
  export { AX_OBJECT_TYPE, deserializeAxObject } from './services/ios/accessibility-audit/ax-deserialize.js';
18
- export { AxPoint } from './services/ios/accessibility-audit/ax-values.js';
18
+ export { AxPoint, toAxRect } from './services/ios/accessibility-audit/ax-values.js';
19
19
  export { serializeAxAttribute, serializeAxElement, toAxElement, toInspectedElement, } from './services/ios/accessibility-audit/ax-element.js';
20
20
  export { serializeAxSetting } from './services/ios/accessibility-audit/index.js';
21
21
  export { CoreDeviceInfoService } from './services/ios/device-info/index.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -22,4 +22,22 @@ export declare class AxPoint {
22
22
  * corroborates the numbering.
23
23
  */
24
24
  export declare function archiveAxPoint(point: AxPoint): Record<string, unknown>;
25
+ /** An element's on-screen rectangle, in points. */
26
+ export interface AxRect {
27
+ x: number;
28
+ y: number;
29
+ width: number;
30
+ height: number;
31
+ }
32
+ /**
33
+ * Reads an element's rectangle from an audit issue's `ElementRectValue_v1`.
34
+ *
35
+ * The daemon sends a `CGRect` as an `NSValue` whose struct is a string, e.g.
36
+ * `{{16, 186.33}, {18, 18}}`. Returns `undefined` for anything that is not a
37
+ * rect — including a bare number, which means the archiver reference was never
38
+ * resolved — rather than guessing at partial coordinates.
39
+ *
40
+ * @param value The raw `ElementRectValue_v1` from an audit issue.
41
+ */
42
+ export declare function toAxRect(value: unknown): AxRect | undefined;
25
43
  //# sourceMappingURL=ax-values.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ax-values.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/accessibility-audit/ax-values.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,qBAAa,OAAO;IAEhB,QAAQ,CAAC,CAAC,EAAE,MAAM;IAClB,QAAQ,CAAC,CAAC,EAAE,MAAM;gBADT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM;CAErB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkBtE"}
1
+ {"version":3,"file":"ax-values.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/accessibility-audit/ax-values.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AACH,qBAAa,OAAO;IAEhB,QAAQ,CAAC,CAAC,EAAE,MAAM;IAClB,QAAQ,CAAC,CAAC,EAAE,MAAM;gBADT,CAAC,EAAE,MAAM,EACT,CAAC,EAAE,MAAM;CAErB;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAkBtE;AAED,mDAAmD;AACnD,MAAM,WAAW,MAAM;IACrB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAQD;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAkB3D"}
@@ -1,3 +1,4 @@
1
+ import { util } from '@appium/support';
1
2
  import { PlistUID } from '../../../lib/plist/index.js';
2
3
  /**
3
4
  * A point passed to the accessibility daemon, in normalized device coordinates
@@ -44,4 +45,37 @@ export function archiveAxPoint(point) {
44
45
  ],
45
46
  };
46
47
  }
48
+ /** `NS.special` value marking an `NSValue` that wraps a `CGRect`. */
49
+ const NS_SPECIAL_RECT = 3;
50
+ /** `{{x, y}, {width, height}}` — Foundation's string form for a `CGRect`. */
51
+ const CG_RECT_PATTERN = /^\{\{\s*(-?[\d.]+)\s*,\s*(-?[\d.]+)\s*\}\s*,\s*\{\s*(-?[\d.]+)\s*,\s*(-?[\d.]+)\s*\}\}$/;
52
+ /**
53
+ * Reads an element's rectangle from an audit issue's `ElementRectValue_v1`.
54
+ *
55
+ * The daemon sends a `CGRect` as an `NSValue` whose struct is a string, e.g.
56
+ * `{{16, 186.33}, {18, 18}}`. Returns `undefined` for anything that is not a
57
+ * rect — including a bare number, which means the archiver reference was never
58
+ * resolved — rather than guessing at partial coordinates.
59
+ *
60
+ * @param value The raw `ElementRectValue_v1` from an audit issue.
61
+ */
62
+ export function toAxRect(value) {
63
+ if (!util.isPlainObject(value)) {
64
+ return undefined;
65
+ }
66
+ const fields = value;
67
+ if (fields['NS.special'] !== NS_SPECIAL_RECT) {
68
+ return undefined;
69
+ }
70
+ const raw = fields['NS.rectval'];
71
+ if (typeof raw !== 'string') {
72
+ return undefined;
73
+ }
74
+ const match = CG_RECT_PATTERN.exec(raw.trim());
75
+ if (!match) {
76
+ return undefined;
77
+ }
78
+ const [x, y, width, height] = match.slice(1, 5).map(Number);
79
+ return [x, y, width, height].every((n) => Number.isFinite(n)) ? { x, y, width, height } : undefined;
80
+ }
47
81
  //# sourceMappingURL=ax-values.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ax-values.js","sourceRoot":"","sources":["../../../../../src/services/ios/accessibility-audit/ax-values.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,6BAA6B,CAAC;AAErD;;;;;;;;;;GAUG;AACH,MAAM,OAAO,OAAO;IAEP;IACA;IAFX,YACW,CAAS,EACT,CAAS;QADT,MAAC,GAAD,CAAC,CAAQ;QACT,MAAC,GAAD,CAAC,CAAQ;IACjB,CAAC;CACL;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO;QACL,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,iBAAiB;QAC5B,IAAI,EAAE,EAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAC;QAC7B,QAAQ,EAAE;YACR,OAAO;YACP;gBACE,YAAY,EAAE,CAAC;gBACf,aAAa,EAAE,IAAI,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG;gBACzC,MAAM,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC;aACxB;YACD;gBACE,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;gBACjC,UAAU,EAAE,SAAS;aACtB;SACF;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ax-values.js","sourceRoot":"","sources":["../../../../../src/services/ios/accessibility-audit/ax-values.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,IAAI,EAAC,MAAM,iBAAiB,CAAC;AAErC,OAAO,EAAC,QAAQ,EAAC,MAAM,6BAA6B,CAAC;AAErD;;;;;;;;;;GAUG;AACH,MAAM,OAAO,OAAO;IAEP;IACA;IAFX,YACW,CAAS,EACT,CAAS;QADT,MAAC,GAAD,CAAC,CAAQ;QACT,MAAC,GAAD,CAAC,CAAQ;IACjB,CAAC;CACL;AAED;;;;;;GAMG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO;QACL,QAAQ,EAAE,MAAM;QAChB,SAAS,EAAE,iBAAiB;QAC5B,IAAI,EAAE,EAAC,IAAI,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC,EAAC;QAC7B,QAAQ,EAAE;YACR,OAAO;YACP;gBACE,YAAY,EAAE,CAAC;gBACf,aAAa,EAAE,IAAI,KAAK,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,GAAG;gBACzC,MAAM,EAAE,IAAI,QAAQ,CAAC,CAAC,CAAC;aACxB;YACD;gBACE,QAAQ,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC;gBACjC,UAAU,EAAE,SAAS;aACtB;SACF;KACF,CAAC;AACJ,CAAC;AAUD,qEAAqE;AACrE,MAAM,eAAe,GAAG,CAAC,CAAC;AAE1B,6EAA6E;AAC7E,MAAM,eAAe,GAAG,yFAAyF,CAAC;AAElH;;;;;;;;;GASG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,MAAM,GAAG,KAAgC,CAAC;IAChD,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,eAAe,EAAE,CAAC;QAC7C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,GAAG,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IACjC,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QAC5B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,KAAK,GAAG,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5D,OAAO,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AACpG,CAAC"}
@@ -1,13 +1,3 @@
1
- /**
2
- * Decode NSKeyedArchiver formatted data into native JavaScript objects
3
- *
4
- * NSKeyedArchiver is Apple's serialization format that stores object graphs
5
- * with references. The format includes:
6
- * - $version: Archive version (typically 100000)
7
- * - $archiver: "NSKeyedArchiver"
8
- * - $top: Root object references
9
- * - $objects: Array of all objects with cross-references
10
- */
11
1
  export declare class NSKeyedArchiverDecoder {
12
2
  private readonly objects;
13
3
  private readonly decoded;
@@ -1 +1 @@
1
- {"version":3,"file":"nskeyedarchiver-decoder.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/dvt/nskeyedarchiver-decoder.ts"],"names":[],"mappings":"AAKA;;;;;;;;;GASG;AACH,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAM;gBAElB,IAAI,EAAE,GAAG;IAUrB;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO;IAU3C;;OAEG;IACH,MAAM,IAAI,GAAG;IA8Bb;;OAEG;IACH,OAAO,CAAC,YAAY;IAqGpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAenB;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAoBzB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAiBpD"}
1
+ {"version":3,"file":"nskeyedarchiver-decoder.d.ts","sourceRoot":"","sources":["../../../../../src/services/ios/dvt/nskeyedarchiver-decoder.ts"],"names":[],"mappings":"AAsBA,qBAAa,sBAAsB;IACjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAQ;IAChC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;IAC3C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAM;gBAElB,IAAI,EAAE,GAAG;IAUrB;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO;IAU3C;;OAEG;IACH,MAAM,IAAI,GAAG;IA8Bb;;OAEG;IACH,OAAO,CAAC,YAAY;IA4GpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAenB;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAoBzB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAiBpD"}
@@ -11,6 +11,12 @@ const MAX_DECODE_DEPTH = 1000;
11
11
  * - $top: Root object references
12
12
  * - $objects: Array of all objects with cross-references
13
13
  */
14
+ /**
15
+ * `NSValue` keys whose value is a UID pointing at the struct's string form.
16
+ *
17
+ * `NS.special` discriminates which one is present: 1 point, 2 size, 3 rect.
18
+ */
19
+ const NSVALUE_STRUCT_KEYS = new Set(['NS.rectval', 'NS.pointval', 'NS.sizeval']);
14
20
  export class NSKeyedArchiverDecoder {
15
21
  objects;
16
22
  decoded;
@@ -125,7 +131,15 @@ export class NSKeyedArchiverDecoder {
125
131
  if (key === '$class') {
126
132
  continue; // Skip class metadata
127
133
  }
128
- if (typeof value === 'number') {
134
+ if (typeof value === 'number' && NSVALUE_STRUCT_KEYS.has(key)) {
135
+ // An NSValue stores its struct as a string ("{{0, 0}, {18, 18}}") and
136
+ // points at it by UID. The parser cannot tell a UID from an integer, and
137
+ // the heuristic below only follows references to objects, so these keys
138
+ // would keep the raw index. They always reference a string.
139
+ const referenced = value >= 0 && value < this.objects.length ? this.objects[value] : undefined;
140
+ result[key] = typeof referenced === 'string' ? referenced : value;
141
+ }
142
+ else if (typeof value === 'number') {
129
143
  // Could be a reference or primitive
130
144
  if (value < this.objects.length && value >= 0) {
131
145
  const referenced = this.objects[value];
@@ -1 +1 @@
1
- {"version":3,"file":"nskeyedarchiver-decoder.js","sourceRoot":"","sources":["../../../../../src/services/ios/dvt/nskeyedarchiver-decoder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nskeyedarchiver-decoder.js","sourceRoot":"","sources":["../../../../../src/services/ios/dvt/nskeyedarchiver-decoder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,wBAAwB,CAAC;AAEjD,MAAM,GAAG,GAAG,SAAS,CAAC,wBAAwB,CAAC,CAAC;AAChD,MAAM,gBAAgB,GAAG,IAAI,CAAC;AAE9B;;;;;;;;;GASG;AACH;;;;GAIG;AACH,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC,CAAC;AAEjF,MAAM,OAAO,sBAAsB;IAChB,OAAO,CAAQ;IACf,OAAO,CAAmB;IAC1B,OAAO,CAAM;IAE9B,YAAY,IAAS;QACnB,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YACnD,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;QACnC,IAAI,CAAC,OAAO,GAAG,IAAI,GAAG,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,IAAS;QAC/B,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,OAAO,CACL,WAAW,IAAI,IAAI,IAAI,IAAI,CAAC,SAAS,KAAK,iBAAiB,IAAI,UAAU,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAClH,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mCAAmC;QACnC,IAAI,SAAS,GAAkB,IAAI,CAAC;QAEpC,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC/D,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;YAC9B,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;gBAClB,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;gBACtB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,SAAS,GAAG,IAAI,CAAC;gBACnB,CAAC;qBAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;oBAChE,SAAS,GAAI,IAAY,CAAC,MAAM,CAAC;gBACnC,CAAC;YACH,CAAC;QACH,CAAC;QAED,wCAAwC;QACxC,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QACtC,CAAC;QAED,yCAAyC;QACzC,GAAG,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAC9B,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,KAAa,EAAE,UAAuB,IAAI,GAAG,EAAE,EAAE,QAAgB,CAAC;QACrF,0CAA0C;QAC1C,IAAI,KAAK,GAAG,gBAAgB,EAAE,CAAC;YAC7B,GAAG,CAAC,IAAI,CAAC,0CAA0C,KAAK,EAAE,CAAC,CAAC;YAC5D,OAAO,IAAI,CAAC;QACd,CAAC;QACD,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC9C,OAAO,IAAI,CAAC;QACd,CAAC;QAED,6BAA6B;QAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,CAAC,sCAAsC;QACrD,CAAC;QAED,cAAc;QACd,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QAEhC,qBAAqB;QACrB,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACpC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,yBAAyB;QACzB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;YAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO,GAAG,CAAC;QACb,CAAC;QAED,8CAA8C;QAC9C,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACzB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC7B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO,GAAG,CAAC;QACb,CAAC;QAED,wBAAwB;QACxB,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;YACpB,MAAM,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YACjE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,+EAA+E;QAC/E,IAAI,SAAS,IAAI,GAAG,IAAI,YAAY,IAAI,GAAG,EAAE,CAAC;YAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACxF,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,oDAAoD;QACpD,IAAI,YAAY,IAAI,GAAG,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YACnE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACtB,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,oEAAoE;QACpE,MAAM,MAAM,GAAQ,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACrB,SAAS,CAAC,sBAAsB;YAClC,CAAC;YAED,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,mBAAmB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC9D,sEAAsE;gBACtE,yEAAyE;gBACzE,wEAAwE;gBACxE,4DAA4D;gBAC5D,MAAM,UAAU,GAAG,KAAK,IAAI,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC/F,MAAM,CAAC,GAAG,CAAC,GAAG,OAAO,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC;YACpE,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;gBACrC,oCAAoC;gBACpC,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;oBAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;oBACvC,IAAI,UAAU,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;wBAClG,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;oBAC7D,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;oBACtB,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACtB,CAAC;YACH,CAAC;iBAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;gBACnE,MAAM,GAAG,GAAI,KAAa,CAAC,MAAM,CAAC;gBAClC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACjD,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;gBAC3D,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;gBACtB,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACtB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAChC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACtB,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,WAAW,CAAC,IAAS,EAAE,UAAuB,IAAI,GAAG,EAAE,EAAE,QAAgB,CAAC;QAChF,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACtB,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YACpD,CAAC;iBAAM,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,IAAI,QAAQ,IAAI,GAAG,EAAE,CAAC;gBAC7D,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC3D,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,OAAY,EAAE,SAAc,EAAE,UAAuB,IAAI,GAAG,EAAE,EAAE,QAAgB,CAAC;QACxG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACzD,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,MAAM,MAAM,GAAQ,EAAE,CAAC;QAEvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAChE,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAC9D,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;YAElE,yEAAyE;YACzE,uEAAuE;YACvE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,OAAO,GAAG,KAAK,SAAS,EAAE,CAAC;gBAC9G,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAS;IAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAC;IACd,CAAC;IAED,0CAA0C;IAC1C,IAAI,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,sBAAsB,CAAC,IAAI,CAAC,CAAC;QACjD,OAAO,OAAO,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,GAAG,CAAC,IAAI,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "appium-ios-remotexpc",
3
- "version": "5.16.3",
3
+ "version": "5.17.0",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "bugs": {
package/src/index.ts CHANGED
@@ -64,7 +64,8 @@ export type {AxDeviceSetting} from './services/ios/accessibility-audit/index.js'
64
64
  export {AxAuditDtxTransport} from './services/ios/accessibility-audit/dtx-transport.js';
65
65
  export type {InvokeOptions as AxInvokeOptions} from './services/ios/accessibility-audit/dtx-transport.js';
66
66
  export {AX_OBJECT_TYPE, deserializeAxObject} from './services/ios/accessibility-audit/ax-deserialize.js';
67
- export {AxPoint} from './services/ios/accessibility-audit/ax-values.js';
67
+ export {AxPoint, toAxRect} from './services/ios/accessibility-audit/ax-values.js';
68
+ export type {AxRect} from './services/ios/accessibility-audit/ax-values.js';
68
69
  export {
69
70
  serializeAxAttribute,
70
71
  serializeAxElement,
@@ -1,3 +1,5 @@
1
+ import {util} from '@appium/support';
2
+
1
3
  import {PlistUID} from '../../../lib/plist/index.js';
2
4
 
3
5
  /**
@@ -44,3 +46,47 @@ export function archiveAxPoint(point: AxPoint): Record<string, unknown> {
44
46
  ],
45
47
  };
46
48
  }
49
+
50
+ /** An element's on-screen rectangle, in points. */
51
+ export interface AxRect {
52
+ x: number;
53
+ y: number;
54
+ width: number;
55
+ height: number;
56
+ }
57
+
58
+ /** `NS.special` value marking an `NSValue` that wraps a `CGRect`. */
59
+ const NS_SPECIAL_RECT = 3;
60
+
61
+ /** `{{x, y}, {width, height}}` — Foundation's string form for a `CGRect`. */
62
+ const CG_RECT_PATTERN = /^\{\{\s*(-?[\d.]+)\s*,\s*(-?[\d.]+)\s*\}\s*,\s*\{\s*(-?[\d.]+)\s*,\s*(-?[\d.]+)\s*\}\}$/;
63
+
64
+ /**
65
+ * Reads an element's rectangle from an audit issue's `ElementRectValue_v1`.
66
+ *
67
+ * The daemon sends a `CGRect` as an `NSValue` whose struct is a string, e.g.
68
+ * `{{16, 186.33}, {18, 18}}`. Returns `undefined` for anything that is not a
69
+ * rect — including a bare number, which means the archiver reference was never
70
+ * resolved — rather than guessing at partial coordinates.
71
+ *
72
+ * @param value The raw `ElementRectValue_v1` from an audit issue.
73
+ */
74
+ export function toAxRect(value: unknown): AxRect | undefined {
75
+ if (!util.isPlainObject(value)) {
76
+ return undefined;
77
+ }
78
+ const fields = value as Record<string, unknown>;
79
+ if (fields['NS.special'] !== NS_SPECIAL_RECT) {
80
+ return undefined;
81
+ }
82
+ const raw = fields['NS.rectval'];
83
+ if (typeof raw !== 'string') {
84
+ return undefined;
85
+ }
86
+ const match = CG_RECT_PATTERN.exec(raw.trim());
87
+ if (!match) {
88
+ return undefined;
89
+ }
90
+ const [x, y, width, height] = match.slice(1, 5).map(Number);
91
+ return [x, y, width, height].every((n) => Number.isFinite(n)) ? {x, y, width, height} : undefined;
92
+ }
@@ -13,6 +13,13 @@ const MAX_DECODE_DEPTH = 1000;
13
13
  * - $top: Root object references
14
14
  * - $objects: Array of all objects with cross-references
15
15
  */
16
+ /**
17
+ * `NSValue` keys whose value is a UID pointing at the struct's string form.
18
+ *
19
+ * `NS.special` discriminates which one is present: 1 point, 2 size, 3 rect.
20
+ */
21
+ const NSVALUE_STRUCT_KEYS = new Set(['NS.rectval', 'NS.pointval', 'NS.sizeval']);
22
+
16
23
  export class NSKeyedArchiverDecoder {
17
24
  private readonly objects: any[];
18
25
  private readonly decoded: Map<number, any>;
@@ -149,7 +156,14 @@ export class NSKeyedArchiverDecoder {
149
156
  continue; // Skip class metadata
150
157
  }
151
158
 
152
- if (typeof value === 'number') {
159
+ if (typeof value === 'number' && NSVALUE_STRUCT_KEYS.has(key)) {
160
+ // An NSValue stores its struct as a string ("{{0, 0}, {18, 18}}") and
161
+ // points at it by UID. The parser cannot tell a UID from an integer, and
162
+ // the heuristic below only follows references to objects, so these keys
163
+ // would keep the raw index. They always reference a string.
164
+ const referenced = value >= 0 && value < this.objects.length ? this.objects[value] : undefined;
165
+ result[key] = typeof referenced === 'string' ? referenced : value;
166
+ } else if (typeof value === 'number') {
153
167
  // Could be a reference or primitive
154
168
  if (value < this.objects.length && value >= 0) {
155
169
  const referenced = this.objects[value];