The timeline automatically displays the name of each view controller (each “screen” or “view”) the user is visiting, and helps you quickly overview an experience. Recurring views are assigned the same color to help you find it quickly. You can also search your archive of experiences based on which views the user visited. This makes it simple and powerful to find all experiences that include your search bar, for example, or any other view you want to study.

With some code tweaks, you can modify the names of the views, add new ones, or disable this behavior entirely.

Custom view names

Lookback automatically extracts the name of the current UIViewController and makes it human readable. If you implement lookbackIdentifier method, that string will be used instead.

func lookbackIdentifier() -> String
{
    return "Profile Editor"
}

Note: View name information is picked up in -[UIViewController viewDidAppear:] and -[UIViewController viewWillDisappear:]. If you override these methods in your view controllers and don’t call super, the view names will not be logged! Your viewDidAppear: should always look like this:

func viewDidAppear(animated: BOOL) {
    super.viewDidAppear(animated)
    ...
}

Note: These identifiers should be names that identify that type of view, so for a profile view, you should log Profile, not Nevyn’s Profile, otherwise you won’t be able to filter on that view type on the web site later.

You can also disable this behavior by setting the user default GFAutomaticallyLogViewAppearance to NO, and calling -[LookBack enteredView:] and -[LookBack exitedView:] methods manually.

Did this answer your question?