from time import sleep from pymobiledevice3.lockdown import create_using_usbmux from pymobiledevice3.services.dvt.instruments.process_control import ProcessControl from pymobiledevice3.services.installation_proxy import InstallationProxyService from pymobiledevice3.services.dvt.dvt_secure_socket_proxy import DvtSecureSocketProxyService BUNDLE_ID = 'com.laiwang.DingTalk' def main(): try: # 连接手机 lockdown = create_using_usbmux() print("开发者模式",lockdown.developer_mode_status) # 获取钉钉-app # with InstallationProxyService(lockdown) as installer: # apps = installer.get_apps() # for app in apps.values(): # print(f"{app['CFBundleIdentifier']}: {app.get('CFBundleDisplayName', '无名应用')}") # 查找特定应用 # ddApp = [app for app in installer.get_apps() if 'DingTalk' in app] # if len(ddApp): # print("找到包",ddApp[0]) # if ddApp[0] == BUNDLE_ID: # # 打开app # with DvtSecureSocketProxyService(lockdown) as dvt: # process_control = ProcessControl(dvt) # pid = process_control.launch(BUNDLE_ID) # print("启动app",pid) # # 点击工作台 # sleep(5) # else: # print("包名不匹配") # else: # print("没找到包,请安装钉钉") except ConnectionError as e: print(f"连接失败") if __name__ == '__main__': main()