feature: integrate Sentry SDK for crash reporting on Android and iOS

This commit is contained in:
Antoine Jaury
2026-09-30 11:18:54 +02:00
parent 87d4f3ce5d
commit 48a78e5743
14 changed files with 284 additions and 41 deletions
+30 -2
View File
@@ -6,6 +6,10 @@
objectVersion = 77;
objects = {
/* Begin PBXBuildFile section */
F36B7319302CAEC900B3E490 /* Sentry in Frameworks */ = {isa = PBXBuildFile; productRef = F36B7318302CAEC900B3E490 /* Sentry */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
9DA43AABF87DF46F5E794E72 /* Chom Bev.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Chom Bev.app"; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
@@ -41,6 +45,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
F36B7319302CAEC900B3E490 /* Sentry in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -85,6 +90,7 @@
);
name = iosApp;
packageProductDependencies = (
F36B7318302CAEC900B3E490 /* Sentry */,
);
productName = iosApp;
productReference = 9DA43AABF87DF46F5E794E72 /* Chom Bev.app */;
@@ -114,6 +120,9 @@
);
mainGroup = A562F15E4A0F12F420BB5B12;
minimizedProjectReferenceProxies = 1;
packageReferences = (
F36B7317302CAEC900B3E490 /* XCRemoteSwiftPackageReference "sentry-cocoa" */,
);
preferredProjectObjectVersion = 77;
productRefGroup = 47B0C8770C82BEADFE13EF77 /* Products */;
projectDirPath = "";
@@ -176,7 +185,7 @@
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_ASSET_PATHS = "\"iosApp/Preview Content\"";
DEVELOPMENT_TEAM = "$(TEAM_ID)";
DEVELOPMENT_TEAM = 492RZGQ5SU;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = iosApp/Info.plist;
@@ -269,7 +278,7 @@
CODE_SIGN_IDENTITY = "Apple Development";
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_ASSET_PATHS = "\"iosApp/Preview Content\"";
DEVELOPMENT_TEAM = "$(TEAM_ID)";
DEVELOPMENT_TEAM = 492RZGQ5SU;
ENABLE_PREVIEWS = YES;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_FILE = iosApp/Info.plist;
@@ -368,6 +377,25 @@
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
/* Begin XCRemoteSwiftPackageReference section */
F36B7317302CAEC900B3E490 /* XCRemoteSwiftPackageReference "sentry-cocoa" */ = {
isa = XCRemoteSwiftPackageReference;
repositoryURL = "https://github.com/getsentry/sentry-cocoa";
requirement = {
kind = exactVersion;
version = 8.58.2;
};
};
/* End XCRemoteSwiftPackageReference section */
/* Begin XCSwiftPackageProductDependency section */
F36B7318302CAEC900B3E490 /* Sentry */ = {
isa = XCSwiftPackageProductDependency;
package = F36B7317302CAEC900B3E490 /* XCRemoteSwiftPackageReference "sentry-cocoa" */;
productName = Sentry;
};
/* End XCSwiftPackageProductDependency section */
};
rootObject = 50584B9465876AB65BD227D3 /* Project object */;
}
+18
View File
@@ -0,0 +1,18 @@
//
// AppDelegate.swift
// iosApp
//
// Created by Antoine Jaury on 12/08/2026.
//
import UIKit
import Shared
final class AppDelegate: NSObject, UIApplicationDelegate {
func application(_ application: UIApplication,
didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
SentryHelper().initializeSentry()
return true
}
}
+4
View File
@@ -2,6 +2,10 @@ import SwiftUI
@main
struct iOSApp: App {
@UIApplicationDelegateAdaptor(AppDelegate.self)
private var appDelegate
var body: some Scene {
WindowGroup {
ContentView()