tidevice3
wrapper for pymobiledevice3 to make it more easy to use.
Install
Mac
pip install tidevice3
# or install as Isolated environment
brew install pipx
pipx install tidevice3
Linux
# required by pytun-pmd3
sudo apt install python3-dev gcc pipx
pipx install tidevice3
pipx ensurepath
CLI Usage
iOS >= 17 screenshot,app:ps connect through Ethernet over USB (NCM device) instead of usbmuxd
So tunneld should start first.
# start tunneld for iOS>=17
# launch process (pmd3 remote start-tunnel) when new usb device connected
# root required
$ sudo t3 tunneld
Basic usage
$ t3 list
...
# enable developer mode and mount develoepr image
$ t3 developer
# install & uninstall
$ t3 install https://....ipa
$ t3 install ./some.ipa
$ t3 uninstall com.example
# take screenshot
$ t3 screenshot out.png
# reboot
$ t3 reboot
# file operation
$ t3 fsync <ls|rm|pull|push> [Arguments...]
# app
$ t3 app <ps|list|launch|kill|instal|uninstall|foreground>
# install
# alias for app install
$ t3 install <URL or LocalIPA>
# screenrecord
$ t3 screenrecord out.mp4
# relay (like iproxy LOCAL_PORT DEVICE_PORT)
$ t3 relay 8100 8100
$ t3 relay 8100 8100 --source 0.0.0.0 --daemonize
# show help
$ t3 --help
API Usage
The API alone is insufficient for all operations; combining it with the pymobiledevice3 library can accomplish more things.
from tidevice3.api import list_devices, connect_service_provider, screenshot, app_install
for d in list_devices(usb=True):
print("UDID:", d.Identifier)
service_provider = connect_service_provider(d.Identifier)
pil_im = screenshot(service_provider)
pil_im.save("screenshot.png")
# install ipa from URL or local
app_install(service_provider, "https://example.org/some.ipa")
iOS 17 support
- Mac (supported)
- Windows (https://github.com/doronz88/pymobiledevice3/issues/569)
- Linux (https://github.com/doronz88/pymobiledevice3/issues/566)
Mac,Windows,Linux all supported iOS<17
WDA
其实WDA启动可以不用XCUITest,下面是具体的方法(适用于iOS >= 15)
- iOS企业重签名方法 https://zhuanlan.zhihu.com/p/673521212
- iOS WDA脱离xcode & tidevice运行自动化 https://zhuanlan.zhihu.com/p/673319266
DEVELOP & CONTRIBUTE
see DEVELOP.md
LICENSE
Release files for tidevice3 0.11.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| tidevice3-0.11.3.tar.gz | 17.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| tidevice3-0.11.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 42.5 kB
Release files / tidevice3-0.11.3.tar.gz
| Download URL | tidevice3-0.11.3.tar.gz |
|---|---|
| Size | 17.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
646575c618aefb0a757614cbdd5b7af1ee9eeebb3ca4ccb274ebab41dce61cca
|
|
BLAKE2b-256 checksum How to use checksums |
a2e3993ae1c9ef4242d1aad91330417be9a13fcf284d47cd914e50c4ea0b8884
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.3
|
Release files / tidevice3-0.11.3-py3-none-any.whl
| Download URL | tidevice3-0.11.3-py3-none-any.whl |
|---|---|
| Size | 24.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fc491c331650427a372fd5e66d7352ac9ec2f2ebf76d53d29fdd2f99f16f07d5
|
|
BLAKE2b-256 checksum How to use checksums |
72c03cbbcd3e645ac29d81549c63fb9c3a40cb0f786e19c67a7e2ec0af7c6ca6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.3
|