wingu sdk content is an iOS SDK for managing content and triggers configured at wingu. It will range beacons and find geofences already with content attached. This is and extension for wingu-ios-sdk-essentials framework and it's dependend on that.
wingu content SDK is delivered to you in pre-compiled form .framework
. It's written in Swift 4.2.1
wingu-ios-sdk-content is available through CocoaPods. To install it, add the following line to your Podfile:
pod 'wingu-ios-sdk-content'
Carthage is a simple, decentralized dependency manager for Cocoa.
Version of library can be downloaded using binary
option in Cartfile
. Add this line to Cartfile
:
binary "https://raw.githubusercontent.com/wingu-GmbH/wingu-ios-sdk-essentials/master/wingu-ios-sdk-essentials.json"
binary "https://raw.githubusercontent.com/wingu-GmbH/wingu-ios-sdk-content/master/wingu-ios-sdk-content.json"
github "wingu-GmbH/WinguGallery"
Copy winguSDKEssential.framework
file from this repository to your project.
There is a location permission needed to run an app and work with wingu channels. Add this keys into your Info.plist
file:
NSLocationAlwaysAndWhenInUseUsageDescription
NSLocationWhenInUseUsageDescription
This guide shows you how get triggers callbacks with default configuration. You can always have some custom parameters in scanners. For all available configuration please check our full documentation. Depends on a use case you may need winguLocations
in only one model or in whole app.
We recommend create a one instance of winguLocations
:
lazy var winguLocations: WinguLocations = {
let winguLocations: WinguLocations = WinguLocations.shared
winguLocations.delegate = self
return winguLocations
}()
Your class should conform to protocol WinguLocationsDelegate
and there you will receive all delegate callbacks from wingu triggers
extension YourClass: WinguLocationsDelegate { }
WinguLocationsDelegate
requires only one method implemented to get triggers, but you can check full documentation. This required callback is:
func winguChannels(_ channels: [Channel]) {
// your code here
}
Channel
is default class for all wingu triggers. This method will return available list of channels in range and will also get called whenever some trigger are out of range or scanner found a new one.
You can start ranging beacons by calling
winguLocations.start()
See example project to learn more.
Documentation is available here or through your IDE.
wingu-ios-sdk-essentials
is available under the Apache-2.0 license. See the LICENSE file for more info.