- Ensure you have Cocoapods 1.1.0 or later
- Ensure you have
use_frameworks!
in yourPodfile
- Add
DittoSyncKitSwift
to yourPodfile
like so:
pod 'DittoSyncKitSwift'
# Note: ensure it is `DittoSyncKitSwift` and NOT `DittoSyncKit`. `DittoSyncKit` is for objective-c projects
- Add these keys in your
Info.plist
Since iOS 13 and Xcode 11 an app must ask the user's permission to use Bluetooth. DittoKit will activate Bluetooth by default, which means the user will receive a permission prompt automatically.
You must include several keys in the Info.plist file your app.
- Privacy - Local Network Usage Description
- Privacy - Bluetooth Peripheral Usage Description
- Privacy - Bluetooth Always Usage Description
- A Bonjour service _http-alt._tcp.
<key>NSBluetoothAlwaysUsageDescription</key>
<string>Uses Bluetooth to connect and sync with nearby devices</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>Uses Bluetooth to connect and sync with nearby devices</string>
<key>NSLocalNetworkUsageDescription</key>
<string>Uses WiFi to connect and sync with nearby devices</string>
<key>NSBonjourServices</key>
<array>
<string>_http-alt._tcp.</string>
</array>
- Set your license token like below. We inside your
AppDelegate.swift
'sdidFinishLaunchingWithOptions
let ditto = DittoSyncKit()
self.ditto.setAccessLicense("<ditto_license_token>")
- Ensure you have Cocoapods 1.1.0 or later
- Ensure you have
use_frameworks!
in yourPodfile
- Add
DittoSyncKit
to yourPodfile
like so:
pod 'DittoSyncKit'
# Note: ensure it is `DittoSyncKit` and NOT `DittoSyncKitSwift`. `DittoSyncKitSwift` is swift projects
- Add these keys in your
Info.plist
Since iOS 13 and Xcode 11 an app must ask the user's permission to use Bluetooth. DittoKit will activate Bluetooth by default, which means the user will receive a permission prompt automatically.
You must include several keys in the Info.plist file your app.
- Privacy - Local Network Usage Description
- Privacy - Bluetooth Peripheral Usage Description
- Privacy - Bluetooth Always Usage Description
- A Bonjour service _http-alt._tcp.
<key>NSBluetoothAlwaysUsageDescription</key>
<string>Uses Bluetooth to connect and sync with nearby devices</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>Uses Bluetooth to connect and sync with nearby devices</string>
<key>NSLocalNetworkUsageDescription</key>
<string>Uses WiFi to connect and sync with nearby devices</string>
<key>NSBonjourServices</key>
<array>
<string>_http-alt._tcp.</string>
</array>
- Set your license token like below. We inside your
AppDelegate.m
'sdidFinishLaunchingWithOptions
DITDittoSyncKit *ditto = [[DITDittoSyncKit alloc] init];
[ditto setAccessLicense: @"<ditto_license_token>"];
- Ensure your device has Android 7.1 or higher
- Ensure that
jcenter
is in the project levelbuild.gradle
file like so:
buildscript {
repositories {
jcenter()
}
}
- In the individual module build.gradle file add:
dependencies {
// ...
implementation "live.ditto:dittosynckit:latest.release"
}
android {
// ...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
- Configure your manifest like so:
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
- Register your license code like below. We recommend placing this in your
Application.onCreate
method
val androidDependencies = DefaultAndroidDittoSyncKitDependencies(applicationContext)
val ditto = DittoSyncKit(androidDependencies)
ditto.setAccessLicense("<ditto_license_token>")
- Ensure your device has Android 7.1 or higher
- Ensure that
jcenter
is in the project levelbuild.gradle
file like so:
buildscript {
repositories {
jcenter()
}
}
- In the individual module build.gradle file add:
dependencies {
// ...
implementation "live.ditto:dittosynckit:latest.release"
}
android {
// ...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
- Configure your manifest like so:
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_ADMIN" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
- Register your license code like below. We recommend placing this in your
Application.onCreate
method
DefaultAndroidDittoSyncKitDependencies androidDependencies = new DefaultAndroidDittoSyncKitDependencies(applicationContext);
DittoSyncKit ditto = new DittoSyncKit(androidDependencies);
ditto.setAccessLicense("<ditto_license_token>");