Barebones example Swift iOS app demonstrating how to use the ParticleSetup / SDK cocoapod libraries
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ios-app-particle-setup.xcodeproj
ios-app-particle-setup.xcworkspace
ios-app-particle-setup
.gitignore
LICENSE
Podfile
Podfile.lock
README.md

README.md

iOS-app-particle-setup

Barebones Swift iOS app showcasing basic ParticleSetup / Particle-SDK cocoapods usage / getting started.

Versioning: macOS 10.13.5, XCode 9.4.1 (Swift 4), Cocoapods 1.5.3, Particle-SDK pod 0.8.1, ParticleSetup pod 0.9.0

How to run the example?

  1. Clone this repo
  2. Open shell window and navigate to project folder
  3. Run pod install
  4. Open ios-app-particle-setup.xcworkspace and run the project on selected device or simulator

How was it created?

  1. Open XCode. File->New->Project->Single View App->Your project name
  2. Create Podfile with your target name and Particle pods reference (see file)
  3. Close XCode Project
  4. Open shell window and navigate to the project folder
  5. Run pod install (make sure your have latest Cocoapods installed), pods will be installed and new XCode workspace file will be created.
  6. in XCode open the new <your project name>.xcworkspace
  7. Add bridging header - see file Particle-Bridging-Header.h for reference.
  8. Go to project settings->build settings->Objective-C bridging header->type in ./<your project name folder>/Particle-Bridging-Header.h (or wherever file is located).
  9. Create the source code and storyboard for your app (see ViewController.swift and Main.storyboard for reference)
  10. Build and run - works on simulator and device (no need to do any modifications to Keychain settings)
  11. Click "Start setup" on the phone and onboard a new Photon to your account.

Code

ViewController invoking Particle setup must adhere to the ParticleSetupMainControllerDelegate protocol and implement (at least) the funcion func particleSetupViewController(_ controller: ParticleSetupMainController!, didFinishWith result: ParticleSetupMainControllerResult, device: ParticleDevice!).

To invoke setup:

if let setupController = ParticleSetupMainController()
{
    setupController.delegate = self //as! UIViewController & ParticleSetupMainControllerDelegate
    self.present(setupController, animated: true, completion: nil)
}

To reference the Particle cloud use: ParticleCloud.sharedInstance(), to reference a device use: var device : ParticleDevice or use a returned device instance from a cloud function like:

if device != nil
{
    device.getVariable("test", completion: { (value, err) -> Void in
        print(value)
    })
}

For questions - refer to Particle mobile knowledgebase/community here: https://community.particle.io/c/mobile

Good luck!