ANNOUNCEMENT: iOS SDK & Device setup library V0.4 + Carthage support!

I am glad to finally announce the Particle iOS Cloud SDK & Device setup library V0.4 + Carthage support!

There’s a new and improved way to embed our SDKs in your iOS app! :grinning:

Both SDKs are now also available as a Carthage dependency. Carthage is a new dependency manager for iOS that is decentralized, minimalistic and based on dynamic frameworks instead of libraries. It’s easier to work with and solves many issues SDK users has been reporting with mixing Swift dependencies in their projects and having to use the use_frameworks! directive in the Podfile previously with Cocoapods. That flag is required for any dynamic library, which includes anything written in Swift. The SDK as static library (in Cocoapods mode) would not play nicely with those. We are not dropping support for Cocoapods SDKs are still published as Cocoapods dependencies if you prefer to keep using this proven dependency manager.

I’ve went ahead and created a new example app that demonstrates the usage of Particle SDKs as Carthage dependencies, it is available here.

Another major addition is the ability to inject access tokens and work in two-legged authentication app - where you have your own server for managing your user sessions and you do not wish your users to have to log in twice once to your server and once to Particle cloud to get a token - you let your backend handle that and the SDK now supports that through token injection.

There are several more changes and additions to the iOS SDK and I suggest to read through the README of both repositories to get all the updated installation instructions and usage information.

As usual - keep on building great apps, sending pull requests, opening issues, and for any inquiries - I’m here.

1 Like

Hi ido,

Thanks you for the Carthage support; I get the following error when I run the setup script.

A shell task (/usr/bin/env git submodule --quiet init – Carthage/Checkouts/AFNetworking) failed with exit code 128:
fatal: Not a git repository (or any of the parent directories): .git

Looking forward to your input.