@mcesystems/apple-kit 1.0.23 → 1.0.25

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 (116) hide show
  1. package/README.md +284 -250
  2. package/dist/index.js +304 -174
  3. package/dist/index.js.map +4 -4
  4. package/dist/index.mjs +303 -173
  5. package/dist/index.mjs.map +4 -4
  6. package/dist/resources/bin/darwin/idevice_id +0 -0
  7. package/dist/resources/bin/darwin/idevicedebug +0 -0
  8. package/dist/resources/bin/darwin/idevicediagnostics +0 -0
  9. package/dist/resources/bin/darwin/ideviceinfo +0 -0
  10. package/dist/resources/bin/darwin/ideviceinstaller +0 -0
  11. package/dist/resources/bin/darwin/idevicename +0 -0
  12. package/dist/resources/bin/darwin/idevicepair +0 -0
  13. package/dist/resources/bin/darwin/idevicescreenshot +0 -0
  14. package/dist/resources/bin/darwin/idevicesyslog +0 -0
  15. package/dist/resources/bin/darwin/iproxy +0 -0
  16. package/dist/resources/bin/darwin/libcrypto.3.dylib +0 -0
  17. package/dist/resources/bin/darwin/libimobiledevice-1.0.6.dylib +0 -0
  18. package/dist/resources/bin/darwin/libimobiledevice-glue-1.0.0.dylib +0 -0
  19. package/dist/resources/bin/darwin/liblzma.5.dylib +0 -0
  20. package/dist/resources/bin/darwin/libplist-2.0.4.dylib +0 -0
  21. package/dist/resources/bin/darwin/libssl.3.dylib +0 -0
  22. package/dist/resources/bin/darwin/libusbmuxd-2.0.7.dylib +0 -0
  23. package/dist/resources/bin/darwin/libzip.5.dylib +0 -0
  24. package/dist/resources/bin/darwin/libzstd.1.dylib +0 -0
  25. package/{resources → dist/resources}/licenses/LGPL-2.1.txt +33 -33
  26. package/dist/types/index.d.ts +0 -2
  27. package/dist/types/index.d.ts.map +1 -1
  28. package/dist/types/logic/actions/device.d.ts.map +1 -1
  29. package/dist/types/logic/actions/proxy.d.ts.map +1 -1
  30. package/dist/types/logic/appleDeviceKit.d.ts +2 -7
  31. package/dist/types/logic/appleDeviceKit.d.ts.map +1 -1
  32. package/package.json +7 -4
  33. package/scripts/README.md +209 -0
  34. package/scripts/build-windows.sh.template +134 -0
  35. package/scripts/export-resources.ts +444 -0
  36. package/dist/types/utils/portManager.d.ts +0 -68
  37. package/dist/types/utils/portManager.d.ts.map +0 -1
  38. package/resources/bin/windows/bz2.dll +0 -0
  39. package/resources/bin/windows/getopt.dll +0 -0
  40. package/resources/bin/windows/iconv-2.dll +0 -0
  41. package/resources/bin/windows/idevice_id.exe +0 -0
  42. package/resources/bin/windows/ideviceactivation.exe +0 -0
  43. package/resources/bin/windows/idevicedebug.exe +0 -0
  44. package/resources/bin/windows/ideviceinfo.exe +0 -0
  45. package/resources/bin/windows/ideviceinstaller.exe +0 -0
  46. package/resources/bin/windows/idevicepair.exe +0 -0
  47. package/resources/bin/windows/imobiledevice.dll +0 -0
  48. package/resources/bin/windows/iproxy.exe +0 -0
  49. package/resources/bin/windows/libcrypto-1_1-x64.dll +0 -0
  50. package/resources/bin/windows/libcurl.dll +0 -0
  51. package/resources/bin/windows/libideviceactivation-1.0.dll +0 -0
  52. package/resources/bin/windows/libimobiledevice-1.0.dll +0 -0
  53. package/resources/bin/windows/libimobiledevice-glue-1.0.dll +0 -0
  54. package/resources/bin/windows/libplist-2.0.dll +0 -0
  55. package/resources/bin/windows/libssl-1_1-x64.dll +0 -0
  56. package/resources/bin/windows/libusb-1.0.dll +0 -0
  57. package/resources/bin/windows/libusb0.dll +0 -0
  58. package/resources/bin/windows/libusbmuxd-2.0.dll +0 -0
  59. package/resources/bin/windows/libxml2.dll +0 -0
  60. package/resources/bin/windows/lzma.dll +0 -0
  61. package/resources/bin/windows/pcre.dll +0 -0
  62. package/resources/bin/windows/pcreposix.dll +0 -0
  63. package/resources/bin/windows/plist.dll +0 -0
  64. package/resources/bin/windows/pthreadVC3.dll +0 -0
  65. package/resources/bin/windows/readline.dll +0 -0
  66. package/resources/bin/windows/usbmuxd.dll +0 -0
  67. package/resources/bin/windows/usbmuxd.exe +0 -0
  68. package/resources/bin/windows/vcruntime140.dll +0 -0
  69. package/resources/bin/windows/zip.dll +0 -0
  70. package/resources/bin/windows/zlib1.dll +0 -0
  71. package/resources/lib/include/libimobiledevice/afc.h +0 -413
  72. package/resources/lib/include/libimobiledevice/bt_packet_logger.h +0 -156
  73. package/resources/lib/include/libimobiledevice/companion_proxy.h +0 -212
  74. package/resources/lib/include/libimobiledevice/debugserver.h +0 -272
  75. package/resources/lib/include/libimobiledevice/diagnostics_relay.h +0 -228
  76. package/resources/lib/include/libimobiledevice/file_relay.h +0 -166
  77. package/resources/lib/include/libimobiledevice/heartbeat.h +0 -137
  78. package/resources/lib/include/libimobiledevice/house_arrest.h +0 -180
  79. package/resources/lib/include/libimobiledevice/installation_proxy.h +0 -505
  80. package/resources/lib/include/libimobiledevice/libimobiledevice.h +0 -444
  81. package/resources/lib/include/libimobiledevice/lockdown.h +0 -577
  82. package/resources/lib/include/libimobiledevice/misagent.h +0 -168
  83. package/resources/lib/include/libimobiledevice/mobile_image_mounter.h +0 -275
  84. package/resources/lib/include/libimobiledevice/mobileactivation.h +0 -192
  85. package/resources/lib/include/libimobiledevice/mobilebackup.h +0 -246
  86. package/resources/lib/include/libimobiledevice/mobilebackup2.h +0 -214
  87. package/resources/lib/include/libimobiledevice/mobilesync.h +0 -359
  88. package/resources/lib/include/libimobiledevice/notification_proxy.h +0 -202
  89. package/resources/lib/include/libimobiledevice/ostrace.h +0 -198
  90. package/resources/lib/include/libimobiledevice/preboard.h +0 -187
  91. package/resources/lib/include/libimobiledevice/property_list_service.h +0 -184
  92. package/resources/lib/include/libimobiledevice/restore.h +0 -179
  93. package/resources/lib/include/libimobiledevice/reverse_proxy.h +0 -213
  94. package/resources/lib/include/libimobiledevice/sbservices.h +0 -175
  95. package/resources/lib/include/libimobiledevice/screenshotr.h +0 -118
  96. package/resources/lib/include/libimobiledevice/service.h +0 -202
  97. package/resources/lib/include/libimobiledevice/syslog_relay.h +0 -184
  98. package/resources/lib/include/libimobiledevice/webinspector.h +0 -137
  99. package/resources/lib/include/plist/Array.h +0 -80
  100. package/resources/lib/include/plist/Boolean.h +0 -48
  101. package/resources/lib/include/plist/Data.h +0 -50
  102. package/resources/lib/include/plist/Date.h +0 -54
  103. package/resources/lib/include/plist/Dictionary.h +0 -73
  104. package/resources/lib/include/plist/Integer.h +0 -54
  105. package/resources/lib/include/plist/Key.h +0 -49
  106. package/resources/lib/include/plist/Node.h +0 -57
  107. package/resources/lib/include/plist/Real.h +0 -48
  108. package/resources/lib/include/plist/String.h +0 -52
  109. package/resources/lib/include/plist/Structure.h +0 -62
  110. package/resources/lib/include/plist/Uid.h +0 -48
  111. package/resources/lib/include/plist/plist++.h +0 -39
  112. package/resources/lib/include/plist/plist.h +0 -1448
  113. package/resources/lib/libimobiledevice-1.0.dll +0 -0
  114. package/resources/lib/libimobiledevice-1.0.dll.a +0 -0
  115. package/resources/lib/libplist-2.0.dll +0 -0
  116. package/resources/lib/libplist-2.0.dll.a +0 -0
@@ -1,33 +1,33 @@
1
- GNU LESSER GENERAL PUBLIC LICENSE
2
- Version 2.1, February 1999
3
-
4
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
5
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
6
-
7
- Everyone is permitted to copy and distribute verbatim copies
8
- of this license document, but changing it is not allowed.
9
-
10
- [This is the first released version of the Lesser GPL. It also counts
11
- as the successor of the GNU Library Public License, version 2, hence
12
- the version number 2.1.]
13
-
14
- Preamble
15
-
16
- The licenses for most software are designed to take away your
17
- freedom to share and change it. By contrast, the GNU General Public
18
- Licenses are intended to guarantee your freedom to share and change
19
- free software--to make sure the software is free for all its users.
20
-
21
- This license, the Lesser General Public License, applies to some
22
- specially designated software packages--typically libraries--of the
23
- Free Software Foundation and other authors who decide to use it. You
24
- can use it too, but we suggest you first think carefully about whether
25
- this license or the ordinary General Public License is the better
26
- strategy to use in any particular case, based on the explanations below.
27
-
28
- libimobiledevice is licensed under the GNU Lesser General Public License
29
- version 2.1 or later (LGPL-2.1+).
30
-
31
- For the full text of the LGPL-2.1 license, see:
32
- https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
33
-
1
+ GNU LESSER GENERAL PUBLIC LICENSE
2
+ Version 2.1, February 1999
3
+
4
+ Copyright (C) 1991, 1999 Free Software Foundation, Inc.
5
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
6
+
7
+ Everyone is permitted to copy and distribute verbatim copies
8
+ of this license document, but changing it is not allowed.
9
+
10
+ [This is the first released version of the Lesser GPL. It also counts
11
+ as the successor of the GNU Library Public License, version 2, hence
12
+ the version number 2.1.]
13
+
14
+ Preamble
15
+
16
+ The licenses for most software are designed to take away your
17
+ freedom to share and change it. By contrast, the GNU General Public
18
+ Licenses are intended to guarantee your freedom to share and change
19
+ free software--to make sure the software is free for all its users.
20
+
21
+ This license, the Lesser General Public License, applies to some
22
+ specially designated software packages--typically libraries--of the
23
+ Free Software Foundation and other authors who decide to use it. You
24
+ can use it too, but we suggest you first think carefully about whether
25
+ this license or the ordinary General Public License is the better
26
+ strategy to use in any particular case, based on the explanations below.
27
+
28
+ libimobiledevice is licensed under the GNU Lesser General Public License
29
+ version 2.1 or later (LGPL-2.1+).
30
+
31
+ For the full text of the LGPL-2.1 license, see:
32
+ https://www.gnu.org/licenses/old-licenses/lgpl-2.1.html
33
+
@@ -10,6 +10,4 @@
10
10
  export { AppleDeviceKit } from "./logic/appleDeviceKit";
11
11
  export { ActivationState } from "./types";
12
12
  export type { AppInfo, AppleListenerConfig, DeviceListEntry, iOSDeviceInfo, PortForwardResult, } from "./types";
13
- export { PortManager, getSharedPortManager } from "./utils/portManager";
14
- export type { PortAllocation } from "./utils/portManager";
15
13
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,YAAY,EACX,OAAO,EACP,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,iBAAiB,GACjB,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AACxE,YAAY,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC1C,YAAY,EACX,OAAO,EACP,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,iBAAiB,GACjB,MAAM,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../../src/logic/actions/device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAwB,MAAM,oBAAoB,CAAC;AAI5E,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAM7C,MAAM,WAAW,UAAU;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA4BxE;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAW9D;AAED;;GAEG;AACH,wBAAsB,cAAc,CACnC,QAAQ,EAAE,aAAa,EACvB,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,GAAE,WAAgB,GACvB,OAAO,CAAC,UAAU,CAAC,CAGrB;AAiDD;;GAEG;AACH,wBAAgB,eAAe;;;;;;;;;EAW9B"}
1
+ {"version":3,"file":"device.d.ts","sourceRoot":"","sources":["../../../../src/logic/actions/device.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAwB,MAAM,oBAAoB,CAAC;AAI5E,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAkB7C,MAAM,WAAW,UAAU;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CACf;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CA4BxE;AAED,wBAAsB,WAAW,IAAI,OAAO,CAAC,eAAe,EAAE,CAAC,CAW9D;AAED;;GAEG;AACH,wBAAsB,cAAc,CACnC,QAAQ,EAAE,aAAa,EACvB,IAAI,GAAE,MAAM,EAAO,EACnB,OAAO,GAAE,WAAgB,GACvB,OAAO,CAAC,UAAU,CAAC,CASrB;AAoJD;;GAEG;AACH,wBAAgB,eAAe;;;;;;;;;EAW9B"}
@@ -1 +1 @@
1
- {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../../src/logic/actions/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAS,MAAM,oBAAoB,CAAC;AAE9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAcjD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC/B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,cAAc,SAAM,GAClB,OAAO,CAAC;IAAE,MAAM,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC,CA+D/D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAKlE"}
1
+ {"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../../../../src/logic/actions/proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAS,MAAM,oBAAoB,CAAC;AAG9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAiHjD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC/B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,IAAI,EAAE,MAAM,EACZ,cAAc,SAAM,GAClB,OAAO,CAAC;IAAE,MAAM,EAAE,iBAAiB,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC,CAsE/D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAKlE"}
@@ -1,5 +1,4 @@
1
1
  import type { ActivationState, AppInfo, PortForwardResult, iOSDeviceInfo } from "../types";
2
- import { type PortAllocation } from "../utils/portManager";
3
2
  /**
4
3
  * AppleDeviceKit - iOS device operations wrapper
5
4
  *
@@ -16,7 +15,7 @@ export declare class AppleDeviceKit {
16
15
  private readonly logicalPort;
17
16
  private deviceId;
18
17
  private proxyProcess;
19
- private portAllocation;
18
+ private localDevicePort;
20
19
  private isDisposed;
21
20
  constructor(udid: string, logicalPort: number);
22
21
  /**
@@ -141,11 +140,7 @@ export declare class AppleDeviceKit {
141
140
  * Get the currently allocated local port for forwarding
142
141
  * Returns undefined if no port forward is active
143
142
  */
144
- getAllocatedPort(): number | undefined;
145
- /**
146
- * Get the current port allocation info
147
- */
148
- getPortAllocation(): PortAllocation | null;
143
+ getDevicePort(): number | null;
149
144
  /**
150
145
  * Check if this kit has been disposed
151
146
  */
@@ -1 +1 @@
1
- {"version":3,"file":"appleDeviceKit.d.ts","sourceRoot":"","sources":["../../../src/logic/appleDeviceKit.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE3F,OAAO,EAAE,KAAK,cAAc,EAAwB,MAAM,sBAAsB,CAAC;AAOjF;;;;;;;;;;;GAWG;AACH,qBAAa,cAAc;IAQzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAP7B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,cAAc,CAA+B;IACrD,OAAO,CAAC,UAAU,CAAS;gBAG1B,IAAI,EAAE,MAAM,EACK,WAAW,EAAE,MAAM;IAMrC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;IACU,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC;IAKpD;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAKzC;;;;;;OAMG;IACU,cAAc,CAAC,OAAO,SAAS,EAAE,YAAY,SAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpF;;;OAGG;IACU,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAKrC;;;;;;;;;;;;OAYG;IACU,WAAW,CAAC,OAAO,SAAQ,EAAE,iBAAiB,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAK3F;;OAEG;IACU,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAKvC;;;;OAIG;IACU,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvD;;;;OAIG;IACU,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1D;;;;OAIG;IACU,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK/D;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAK3C;;;;;OAKG;IACU,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5E;;;;;;;;;;;;;OAaG;IACU,qBAAqB,CACjC,UAAU,EAAE,MAAM,EAClB,cAAc,SAAM,GAClB,OAAO,CAAC,iBAAiB,CAAC;IAuB7B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;OAEG;IACI,gBAAgB,IAAI,IAAI;IAW/B;;OAEG;IACU,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC;IAK3D;;;;;;;;;OASG;IACU,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAKzC;;OAEG;IACI,WAAW,IAAI,MAAM;IAI5B;;OAEG;IACI,cAAc,IAAI,MAAM;IAI/B;;;OAGG;IACI,gBAAgB,IAAI,MAAM,GAAG,SAAS;IAI7C;;OAEG;IACI,iBAAiB,IAAI,cAAc,GAAG,IAAI;IAIjD;;OAEG;IACH,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED;;OAEG;IACH,IAAW,oBAAoB,IAAI,OAAO,CAEzC;IAED;;;;;OAKG;IACI,OAAO,IAAI,IAAI;IAatB;;OAEG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;CAGxB"}
1
+ {"version":3,"file":"appleDeviceKit.d.ts","sourceRoot":"","sources":["../../../src/logic/appleDeviceKit.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAQ3F;;;;;;;;;;;GAWG;AACH,qBAAa,cAAc;IAQzB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAP7B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,UAAU,CAAS;gBAG1B,IAAI,EAAE,MAAM,EACK,WAAW,EAAE,MAAM;IAQrC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;IACU,aAAa,IAAI,OAAO,CAAC,aAAa,CAAC;IAKpD;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAKzC;;;;;;OAMG;IACU,cAAc,CAAC,OAAO,SAAS,EAAE,YAAY,SAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAKpF;;;OAGG;IACU,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAKrC;;;;;;;;;;;;OAYG;IACU,WAAW,CAAC,OAAO,SAAQ,EAAE,iBAAiB,CAAC,EAAE,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAK3F;;OAEG;IACU,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC;IAKvC;;;;OAIG;IACU,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAKvD;;;;OAIG;IACU,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAK1D;;;;OAIG;IACU,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAK/D;;OAEG;IACU,QAAQ,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAK3C;;;;;OAKG;IACU,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAE,MAAM,EAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAK5E;;;;;;;;;;;;;OAaG;IACU,qBAAqB,CACjC,UAAU,EAAE,MAAM,EAClB,cAAc,SAAM,GAClB,OAAO,CAAC,iBAAiB,CAAC;IAsB7B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAOxB;;OAEG;IACI,gBAAgB,IAAI,IAAI;IAS/B;;OAEG;IACU,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC;IAK3D;;;;;;;;;OASG;IACU,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;IAKzC;;OAEG;IACI,WAAW,IAAI,MAAM;IAI5B;;OAEG;IACI,cAAc,IAAI,MAAM;IAI/B;;;OAGG;IACI,aAAa,IAAI,MAAM,GAAG,IAAI;IAIrC;;OAEG;IACH,IAAW,QAAQ,IAAI,OAAO,CAE7B;IAED;;OAEG;IACH,IAAW,oBAAoB,IAAI,OAAO,CAEzC;IAED;;;;;OAKG;IACI,OAAO,IAAI,IAAI;IAatB;;OAEG;IACH,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,IAAI;CAGxB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mcesystems/apple-kit",
3
- "version": "1.0.23",
3
+ "version": "1.0.25",
4
4
  "description": "iOS device management toolkit using libimobiledevice command-line tools",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -33,7 +33,8 @@
33
33
  },
34
34
  "dependencies": {
35
35
  "debug": "^4.4.3",
36
- "get-port": "^7.1.0"
36
+ "get-port": "^7.1.0",
37
+ "tsx": "^4.21.0"
37
38
  },
38
39
  "devDependencies": {
39
40
  "@types/debug": "^4.1.12",
@@ -42,15 +43,17 @@
42
43
  "esbuild": "^0.27.0",
43
44
  "esbuild-plugin-copy": "^2.1.1",
44
45
  "rimraf": "^6.0.1",
45
- "tsx": "^4.21.0",
46
46
  "typescript": "^5.7.2",
47
47
  "vitest": "^2.1.8"
48
48
  },
49
49
  "files": [
50
50
  "dist",
51
- "resources",
51
+ "scripts",
52
52
  "README.md"
53
53
  ],
54
+ "bin": {
55
+ "export-apple-resources": "./scripts/export-resources.ts"
56
+ },
54
57
  "scripts": {
55
58
  "build": "tsx esbuild.config.mts && tsc --emitDeclarationOnly",
56
59
  "clean": "rimraf dist",
@@ -0,0 +1,209 @@
1
+ # Export Apple Resources Script
2
+
3
+ This script exports libimobiledevice binaries and their dependencies to a specified target directory. The exported resources can be used by applications that depend on `@mcesystems/apple-kit`.
4
+
5
+ ## Usage
6
+
7
+ After installing `@mcesystems/apple-kit`:
8
+
9
+ ```bash
10
+ # Using the binary (recommended)
11
+ npx export-apple-resources <target-path>
12
+
13
+ # Or run the script directly with tsx
14
+ npx tsx node_modules/@mcesystems/apple-kit/scripts/export-resources.ts <target-path>
15
+ ```
16
+
17
+ ### Examples
18
+
19
+ ```bash
20
+ # Export to a relative path
21
+ npx tsx export-resources.ts ./my-app/resources/apple-kit
22
+
23
+ # Export to an absolute path
24
+ npx tsx export-resources.ts /Users/me/projects/my-app/resources
25
+ ```
26
+
27
+ ### Output Structure
28
+
29
+ The script creates the following directory structure:
30
+
31
+ ```
32
+ <target-path>/
33
+ ├── bin/
34
+ │ ├── darwin/ # macOS binaries and dylibs
35
+ │ │ ├── idevice_id
36
+ │ │ ├── ideviceinfo
37
+ │ │ ├── iproxy
38
+ │ │ ├── libimobiledevice-1.0.6.dylib
39
+ │ │ └── ... (other tools and dylibs)
40
+ │ └── windows/ # Windows binaries and DLLs
41
+ │ ├── idevice_id.exe
42
+ │ ├── ideviceinfo.exe
43
+ │ ├── iproxy.exe
44
+ │ ├── libimobiledevice-1.0-6.dll
45
+ │ └── ... (other tools and DLLs)
46
+ ├── licenses/
47
+ │ └── LGPL-2.1.txt
48
+ └── build-windows.sh # Windows build script (generated on non-Windows)
49
+ ```
50
+
51
+ ---
52
+
53
+ ## Platform-Specific Prerequisites
54
+
55
+ ### macOS
56
+
57
+ #### Prerequisites
58
+
59
+ 1. **Homebrew** installed ([https://brew.sh](https://brew.sh))
60
+
61
+ 2. **libimobiledevice tools** installed via Homebrew:
62
+ ```bash
63
+ brew install libimobiledevice ideviceinstaller
64
+ ```
65
+
66
+ 3. **Node.js 18+** with `tsx` available:
67
+ ```bash
68
+ npm install -g tsx
69
+ # or use npx
70
+ ```
71
+
72
+ #### How It Works
73
+
74
+ On macOS, the script:
75
+ 1. Locates Homebrew installation (`/opt/homebrew` for Apple Silicon, `/usr/local` for Intel)
76
+ 2. Copies required binaries (`idevice_id`, `ideviceinfo`, `iproxy`, etc.)
77
+ 3. Recursively collects all dylib dependencies
78
+ 4. Fixes dylib paths using `install_name_tool` to use `@loader_path` (makes binaries portable)
79
+
80
+ #### Running
81
+
82
+ ```bash
83
+ cd scripts/export-apple-resources
84
+ npx tsx export-resources.ts /path/to/output
85
+ ```
86
+
87
+ ---
88
+
89
+ ### Windows
90
+
91
+ #### Prerequisites
92
+
93
+ 1. **MSYS2** installed from [https://www.msys2.org](https://www.msys2.org)
94
+ - Download and run the installer
95
+ - Default installation path: `C:\msys64`
96
+
97
+ 2. **Required MSYS2 packages** - Open **MSYS2 MinGW 64-bit** shell and run:
98
+ ```bash
99
+ pacman -S base-devel \
100
+ git \
101
+ mingw-w64-x86_64-gcc \
102
+ make \
103
+ libtool \
104
+ autoconf \
105
+ automake-wrapper
106
+ ```
107
+
108
+ 3. **Apple Mobile Device Support** (for USB communication)
109
+ - Either install iTunes from [https://www.apple.com/itunes/](https://www.apple.com/itunes/)
110
+ - Or install just "Apple Mobile Device Support" from the iTunes installer
111
+
112
+ #### How It Works
113
+
114
+ On Windows, building libimobiledevice from source is required. The script:
115
+ 1. Generates a `build-windows.sh` script in the target directory
116
+ 2. The build script downloads the official libimobiledevice build script
117
+ 3. Compiles all required libraries and tools from source
118
+ 4. Copies the resulting binaries and DLLs to the target directory
119
+
120
+ #### Running
121
+
122
+ **Step 1:** Generate the build script (can be done on any platform):
123
+ ```bash
124
+ cd scripts/export-apple-resources
125
+ npx tsx export-resources.ts /path/to/output
126
+ ```
127
+
128
+ **Step 2:** Open **MSYS2 MinGW 64-bit** shell (NOT regular MSYS2 shell!)
129
+ - Find it in Start Menu: "MSYS2 MinGW 64-bit"
130
+
131
+ **Step 3:** Run the build script:
132
+ ```bash
133
+ cd /path/to/output
134
+ bash build-windows.sh
135
+ ```
136
+
137
+ > **Note:** The build process may take 10-30 minutes depending on your system.
138
+
139
+ #### Troubleshooting Windows Build
140
+
141
+ | Issue | Solution |
142
+ |-------|----------|
143
+ | "gcc not found" | Install packages: `pacman -S mingw-w64-x86_64-gcc` |
144
+ | "This script must be run from MSYS2 MinGW 64-bit shell" | Open the correct shell from Start Menu |
145
+ | Build fails with SSL errors | `pacman -S mingw-w64-x86_64-openssl` |
146
+ | Device not detected | Ensure iTunes or Apple Mobile Device Support is installed |
147
+
148
+ ---
149
+
150
+ ## Tools Included
151
+
152
+ ### Required Tools (must be present)
153
+ | Tool | Description |
154
+ |------|-------------|
155
+ | `idevice_id` | List connected iOS devices |
156
+ | `ideviceinfo` | Get device information |
157
+ | `idevicepair` | Manage device pairing/trust |
158
+ | `idevicename` | Get/set device name |
159
+ | `idevicedebug` | Debug applications |
160
+ | `ideviceinstaller` | Install/uninstall apps |
161
+ | `iproxy` | Port forwarding |
162
+
163
+ ### Optional Tools (copied if available)
164
+ | Tool | Description |
165
+ |------|-------------|
166
+ | `ideviceactivation` | Device activation |
167
+ | `idevicesyslog` | View device system log |
168
+ | `idevicescreenshot` | Take screenshots |
169
+ | `idevicediagnostics` | Device diagnostics |
170
+
171
+ ---
172
+
173
+ ## Integrating with Your Application
174
+
175
+ After exporting resources, configure `apple-kit` to use them:
176
+
177
+ ### Option 1: Environment Variable
178
+
179
+ Set `IDeviceBinPath` to point to the bin directory:
180
+
181
+ ```bash
182
+ # macOS
183
+ export IDeviceBinPath=/path/to/resources/bin/darwin
184
+
185
+ # Windows (PowerShell)
186
+ $env:IDeviceBinPath = "C:\path\to\resources\bin\windows"
187
+ ```
188
+
189
+ ### Option 2: Bundle with Your App
190
+
191
+ Copy the exported resources into your application's resources folder. The `apple-kit` package will automatically detect binaries in:
192
+ - `<your-app>/resources/bin/darwin/` (macOS)
193
+ - `<your-app>/resources/bin/windows/` (Windows)
194
+
195
+ ---
196
+
197
+ ## License
198
+
199
+ The libimobiledevice tools are licensed under **LGPL-2.1**. When distributing these binaries, you must:
200
+ 1. Include the LGPL-2.1 license (automatically included in `licenses/` folder)
201
+ 2. Provide access to the source code (links included in the license file)
202
+
203
+ Source code repositories:
204
+ - https://github.com/libimobiledevice/libimobiledevice
205
+ - https://github.com/libimobiledevice/libusbmuxd
206
+ - https://github.com/libimobiledevice/libplist
207
+ - https://github.com/libimobiledevice/libimobiledevice-glue
208
+ - https://github.com/libimobiledevice/ideviceinstaller
209
+
@@ -0,0 +1,134 @@
1
+ #!/bin/bash
2
+ # =============================================================================
3
+ # libimobiledevice Windows Build Script
4
+ # =============================================================================
5
+ #
6
+ # This script builds libimobiledevice and related tools from source using
7
+ # MSYS2/MinGW environment.
8
+ #
9
+ # Prerequisites:
10
+ # 1. MSYS2 installed (https://www.msys2.org/)
11
+ # 2. Run this script from MSYS2 MinGW 64-bit shell
12
+ # 3. Required packages installed (see below)
13
+ #
14
+ # To install required packages, run in MSYS2 MinGW 64-bit shell:
15
+ # pacman -S base-devel git mingw-w64-x86_64-gcc make libtool autoconf automake-wrapper
16
+ #
17
+ # Usage:
18
+ # bash build-windows.sh
19
+ #
20
+ # =============================================================================
21
+
22
+ set -e
23
+
24
+ SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
25
+ TARGET_DIR="{{TARGET_DIR}}"
26
+ BUILD_DIR="$SCRIPT_DIR/limd-build"
27
+
28
+ echo "=== libimobiledevice Windows Build ==="
29
+ echo ""
30
+ echo "Target directory: $TARGET_DIR"
31
+ echo "Build directory: $BUILD_DIR"
32
+ echo ""
33
+
34
+ # Check if running in MinGW environment
35
+ if [[ -z "$MSYSTEM" ]] || [[ "$MSYSTEM" != "MINGW64" ]]; then
36
+ echo "Error: This script must be run from MSYS2 MinGW 64-bit shell"
37
+ echo "Open 'MSYS2 MinGW 64-bit' from Start menu and run this script again."
38
+ exit 1
39
+ fi
40
+
41
+ # Check for required tools
42
+ echo "Checking prerequisites..."
43
+ for cmd in gcc make git autoconf automake libtool; do
44
+ if ! command -v $cmd &> /dev/null; then
45
+ echo "Error: $cmd not found. Please install required packages:"
46
+ echo " pacman -S base-devel git mingw-w64-x86_64-gcc make libtool autoconf automake-wrapper"
47
+ exit 1
48
+ fi
49
+ done
50
+ echo "✓ All prerequisites found"
51
+ echo ""
52
+
53
+ # Create build directory
54
+ mkdir -p "$BUILD_DIR"
55
+ cd "$BUILD_DIR"
56
+
57
+ # Download and run the official build script
58
+ echo "Downloading libimobiledevice build script..."
59
+ curl -Ls -o limd-build-msys2.sh https://is.gd/limdmsys2
60
+
61
+ echo ""
62
+ echo "Running libimobiledevice build script..."
63
+ echo "(This may take 10-30 minutes depending on your system)"
64
+ echo ""
65
+
66
+ bash ./limd-build-msys2.sh
67
+
68
+ # After build, copy the binaries to target directory
69
+ echo ""
70
+ echo "Copying binaries to target directory..."
71
+
72
+ mkdir -p "$TARGET_DIR"
73
+
74
+ # The build script installs to /mingw64 by default
75
+ MINGW_BIN="/mingw64/bin"
76
+
77
+ TOOLS=(
78
+ "idevice_id.exe"
79
+ "ideviceinfo.exe"
80
+ "idevicepair.exe"
81
+ "idevicename.exe"
82
+ "idevicedebug.exe"
83
+ "ideviceinstaller.exe"
84
+ "iproxy.exe"
85
+ "ideviceactivation.exe"
86
+ "idevicesyslog.exe"
87
+ "idevicescreenshot.exe"
88
+ "idevicediagnostics.exe"
89
+ )
90
+
91
+ for tool in "${TOOLS[@]}"; do
92
+ if [[ -f "$MINGW_BIN/$tool" ]]; then
93
+ cp "$MINGW_BIN/$tool" "$TARGET_DIR/"
94
+ echo "✓ Copied $tool"
95
+ else
96
+ echo "- Skipping $tool (not found)"
97
+ fi
98
+ done
99
+
100
+ # Copy required DLLs
101
+ echo ""
102
+ echo "Copying required DLLs..."
103
+
104
+ DLLS=(
105
+ "libimobiledevice-1.0-6.dll"
106
+ "libusbmuxd-2.0-6.dll"
107
+ "libplist-2.0-4.dll"
108
+ "libimobiledevice-glue-1.0-0.dll"
109
+ "libssl-3-x64.dll"
110
+ "libcrypto-3-x64.dll"
111
+ "libzip-5.dll"
112
+ "liblzma-5.dll"
113
+ "libzstd.dll"
114
+ "libgcc_s_seh-1.dll"
115
+ "libwinpthread-1.dll"
116
+ "libstdc++-6.dll"
117
+ )
118
+
119
+ for dll in "${DLLS[@]}"; do
120
+ if [[ -f "$MINGW_BIN/$dll" ]]; then
121
+ cp "$MINGW_BIN/$dll" "$TARGET_DIR/"
122
+ echo "✓ Copied $dll"
123
+ else
124
+ echo "- Skipping $dll (not found)"
125
+ fi
126
+ done
127
+
128
+ echo ""
129
+ echo "=== Build Complete ==="
130
+ echo "Windows binaries exported to: $TARGET_DIR"
131
+ echo ""
132
+ echo "Note: On Windows, iTunes or Apple Mobile Device Support must be installed"
133
+ echo "for USB communication to work."
134
+