Database Debugger is a handy tool for iOS applications. When enabled, developers have access to database of application in realtime. No need of exporting the database.
This project is very unstable and not handled large data and security. That is on the way. Consider it as sample or tutorial.
Find the latest version of macApp from Releases folder (Debugger_v1.3)
OR
- Clone the project
- Double click the Debugger.xcodeproj and run it, you can see a mac application called Debugger window.
- Stay calm wait for the application to run
Find the latest version of iOS Framework from Releases folder (Debugger_v1.3)
OR
- Add the Debugger_lib.xcodeproj inside Swift-lib into working project or build and take framework and link to your project.
Inside AppDelegate.swift
import ...
import Debugger_lib
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
...
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
...
DebuggerIos.initWithDefault() // If database is in documents folder
// OR
let dbPath = getDatabasePath() // If database is other than documents folder
DebuggerIos.initWithPath(dbPaths: dbPaths)
}
...
}
In this case you have to add some Bridging-header files to interoperability of swift and obj-c
- Create ProjectName-Bridging-header.h file
- Find Objective-C Bridging Header key under Build Settings menu/Swift Compiler and add the value as ProjectName/ProjectName-Bridging-header.h
- If you don't see that menu, just create a swift file, XCode automatically promt to create a bridging header and will add to the settings menu (easy).
Inside ProjectName-Bridging-header.h
@import Debugger_lib;
Inside AppDelegate.swift
....
@import Debugger_lib;
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[DebuggerIos initWithDefault];
// OR
NSArray *dbPaths = [self getDatabasePath];
[DebuggerIos initWithPathWithDbPaths:dbPaths];
....
}
@end
Application Listing
Database Listing
Table listing and details
Suggestion
Query results (Histories are on the way)
Data modification (modified results are on the way)
Error handling
Do whatever you want. For an extra assurance I have added MIT Licence.
Contact me via godwinjoseph.k@gmail.com or www.linkedin.com/in/godwin-joseph, if you have any questions or improvements. Or be a contributor :D






