{"id":13567635,"url":"https://github.com/IGPenguin/mobile-toolkit","last_synced_at":"2025-04-04T02:32:26.460Z","repository":{"id":38414958,"uuid":"63850927","full_name":"IGPenguin/mobile-toolkit","owner":"IGPenguin","description":"📱 Terminal tool for Android \u0026 iOS device management","archived":false,"fork":false,"pushed_at":"2024-12-17T18:48:22.000Z","size":9880,"stargazers_count":370,"open_issues_count":13,"forks_count":44,"subscribers_count":20,"default_branch":"master","last_synced_at":"2025-03-26T22:41:05.233Z","etag":null,"topics":["adb","android","capture-screen","development","emulators","hacktoberfest","install","ios","mobile","mobile-development","record","record-video","screenshot-utility","screenshots","shell","simulators","terminal","toolkit","uninstall","video"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IGPenguin.png","metadata":{"files":{"readme":"README.md","changelog":"changelog.txt","contributing":".github/CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-07-21T08:22:36.000Z","updated_at":"2025-02-19T19:10:48.000Z","dependencies_parsed_at":"2023-01-21T13:02:25.564Z","dependency_job_id":"2a74b22a-1d70-44b7-ba39-7300308fc9df","html_url":"https://github.com/IGPenguin/mobile-toolkit","commit_stats":null,"previous_names":["intergalacticpenguin/mobile-toolkit"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IGPenguin%2Fmobile-toolkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IGPenguin%2Fmobile-toolkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IGPenguin%2Fmobile-toolkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IGPenguin%2Fmobile-toolkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IGPenguin","download_url":"https://codeload.github.com/IGPenguin/mobile-toolkit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247111019,"owners_count":20885369,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adb","android","capture-screen","development","emulators","hacktoberfest","install","ios","mobile","mobile-development","record","record-video","screenshot-utility","screenshots","shell","simulators","terminal","toolkit","uninstall","video"],"created_at":"2024-08-01T13:02:37.200Z","updated_at":"2025-04-04T02:32:26.453Z","avatar_url":"https://github.com/IGPenguin.png","language":"Shell","funding_links":[],"categories":["Shell"],"sub_categories":[],"readme":"![Header](/media/header_v2.png?raw=true)\n\u003cdiv id='section-id-2'/\u003e\n\n## What is its purpose?\n🛠 **Control Android \u0026 iOS devices:** Capture screen, manage apps, simulate input, examine system logs etc.\u003cbr\u003e\n\n⚡️ **Speed++** Are you an app developer or a tester? Boost your effectivity, discover new tools!\n\n\n\u003cdiv id='section-id-8'/\u003e\n\n## All features\n\n📲 **Control Android and iOS devices** or Emulators/Simulators using terminal commands\u003cbr\u003e\n\n🛠 **Take screeshots, change device settings**, gather app \u0026 device information\u003cbr\u003e\n\n⚙️ **Manage mobile applications** - install, restart, wipe data and much more\u003cbr\u003e\n\n📋 **Handle multiple devices effortlessly** - select from list or target all connected devices\u003cbr\u003e\n\n⏳ **Save your precious time** - stop doing repetitive tasks manually\u003cbr\u003e\n\n🔄 **Automatic update** - get new features and fixes ASAP\u003cbr\u003e\n\n## Table of contents\n🔩 Maybe you just want to skip to [Installation](#section-id-22)?\u003cbr\u003e\n\u003cbr\u003e\n\u003cbold\u003e[🤖 Android Commands](#section-id-52)\u003c/bold\u003e\n- [Capture screen](#section-id-54)\n\t- [📸 ascreenshot](#section-id-56)\n\t- [🎥 arecord](#section-id-60)\n- [Control device](#section-id-66)\n\t- [✏️ apaste](#section-id-68)\n\t- [🌐 aurl](#section-id-78)\n\t- [🏴 adarkmode](#section-id-82)\n\t- [🔊 atalkback](#section-id-85)\n\t- [📐 abounds](#section-id-88)\n\t- [🚗 aanimationspeed](#section-id-92)\n\t- [🔠 afontscale](#section-id-96)\n\t- [🎹 acontrol](#section-id-100)\n\t- [📷 acamera](#section-id-104)\n\t- [⚡️ awireless](#section-id-107)\n\t- [👋 apowerbutton](#section-id-108)\n- [Manage packages](#section-id-111)\n\t- [🚀 alaunch](#section-id-113)\n\t- [🕵️ aappinfo](#section-id-118)\n\t- [🔪 akill](#section-id-128)\n\t- [🧽 aerase](#section-id-132)\n\t- [🚚 ainstall](#section-id-136)\n\t- [🗑 auninstall](#section-id-140)\n\t- [🔥 awipe](#section-id-146)\n\t- [🐁 apermissionreset](#section-id-149)\n\t- [🛍 agoogleplay](#section-id-153)\n\t- [🏭 abuildproject](#section-id-157)\n- [Manage device](#section-id-161)\n\t- [⚙️ aoptions](#section-id-163)\n\t- [📜 alog](#section-id-176)\n\t- [📋 acheckdevice](#section-id-180)\n\t- [😎 aservices](#section-id-192)\n\t- [♻ areboot](#section-id-196)\n\t- [📱 aemulator](#section-id-199)\n\t- [🐒 atestmonkey](#section-id-215)\n\n\n\u003cstrong\u003e[🍎 iOS Commands](#section-id-233)\u003c/strong\u003e\u003cbr\u003e\n- [Capture screen](#section-id-235)\n\t- [📸 iscreenshot](#section-id-237)\n\t- [🎥 irecord](#section-id-241)\n\t- [📹 iquicktime](#section-id-250)\n- [Manage applications](#section-id-255)\n\t- [🚚 iinstall](#section-id-256)\n\t- [🗑 iuninstall](#section-id-260)\n\t- [🚀 ilaunch](#section-id-266)\n\t- [🔪 ikill](#section-id-271)\n- [Manage device](#section-id-276)\n\t- [⚙️ ioptions](#section-id-278)\n\t- [💬 ilang](#section-id-281)\n\t- [📜 ilog](#section-id-285)\n\t- [📋 icheckdevice](#section-id-288)\n\t- [♻ ireboot](#section-id-292)\n\t- [📱 isimulator](#section-id-295)\n\t- [🖥 iconsole](#section-id-309)\n\n💭 Do you want to share [Feedback or Contribute](#section-id-312)?\n\n\u003cdiv id='section-id-22'/\u003e\n\n# 💻 Installation\n\u003cdetails\u003e\n\t  \u003csummary\u003eClick here to reveal step by step guide ↓\u003c/summary\u003e\n\n_Note: This tool targets macOS for compatibility, but most interactions should work on any Unix system._\n\u003cbr\u003e\n1. **Open terminal**\n2. **Clone this repository** `git clone https://github.com/IntergalacticPenguin/mobile-toolkit.git`\n3. **Setup Android tools**\n\t* **[Download](https://developer.android.com/studio/ \"Android Studio\") and install Android Studio** and **Android command line tools** (using Android Studio SDK manager)\n\t* **Edit .zshrc** (or .bash_profile if you have bash shell) `open -e ~/.zshrc`\n\t  * **Insert this line at the end** `PATH=$PATH:/Users/dummyuser/Library/Android/sdk/platform-tools export PATH`\n\t  * **Don't forget to replace \"dummyuser\" with your account username**\n\t  * **Use full path to the \"platform-tools\" directory**\n\t* **[Allow USB debugging](https://developer.android.com/studio/debug/dev-options) on your device, connect it and authorize your computer** (click OK on the device screen)\n4. **Setup iOS tools**\n\t* **Install latest Xcode and iOS command line tools** using [App Store](https://apps.apple.com/cz/app/xcode/id497799835?mt=12)\n\t* **Install [Homebrew](https://brew.sh/ \"Homberew\") package manager**\n\t* **Run Xcode, connect iOS device to USB and authorize your computer** (click \"Trust\" on the device screen)\n\t* **Run any script i.e. `iscreenshot`, installation of all required tools will be initiated automatically** ([jq](https://stedolan.github.io/jq/) and [go-ios](https://github.com/danielpaulus/go-ios \"go-ios\"))\n5. **Add Mobile Toolkit to $PATH**, it is mandatory for iOS scripts and it will let you run scripts in any directory\n\t* **Edit .zshrc** (or .bash_profile if you have bash shell) `open -e ~/.zshrc`\n\t  * **Insert the following lines at the end** \u003cbr\u003e `PATH=$PATH:/Users/dummyuser/mobile-toolkit/android` \u003cbr\u003e\n\t`PATH=$PATH:/Users/dummyuser/mobile-toolkit/ios`\n\t  * **Don't forget to replace \"dummyuser\" with your account username**\n\t  * **Use full path to the \"mobile-toolkit\" directory** (where you cloned this repository)\n\t  * **Add** `export PATH` **to the end of the file**\n\n\u003c/details\u003e\n\n\u003cdiv id='section-id-52'/\u003e\n\n# 🤖 Android Commands\n\n\u003cdiv id='section-id-54'/\u003e\n\n## Capture screen\n\n\u003cdiv id='section-id-56'/\u003e\n\n### 📸 ascreenshot\n* `ascreenshot` Save screenshot to ~/Desktop\n* `ascreenshot -a` Take screenshot on all connected devices\n\n\u003cdiv id='section-id-60'/\u003e\n\n### 🎥 arecord\n1. `arecord` Record screen\n2. End recording using `ctrl + c`\n3. Save screen video footage to ~/Desktop\n4. Records audio by default on devices running Android 12 and up (when using Scrcpy version 2.0.0 or higher)\n  * `arecord \u003ccustom-name\u003e` Specify your own filename by passing it as argument\n  * `arecord -l` Use legacy `-l` option to record using ADB instead of Scrcpy\n\n\u003cdiv id='section-id-66'/\u003e\n\n## Control device\n\n\u003cdiv id='section-id-68'/\u003e\n\n### ✏️ apaste\n`apaste \"john.doe@fakemail.com\" password1 \"5005 1002 3332 1112\" \"2/19\" 5004`\n\n* `apaste \u003ctext\u003e` Insert text into currently focused field\n* `apaste \"john.doe@fakemail.com\" password1 ` Every additional argument will be inserted into subsequent field\n* `apaste \"This is sample multi-word text.\"` use \"\" to insert multi-word text into one field\n* `apaste -l` Insert \"Lorem Ipsum paragraph\"\n* `apaste -a \u003cinput-text\u003e` Insert any text input (options displayed above) on all connected devices\n* `apaste -a -l` Insert \"Lorem Ipsum paragraph\" on all connected devices\n\n\u003cdiv id='section-id-78'/\u003e\n\n### 🌐 aurl\n* `aurl \"google.com\"` Open link in web browser or corresponding application\n* `aurl -a \"google.com\"` Open link in web browser or corresponding application on all connected devices\n\n\u003cdiv id='section-id-82'/\u003e\n\n### 🏴 adarkmode\n* `adarkmode` Toggle system dark mode\n\n\u003cdiv id='section-id-85'/\u003e\n\n### 🔊 atalkback\n* `atalkback` Toggle TalkBack screen reader accessiblity option\n\n\u003cdiv id='section-id-88'/\u003e\n\n### 📐 abounds\n* `abounds` Toggle UI layout bounds\n* App restart may be necessary on lower APIs\n\n\u003cdiv id='section-id-92'/\u003e\n\n### 🚗 aanimationspeed\n* `aanimationspeed` set slower animation speed or restore default\n* `aanimationspeed \u003cspeed\u003e` set animation speed multiplier\n\n\u003cdiv id='section-id-96'/\u003e\n\n### 🔠 afontscale\n* `afontscale` set large font scale (1.3x bigger than default) or restore default\n* `afontscale \u003cscale\u003e` set font scale multiplier\n\n\u003cdiv id='section-id-100'/\u003e\n\n### 🎹 acontrol\n* `acontrol` start [scrcpy](https://github.com/Genymobile/scrcpy \"scrcpy\") session\n* Provides realtime device screen mirroring and keyboard+mouse control\n\n\u003cdiv id='section-id-104'/\u003e\n\n### 📷 acamera\n* Start the default camera application\n\n\u003cdiv id='section-id-107'/\u003e\n\n### ⚡️ awireless\n* Enable or disable wireless ADB connection\n* Use ADB and toolkit without having USB cable attached\n\n\u003cdiv id='section-id-108'/\u003e\n\n### 👋 apowerbutton\n* Lock/Unlock the device (send Power button key event)\n* Useful to unlock the device after the screen is locked automatically\n\n\u003cdiv id='section-id-111'/\u003e\n\n## Manage packages\n\n\u003cdiv id='section-id-113'/\u003e\n\n### 🚀 alaunch\n* `alaunch` List third-party apps and choose one to run it\n* `alaunch -s` List all available apps (including os pre-installed) and choose one to run it\n* `alaunch com.dummy.package.name.app` Run app by package name\n\n\u003cdiv id='section-id-118'/\u003e\n\n### 🕵️ aappinfo\n* `aappinfo` List foreground app information\n\t* Package name\n\t* Version\n\t* Last update\n\t* minSdk and targetSdk\n\t* Permissions\n* (Optional) Open application settings\n* `aappinfo com.dummy.package.name.app` Target specific app by passing package name as argument\n\n\u003cdiv id='section-id-128'/\u003e\n\n### 🔪 akill\n* `akill` Restart the foreground app\n* `akill com.dummy.package.name.app` Target specific app by passing package name as argument\n\n\u003cdiv id='section-id-132'/\u003e\n\n### 🧽 aerase\n* `aerase` Delete all local data of the foreground app and restart it\n* `aerase com.dummy.package.name.app` Target specific app by passing package name as argument\n\n\u003cdiv id='section-id-136'/\u003e\n\n### 🚚 ainstall\n* `ainstall some-app-file.apk` Install and run .apk\n* `ainstall -a some-app-file.apk` Install and run .apk on all connected devices\n\n\u003cdiv id='section-id-140'/\u003e\n\n### 🗑 auninstall\n* `auninstall` Uninstall third-party app, choose from the list\n* `auninstall com.dummy.package.name.app` pass package name as argument\n* `auninstall -w` Uninstall all-third party packages\n\t* Skips some essential apps, edit IGNORED_PACKAGES in this script to customize the list to your needs\n\n\u003cdiv id='section-id-146'/\u003e\n\n### 🔥 awipe\n* Wipe internal storage and delete all third-party apps\n\n\u003cdiv id='section-id-149'/\u003e\n\n### 🐁 apermissionreset\n* Revoke ALL GRANTED runtime permissions for ALL apps\n\t* You'll have to handle permission requests upon opening almost any app\n\n\u003cdiv id='section-id-153'/\u003e\n\n### 🛍 agoogleplay\n* `agoogleplay \"Dummy App\"` Search for \"Dummy App\" on Google Play\n* `agoogleplay` Search for currently foreground app on Google Play\n\n\u003cdiv id='section-id-157'/\u003e\n\n### 🏭 abuildproject\n* `abuildproject` Build, install and run Android project located in current directory\n* `abuildproject \u003crelative-path\u003e` Build, install and run Android project located in \\\u003crelative-path\u003e\n\n\u003cdiv id='section-id-161'/\u003e\n\n## Manage device\n\n\u003cdiv id='section-id-163'/\u003e\n\n### ⚙️ aoptions\n* `aoptions` Open system settings on a specific activity\n* You can choose from quick presets\n\t* Developer settings\n\t* Locale settings\n\t* Date \u0026 time\n\t* Wifi settings\n\t* Storage management\n\t* Power usage\n\t* Root settings activity\n* `aoptions A` Choose from exhaustive list of all available options\n* `aoptions 1,2,3... | dev | locale | date | wifi | storage | power` Use a preset, choose one\n\n\u003cdiv id='section-id-176'/\u003e\n\n### 📜 alog\n* `alog` Print system log output\n* `alog -f \u003cpackage-name\u003e` Filter log by package name\n\n\u003cdiv id='section-id-180'/\u003e\n\n### 📋 acheckdevice\n* Print genereal device information\n* Perform basic safety-checks and toggle \"testing firendly\" settings\n  * 10 minutes screen timeout\n  * Highest brightness\n  * Automatic date\n  * Disabled notification sounds\n  * Internet connectivity and WIFI name\n  * Font scale\n  * enUS locale\n* (Optional) Search for the device on [GSMArena](https://www.gsmarena.com/ \"GSMArena\")\n\n\u003cdiv id='section-id-192'/\u003e\n\n### 😎 aservices\n* Print running background services\n* Search for more information via Google\n\n\u003cdiv id='section-id-196'/\u003e\n\n### ♻ areboot\n* Reboot the device\n\n\u003cdiv id='section-id-199'/\u003e\n\n### 📱 aemulator\n**Required**: Make terminal use Android Studio Java\n  * **Edit .bash_profile** (or .zshrc if you have zsh shell) `open -e ~/.bash_profile` or `open -e ~/.zshrc`\n  * **Add the following line at the end of the file** `export JAVA_HOME='/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home'`\n\n* Android emulator supports all listed scripts by default + extra actions listed below\n* `aemulator \u003coption\u003e` Handle various Android emulator activites\n  * `start` - choose and launch installed emulator\n  * `gprs | edge | 3g` - simulate network latency, choose one\n  * `call \u003cnumber\u003e` - receive fake call\n  * `sms \u003cnumber\u003e \u003ctext\u003e` - receive fake sms\n  * `gps \u003clat\u003e \u003clong\u003e` - set manual GPS location\n  * `battery \u003c0-100\u003e` - set battery level\n  * `telnet \u003ccommand\u003e` - call command via telnet\n\t   * example commands `event | redir | sensor | physics | finger | rotate | fold | unfold...` see [Android emulator documentation](https://developer.android.com/studio/run/emulator-console#console-session) for more information\n\n\u003cdiv id='section-id-215'/\u003e\n\n### 🐒 atestmonkey\n* `atestmonkey` Default test with random seed and 15000 input events\n* `atestmonkey \u003cevent-count\u003e` Test with random seed and custom input event count\n* `atestmonkey \u003cevent-count\u003e \u003cseed\u003e` Test with custom seed and custom event count\n* Perform automated stress test using [Application Excersciser Monkey](https://developer.android.com/studio/test/monkey)\n* You can end test prematurely using ctrl^c or `atestmonkeykill` in case something goes wrong\n* App under test needs to be pinned to fullscreen mode to prevent unwanted interactions elsewhere\n* Screen pinning button location is directly tied to OS version and device manufacturer skin.\n\t* It may be tricky to turn on, see examples below:\u003cbr\u003e\u003cbr\u003e\n\t* \u003cdetails\u003e\n\t\t\t\u003csummary\u003eGoogle Nexus 5 (Android 6)\u003c/summary\u003e\n\t\t\t\u003cbr\u003e\u003cem\u003eYou need to bring the app window to foreground, the button is located in bottom right corner.\u003c/em\u003e\u003cbr\u003e\u003cbr\u003e\n\t\t\t\u003cimg src=\"/media/Pinning_Nexus_v4.png\" width=\"420\"\u003e\u003c/details\u003e\n\t* \u003cdetails\u003e\n\t\t\t\u003csummary\u003eGoogle Pixel 3 (Android 11)\u003c/summary\u003e\n\t\t\t\u003cbr\u003e\u003cem\u003eYou need to click on the app icon, the button is located in popup menu.\u003c/em\u003e\u003cbr\u003e\u003cbr\u003e\n\t\t\t\u003cimg src=\"/media/Pinning_Pixel_v2.png\" width=\"420\"\u003e\u003c/details\u003e\n\n\u003cdiv id='section-id-233'/\u003e\n\n# 🍎 iOS Commands\n\n\u003cdiv id='section-id-235'/\u003e\n\n## Capture screen\n\n\u003cdiv id='section-id-237'/\u003e\n\n### 📸 iscreenshot\n* `iscreenshot` Save screenshot to ~/Desktop\n* `iscreenshot -a` Take screenshot on all connected devices\n\n\u003cdiv id='section-id-241'/\u003e\n\n### 🎥 irecord\n**Required**: Install [videosnap](https://github.com/matthutchinson/videosnap/releases \"videosnap\") -\u003e download and install `videosnap-0.0.8.pkg`\u003cbr\u003e\n**Required**: Install [ffmpeg](https://www.ffmpeg.org/ \"ffmpeg\") `brew install ffmpeg`\n\n1. `irecord` Record screen\n2. End recording using `ctrl + c`\n3. Video footage is saved to ~/Desktop\n4. File is compressed using ffmpeg\n\n\u003cdiv id='section-id-250'/\u003e\n\n### 📹 iquicktime\n* Run QuickTime and open video source picker (so you can choose a device right away)\n  * You may have to allow security system permission, so the script can access QuickTime application\n* This is a fallback script for `irecord` on M1 macs as it is currently not working\n\n\u003cdiv id='section-id-255'/\u003e\n\n## Manage applications\n\u003cdiv id='section-id-256'/\u003e\n\n### 🚚 iinstall\n* `iinstall some-app-file.ipa` Install .ipa (make sure to use properly signed build)\n* `iinstall -a some-app-file.ipa` Install .ipa to all connected devices\n\n\u003cdiv id='section-id-260'/\u003e\n\n### 🗑 iuninstall\n* `iuninstall` Uninstall third-party app, choose from the list\n* `iuninstall com.dummy.package.name.app` pass bundle name as argument\n* `iuninstall -w` Uninstall all third-party packages\n  * Skips some essential apps, edit IGNORED_PACKAGES in this script to customize the list to your needs\n\n\u003cdiv id='section-id-266'/\u003e\n\n### 🚀 ilaunch\n* `ilaunch` List third-party apps and choose one to run it\n* `ilaunch -s` List os pre-installed apps and choose one to run it\n* `ilaunch com.dummy.bundle.id.app` Run app by bundle id\n\n\u003cdiv id='section-id-271'/\u003e\n\n### 🔪 ikill\n* `ikill` List third-party apps and choose one to restart\n* `ikill -s` List os pre-installed apps and choose one to restart\n* `ikill com.dummy.bundle.id.app` Target specific app by passing bundle id as argument\n\n\u003cdiv id='section-id-276'/\u003e\n\n## Manage device\n\n\u003cdiv id='section-id-278'/\u003e\n\n### ⚙️ ioptions\n* `ioptions` Open system settings application\n\n\u003cdiv id='section-id-281'/\u003e\n\n### 💬 ilang\n* `ilang \u003clang\u003e` Change the device language to different one, according to ISO-639 (i.e. \"cs\")\n* `ilang` Change the device language to different one, choose from a list of all supported\n\n\u003cdiv id='section-id-285'/\u003e\n\n### 📜 ilog\n* `ilog` Print system log output\n\n\u003cdiv id='section-id-288'/\u003e\n\n### 📋 icheckdevice\n* Print device information\n* (Optional) Search for the device on [GSMArena](https://www.gsmarena.com/ \"GSMArena\")\n\n\u003cdiv id='section-id-292'/\u003e\n\n### ♻ ireboot\n* Reboot the device\n\n\u003cdiv id='section-id-295'/\u003e\n\n### 📱 isimulator\n* Simulator has limited functionality (no camera, biometrics, Appstore...), but **offers some extra options, unavailable on physical iOS devices**\n* `isimulator \u003coption\u003e` Handle various simulator related activites\n  * `start` - choose and launch installed simulator\n  * `screenshot` - save screenshot to ~/Desktop\n  * `record` - save screen recording to ~/Desktop (full resolution and frame rate, without QuickTime hassle)\n  * `paste \u003ctext\u003e` - insert text into pasteboard\n  * `import \u003cfile\u003e` - import image or video to simulator gallery app\n  * `log` - print simulator log\n  * `url \u003curl\u003e` - open link in web browser or corresponding application\n  * `wipe` - wipe all simulator data\n  * `battery \u003c0-100\u003e` - set battery level displayed in status bar (no functional impact)\n  * `time \u003chh:mm\u003e` - set time displayed in status bar (no functional impact)\n\n\u003cdiv id='section-id-309'/\u003e\n\n### 🖥 iconsole\n* `iconsole` Examine iOS or macOS system logs using Console application\n\n\u003cdiv id='section-id-312'/\u003e\n\n----\n\n\u003cstrong\u003eFeedback \u0026 Contribution\u003c/strong\u003e\u003cbr\u003e\n\n\u003csup\u003e⁉️ [Submit an issue](https://github.com/IntergalacticPenguin/mobile-toolkit/issues/new/choose) to report any bugs, request a feature or ask questions.\u003c/sup\u003e\u003cbr\u003e\n\u003csup\u003e🤝 [Pull requests](https://github.com/IntergalacticPenguin/mobile-toolkit/blob/master/.github/CONTRIBUTING.md \"contribution rules\") are highly **appreciated**, see the [issue board](https://github.com/IntergalacticPenguin/mobile-toolkit/projects/3).\u003c/sup\u003e\u003cbr\u003e\n\u003csup\u003e💬 Also \u003cstrong\u003evisit my [NoMo](https://github.com/IGPenguin/nomo)\u003c/strong\u003e project and leave a star.\u003c/sup\u003e\u003cbr\u003e\n\u003csup\u003e🔗 Find me on [LinkedIn](https://www.linkedin.com/in/intergalacticpenguin/) or [Twitter](https://twitter.com/IGPenguin).\u003c/sup\u003e\u003cbr\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FIGPenguin%2Fmobile-toolkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FIGPenguin%2Fmobile-toolkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FIGPenguin%2Fmobile-toolkit/lists"}