iOS SDK 5.X

See the full list of changes in our release notes: https://github.com/hypertrack/sdk-ios/releases/tag/5.0.0

Setting the publishable key

There is no need to initialize the SDK by setting publishable key. The Basic integration instructions describe the new way of setting it.

Static API

The SDK API was fully redesigned to be more ergonomic and to require less code to integrate. All the API methods can be accessible at any time from any place in the app by calling them on the static HyperTrack class. See Changelog for all method changes.

Motion activity permission is no longer required

While the SDK still can benefit from Motion activity data to get better accuracy, requesting this permission is now optional. However, you still have to provide an NSMotionUsageDescription.

New nested HyperTrack.Error enum

In the older versions the HyperTrackError and HyperTrack.LocationError classes had one-level structure and were sets of errors.

In the new version they are replaced with HyperTrack.Error class that has the nested structure, but is equivalent to the two above. For example:

let error = HyperTrack.LocationError.locationPermissionsNotDetermined
let error = HyperTrack.Error.location(.permissions(.notDetermined))

Check the Handle errors section for more detailed instructions on how to use the Errors API.

SDK Sync

The SDK is now automatically syncs with the servers, so the syncDeviceSettings() method is no longer needed. You can safely remove it and all the logic related to it.