Droar alternatives and similar libraries
Based on the "Debugging" category.
Alternatively, view Droar alternatives based on common mentions on social networks and blogs.
-
Requestly
Requestly was built to save developers time by intercepting and modifying HTTP Requests. It has now developed into an open-source alternative to Charles Proxy and Telerik Fiddler that works directly in browsers without VPN and proxy Issues. It is used by more than 200,000+ front-end developers and 11,000+ companies worldwide. -
MTHawkeye
Profiling / Debugging assist tools for iOS. (Memory Leak, OOM, ANR, Hard Stalling, Network, OpenGL, Time Profile ...) -
Playbook
📘A library for isolated developing UI components and automatically taking snapshots of them. -
Woodpecker
EGODatabase is a thread-safe Objective-C SQLite wrapper with full support for asynchronous SQLite calls as well as built in NSOperationQueue support. -
react-native-network-logger
An HTTP network request monitor for React Native with in-app interface for iOS and Android with no native code -
LayoutInspector
Tool to debug layouts directly on iOS devices: inspect layers in 3D and debug each visible view attributes -
AppSpector
Remote iOS and Android debugging and data collection service. You can debug networking, logs, CoreData, SQLite, NSNotificationCenter and mock device's geo location. -
NetShears
DISCONTINUED. Allows developers to intercept and monitor HTTP/HTTPS requests and responses. It also could be configured to show gRPC calls.
CodeRabbit: AI Code Reviews for Developers
Do you think we are missing an alternative of Droar or a related project?
README
Droar is a modular, single-line installation debugging window.
Overview
The idea behind Droar is simple: during app deployment stages, adding quick app configurations (switching between mock vs live, QA credential quick-login, changing http environments, etc) tend to get written and shipped straight inline with production code. Droar solves this issue by adding quick configurations that are grouped into one place, and under a single tool.
Installation
Droar is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod "Droar"
Start
To start Droar, add the following in the didFinishLaunchingWithOptions
method of your app delegate:
import Droar
...
if nonProductionEnvironment {
Droar.start()
}
To open, simply swipe starting from the far right side of the screen.
Configuring
Adding your own Knobs (table sections)
There are two ways to add knobs in Droar:
Static Knobs
Static knobs will always appear in Droar. Simply conform a new or existing class to DroarKnob
, and use Droar.register(DroarKnob)
to register an instance of it.
Dynamic Knobs
Dynamic knobs are instances of UIViewController
that conform to DroarKnob
. When Droar is appearing, it will search through the main window's view controller hierarchy and and find currently active/visible UIViewController
's, to see if they conform to DroarKnob
.
There is no need to register your view controllers as static knobs. Simply conform to DroarKnob
, and Droar will pull information from them if Droar is opened on that screen.
If you conform a UINavigationController
, UITabBarViewController
, etc to DroarKnob
(and it's currently visible/active), Droar will pull information both from it, as well as its active/visible view controller.
The DroarKnob
Interface:
@objc public protocol DroarKnob {
// Perform any setup before this knob loads (Register table cells, clear cached data, etc)
@objc optional func droarKnobWillBeginLoading(tableView: UITableView?)
// Title for this knob. If title matches existing knob, they will be combined
@objc func droarKnobTitle() -> String
// The positioning and priorty for this knob
@objc func droarKnobPosition() -> PositionInfo
// The number of cells for this knob
@objc func droarKnobNumberOfCells() -> Int
// The cell at the specified index. There are many pre-defined cells, just use Droar<#type#>Cell.create(), or create your own.
@objc func droarKnobCellForIndex(index: Int, tableView: UITableView) -> DroarCell
// Indicates the cell was selected. This will not be called if `UITableViewCell.selectionStyle == .none`
@objc optional func droarKnobIndexSelected(tableView: UITableView, selectedIndex: Int)
}
Activation Gesture
To configure the gesture that opens Droar, use the setGestureType
method of Droar
.
Default Knobs
You can control which of the default sections are shown using the registerDefaultKnobs
method of Droar
. If this isn't called, all default knobs will be displayed.
Plugins
netfox-Droar
netfox is a lightweight, one line setup, iOS / OSX network debugging library.
FBMemoryProfiler-Droar
FBMemoryProfiler is an iOS library providing developer tools for browsing objects in memory over time, using FBAllocationTracker and FBRetainCycleDetector.
Author
Nathan Jangula, Myriad Mobile, [email protected]
License
Droar is available under the MIT license. See the LICENSE file for more info.
*Note that all licence references and agreements mentioned in the Droar README section above
are relevant to that project's source code only.