Note: This is an experimental/alpha project.
A library for sending events to Honeycomb written in Swift.
CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:
gem install cocoapodsTo integrate LibHoney into your Xcode project using CocoaPods, specify it in your Podfile:
target '<Target name>' do
# If you're using LibHoney with Objective-C, uncomment use_frameworks!
# use_frameworks!
pod 'LibHoney', '~> 1.0'
endThen run the following command:
pod installSince LibHoney depends on
Alamofire, if you're using LibHoney in Objective-C, you might have to set theSWIFT_VERSIONvariable for Alamofire in the Pods build settings.
To use LibHoney, you have to first configure the library with your writeKey and dataset name.
In the AppDelegate inside didFinishLaunchingWithOptions:
import LibHoney
// ...
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
// other code...
LibHoney.configure(writeKey: "<your write key>", dataset: "<your dataset name>")
}To send an event, simply create a new event and add fields to it:
let event = LibHoney.shared?.newEvent()
event?.add(key: "stringValue", value: "Hello, world")
event?.add(key: "intValue", value: 199)
event?.add(key: "boolValue", value: true)
event?.add(key: "doubleValue", value: 3.14159)
LibHoney.shared?.send(event)If LibHoney is not configured,
LibHoney.sharedreturnsnil. With the code above, you can safely bypass the configuration step in debug environments.
To set values such that it gets sent on every event, add the key to the shared LibHoney object
LibHoney.shared?.add(key: "user", value: "<user id>")LibHoney automatically extracts device information and send them with each event. To disable this behavior:
LibHoney.shared?.collectDeviceStats = falseTo use LibHoney, you have to first configure the library with your writeKey and dataset name.
In the AppDelegate inside didFinishLaunchingWithOptions:
@import LibHoney;
// ...
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// other code...
[LibHoney configureWithWriteKey:@"<your write key>" dataset:@"<your dataset name>"];
}To send an event, simply create a new event and add fields to it:
HoneyEvent* event = [LibHoney.shared newEvent];
[event addKey: @"stringValue" stringValue: @"Hello, world"];
[event addKey: @"intValue" intValue: 199];
[event addKey: @"boolValue" boolValue: true];
[event addKey: @"doubleValue" doubleValue: 3.14159];
[LibHoney.shared send: event];If LibHoney is not configured,
LibHoney.sharedreturns a nil object.
To set values such that it gets sent on every event, add the key to the shared LibHoney object
[LibHoney.shared addKey:@"user" stringValue:@"<user Id>"];LibHoney automatically extracts device information and send them with each event. To disable this behavior:
LibHoney.shared.collectDeviceStats = NO;Features, bug fixes and other changes to LibHoney are gladly accepted. Please open issues or a pull request with your change. Remember to add your name to the CONTRIBUTORS file!
All contributions will be released under the Apache License 2.0.