iOS Changelog

Version 5.1.7 (2024-04-01)

  • Fixed: Occasional incomplete transmission on switching off tracking.

Version 5.1.1 (2024-02-16)

  • Added: Swift Package Manager (SPM) support.

Version 5.0.5 (2023-10-16)

  • Improved: Load the CoreData layer asynchronously.
  • Improved: Maintain the original device id on a different JWT, if it's on the same UUID.
  • Added: Beacon monitoring for certain clients, requiring the NSBluetoothAlwaysUsageDescription in your app's Info.plist.

Version 5.0.0 (2022-10-17)

  • Added: hasRequiredPermissions: Bool { get }. True when both location services are enabled and app location permissions are authorized.
  • Added: isLocationServicesEnabled: Bool { get }. True when location services are enabled.
  • Added: version: String { get }. SDK version.
  • Removed: delegate property setter/getter.
  • Changed: The SDK must be initialized by calling the new initialize(using delegate: MotionTagDelegate, launchOption launchOptions: [AnyHashable : Any]?) function.
    The initialization should still happen somewhere near the top of didFinishLaunchingWithOptions App's delegate. Calling any other SDK function or property prior to its initialization will result in an error.
  • Changed: func trackingStatusChanged(_ isTracking: Bool)
    and func locationAuthorizationStatusDidChange(_ status: CLAuthorizationStatus, precise: Bool) methods of the MotionTagDelegate are required. Also, both are called upon initialization.
  • Changed: userToken is an optional since it's initially nill before setting. Not setting it with a valid JWT token will cause a transmission failure.
  • Changed: wifiOnlyDataTransfer is now false by default.

Version 4.3.1 (2022-08-16)

  • Improved: Add SDK to CocoaPods trunk. Simply do: pod 'MotionTagSDK'. No need for the github link.
  • Changed: Increase minimum target version to 12.3

Version 4.3.0 (2022-02-24)

  • Improved: Improve the accuracy of detected stays
  • Fixed: Fix a rare crash during the background data transmission

Version 4.2.1 (2022-02-03)

  • Added: Apple Silicon build for iOS simulator

Version 4.2.0 (2021-11-17)

  • Fixed: Fix an issue where Xcode 13 archiving process would wrongly overwrite the SDK's internal version and build numbers.
    • We recommend Xcode 13 users to update to SDK 4.2.0 or later, or disable the "Manage Version and Build Number" in Xcode. If you use fastlane, you can set manageAppVersionAndBuildNumber to false.
  • Fixed: Fix an edge case where tracking is switched off after revoking location authorization

Version 4.1.0 (2021-10-12)

  • Improved: Reduce gaps in the detected stays
  • Fixed: Fix an issue that could prevent data from being transmitted after the app is migrated to a new iPhone
  • Fixed: Fix rare crashes during the data transmission

Version 4.0.0 (2021-08-09)

  • Changed: The useWifiOnlyDataTransfer method has been replaced by property wifiOnlyDataTransfer.
  • Changed: The token parameter has been dropped from the start method.
  • Changed: The sharedInstance(...) method has been changed to a property.
  • Changed: Delegate didTransmitData(_ transmissionTimestamp: Date, lastEventTimestamp: Date) is replaced with dataUploadWithTracked(from startDate: Date, to endDate: Date, didCompleteWithError error: Error?), showing the timestamp of the earliest and latest events in the batch, as well as any possible transmission errors.
  • Added: Property userToken that allows updating the user JWT during runtime (e.g.: when the token expires). The provided token will be persisted in the SDK and must be provided before calling the start() method. This property can also be used to retrieve the set token.
  • Removed: The settings dictionary has been dropped altogether.
  • Removed: The battery saving mode option has been removed. Battery saving mode is always enabled now.
  • Removed: The isTrackingActiveAsInt property has been dropped.
  • Fixed: Fix background task leak.

This commit in the sample app repository demonstrates how to update from version 3.x.x to 4.0.0.

Version 3.2.0 (2021-06-14)

  • Improved: Reduce battery consumption and data transmission volume.
  • Improved: Automatically resume tracking when location permission or location services are restored.
  • Improved: Immediately trigger the creation of user in our backend after starting the SDK.

Version 3.1.1 (2021-06-04)

  • Fixed: Fix an issue with the Motion & Fitness permission dialog popping up.
  • Fixed: Fix a crash that occurred on stop, followed by start with a different DataTransmissionMode in rapid succession.

Version 3.1.0 (2021-05-03)

  • Changed: The MotionTagSDK cocoapods releases are now being hosted on a public GitHub repository. Please update your Podfile as follows: pod 'MotionTagSDK', :git => ''.
  • Added: Method to delete all tracked data from the local database.
  • Deprecated: The kMTBatterySavingsMode SDK setting has been deprecated and will be removed in the future.
  • Fixed: Fix a bug that could prevent the SDK from transmitting data when using the iOS Simulator.
  • Fixed: Fix a bug that could cause duplication of Connectivity events.

Version 3.0.1 (2021-04-23)

  • Fixed: Fix a NSURLBackgroundSession crash when updating the SDK.

Version 3.0.0 (2021-04-09)

  • Changed: The SDK is now initialized synchronously.
  • Changed: The SDK can be initialized later after the client onboarding.
  • Changed: The AppDelegate's handleEventsForBackgroundURLSession call must be forwarded to the SDK. Please check the "Setup" section of the documentation for more details.
  • Changed: The JWT does not have to be provided during the SDK's initialization anymore, only when starting tracking.
  • Improved: Transmit all data collected after stopping tracking.
  • Fixed: Fix a bug that could prevent the SDK from correctly waking up.

Version 2.3.0 (2021-02-01)

  • SDK will start again after restoring location authorization

Version 2.2.0 (2020-11-09)

  • Remove location and Motion&Fitness authorization requests
  • Add delegate for tracking status change
  • Update the location authorization status change delegate with the iOS 14 'Precise Location'
  • Add delegate for Motion&Fitness authorization status

Version 1.9.5 (2020-10-09)

  • Performance and energy consumption improvements

Version 1.8.4 (2020-09-26)

  • Continue to function (with increased battery consumption), when Motion & Fitness permission denied

Version 1.8.0 (2020-09-22)

  • Remove arm64 from simulator build (Needs cocoapods version >= 1.10.0.rc.1)
  • Further reduce data transmission rate

Version 1.7.14 (2020-09-21)

  • Fix archiving process on Xcode 12

Version 1.7.6 (2020-09-18)

  • Fix SDK delegate not being called when using Xcode 12

Version 1.7.3 (2020-09-04)

  • Enhanced accuracy in rural regions, improved wake-up after leaving a stay, and substantial reduction in data transmission.

Version 1.6.0 (2020-07-06)

  • Fix an issue that prevented data transmission in certain cases

Version 1.5.8 (2020-03-17)

  • Reduce data transmission substantially

Version 1.5.6 (2020-03-06)

  • Restart tracking on app update

Version 1.4.5 (2019-11-07)

  • Fix a bug that prevented mode of sending changes

Version 1.4.0 (2019-10-25)

  • Reduce battery consumption
  • Reduce the ammount of data transmitted
  • Fix a bug that caused delayed storylines

Version 1.3.0 (2019-10-14)

  • Update didTransmitData with the timestamp of the last event transmitted

Version 1.2.5 (2019-10-11)

  • Fix crashes

Version 1.2.0 (2019-09-17)

  • Full support for iOS 13

Version 1.1.3 (2019-09-12)

  • Further modifications to support iOS 13

Version 1.1.2 (2019-09-12)

  • Removed the internal automatic 'always' location authorization request when staring the SDK

Version 1.1.1 (2019-09-11)

  • Fixed a bug that caused sending of acquired data before the SDK had been initialized
  • Fixed a bug that would pop a motion authorization dialog

Version 1.1.0 (2019-09-05)

  • Remove background fetch capability requirement
  • Fix all known bugs

Version 0.6.1 (2019-07-09)

  • Remove beacon monitoring