Skip to content
This repository has been archived by the owner on Oct 23, 2023. It is now read-only.

getsentry/sentry-objc

Repository files navigation

Sentry Objective-C Client

Deprecated

This SDK is deprecated. Use sentry-cocoa.

Installation

Using CocoaPods

platform :ios, '8.0'
use_frameworks!

pod 'Sentry', :git => '[email protected]:getsentry/sentry-objc.git'

Using

Swift Usage

import Sentry

    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        // Log all crashes to Sentry
        Sentry.installWithDsn("https://mydsnuser:[email protected]/myprojectid");
        return true
    }

    func sendLogEventsToSentry() {
        Sentry.logDebug("Send a debug log event to Sentry!")
        Sentry.logInfo("Send an info log event to Sentry!")
        Sentry.logWarning("Send a warning log event to Sentry!")
        Sentry.logError("Send an error log event to Sentry!")
        Sentry.logFatal("Send a fatal log event to Sentry!")

        Sentry.logNavigationFrom("main" to: "settings")

        Sentry.logUIEventOfType("touch" withTarget: "start button")
    }

Objective-C Usage

#import "Sentry.h"

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Log all crashes to Sentry
    [Sentry installWithDsn:@"https://mydsnuser:[email protected]/myprojectid"];
    return YES;
}

- (void)sendLogEventsToSentry {
    [Sentry logDebug:@"Send a debug log event to Sentry!"];
    [Sentry logInfo:@"Send an info log event to Sentry!"];
    [Sentry logWarning:@"Send a warning log event to Sentry!"];
    [Sentry logError:@"Send an error log event to Sentry!"];
    [Sentry logFatal:@"Send a fatal log event to Sentry!"];

    [Sentry logNavigationFrom:@"main" to:@"settings"];

    [Sentry logUIEventOfType:@"touch" withTarget:@"start button"];
}

Uploading DSYMs

A DSYM can be uploaded to Sentry using sentry-cli.

After installing sentry-cli, you can create a simple bash script to upload your DSYMs

#!/bin/sh

API_KEY="my-api-key"
ORG_SLUG="my-org-slug"
PROJECT_SLUG="my-project-slug"


DSYM_FILE=$1

if [ "X$DSYM_FILE" = "X" ]; then
    echo "Usage: $0 <path to dsym>"
    exit 1
fi

set -e
set -u

if [ ! -d "$DSYM_FILE" ]; then
    echo "Error: DSYM not found: $DSYM_FILE"
    exit 1
fi

sentry-cli --api-key ${API_KEY} upload-dsym --org ${ORG_SLUG} --project ${PROJECT_SLUG} "${DSYM_FILE}"