TBODeveloperOverlay 2.1

TBODeveloperOverlay 2.1

TestsTested
LangLanguage Obj-CObjective C
License MIT
ReleasedLast Release May 2020

Maintained by Cornelius Horstmann, Thorsten Stark.



  • By
  • Cornelius Horstmann, Matthias Gebhardt and Thorsten Stark

TBODeveloperTools

The TBODeveloperTools is a toolset to integrate a suit of plugins to your application for debugging and development purposes. It can be integrated in any version of your app. Even in your live version. Just make sure that your users won't find it. (think tapping a view seven times to bring it up, etc.)

Plugins

Plugins are what gives the TBODeveloperTools its functionality. With the overlay comes a range of plugins that can be individualy added and configured for your needs. Some plugins require you to implement a datasource to adjust it to your application. You can find more information on the plugins in their documentation in the respective folders.

Available Plugins are:

  • TBODeveloperOverlayKVDebugger - inspect system variables and, for some cases, modify them
  • TBODeveloperOverlayLogger - display in your logfiles
  • TBODeveloperOverlayFileInspector - displays a folder structure to inspect files that are locally saved

Installation

The installation via CocoaPods is recommended. Install TBODeveloperOverlay with all Plugins:

pod 'TBODeveloperOverlay'

For only selected Plugins install the Core pod and add the desired Plugins. For example:

pod 'TBODeveloperOverlay/Core'
pod 'TBODeveloperOverlay/KVDebugger'

Usage

You can initialize a plugin and present it in a TBOModalNavigationController just like that:

TBODeveloperOverlayLogger *loggerPlugin = [[TBODeveloperOverlayLogger alloc] initWithDatasource:[TBODeveloperOverlayLoggerCocoaLumberjackDatasource new]];
TBOModalNavigationController *developerOverlay = [[TBOModalNavigationController alloc] 
initWithRootViewController:loggerPlugin];
[self presentViewController:developerOverlay animated:YES completion:nil];

If you want to integrate more than one plugin you can initialize a TBODeveloperOverlayPluginListViewController with an array of plugins this way:

TBODeveloperOverlayLogger *loggerPlugin = [[TBODeveloperOverlayLogger alloc] initWithDatasource:[TBODeveloperOverlayLoggerCocoaLumberjackDatasource new]];
TBODeveloperOverlayFileInspectorViewController *fileInspectorPlugin = [[TBODeveloperOverlayFileInspectorViewController alloc] initWithBaseUrl:nil];
NSArray *plugins = @[loggerPlugin, fileInspectorPlugin];
TBODeveloperOverlayPluginListViewController *pluginListViewController = [[TBODeveloperOverlayPluginListViewController alloc] initWithPlugins:plugins];
TBOModalNavigationController *modalDeveloperOverlay = [[TBOModalNavigationController alloc] initWithRootViewController:containedViewController];
[self presentViewController:modalDeveloperOverlay animated:YES completion:nil];