tidevice3


Nametidevice3 JSON
Version 0.11.1 PyPI version JSON
download
home_pagehttps://github.com/codeskyblue/tidevice3
Summarywrapper for pymobiledevice3 for easy use with iphone device
upload_time2024-04-23 12:20:21
maintainerNone
docs_urlNone
authorcodeskyblue
requires_python<4.0,>=3.8
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # tidevice3
[![PyPI version](https://badge.fury.io/py/tidevice3.svg)](https://badge.fury.io/py/tidevice3)
[![codecov](https://codecov.io/gh/codeskyblue/tidevice3/graph/badge.svg?token=twFRe9igek)](https://codecov.io/gh/codeskyblue/tidevice3)

wrapper for pymobiledevice3 to make it more easy to use.


# Install

Mac

```bash
pip install tidevice3

# or install as Isolated environment
brew install pipx
pipx install tidevice3
```

Linux

```bash
# 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.

```bash
# start tunneld for iOS>=17
# launch process (pmd3 remote start-tunnel) when new usb device connected
# root required
$ sudo t3 tunneld
```

Basic usage

```bash
$ 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.

```python
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](DEVELOP.md)

# LICENSE
[MIT](LICENSE)


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/codeskyblue/tidevice3",
    "name": "tidevice3",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.8",
    "maintainer_email": null,
    "keywords": null,
    "author": "codeskyblue",
    "author_email": "codeskyblue@gmail.com",
    "download_url": "https://files.pythonhosted.org/packages/7c/57/bd4c9a1d108f391b4a76646d927145d47ad4879b8720a5e03b716751bc43/tidevice3-0.11.1.tar.gz",
    "platform": null,
    "description": "# tidevice3\n[![PyPI version](https://badge.fury.io/py/tidevice3.svg)](https://badge.fury.io/py/tidevice3)\n[![codecov](https://codecov.io/gh/codeskyblue/tidevice3/graph/badge.svg?token=twFRe9igek)](https://codecov.io/gh/codeskyblue/tidevice3)\n\nwrapper for pymobiledevice3 to make it more easy to use.\n\n\n# Install\n\nMac\n\n```bash\npip install tidevice3\n\n# or install as Isolated environment\nbrew install pipx\npipx install tidevice3\n```\n\nLinux\n\n```bash\n# required by pytun-pmd3\nsudo apt install python3-dev gcc pipx\npipx install tidevice3\npipx ensurepath\n```\n\n# CLI Usage\n\niOS >= 17 `screenshot,app:ps` connect through Ethernet over USB (NCM device) instead of usbmuxd\nSo tunneld should start first.\n\n```bash\n# start tunneld for iOS>=17\n# launch process (pmd3 remote start-tunnel) when new usb device connected\n# root required\n$ sudo t3 tunneld\n```\n\nBasic usage\n\n```bash\n$ t3 list\n...\n\n# enable developer mode and mount develoepr image\n$ t3 developer\n\n# install & uninstall\n$ t3 install https://....ipa\n$ t3 install ./some.ipa\n$ t3 uninstall com.example\n\n# take screenshot\n$ t3 screenshot out.png\n\n# reboot\n$ t3 reboot\n\n# file operation\n$ t3 fsync <ls|rm|pull|push> [Arguments...]\n\n# app\n$ t3 app <ps|list|launch|kill|instal|uninstall|foreground>\n\n# install\n# alias for app install\n$ t3 install <URL or LocalIPA>\n\n# screenrecord\n$ t3 screenrecord out.mp4\n\n# relay (like iproxy LOCAL_PORT DEVICE_PORT)\n$ t3 relay 8100 8100\n$ t3 relay 8100 8100 --source 0.0.0.0 --daemonize\n\n# show help\n$ t3 --help\n```\n\n# API Usage\nThe API alone is insufficient for all operations; combining it with the pymobiledevice3 library can accomplish more things.\n\n```python\nfrom tidevice3.api import list_devices, connect_service_provider, screenshot, app_install\n\nfor d in list_devices(usb=True):\n    print(\"UDID:\", d.Identifier)\n    service_provider = connect_service_provider(d.Identifier)\n    pil_im = screenshot(service_provider)\n    pil_im.save(\"screenshot.png\")\n\n    # install ipa from URL or local\n    app_install(service_provider, \"https://example.org/some.ipa\")\n```\n\n# iOS 17 support\n- Mac (supported)\n- Windows (https://github.com/doronz88/pymobiledevice3/issues/569)\n- Linux (https://github.com/doronz88/pymobiledevice3/issues/566)\n\nMac,Windows,Linux all supported iOS<17\n\n# WDA\n\u5176\u5b9eWDA\u542f\u52a8\u53ef\u4ee5\u4e0d\u7528XCUITest\uff0c\u4e0b\u9762\u662f\u5177\u4f53\u7684\u65b9\u6cd5\uff08\u9002\u7528\u4e8eiOS >= 15)\n\n- iOS\u4f01\u4e1a\u91cd\u7b7e\u540d\u65b9\u6cd5 https://zhuanlan.zhihu.com/p/673521212\n- iOS WDA\u8131\u79bbxcode & tidevice\u8fd0\u884c\u81ea\u52a8\u5316 https://zhuanlan.zhihu.com/p/673319266\n\n# DEVELOP & CONTRIBUTE\nsee [DEVELOP.md](DEVELOP.md)\n\n# LICENSE\n[MIT](LICENSE)\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "wrapper for pymobiledevice3 for easy use with iphone device",
    "version": "0.11.1",
    "project_urls": {
        "Homepage": "https://github.com/codeskyblue/tidevice3"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "c07bdaeff7348e66d3501d9520f1ac40ccf94da0c0f09a3d7638ddf50e29f198",
                "md5": "a4d17e0618543ea23eb2032326475795",
                "sha256": "3efe618538157a1dcc393561c950603219f07638c594ad6cd53e77e695a41c0c"
            },
            "downloads": -1,
            "filename": "tidevice3-0.11.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a4d17e0618543ea23eb2032326475795",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.8",
            "size": 24373,
            "upload_time": "2024-04-23T12:20:17",
            "upload_time_iso_8601": "2024-04-23T12:20:17.422427Z",
            "url": "https://files.pythonhosted.org/packages/c0/7b/daeff7348e66d3501d9520f1ac40ccf94da0c0f09a3d7638ddf50e29f198/tidevice3-0.11.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7c57bd4c9a1d108f391b4a76646d927145d47ad4879b8720a5e03b716751bc43",
                "md5": "6abfb0f63a7fe71bc047891deca29642",
                "sha256": "bbe95f4ab37a7174e65daaefe147339844fa945497e0e234525f5f3260d53d77"
            },
            "downloads": -1,
            "filename": "tidevice3-0.11.1.tar.gz",
            "has_sig": false,
            "md5_digest": "6abfb0f63a7fe71bc047891deca29642",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.8",
            "size": 17771,
            "upload_time": "2024-04-23T12:20:21",
            "upload_time_iso_8601": "2024-04-23T12:20:21.727897Z",
            "url": "https://files.pythonhosted.org/packages/7c/57/bd4c9a1d108f391b4a76646d927145d47ad4879b8720a5e03b716751bc43/tidevice3-0.11.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-23 12:20:21",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "codeskyblue",
    "github_project": "tidevice3",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "tidevice3"
}
        
Elapsed time: 0.24218s