Next generation debugging framework for iOS
What is Alpha?
Alpha is the idea of a next generation debugging framework for iOS applications. It combines multiple debugging tools built on top of a simple, unified API. It lives entirely in your application sandbox and collects information during your application lifetime. The integration can be done in less than a minute and requires no code changes.
Features are separated into plugins, which can be enabled or disabled, depending on application requirements.
- Application – displays a list of all installed applications on the device.
- Bootstrap – checks for KZBootstrap environments and allows modifying them in real-time (deprecated).
- Console – displays console logs (logged by NSLog) inside the application.
- Event – logs and displays application wide events such as background state transitions and view controller appearances.
- File – allows browsing the sandboxed file system and previewing common file types, such as images, videos and text.
- Global – information plugin displays linked frameworks, libraries and classes.
- Heap – allows inspection of active object instances on ther heap and helps with debugging memory errors.
- Interface – plugin is a specific plugin and is required to display Alpha menu interface and actions.
- Keychain – browse items in keychain added by the application.
- Network – logs network connections made using NSURLSession and NSURLConnection API’s.
- Notification – displays scheduled and fired local notifications, received push notifications and notification permissions.
- Object – allows for inspection of any class or object in the application, including NSUserDefaults, arrays and dictionaries.
- Permission – displays current permissions and adds the ability to request specific permission.
- Remote – plugin allows connecting to Alpha from another device (needs Bonjour running on target).
- Screenshot – plugin allows taking screenshots of the application with a single action.
- Server – contains a simple Bonjour server allowing Alpha to work over local Wi-Fi network.
- State – allows inspecting the device state and settings, such as locale, time and available memory.
- Touch – plugin displays touches on screen when activated and their force touch.
- View – allows view hierarchy manipulation and inspection in real-time.