NSLogger viewer on iPad
Objective-C C++ Mercury C
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
Dragger
NSLogger-iPad-Viewer.xcworkspace
ScreenShots
iOS Bluetooth Client
iPad Viewer
.gitignore
LICENSE
README.md

README.md

#NSLogger iPad Viewer

iPhone Client (13/04/27)

###iPad Viewer (13/05/10)

* Ver 0.4.1 is available on the main repo. (Aug. 3, 13)

Derived from Florent Pillet's NSLogger, NSLogger iPad is an in-field logging tool to monitor your mobile application's behavior in unfabricated, real-world environments.

You can utilize this project to monitor how your application behaves on cellular network, handles GPS data, and/or, treats frequent data exchange with backend outside of your office.

##Minimum Requirements iOS 6.1 and upward
iPad 2 or iPad mini gen 1
*iCloud not supported.

How to run demo

  1. Run iPad Viewer on an iPad with WiFi off and Bluetooth on.
  2. Run iOS client with Bluetooth on. (It's up to you to leave WiFi or cellular on).
  3. Start logging. Look at the Bluetooth mark on top right corner. :)

##TODO ###Search Search is what makes NSLogger stand out, and my wish is to make the search feature as powerful as Desktop version.

Unlike OSX environment, iOS does not provide something similar to BWToolKit so we have to come up with something new but easy to use.

A proposal is made here that we are to drag and drop a searchable element into a basket of combinator, and to come up with a preset. Open up "Dragger" example. It's crude but I hope it explains the idea.

###UI

  1. Preference : Transport On/Off, Network Setting, Export log data
  2. Multiple views to show connections to viewer
  3. Search for thread, Tag, and/or etc.
  4. Function name
  5. Time delta between logs
  6. Click to see detail

CoreData model

  1. Split log entity for performance : data for format such as height vs. actual data
  2. New entry for tag, function name
  3. Move reconnection count variable from LoggerConnection to LoggerClient entity
  4. Handle App lifecycle (active/inactive/background/terminate)

###Questions Throw 'em at @stkim1

####Meanwhile, if you're interested…

  1. Caught at the scene
  2. NSLogger viewer architecture

Bluetooth Connection

There are three Bluetooth frameworks and one API publicly opened in iOS

  1. CoreBluetooth
  2. External Accessary
  3. GameKit
  4. Bonjour over Bluetooth (DNS-SD)

The one that is most clutter-free and provides best possible use case is, so far in my opinion, the last one. It requires no additional framework, library, and does not ask user to choose bluetooth connection. It simply finds the nearest possible service on Bluetooth interface and makes use of it.

##License

Copyright (c) 2012-2014 Sung-Taek, Kim  All Rights Reserved.

Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met:

Redistributions of  source code  must retain  the above  copyright notice,
this list of  conditions and the following  disclaimer. Redistributions in
binary  form must  reproduce  the  above copyright  notice,  this list  of
conditions and the following disclaimer  in the documentation and/or other
materials  provided with  the distribution.  Neither the  name of Sung-Tae
k Kim nor the names of its contributors may be used to endorse or promote
products  derived  from  this  software  without  specific  prior  written
permission.  THIS  SOFTWARE  IS  PROVIDED BY  THE  COPYRIGHT  HOLDERS  AND
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT
NOT LIMITED TO, THE IMPLIED  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A  PARTICULAR PURPOSE  ARE DISCLAIMED.  IN  NO EVENT  SHALL THE  COPYRIGHT
HOLDER OR  CONTRIBUTORS BE  LIABLE FOR  ANY DIRECT,  INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY,  OR CONSEQUENTIAL DAMAGES (INCLUDING,  BUT NOT LIMITED
TO, PROCUREMENT  OF SUBSTITUTE GOODS  OR SERVICES;  LOSS OF USE,  DATA, OR
PROFITS; OR  BUSINESS INTERRUPTION)  HOWEVER CAUSED AND  ON ANY  THEORY OF
LIABILITY,  WHETHER  IN CONTRACT,  STRICT  LIABILITY,  OR TORT  (INCLUDING
NEGLIGENCE  OR OTHERWISE)  ARISING  IN ANY  WAY  OUT OF  THE  USE OF  THIS
SOFTWARE,   EVEN  IF   ADVISED  OF   THE  POSSIBILITY   OF  SUCH   DAMAGE.

************************** THE CODE IS BASED ON ******************************

NSLogger Copyright (c) 2010-2013, Florent Pillet All rights reserved. 
KLNoteViewController Copyright (c) 2012 Kieran Lafferty All rights reserved. 
KGNoise Copyright (c) 2012 David Keegan (http://davidkeegan.com) All rights reserved
Cocoa With Love Copyright (c) 2007, 2008, 2010 Matt Gallagher. All rights reserved 
Courier Prime Copyright (c) 2013, Quote-Unquote Apps, with Reserved Font Name Courier Prime.
Lucida Grande, Lucida Grande Copyright (c) 1997, 2000, Bigelow & Holmes Inc. U.S. Pat. Des. 289,420. All rights reserved.
Inconsolata Copyright 2006 Raph Levien. Released under the Apache 2 license.
Digital-7 Copyright (c) 2008, Sizenko Alexander, Style-7 All rights reserved.

VER. 0.4.1
Updated : June 1, 2014