The iOS framework that grows only as fast as its documentation
NIOverview Class Reference

Overview

The Overview state management class.

What is the Overview?

The Overview is a paged view that sits directly below the status bar and presents information about the device and the currently running application. The Overview is extensible, in that you can write your own pages and add them to the Overview. The included pages allow you to see the current and historical state of memory and disk use, the console logs, and important events that have occurred (such as memory warnings).

Before Using the Overview

None of the Overview methods will do anything unless you have the DEBUG preprocessor macro defined. This is by design. The Overview swizzles private API methods in order to trick the device into showing the Overview as part of the status bar.

       DO *NOT* SUBMIT YOUR APP TO THE APP STORE WITH DEBUG DEFINED.

If you submit your app to the App Store with DEBUG defined, you will be rejected. Overview works only because it hacks certain aspects of the device using private APIs and method swizzling. For good reason, Apple will not look too kindly to the Overview being included in production code. If Apple ever changes any of the APIs that the Overview depends on then the Overview would break.

Tasks

Initializing the Overview
(void) + applicationDidFinishLaunching
 
(void) + applicationDidFinishLaunchingWithStatusBarHeightOverride:
 
(void) + addOverviewToWindow:
 
(void) + addOverviewToWindow:enableDraggingVertically:
 
Accessing State Information
(CGFloat) + height
 
(CGRect) + frame
 
(NIOverviewView *) + view
 
(NIOverviewLogger *) + logger
 

Method Documentation

applicationDidFinishLaunching

Call this immediately in application:didFinishLaunchingWithOptions:.

+ (void)applicationDidFinishLaunching;
Discussion

This method calls applicationDidFinishLaunchingWithStatusBarHeightOverride: with |overrideStatusBarHeight| set to NO.

applicationDidFinishLaunchingWithStatusBarHeightOverride:

Call this immediately in application:didFinishLaunchingWithOptions:.

+ (void)applicationDidFinishLaunchingWithStatusBarHeightOverride:(BOOL)overrideStatusBarHeight;
Discussion

Swizzles the necessary methods for adding the Overview to the view hierarchy and registers notifications for device state changes if |overrideStatusBarHeight| is true.

addOverviewToWindow:

Adds the Overview to the given window.

+ (void)addOverviewToWindow:(UIWindow *)window;
Discussion

This methods calls addOverviewToWindow:enableDraggingVertically: with |enableDraggingVertically| set to NO.

addOverviewToWindow:enableDraggingVertically:

Adds the Overview to the given window.

+ (void)addOverviewToWindow:(UIWindow *)window enableDraggingVertically:(BOOL)enableDraggingVertically;
Discussion

The Overview will always be fixed at the top of the device's screen directly beneath the status bar (if it is visible) if enableDraggingVertically is false. Otherwise, the overview can be drag vertically.

height

The height of the Overview.

+ (CGFloat)height;

frame

The frame of the Overview.

+ (CGRect)frame;

view

The Overview view.

+ (NIOverviewView*)view;

logger

The Overview logger.

+ (NIOverviewLogger*)logger;
Discussion

This is the logger that all of the Overview pages use to present their information.