All Projects → getsenic → nuimo-swift

getsenic / nuimo-swift

Licence: MIT license
Swift and Objective-C library for iOS and OS X to connect and communicate with Nuimo controllers made by Senic

Programming Languages

swift
15916 projects
ruby
36898 projects - #4 most used programming language
objective c
16641 projects - #2 most used programming language

Projects that are alternatives of or similar to nuimo-swift

SwiftBuilder
SwiftBuilder is a fast way to assign new value to the property of the object.
Stars: ✭ 26 (-3.7%)
Mutual labels:  tvos
OpenAPI-Swift
KKBOX Open API Swift Developer SDK for iOS/macOS/watchOS/tvOS
Stars: ✭ 13 (-51.85%)
Mutual labels:  tvos
AirPlayAuth
Since tvOS 10.2 AppleTV is enforcing the "Device verification" for AirPlay, which could be manually enabled/disabled before. This library allows to pair with an AppleTV and can be used in any app supporting streaming/casting to an AppleTV.
Stars: ✭ 82 (+203.7%)
Mutual labels:  tvos
KinopubTV
Kinopub for tvOS
Stars: ✭ 18 (-33.33%)
Mutual labels:  tvos
SwiftCurrent
A library for managing complex workflows in Swift
Stars: ✭ 286 (+959.26%)
Mutual labels:  tvos
NPAudioStream
Continuously stream a playlist of audio through a lightweight Objective-C library.
Stars: ✭ 23 (-14.81%)
Mutual labels:  tvos
nuimo-linux-python
Nuimo Python SDK for Linux to connect and communicate with Nuimo controllers made by Senic
Stars: ✭ 50 (+85.19%)
Mutual labels:  nuimo-sdk
Dots
Lightweight Concurrent Networking Framework
Stars: ✭ 35 (+29.63%)
Mutual labels:  tvos
GoogleMapsTileOverlay
GoogleMapsTileOverlay lets you customize Apple Maps MKMapView with the Google Maps StylingWizard
Stars: ✭ 68 (+151.85%)
Mutual labels:  tvos
QuoteKit
A framework to use the free APIs provided by https://quotable.io
Stars: ✭ 17 (-37.04%)
Mutual labels:  tvos
SwiftKit
SwiftKit adds extra functionality to the Swift programming language.
Stars: ✭ 47 (+74.07%)
Mutual labels:  tvos
SDWebImageSVGKitPlugin
A SDWebImage plugin to support SVG with SVGKit and category
Stars: ✭ 15 (-44.44%)
Mutual labels:  tvos
Tesla-API
A iOS, macOS, watchOS and tvOS framework written in Swift to communicate with Teslas vehicle API
Stars: ✭ 32 (+18.52%)
Mutual labels:  tvos
SkiaKit
Swift Bindings to the Skia 2D graphics Library
Stars: ✭ 95 (+251.85%)
Mutual labels:  tvos
tracelog
TraceLog is a highly configurable, flexible, portable, and simple to use debug logging system for Swift and Objective-C applications running on Linux, macOS, iOS, watchOS, and tvOS.
Stars: ✭ 52 (+92.59%)
Mutual labels:  tvos
RFKit
Toolkit for daily Cocoa development. Since 2012.
Stars: ✭ 20 (-25.93%)
Mutual labels:  tvos
KeyboardKitPro
KeyboardKit Pro extends KeyboardKit with pro features.
Stars: ✭ 42 (+55.56%)
Mutual labels:  tvos
lisk-swift
Swift 4 library for Lisk - Including Local Signing for maximum security
Stars: ✭ 13 (-51.85%)
Mutual labels:  tvos
IrregularGradient
Create animated irregular gradients in SwiftUI.
Stars: ✭ 127 (+370.37%)
Mutual labels:  tvos
data-field
A SwiftUI view that wraps a text field to only accept specific data.
Stars: ✭ 13 (-51.85%)
Mutual labels:  tvos

Nuimo SDK

The Nuimo controller is an intuitive controller for your computer and connected smart devices. This document demonstrates how to integrate your iOS and MacOS applications with Nuimo controllers using the Nuimo SDK. The Nuimo SDK supports both applications written in Swift and in Objective-C.

Installation

The Nuimo Swift SDK is available through CocoaPods, a very good dependency manager for Swift and Objective-C applications. (If you don't want to use CocoaPods just copy all .swift files from folder SDK into your Xcode project and skip to the next step.)

Prepare your project to use CocoaPods

If you haven't set up your project yet to use CocoaPods, please follow these steps first:

  1. Install CocoaPods itself (if not yet installed). Open a terminal and run: sudo gem install cocoapods

  2. Close Xcode

  3. Create a file inside your project's root folder named Podfile and paste the following content. Make sure to adopt the right platform:

     platform :ios, '8.0'
     #Use the following line instead if you're developing for MacOS:
     #platform :osx, '10.9'
     use_frameworks!
    
  4. From now on always open the workspace file <YourProject>.xcworkspace in Xcode. Otherwise the just added CocoaPods dependencies won't be available (see next step)

Add a dependency to the NuimoSwift SDK

Edit your project's Podfile to add the following line:

pod 'NuimoSwift', '~> 0.7.1'

Then from a terminal within your project's root folder run:

pod install

This should install the Nuimo Swift SDK and add it to your workspace. Now open your project's workspace and start playing around with the Nuimo Swift SDK. Don't forget to import the module NuimoSwift where necessary.

Usage

Basic usage

The Nuimo SDK makes it very easy to connect your iOS and MacOS applications with Nuimo controllers. It only takes three steps and a very few lines of code to discover your Nuimo and receive gesture events:

  1. Assign a delegate to an instance of NuimoDiscoveryManager and call startDiscovery(). This will discover Nuimo controllers nearby.

  2. Receive discovered controllers by implementing the delegate method nuimoDiscoveryManager:didDiscoverNuimoController:. Here you can

    1. Set the delegate of the discovered controller
    2. Initiate the Bluetooth connection to the discovered controller by calling connect()
  3. Implement the delegate method nuimoController:didReceiveGestureEvent: to access user events performed with the Nuimo controller

The following code example demonstrates how to discover, connect and receive gesture events from your Nuimo. As you might know, use either UIViewController on iOS or NSViewController on MacOS systems.

Example code

import NuimoSwift

class ViewController : UIViewController|NSViewController, NuimoDiscoveryDelegate, NuimoControllerDelegate {
    let discovery = NuimoDiscoveryManager.sharedManager
    
    override func viewDidLoad() {
        super.viewDidLoad()
        discovery.delegate = self
        discovery.startDiscovery()
    }
    
    func nuimoDiscoveryManager(discovery: NuimoDiscoveryManager, didDiscoverNuimoController controller: NuimoController) {
        controller.delegate = self
        controller.connect()
    }
    
    func nuimoController(controller: NuimoController, didReceiveGestureEvent event: NuimoGestureEvent) {
        print("Received event: \(event.gesture.identifier), value: \(event.value)")
    }
}

A ready to checkout MacOS demo application

We've provided a ready to checkout application that demonstrates discovering, connecting and receiving events from your Nuimo controllers. Simply clone the Nuimo MacOS demo repository, open the included Xcode workspace and hit the Run button to execute the application. Before that, make sure that the correct target NuimoDemoOSX is selected.

Advanced use cases

The NuimoSwift SDK is much more powerful than the use cases presented above. More details to follow here soon.

Contact & Support

Have questions or suggestions? Drop us a mail at [email protected]. We'll be happy to hear from you.

License

The NuimoSwift source code is available under the MIT License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].