Releases: hypertrack/sdk-ios
Releases · hypertrack/sdk-ios
5.0.1
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
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 the5.0.6
release)- 🔵 WARNING: The
showsBackgroundLocationIndicator
CLLocationManager property is set totrue
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
asHyperTrackPublishableKey
. HyperTrackError
enum is renamed toHyperTrack.Error
and now has nested structure.availability
renamed toisAvailable
subscribeToAvailability
renamed tosubscribeToIsAvailable
- 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 useInfo.plist
params to configure the SDK instead)automaticallyRequestPermissions
init param is always false now (usesubscribeToErrors
to trigger permission requests)mockLocationsAllowed
init param is always true now (but the device will sendLocation.Mocked
error)
start()
,stop()
(useisTracking
variable setter instead)setDeviceMetadata()
(usemetadata
variable setter instead)setDeviceName()
(usename
variable setter instead)HyperTrackError
types:motionActivityPermissionsDenied
motionActivityServicesDisabled
motionActivityServicesUnavailable
motionActivityPermissionsRestricted
syncDeviceSettings()
mockLocationsAllowed
isLoggingEnabled
isRunning
addGeotag(Metadata)
(useaddGeotag(JSON.Object)
instead)addTripMarker()
(useaddGeotag()
instead)HyperTrack.startedTrackingNotification
,HyperTrack.stoppedTrackingNotification
(usesubscribeToIsTracking
instead)HyperTrack.becameAvailableNotification
,HyperTrack.becameUnavailableNotification
(usesubscribeToIsAvailable
instead)HyperTrack.didEncounterRestorableErrorNotification
,HyperTrack.didEncounterUnrestorableErrorNotification
(usesubscribeToErrors
instead)- Activity permissions are no longer required.
- Objective-C API.
4.16.1
4.16.0
Fixed
- Fixed location not being collected in background on iOS 16.4 and upwards. Removed significant location change monitoring to comply with new requirements (https://developer.apple.com/forums/thread/726945?answerId=749230022#749230022).
Changed
- 🔵 WARNING: The
showsBackgroundLocationIndicator
CLLocationManager property is set totrue
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. - Changed automatic permission request from Always to When In Use to avoid Provisional Always Authorization (https://hypertrack.com/blog/2020/06/24/impact-of-ios13-ios14-location-permissions-on-background-location-access/).
4.15.0
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
Release 4.15.0-rc.1
4.14.0
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
Release 4.14.0-rc.3
4.14.0-rc.2
Release 4.14.0-rc.2
4.14.0-rc.1
Release 4.14.0-rc.1