Installation and initialization

The AppMetrica library consists of two frameworks: core and crash-handling. If you don't use AppMetrica crash handling, add only the core part of the library. It reduces the size of the application.

The AppMetrica library supports several platforms:

Step 1. The library can work with the following dependency managers:

The library supports static and dynamic frameworks for CocoaPods.

To enable core and crash-handling frameworks, add a dependency to the project's Podfile (see the example of enabling a static framework):

  • Static framework

    pod 'YandexMobileMetrica', '3.4.1'
  • Dynamic framework

    pod 'YandexMobileMetrica/Dynamic', '3.4.1'
To enable the library without crash-handling part, use YandexMobileMetrica/Static/Core or YandexMobileMetrica/Dynamic/Core dependency.
Note. If the Podfile has the line use_frameworks!, we recommend using the dynamic framework.
If you don't use these dependency managers

To enable the library, follow these steps:

  1. Download the AppMetrica library.
  2. Add YandexMobileMetrica.framework and YandexMobileMetricaCrashes.framework into the project.
  3. Add the following dependencies: 'SystemConfiguration', 'UIKit', 'Foundation', 'CoreTelephony', 'CoreLocation', 'CoreGraphics', 'AdSupport', 'z', 'sqlite3', 'Security', 'c++', 'SafariServices' (with the Optional setting).
  4. Add -ObjC to Other Linker Flags.

Step 2. Initialize the library in the application:didFinishLaunchingWithOptions: method of your UIApplicationDelegate:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    YMMYandexMetricaConfiguration *configuration = [[YMMYandexMetricaConfiguration alloc] initWithApiKey:API_key];
    [YMMYandexMetrica activateWithConfiguration:configuration];
}
What is the API key?

The API key is a unique application identifier that is issued in the AppMetrica web interface during app registration. Make sure you have entered it correctly.

AppMetrica allows tracking pre-installed apps. To use this feature, you must initialize the library with the extended configuration.

Note. Requirements: deployment target 8.0 and higher.