Compare commits

...

2 Commits

Author SHA1 Message Date
zw
7564319638 合并代码 2025-09-04 20:47:38 +08:00
zw
0d9fa81992 修复bug 2025-09-04 20:47:14 +08:00
3 changed files with 11 additions and 13 deletions

View File

@@ -10,7 +10,7 @@ import subprocess
from pathlib import Path from pathlib import Path
from typing import List, Dict, Optional from typing import List, Dict, Optional
from tidevice import Usbmux from tidevice import Usbmux, ConnectionType
from Entity.DeviceModel import DeviceModel from Entity.DeviceModel import DeviceModel
from Entity.Variables import WdaAppBundleId from Entity.Variables import WdaAppBundleId
from Module.FlaskSubprocessManager import FlaskSubprocessManager from Module.FlaskSubprocessManager import FlaskSubprocessManager
@@ -110,13 +110,15 @@ class Deviceinfo(object):
continue continue
# 新接入设备 # 新接入设备
for device in lists: for device in lists:
if (device not in self.deviceArray) and (len(self.deviceArray) < self.maxDeviceCount): # usb设备并且为新设备。并且大于总限制数量
if device.conn_type == ConnectionType.USB and (device not in self.deviceArray) and (len(self.deviceArray) < self.maxDeviceCount):
self.screenProxy += 1 self.screenProxy += 1
try: try:
self.connectDevice(device.udid) self.connectDevice(device.udid)
self.deviceArray.append(device) self.deviceArray.append(device)
except Exception as e: except Exception as e:
LogManager.error(f"连接设备失败 {device.udid}: {e}", device.udid) LogManager.error(f"连接设备失败 {device.udid}: {e}", device.udid)
# 拔出设备处理 # 拔出设备处理
self._removeDisconnected(lists) self._removeDisconnected(lists)
time.sleep(1) time.sleep(1)
@@ -126,9 +128,9 @@ class Deviceinfo(object):
# ---------------------------- # ----------------------------
def connectDevice(self, identifier: str): def connectDevice(self, identifier: str):
# 1) 连接 WDAUSBClient -> 设备 8100 # 1) 连接 WDAUSBClient -> 设备 8100
try: try:
d = wda.USBClient(identifier, 8100) d = wda.USBClient(identifier, 8100)
LogManager.info("启动 WDA 成功", identifier) LogManager.info("启动 WDA 成功", identifier)
except Exception as e: except Exception as e:
LogManager.error(f"启动 WDA 失败请检查手机是否已信任、WDA 是否正常。错误: {e}", identifier) LogManager.error(f"启动 WDA 失败请检查手机是否已信任、WDA 是否正常。错误: {e}", identifier)

View File

@@ -7,6 +7,7 @@ from Module.FlaskSubprocessManager import FlaskSubprocessManager
from Utils.DevDiskImageDeployer import DevDiskImageDeployer from Utils.DevDiskImageDeployer import DevDiskImageDeployer
from Utils.LogManager import LogManager from Utils.LogManager import LogManager
# 确定 exe 或 py 文件所在目录 # 确定 exe 或 py 文件所在目录
BASE = Path(getattr(sys, 'frozen', False) and sys.executable or __file__).resolve().parent BASE = Path(getattr(sys, 'frozen', False) and sys.executable or __file__).resolve().parent
LOG_DIR = BASE / "log" LOG_DIR = BASE / "log"
@@ -25,8 +26,10 @@ if "--role=flask" in sys.argv:
_run_flask_role() _run_flask_role()
sys.exit(0) sys.exit(0)
# 项目入口 # 项目入口
if __name__ == "__main__": if __name__ == "__main__":
# 添加iOS开发包到电脑上 # 添加iOS开发包到电脑上
deployer = DevDiskImageDeployer(verbose=True) deployer = DevDiskImageDeployer(verbose=True)
deployer.deploy_all() deployer.deploy_all()

View File

@@ -1,17 +1,11 @@
@echo off python -m nuitka Module/Main.py ^
python -m nuitka Module\Main.py ^
--standalone ^ --standalone ^
--msvc=latest ^ --msvc=latest ^
--windows-console-mode=disable ^ --windows-console-mode=disable ^
--remove-output ^ --remove-output ^
--output-dir=out ^ --output-dir=out ^
--output-filename=IOSAI ^ --output-filename=IOSAI ^
--include-package=Module,Utils,Entity,script,tidevice ^ --include-package=Module,Utils,Entity,script ^
--include-module=tidevice.__main__ ^
--include-module=tidevice._proto ^
--include-module=tidevice._instruments ^
--include-module=tidevice._usbmux ^
--include-module=tidevice._wdaproxy ^
--include-module=flask ^ --include-module=flask ^
--include-module=flask_cors ^ --include-module=flask_cors ^
--include-module=jinja2 ^ --include-module=jinja2 ^
@@ -27,5 +21,4 @@ python -m nuitka Module\Main.py ^
--include-data-dir="E:/Code/python/iOSAI/SupportFiles=SupportFiles" ^ --include-data-dir="E:/Code/python/iOSAI/SupportFiles=SupportFiles" ^
--include-data-dir="E:/Code/python/iOSAI/resources=resources" ^ --include-data-dir="E:/Code/python/iOSAI/resources=resources" ^
--include-data-files="E:/Code/python/iOSAI/resources/iproxy/*=resources/iproxy/" ^ --include-data-files="E:/Code/python/iOSAI/resources/iproxy/*=resources/iproxy/" ^
--windows-icon-from-ico=resources/icon.ico --windows-icon-from-ico=resources/icon.ico
pause