适配iOS高版本
This commit is contained in:
@@ -1,17 +1,21 @@
|
||||
import os
|
||||
import signal
|
||||
import subprocess
|
||||
import sys
|
||||
import threading
|
||||
import time
|
||||
from concurrent.futures import ThreadPoolExecutor, as_completed
|
||||
from pathlib import Path
|
||||
from typing import Dict, Optional, List
|
||||
import tidevice
|
||||
import usb
|
||||
import wda
|
||||
from tidevice import Usbmux, ConnectionType
|
||||
from tidevice._device import BaseDevice
|
||||
from Entity.DeviceModel import DeviceModel
|
||||
from Entity.Variables import WdaAppBundleId
|
||||
from Entity.Variables import WdaAppBundleId, wdaFunctionPort, wdaScreenPort
|
||||
from Module.FlaskSubprocessManager import FlaskSubprocessManager
|
||||
from Module.IOSActivator import IOSActivator
|
||||
from Utils.LogManager import LogManager
|
||||
|
||||
import socket
|
||||
@@ -36,7 +40,6 @@ class DeviceInfo:
|
||||
orphan_gc_tick = 0
|
||||
while True:
|
||||
online = {d.udid for d in Usbmux().device_list() if d.conn_type == ConnectionType.USB}
|
||||
|
||||
# 拔掉——同步
|
||||
for udid in list(self._models):
|
||||
if udid not in online:
|
||||
@@ -107,8 +110,16 @@ class DeviceInfo:
|
||||
print("进入启动wda方法")
|
||||
try:
|
||||
dev = tidevice.Device(udid)
|
||||
print("获取tidevice对象成功,准备启动wda")
|
||||
dev.app_start(WdaAppBundleId)
|
||||
systemVersion = int(dev.product_version.split(".")[0])
|
||||
# 判断运行wda的逻辑
|
||||
if systemVersion > 17:
|
||||
ios = IOSActivator()
|
||||
threading.Thread(
|
||||
target=ios.activate,
|
||||
args=(udid,)
|
||||
).start()
|
||||
else:
|
||||
dev.app_start(WdaAppBundleId)
|
||||
print("启动wda成功")
|
||||
time.sleep(3)
|
||||
return True
|
||||
@@ -118,7 +129,7 @@ class DeviceInfo:
|
||||
|
||||
def _screen_info(self, udid: str):
|
||||
try:
|
||||
c = wda.USBClient(udid, 8100)
|
||||
c = wda.USBClient(udid, wdaFunctionPort)
|
||||
c.home()
|
||||
size = c.window_size()
|
||||
scale = c.scale
|
||||
@@ -139,7 +150,7 @@ class DeviceInfo:
|
||||
flags = subprocess.CREATE_NO_WINDOW | subprocess.CREATE_NEW_PROCESS_GROUP
|
||||
|
||||
return subprocess.Popen(
|
||||
[self._iproxy_path, "-u", udid, str(port), "9100"],
|
||||
[self._iproxy_path, "-u", udid, str(port), wdaScreenPort],
|
||||
stdout=subprocess.DEVNULL,
|
||||
stderr=subprocess.DEVNULL,
|
||||
creationflags=flags
|
||||
|
||||
Reference in New Issue
Block a user