Spark iOS app
Objective-C C
Latest commit 1e1b959 Jul 25, 2014 @towynlin towynlin typo: expect -> except
Permalink
Failed to load latest commit information.
App Initial commit Jun 26, 2014
Categories Initial commit Jun 26, 2014
Controllers Initial commit Jun 26, 2014
Interfaces Initial commit Jun 26, 2014
Models Initial commit Jun 26, 2014
Resources Initial commit Jun 26, 2014
Spark IOS.xcodeproj Initial commit Jun 26, 2014
Tests Initial commit Jun 26, 2014
Tools Initial commit Jun 26, 2014
Vendor Initial commit Jun 26, 2014
Views Initial commit Jun 26, 2014
.gitignore Initial commit Jun 26, 2014
README.md typo: expect -> except Jul 26, 2014
Spark.entitlements Initial commit Jun 26, 2014

README.md

Spark iOS Application

This is the open source version of the iOS app from Spark Labs, Inc. for controlling the Spark Core. It provides key functionality of SmartConfig and Tinker.

Building

USERS MUST DOWNLOAD THE SMART CONFIG LIBRARY FROM TEXAS INSTRUMENTS, AGREE TO THAT LICENSE, AND ADD IT TO THIS APP. MORE THOROUGH INSTRUCTIONS WILL BE PROVIDED IN THE FUTURE. FEEL FREE TO SUBMIT PULL REQUESTS WITH GOOD BUILD INSTRUCTIONS. 😄

This project is designed to be build againt iOS 7 SDK and will not work with others. It does makes use of third-party libraries which are bundled. Those include GCDAsyncSocket and CocoaLumberjack.

Design

This application does not save any data locally except account information (which is saved in Keychain). All data is retrieved from the Spark Core API at launch.

Key classes include

Logic

  • SPKSpark - Singleton class that manages the list of Cores, active Core and SmartConfig
  • SPKWebClient - All API calls are made and processed here
  • SPKSmartConfig / SPKSmartConfigPayload - TI SmartConfig custom implementation and logic
  • SPKUser - Spark account management

UI

  • Storyboard - All UI is implement via a Storyboard
  • SPKCorePinView - Programatic view implemented for all pin functionality / display