Skip to content

Releases: hypertrack/sdk-ios

5.0.1

13 Sep 18:13
Compare
Choose a tag to compare

Fixed

  • Resolved an issue that could lead to data corruption if the app crashed during a write operation.
  • Ensured that absence of disk storage does not hinder caching of location data when available.
  • Enhanced resilience during outages, especially when the OS suspends the app.
  • Optimized app longevity after receiving a push notification while it's not in the foreground.

5.0.0

01 Sep 21:19
Compare
Choose a tag to compare

We are excited to announce the release of HyperTrack iOS SDK 5.0.0, a major update to our location tracking SDK. This release ensures highest tracking performance, reduces deployed app sizes and comes with an improved API to simplify the integrations. We highly recommend upgrading, but please note that there are a few breaking changes. Check the Migration Guide.

Changed

  • ⚠️ WARNING: The device ID will be changed after the update to this version. (fixed in the 5.0.6 release)
  • 🔵 WARNING: The showsBackgroundLocationIndicator CLLocationManager property is set to true by default. This means that users will see an active blue indicator when the app is in background. For more information see official Apple documentation.
  • The SDK API was fully redesigned to be more ergonomic and to require less code to use.
  • All the API methods can be accessible at any time from any place in the app by calling them on the static HyperTrack class.
  • No need to initialize the SDK by setting publishable key. Now set the key in Info.plist as HyperTrackPublishableKey.
  • HyperTrackError enum is renamed to HyperTrack.Error and now has nested structure.
  • availability renamed to isAvailable
  • subscribeToAvailability renamed to subscribeToIsAvailable
  • Minimum deployment target was increased to iOS 12.

Added

  • New locate() API. Allows to get a one-time location and sends it to the cloud even when the device is not tracking or available.
  • The SDK is always in sync with our cloud (if internet connection is present), there is no need to call syncDeviceSettings() anymore.
  • name variable to set the user name associated with the device.
  • The SDK now works in Simulator.

Removed

  • HyperTrack.init(), HyperTrack.makeSDK() (you can use Info.plist params to configure the SDK instead)
    • automaticallyRequestPermissions init param is always false now (use subscribeToErrors to trigger permission requests)
    • mockLocationsAllowed init param is always true now (but the device will send Location.Mocked error)
  • start(), stop() (use isTracking variable setter instead)
  • setDeviceMetadata() (use metadata variable setter instead)
  • setDeviceName() (use name variable setter instead)
  • HyperTrackError types:
    • motionActivityPermissionsDenied
    • motionActivityServicesDisabled
    • motionActivityServicesUnavailable
    • motionActivityPermissionsRestricted
  • syncDeviceSettings()
  • mockLocationsAllowed
  • isLoggingEnabled
  • isRunning
  • addGeotag(Metadata) (use addGeotag(JSON.Object) instead)
  • addTripMarker() (use addGeotag() instead)
  • HyperTrack.startedTrackingNotification, HyperTrack.stoppedTrackingNotification (use subscribeToIsTracking instead)
  • HyperTrack.becameAvailableNotification, HyperTrack.becameUnavailableNotification (use subscribeToIsAvailable instead)
  • HyperTrack.didEncounterRestorableErrorNotification, HyperTrack.didEncounterUnrestorableErrorNotification (use subscribeToErrors instead)
  • Activity permissions are no longer required.
  • Objective-C API.

4.16.1

16 Jun 10:36
Compare
Choose a tag to compare

Fixed

  • Stops significant location updates started by previous (pre 4.16.0) versions. This makes sure that the issue discovered in 4.16.0 is fixed even if the user kills the app while the SDK was tracking and updates to a 4.16.x.

4.16.0

01 Jun 14:46
Compare
Choose a tag to compare

Fixed

Changed

4.15.0

19 May 07:39
Compare
Choose a tag to compare

Added

  • New geotag with expected location API. When you know where the driver is supposed to make an action, attach a location to a geotag. This will calculate the deviation between the real position where it happened and the expected position. This information will also be available on dashboards and APIs.

Changed

  • Geotag API now captures the precise position of the driver at the moment the geotag API was triggered.

4.15.0-rc.1

18 May 11:24
Compare
Choose a tag to compare
4.15.0-rc.1 Pre-release
Pre-release
Release 4.15.0-rc.1

4.14.0

16 Feb 08:37
Compare
Choose a tag to compare

Added

  • Automatic silent push notification integration using Swizzling. You no longer need to connect the methods manually in AppDelegate. At the same time there is no need to change anything in existing integrations.
  • New errors API that allow you to check if there is anything that can prevent the SDK from tracking at any point in time. This API returns all the errors that are currently affecting tracking, so you won't be able to miss any of them, like with the previous Notifications based APIs. This API can be invoked at any point in time, not just during tracking.
  • New subscription APIs, that allow you to subscribe to errors, isTracking, and availability. The current value will be delivered right after subscribing and all subsequent changes will be delivered as they happen.
  • New metadata API that allows you to set and get the current metadata for the driver in a type-safe JSON form. The JSON form supports all the convenient Representable family of Swift protocols that allows you to use the API as if specifying a native Dictinary value.

4.14.0-rc.3

02 Feb 13:30
Compare
Choose a tag to compare
4.14.0-rc.3 Pre-release
Pre-release
Release 4.14.0-rc.3

4.14.0-rc.2

23 Jan 13:12
Compare
Choose a tag to compare
4.14.0-rc.2 Pre-release
Pre-release
Release 4.14.0-rc.2

4.14.0-rc.1

06 Jan 16:02
Compare
Choose a tag to compare
4.14.0-rc.1 Pre-release
Pre-release
Release 4.14.0-rc.1