FBSimulatorControl alternatives and similar libraries
Based on the "Tools" category.
Alternatively, view FBSimulatorControl alternatives based on common mentions on social networks and blogs.
-
Awesome-Design-Tools
The best design tools and plugins for everything ๐ -
SwiftGen
The Swift code generator for your assets, storyboards, Localizable.strings, โฆ โ Get rid of all String-based APIs! -
R.swift
Strong typed, autocompleted resources like images, fonts and segues in Swift projects -
Insanity
Meta-programming for Swift, stop writing boilerplate code. -
Lona
A tool for defining design systems and using them to generate cross-platform UI code, Sketch files, and other artifacts. -
XcodeGen
A Swift command line tool for generating your Xcode project -
Tweaks
An easy way to fine-tune, and adjust parameters for iOS apps in development. -
appledoc
Objective-c code Apple style documentation set generator. -
Xcodes.app
The easiest way to install and switch between multiple versions of Xcode - with a mouse click. -
FengNiao
A command line tool for cleaning unused resources in Xcode. -
LifetimeTracker
Find retain cycles / memory leaks sooner. -
GDPerformanceView-Swift
Shows FPS, CPU and memory usage, device model, app and iOS versions above the status bar and report FPS, CPU and memory usage via delegate. -
SourceKitten
An adorable little framework and command line tool for interacting with SourceKit. -
ProvisionQL
Quick Look plugin for mobile apps and provisioning profiles -
LicensePlist
A license list generator of all your dependencies for iOS applications -
AppDevKit
AppDevKit is an iOS development library that provides developers with useful features to fulfill their everyday iOS app development needs. -
Provisioning
A Quick Look plug-in for .mobileprovision files -
DBDebugToolkit
Set of easy to use debugging tools for iOS developers & QA engineers. -
ThisCouldBeUsButYouPlaying
:black_joker: Generate Swift Playgrounds for any library. -
Laurine
Laurine - Localization code generator written in Swift. Sweet! -
Attabench
Microbenchmarking app for Swift with nice log-log plots -
iSimulator
iSimulator is a GUI utility to control the Simulator, and manage the app installed on the simulator. -
Blade
Better asset workflow for iOS developers. Generate Xcode image catalogs for iOS / OSX app icons, universal images, and more. -
ViewMonitor
ViewMonitor can measure view positions with accuracy. -
Realm Browser
DEPRECATED - Realm Browser for Mac OS X has been replaced by realm-studio which is cross platform. -
Cookiecutter
A template for new Swift iOS / macOS / tvOS / watchOS Framework project ready with travis-ci, cocoapods, Carthage, SwiftPM and a Readme file -
Rugby
๐ Cache CocoaPods for faster rebuild and indexing Xcode project -
SuperDelegate
SuperDelegate provides a clean application delegate interface and protects you from bugs in the application lifecycle -
WatchdogInspector
Shows your current framerate (fps) in the status bar of your iOS app -
abandoned-strings
Command line program that detects unused resource strings in an iOS or OS X application. -
Swift Package Index
The Swift Package Index is the place to find Swift packages! -
fastlane-plugin-appicon
Generate required icon sizes and iconset from a master application icon. -
AVXCAssets-Generator
AVXCAssets Generator takes path for your assets images and creates appiconset and imageset for you in just one click -
Shark
Swift CLI for strong-typing images, colors, storyboards, fonts and localizations
Appwrite - The Open Source Firebase alternative introduces iOS support
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of FBSimulatorControl or a related project?
README
[idb logo](website/static/img/idb_logo.jpg)
The "iOS Development Bridge" or idb
, is a command line interface for automating iOS Simulators and Devices. It has three main priniciples:
- Remote Automation:
idb
is composed of a "companion" that runs on macOS and a python client that can run anywhere. This enables scenarios such as a "Device Lab" within a Data Center or fanning out shards of test executions to a large pool of iOS Simulators. - Simple Primitives:
idb
exposes granular commands so that sophisticated workflows can be sequenced on top of them. This means you can useidb
from an IDE or build an automated testing scenario that isn't feasible with default tooling. All of these primitives aim to be consistent across iOS versions and between iOS Simulators and iOS Devices. All the primitives are exposed over a cli, so that it easy to use for both humans and automation. - Exposing missing functionality: Xcode has a number of features that aren't available outside it's user interface.
idb
leverages many of Private Frameworks that are used by Xcode, so that these features can be in GUI-less automated scenarios.
idb
is built on top the FBSimulatorControl
and FBDeviceControl
macOS Frameworks, contained within this repository. These Frameworks can be used independently of idb
, however idb
is likely to provide the simplest install and the most sensible defaults for most users.
We've given a talk about idb
at F8, so that you can learn more about what idb
is and why we built it. A recording of the talk is available here.
Quick Start
idb
is made up of 2 major components, each of which needs to be installed separately.
idb
companion
Each target (simulator/device) will have a companion process attached allowing idb
to communicate remotely.
The idb
companion can be installed via brew or built from source
brew tap facebook/fb
brew install idb-companion
Note: Instructions on how to install brew can be found here
idb
client
A cli tool and python client is provided to interact with idb
.
It can be installed via pip:
pip3.6 install fb-idb
Note: The idb client requires python 3.6 or greater to be installed.
Please refer to fbidb.io for detailed installation instructions and a guided tour of idb.
Once installed, just run the list-targets command which will show you all the simulators installed on your system:
$ idb list-targets
...
iPhone X | 569C0F94-5D53-40D2-AF8F-F4AA5BAA7D5E | Shutdown | simulator | iOS 12.2 | x86_64 | No Companion Connected
iPhone Xs | 2A1C6A5A-0C67-46FD-B3F5-3CB42FFB38B5 | Shutdown | simulator | iOS 12.2 | x86_64 | No Companion Connected
iPhone Xs Max | D3CF178F-EF61-4CD3-BB3B-F5ECAD246310 | Shutdown | simulator | iOS 12.2 | x86_64 | No Companion Connected
iPhone Xส | 74064851-4B98-473A-8110-225202BB86F6 | Shutdown | simulator | iOS 12.2 | x86_64 | No Companion Connected
...
list-apps
will show you all the apps installed in a simulator:
$ idb list-apps --udid 74064851-4B98-473A-8110-225202BB86F6
com.apple.Maps | Maps | system | x86_64 | Not running | Not Debuggable
com.apple.MobileSMS | MobileSMS | system | x86_64 | Not running | Not Debuggable
com.apple.mobileslideshow | MobileSlideShow | system | x86_64 | Not running | Not Debuggable
com.apple.mobilesafari | MobileSafari | system | x86_64 | Not running | Not Debuggable
launch
will launch an application:
$ idb launch com.apple.mobilesafari
Head over to the main documentation for more details on what you can do with idb and the full list of commands. There are also instructions on how to make changes to idb
including building it from source.
Documentation
Find the full documentation for this project at fbidb.io
We also have a public Discord Server that you can join
Contributing
We've released idb
because it's a big part of how we scale iOS automation at Facebook. We hope that others will be able to benefit from the project where they may have needs that aren't currently serviced by the standard Xcode toolchain.
Code of Conduct
Facebook has adopted a Code of Conduct that we expect project participants to adhere to. Please read the full text so that you can understand what actions will and will not be tolerated.
Contributing Guide
Read our [contributing guide](.github/CONTRIBUTING.md) to learn about our development process.
License
[idb
is MIT-licensed](LICENSE).
*Note that all licence references and agreements mentioned in the FBSimulatorControl README section above
are relevant to that project's source code only.