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
Metadata
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 | Provenance | Actions |
|---|---|---|---|---|
| tidevice3-0.11.3.tar.gz | 17.9 kB | Without provenance | Details for tidevice3-0.11.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| tidevice3-0.11.3-py3-none-any.whl | Python 3 | none | any | Details for tidevice3-0.11.3-py3-none-any.whl |
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
|
Security for tidevice3 0.11.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.