Adds the following commands to manage mobile applications to VS Code:
-
Android (using ADB):
- Uninstall App
- Kill App
- Start App
- Restart App
- Clear App Data
- Clear App Data and Restart
- Revoke permissions
-
iOS (using IDB):
- Uninstall App
- Kill App
- Start App
- Restart App
And more to come.
The primary way to invoke a command is searching for "Android ADB Command" or "iOS IDB Command" in Command Palette (macOS: Cmd+Shift+P, Windows/Linux: Ctrl+Shift+P)
For Android commands: ADB should be downloaded and added to the PATH environment variable.
For iOS commands: Xcode, Python 3.6+ and IDB should be installed. IDB installation should be pretty straightforward with Homebrew:
brew tap facebook/fb
brew install idb-companion
pip3 install fb-idb
Unless you are on a Mac with Apple Silicon chip (M1 and newer). In this case, follow the issue and proposed solutions on Github. The last working solution is building idb-companion from sources:
brew install protobuf
brew install grpc
git clone [email protected]:facebook/idb.git
cd idb
pod install
./idb_build.sh idb_companion build /opt/homebrew
codesign --force --sign - --timestamp=none /opt/homebrew/Frameworks/FBDeviceControl.framework/Versions/A/Resources/libShimulator.dylib
codesign --force --sign - --timestamp=none /opt/homebrew/Frameworks/FBSimulatorControl.framework/Versions/A/Resources/libShimulator.dylib
codesign --force --sign - --timestamp=none /opt/homebrew/Frameworks/XCTestBootstrap.framework/Versions/A/Resources/libShimulator.dylib
codesign --force --sign - --timestamp=none /opt/homebrew/Frameworks/FBControlCore.framework/Versions/A/Resources/libShimulator.dylib
pip3 install fb-idb
Bear in mind that the extension tries to detect application package name on first activation. But if you have custom project structure, you may need to set package name manually. This can be done with Set App Package Name command. Package name will be persisted for a workspace. Show Current App Package Name displays the app package name previously set for current workspace. Selected app package name can be changed at any moment.
Wasn't tested on Windows yet, so if you encounter any issues, feel free to report through Github
- Removing iOS apps sometimes failed because of multiple IDB device connections, this is now resolved
- "Uninstall App", "Kill App", "Start App", "Restart App", iOS commands (IDB installation required)
- iOS bundle identifier can be detected automatically in simple cases
- Package name now can be detected automatically in simple cases
- Package name prompt on first extension activation in a workspace
- "Uninstall App", "Kill App", "Start App", "Restart App", "Clear App Data", "Clear App Data and Restart", "Revoke permissions" commands.
- "Set App Package Name" and "Show Current App Package Name" commands to manage current app package (manually at the moment, automatic grabbing it from gradle files to come)