1+ unit DW.iOSapi.FirebaseCrashlytics;
2+
3+ { *******************************************************}
4+ { }
5+ { Kastri }
6+ { }
7+ { Delphi Worlds Cross-Platform Library }
8+ { }
9+ { Copyright 2020-2026 Dave Nottage under MIT license }
10+ { which is located in the root folder of this library }
11+ { }
12+ { *******************************************************}
13+
14+ interface
15+
16+ uses
17+ // macOS
18+ Macapi.ObjectiveC, Macapi.CoreFoundation,
19+ // iOS
20+ iOSapi.CocoaTypes, iOSapi.Foundation;
21+
22+ type
23+ FIRCrashlyticsReport = interface ;
24+ FIRStackFrame = interface ;
25+ FIRExceptionModel = interface ;
26+ FIRCrashlytics = interface ;
27+
28+ TFIRCrashlyticsBlockMethod1 = procedure(param1: Boolean) of object ;
29+ TFIRCrashlyticsBlockMethod2 = procedure(param1: FIRCrashlyticsReport) of object ;
30+
31+ FIRCrashlyticsReportClass = interface (NSObjectClass)
32+ [' {2255AD74-84A4-4100-B2C1-8930011C910B}' ]
33+ end ;
34+
35+ FIRCrashlyticsReport = interface (NSObject)
36+ [' {F706B155-1434-42D1-BC1F-EFC32AB68EDA}' ]
37+ function dateCreated : NSDate; cdecl;
38+ function hasCrash : Boolean; cdecl;
39+ procedure log (msg: NSString); cdecl;
40+ procedure logWithFormat (format: NSString); overload; cdecl;
41+ procedure logWithFormat (format: NSString; arguments: Pointer); overload; cdecl;
42+ function reportID : NSString; cdecl;
43+ procedure setCustomKeysAndValues (keysAndValues: NSDictionary); cdecl;
44+ procedure setCustomValue (value : Pointer; forKey: NSString); cdecl;
45+ procedure setUserID (userID: NSString); cdecl;
46+ end ;
47+ TFIRCrashlyticsReport = class (TOCGenericImport<FIRCrashlyticsReportClass, FIRCrashlyticsReport>) end ;
48+
49+ FIRStackFrameClass = interface (NSObjectClass)
50+ [' {A167B19C-2365-4BD7-B2C2-2999EE701F51}' ]
51+ { class} function stackFrameWithAddress (address: NSUInteger): Pointer; cdecl;
52+ { class} function stackFrameWithSymbol (symbol: NSString; &file : NSString; line: NSInteger): Pointer; cdecl;
53+ end ;
54+
55+ FIRStackFrame = interface (NSObject)
56+ [' {45C392C0-1ABF-4B2F-A2CE-66532DDFE22B}' ]
57+ function initWithSymbol (symbol: NSString; &file : NSString; line: NSInteger): Pointer; cdecl;
58+ end ;
59+ TFIRStackFrame = class (TOCGenericImport<FIRStackFrameClass, FIRStackFrame>) end ;
60+
61+ FIRExceptionModelClass = interface (NSObjectClass)
62+ [' {FB6D78A7-7DA3-4627-AF8D-4355EB5AED19}' ]
63+ { class} function exceptionModelWithName (name : NSString; reason: NSString): Pointer; cdecl;
64+ end ;
65+
66+ FIRExceptionModel = interface (NSObject)
67+ [' {41F402E6-7042-4B55-88CF-1F6C7F2FE311}' ]
68+ function initWithName (name : NSString; reason: NSString): Pointer; cdecl;
69+ procedure setStackTrace (stackTrace: NSArray); cdecl;
70+ function stackTrace : NSArray; cdecl;
71+ end ;
72+ TFIRExceptionModel = class (TOCGenericImport<FIRExceptionModelClass, FIRExceptionModel>) end ;
73+
74+ FIRCrashlyticsClass = interface (NSObjectClass)
75+ [' {0E10D380-78D7-409E-B72C-BBC289B53190}' ]
76+ { class} function crashlytics : Pointer; cdecl;
77+ end ;
78+
79+ FIRCrashlytics = interface (NSObject)
80+ [' {96005344-DF3A-47BE-BA0B-2C3B2B152753}' ]
81+ procedure checkAndUpdateUnsentReportsWithCompletion (completion: TFIRCrashlyticsBlockMethod2); cdecl;
82+ procedure checkForUnsentReportsWithCompletion (completion: TFIRCrashlyticsBlockMethod1); cdecl;
83+ procedure deleteUnsentReports ; cdecl;
84+ function didCrashDuringPreviousExecution : Boolean; cdecl;
85+ function isCrashlyticsCollectionEnabled : Boolean; cdecl;
86+ procedure log (msg: NSString); cdecl;
87+ procedure logWithFormat (format: NSString); overload; cdecl;
88+ procedure logWithFormat (format: NSString; arguments: Pointer); overload; cdecl;
89+ procedure recordError (error: NSError); overload; cdecl;
90+ procedure recordError (error: NSError; userInfo: NSDictionary); overload; cdecl;
91+ procedure recordExceptionModel (exceptionModel: FIRExceptionModel); cdecl;
92+ procedure sendUnsentReports ; cdecl;
93+ procedure setCrashlyticsCollectionEnabled (enabled: Boolean); cdecl;
94+ procedure setCustomKeysAndValues (keysAndValues: NSDictionary); cdecl;
95+ procedure setCustomValue (value : Pointer; forKey: NSString); cdecl;
96+ procedure setUserID (userID: NSString); cdecl;
97+ end ;
98+ TFIRCrashlytics = class (TOCGenericImport<FIRCrashlyticsClass, FIRCrashlytics>) end ;
99+
100+ implementation
101+
102+ procedure FirebaseCrashlyticsLoader ; cdecl; external framework ' FirebaseCrashlytics' ;
103+
104+ end .
0 commit comments