Changelog

Version 4.5.2

Released May 22, 2023

  • Fixed posix_spawn Xcode crash with sanitizer enabled.

Version 4.5.0

Released March 21, 2023

  • Fixed the locationServicesEnabled invoked on the main thread error on iOS 16.

Version 4.2.0

Released February 18, 2022

  • Added a new API to track crashes and errors from random plugins.

  • Added API for the correct operation of the SDK in the context of session auto-tracking if activated from plugins: YMMYandexMetricaPlugins.handlePluginInitFinished.
  • Added the ability to send errors from reporters without activating the master key. In this case, meta information from KSCrash (system data) will be missing.

Version 4.0.0

Released September 20, 2021

  • Supported the option to set the user profile ID when activating ([YMMYandexMetricaConfiguration userProfileID]) or before activating ([YMMYandexMetrica setUserProfileID]) the master key, as well as when activating the reporter ([YMMReporterConfiguration userProfileID]).
  • Added the appOpenTrackingEnabled property for automatic tracking of app openings via a deeplink (Objective-C | Swift).
  • Added the revenueAutoTrackingEnabled property for the automatic collection of data on In-App purchases (Objective-C | Swift).

Version 3.17.0

Released June 8, 2021

  • Fixed the error Main Thread Checker: UI API called on a background thread: -[WKUserScript initWithSource:injectionTime:forMainFrameOnly:] that may occur.
  • Added a library version for iOS simulators that are run on Apple Silicon M1 Macs (ios-arm64-simulator).
  • The library is now delivered only as an XCFramework, which caused the following changes:
    • The minimum supported version of CocoaPods is 1.10 and Carthage is 0.38. These versions now support XCFrameworks.
    • The AppMetrica SDK is now connected on tvOS the same way as on iOS: the YandexMobileMetrica/Dynamic-TV and YandexMobileMetrica/Static-TV subspecs are no longer available.

Version 3.16.0

Released May 27, 2021

  • Added the initWebViewReporting method (Objective-C, Swift) to send events from the WebView JS code.
  • Fixed errors and improved stability.

Version 3.15.1

Released April 20, 2021

  • Improved Apple Search Ads attribution via AdServices Framework. Upgrade to this version to keep Apple Search Ads tracking on iOS 14.5+.

Version 3.15.0

Released March 30, 2021

  • Added support for attributing installations on devices running iOS version 14.5+ via SKAdNetwork. Upcoming versions of the SDK will make it possible to transmit conversion values.
  • Data can now be received for attributing installations from Apple Search Ads via AdServices Framework (for devices running iOS 14.3+). Attribution is implemented in the AppMetrica backend and doesn't require further updates.
  • Operator and Connection type collection is disabled.

Version 3.14.0

Released 29 December 2020.

  • Added AppMetrica distribution using Swift Package Manager. For more information, see Installation and initialization.
  • The minimum supported iOS version is 9.0 or later.
  • Fixed an issue in linking crashes to sessions.

Version 3.12.0

Released 14 October 2020

Version 3.11.1

Released 8 July 2020

Version 3.9.4

Released 3 February 2020

  • Fixed possible crashes in AppMetrica SDK 3.9.1 and 3.9.2.

Version 3.9.2

Released 27 December 2019

  • Fixed incorrect appmetrica_device_id generation process.
  • Fixed possible deadlock during the activation.
  • Fixed the reportReferralUrl method (Objective-C | Swift). It is no longer deprecated.
  • Fixed getting information about code and sudcode for Mach exceptions.
  • Fixed framework for tvOS.
  • Improved the performance of the library and the quality of statistical data.

Version 3.8.2

Released 4 October 2019

  • Fixed a priceDecimal serialization error that caused negative Revenue values.

Version 3.8.1

Released 30 September 2019

  • Fixed an issue in the dynamic framework.
  • Fixed collection of information on location. When you set your own location, automatic detection is disabled.

Version 3.7.1

Released 11 July 2019

Version 3.6.0

Released 18 February 2019

  • Fixed possible loss of crash reports on devices with a 32-bit processor.
  • Fixed possible crashes which affected the AppMetrica SDK versions 3.1.0 to 3.5.0.
  • Improved the performance of the library and the quality of statistical data.

Version 3.5.0

Released 25 December 2018

  • Added support for tvOS 9 and higher.
  • Improved the performance of the library and the quality of statistical data.

Version 3.4.1

Released 15 November 2018

  • Fixed the issue when enabling the static framework in a project using Swift.

Version 3.4.0

Released 2 November 2018

  • Separated the library into two frameworks: core and crash-handling. For more information, see Installation and initialization.
  • Fixed the +sendEventsBuffer: method to work correctly in the background.
  • Improved the performance of the library and the quality of statistical data.

Version 3.1.2

Released 2 July 2018

  • Changed the SDK to meet the requirements of the Apple App Store Review Team. Update the AppMetrica SDK to avoid any issues during the App Store moderation process.
    Attention. Previous versions of iOS SDK (2.8.0–3.1.1) are not available for download. If you are using library version 2.9.x, update it to version 2.9.8.

Version 3.1.1

Released 13 June 2018

  • Fixed an issue in the AppMetrica SDK 3.1.0 related to internal data loss.

Version 3.1.0

Released 8 June 2018

  • Added deeplink attribution (Re-engagement).
  • Fixed possible deadlock affecting AppMetrica SDK versions 3.0.0 and 3.0.1
  • Improved the performance of the library and the quality of statistical data.

Version 3.0.1

Released 21 May 2018

  • Improved the stability of the library.

Version 3.0.0

Released 18 April 2018

  • Added methods for creating user profiles.
  • Unified and revised the API. Read more in the migration guide to iOS SDK 3.0.0.
  • Changed the app version and build number order in crash reports to match the Apple format.
  • Extended logging of events flow.
  • Stopped supporting iOS 6 and iOS 7.
  • Improved the performance of the library and the quality of statistical data.

Version 2.9.8

Released 2 July 2018

  • Changed the SDK to meet the requirements of the Apple App Store Review Team. Download the AppMetrica SDK 2.9.8 and update it in the app to avoid issues during the App Store moderation process. tab.
    Attention. Previous versions of iOS SDK (2.8.0–3.1.1) are not available for download.

Version 2.9.6

Released 12 January 2018

  • Improved the performance of the library and the quality of statistical data.

Version 2.9.4

Released 4 November 2017

  • Fixed possible errors on the simulator.
  • Added Apple Search Ads tracking support.
  • Improved the performance of the library and the quality of statistical data.

Version 2.9.1

Released 14 August 2017

Version 2.9.0

Released 18 July 2017

  • Added the ability to send statistics using an API key that differs from the app's API key.
  • Improved the performance of the library and the quality of statistical data.

Version 2.8.3

Released 19 June 2017

  • Fixed bitcode problems with Xcode 8.2.1.

Version 2.8.1

Released 12 June 2017

  • Improved the performance of the library and the quality of statistical data.

Version 2.8.0

Released 4 April 2017

  • Fixed incorrect version/build number of application in crash reports.
  • Fixed custom location setting.
  • Improved the performance of the library and the quality of statistical data.

Version 2.7.0

Released 16 December 2016

  • Added tracking of app openings with a deeplink.
  • Added the ability to tell AppMetrica that the app was installed on the device before the AppMetrica SDK library was enabled. This allows AppMetrica to distinguish the first app start after integrating the SDK from the very first app start. This type of app launch won't be interpreted as a new user. For more information, see Usage examples.
  • Improved the stability of the library.

Version 2.6.5

Released 17 November 2016

  • Corrected meta information for the dynamic framework.

Version 2.6.2

Released 10 October 2016

  • Improved the performance of the library and the quality of statistical data.

Version 2.6.1

Released 30 September 2016

  • Improved support for iOS 6.

Version 2.6.0

Released 20 September 2016

  • Improved support for Swift.
  • Improved support for iOS 10.
  • Added a dynamic framework to the library.

Version 2.5.1

Released 11 July 2016

  • Optimization for improved quality of statistics.
  • Fixed an error that was causing app crashes.

Version 2.5.0

Released 24 May 2016

  • Optimization for improved quality of statistics.

Version 2.4.1

Released 25 April 2016

  • Optimization for improved quality of statistics.

Version 2.4.0

Released 23 March 2016

  • Added the Referrer-based Tracking technology.
  • Optimization for improved quality of statistics.

Version 2.3.1

Released 25 February 2016

  • Eliminated external dependencies.
  • Added a distribution model using the static framework.
  • Optimization for improved quality of statistics.

Version 2.3.0

Released 16 December 2015

  • Added the ability to initialize the library using the extended configuration, which guarantees that all the configuration parameters will be applied when the first event is sent.
  • Added the ability to specify information for tracking pre-installed apps.
  • Optimization for improved quality of statistics.

Version 2.1.1

Released 1 October 2015

  • Added support for extensions.
  • Added support for Bitcode technology.
  • Improved error messages.

Version 2.0

Released 27 August 2015

  • The format of "Api key" has changed. The app ID in a new format is available in the AppMetrica web interface when the app editing mode is engaged.

    Where to find Api key
  • The method of initializing the library in the app has been renamed from [YMMYandexMetrica startWithAPIKey:(NSString *)apiKey]; to [YMMYandexMetrica activateWithApiKey:(NSString *)apiKey];.
  • Changed the length of the session timeout. Now it is 10 seconds, by default.
  • The library has been adapted for iOS 9.
  • Improved quality of calculating statistics for app installations and device identification for tracking.
  • Significantly improved performance and reduced power consumption.
  • Improved error messages.
  • Deprecated methods have been removed.

    Click to see the list
    • +(void)setLogLevel:(NSUInteger)level; — allows you to set the logging level.
    • +(void)setReportsEnabled:(BOOL)enabled — Lets you enable and disable sending reports.
    • +(void)setDispatchPeriod(NSUInteger)dispatchPeriodSeconds; — Allows you to set the interval in seconds between sending accumulated events to the server.
    • +(void)setMaxReportsCount(NSUInteger)maxReportsCount; — Allows you to set the maximum number of events that can be stored up before sending all accumulated events to the server.
    • +(void)startNewSessionManually; — allows you to start a new session manually.
    • +(void)sendEventsBuffer; — Allows you to send all accumulated events without waiting for them to automatically be sent to the server.
    • +(BOOL)isReportsEnabled; — Determines whether reports are sent.
    • +(BOOL)isReportCrashesEnabled; — Determines whether app crashes are monitored.
    • +(BOOL)isTrackLocationEnabled; — Determines whether location data is transmitted.
    • +(NSUInteger)sessionTimeoutSeconds; — Determines what session length (in seconds) is set.
    • +(NSUInteger)maxReportsCount; — Determines the maximum number of events in storage that is set. When this number is reached, all the accumulated events are sent to the server.
    • +(NSUInteger)dispatchPeriod; — Determines the setting for the interval in seconds between sending accumulated events to the server.

Version 1.8.2

Released 18 June 2015

  • Improved quality of calculating statistics for sessions and app installations.

Version 1.6.1

Released 12 November 2014

  • Added free support for tracking app installations.
  • Improved stability and performance.
  • Switched to reading idfa from AdSupport within the library.
  • Renamed the main library class from YMMCounter to YMMYandexMetrica.
  • Changed the ApiKey type from NSUInteger to NSString.
  • Migrated the library to XCode6 and iOS 8.
  • Increased the minimal supported version to iOS 6.
  • Improved location handling. Transmitting location can be disabled.
  • Switched to asynchronous error processing using blocks.
  • Optimized library start.