@react-native-firebase/crashlytics 25.1.0 → 26.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +16 -0
- package/RNFBCrashlytics.podspec +10 -6
- package/android/build.gradle +23 -0
- package/android/src/main/java/io/invertase/firebase/crashlytics/{ReactNativeFirebaseCrashlyticsModule.java → NativeRNFBTurboCrashlytics.java} +44 -39
- package/android/src/main/java/io/invertase/firebase/crashlytics/ReactNativeFirebaseCrashlyticsPackage.java +1 -1
- package/android/src/main/java/io/invertase/firebase/crashlytics/generated/java/com/facebook/fbreact/specs/NativeRNFBTurboCrashlyticsSpec.java +125 -0
- package/android/src/main/java/io/invertase/firebase/crashlytics/generated/jni/CMakeLists.txt +36 -0
- package/android/src/main/java/io/invertase/firebase/crashlytics/generated/jni/RNFBCrashlyticsTurboModules-generated.cpp +116 -0
- package/android/src/main/java/io/invertase/firebase/crashlytics/generated/jni/RNFBCrashlyticsTurboModules.h +31 -0
- package/android/src/main/java/io/invertase/firebase/crashlytics/generated/jni/react/renderer/components/RNFBCrashlyticsTurboModules/RNFBCrashlyticsTurboModulesJSI-generated.cpp +124 -0
- package/android/src/main/java/io/invertase/firebase/crashlytics/generated/jni/react/renderer/components/RNFBCrashlyticsTurboModules/RNFBCrashlyticsTurboModulesJSI.h +320 -0
- package/app.plugin.js +1 -1
- package/dist/module/handlers.js +7 -24
- package/dist/module/handlers.js.map +1 -1
- package/dist/module/index.js +125 -8
- package/dist/module/index.js.map +1 -1
- package/dist/module/types/crashlytics.js +1 -40
- package/dist/module/types/crashlytics.js.map +1 -1
- package/dist/module/types/internal.js +4 -0
- package/dist/module/types/internal.js.map +1 -0
- package/dist/module/version.js +1 -1
- package/dist/typescript/lib/handlers.d.ts.map +1 -1
- package/dist/typescript/lib/index.d.ts +19 -4
- package/dist/typescript/lib/index.d.ts.map +1 -1
- package/dist/typescript/lib/types/crashlytics.d.ts +0 -21
- package/dist/typescript/lib/types/crashlytics.d.ts.map +1 -1
- package/dist/typescript/lib/types/internal.d.ts +44 -0
- package/dist/typescript/lib/types/internal.d.ts.map +1 -0
- package/dist/typescript/lib/version.d.ts +1 -1
- package/ios/RNFBCrashlytics/RNFBCrashlyticsModule.h +2 -3
- package/ios/RNFBCrashlytics/{RNFBCrashlyticsModule.m → RNFBCrashlyticsModule.mm} +64 -72
- package/ios/RNFBCrashlytics.xcodeproj/project.pbxproj +8 -8
- package/ios/generated/RCTAppDependencyProvider.h +25 -0
- package/ios/generated/RCTAppDependencyProvider.mm +55 -0
- package/ios/generated/RCTModulesConformingToProtocolsProvider.h +18 -0
- package/ios/generated/RCTModulesConformingToProtocolsProvider.mm +33 -0
- package/ios/generated/RCTThirdPartyComponentsProvider.h +16 -0
- package/ios/generated/RCTThirdPartyComponentsProvider.mm +23 -0
- package/ios/generated/RNFBCrashlyticsTurboModules/RNFBCrashlyticsTurboModules-generated.mm +148 -0
- package/ios/generated/RNFBCrashlyticsTurboModules/RNFBCrashlyticsTurboModules.h +214 -0
- package/ios/generated/RNFBCrashlyticsTurboModulesJSI-generated.cpp +124 -0
- package/ios/generated/RNFBCrashlyticsTurboModulesJSI.h +320 -0
- package/ios/generated/ReactAppDependencyProvider.podspec +34 -0
- package/lib/handlers.ts +7 -26
- package/lib/index.ts +209 -7
- package/lib/types/crashlytics.ts +0 -30
- package/lib/types/internal.ts +59 -0
- package/lib/version.ts +1 -1
- package/package.json +30 -5
- package/plugin/build/app.plugin.d.ts +2 -0
- package/plugin/build/app.plugin.js +6 -0
- package/plugin/src/app.plugin.ts +3 -0
- package/plugin/tsconfig.tsbuildinfo +1 -1
- package/react-native.config.js +3 -28
- package/specs/NativeRNFBTurboCrashlytics.ts +41 -0
- package/typedoc.json +2 -3
- package/dist/module/modular.js +0 -241
- package/dist/module/modular.js.map +0 -1
- package/dist/module/namespaced.js +0 -135
- package/dist/module/namespaced.js.map +0 -1
- package/dist/typescript/lib/modular.d.ts +0 -193
- package/dist/typescript/lib/modular.d.ts.map +0 -1
- package/dist/typescript/lib/namespaced.d.ts +0 -12
- package/dist/typescript/lib/namespaced.d.ts.map +0 -1
- package/lib/modular.ts +0 -249
- package/lib/namespaced.ts +0 -206
package/dist/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["isBoolean","isError","isObject","isString","FirebaseModule","getOrCreateModularInstance","StackTrace","createNativeErrorObj","setGlobalErrorHandler","setOnUnhandledPromiseRejectionHandler","version","nativeModuleName","FirebaseCrashlyticsModule","constructor","app","config","customUrlOrRegion","native","_isCrashlyticsCollectionEnabled","isCrashlyticsCollectionEnabled","checkForUnsentReports","Error","crash","deleteUnsentReports","didCrashOnPreviousExecution","log","message","setAttribute","name","value","setAttributes","object","setUserId","userId","recordError","error","jsErrorName","fromError","offline","then","stackFrames","recordErrorPromise","catch","console","warn","sendUnsentReports","setCrashlyticsCollectionEnabled","enabled","namespace","nativeEvents","hasMultiAppSupport","hasCustomUrlOrRegionSupport","turboModule","SDK_VERSION","getCrashlytics","crashlytics","attributes"],"sourceRoot":"../../lib","sources":["index.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,43 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
* Copyright (c) 2016-present Invertase Limited & Contributors
|
|
5
|
-
*
|
|
6
|
-
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
-
* you may not use this library except in compliance with the License.
|
|
8
|
-
* You may obtain a copy of the License at
|
|
9
|
-
*
|
|
10
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
-
*
|
|
12
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
-
* See the License for the specific language governing permissions and
|
|
16
|
-
* limitations under the License.
|
|
17
|
-
*
|
|
18
|
-
*/
|
|
19
|
-
// ============ Module Interface ============
|
|
20
|
-
/**
|
|
21
|
-
* Crashlytics module instance - returned from firebase.crashlytics() or firebase.app().crashlytics()
|
|
22
|
-
*/
|
|
23
|
-
// ============ Statics Interface ============
|
|
24
|
-
/**
|
|
25
|
-
* Static properties available on firebase.crashlytics
|
|
26
|
-
*/
|
|
27
|
-
/**
|
|
28
|
-
* FirebaseApp type with crashlytics() method.
|
|
29
|
-
* @deprecated Import FirebaseApp from '@react-native-firebase/app' instead.
|
|
30
|
-
* The crashlytics() method is added via module augmentation.
|
|
31
|
-
*/
|
|
32
|
-
// ============ Module Augmentation ============
|
|
33
|
-
/* eslint-disable @typescript-eslint/no-namespace */
|
|
34
|
-
/* eslint-enable @typescript-eslint/no-namespace */
|
|
35
|
-
// ============ Backwards Compatibility Namespace - to be removed with namespaced exports ============
|
|
36
|
-
/**
|
|
37
|
-
* @deprecated Use the exported types directly instead.
|
|
38
|
-
* FirebaseCrashlyticsTypes namespace is kept for backwards compatibility.
|
|
39
|
-
*/
|
|
40
|
-
/* eslint-disable @typescript-eslint/no-namespace */
|
|
41
|
-
export let FirebaseCrashlyticsTypes;
|
|
42
|
-
/* eslint-enable @typescript-eslint/no-namespace */
|
|
3
|
+
export {};
|
|
43
4
|
//# sourceMappingURL=crashlytics.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../lib","sources":["types/crashlytics.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../lib","sources":["types/internal.ts"],"mappings":"","ignoreList":[]}
|
package/dist/module/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../lib/handlers.ts"],"names":[],"mappings":"AAqBA,OAAO,UAAU,MAAM,eAAe,CAAC;AACvC,eAAO,MAAM,UAAU,+CAA+C,CAAC;AAEvE,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAED,UAAU,YAAY;IACpB,8BAA8B,EAAE,OAAO,CAAC;IACxC,iCAAiC,EAAE,OAAO,CAAC;IAC3C,sDAAsD,EAAE,OAAO,CAAC;IAChE,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,kBAAkB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,qBAAqB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChE;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,UAAU,CAAC,UAAU,EAAE,EACpC,oBAAoB,EAAE,OAAO,EAC7B,WAAW,CAAC,EAAE,MAAM,GACnB,cAAc,CA2ChB;AAED,eAAO,MAAM,qBAAqB,0CAGF,OAAO,UAAU,OAAO,
|
|
1
|
+
{"version":3,"file":"handlers.d.ts","sourceRoot":"","sources":["../../../lib/handlers.ts"],"names":[],"mappings":"AAqBA,OAAO,UAAU,MAAM,eAAe,CAAC;AACvC,eAAO,MAAM,UAAU,+CAA+C,CAAC;AAEvE,UAAU,gBAAgB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,oBAAoB,EAAE,OAAO,CAAC;IAC9B,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAC5B;AAED,UAAU,YAAY;IACpB,8BAA8B,EAAE,OAAO,CAAC;IACxC,iCAAiC,EAAE,OAAO,CAAC;IAC3C,sDAAsD,EAAE,OAAO,CAAC;IAChE,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,kBAAkB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,qBAAqB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAChE;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,UAAU,CAAC,UAAU,EAAE,EACpC,oBAAoB,EAAE,OAAO,EAC7B,WAAW,CAAC,EAAE,MAAM,GACnB,cAAc,CA2ChB;AAED,eAAO,MAAM,qBAAqB,0CAGF,OAAO,UAAU,OAAO,kBAuDtD,CAAC;AAEH,eAAO,MAAM,qCAAqC,wCAChB,MAAM,SAAS,KAAK,kBAiBpD,CAAC"}
|
|
@@ -1,5 +1,20 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
export
|
|
1
|
+
import type { FirebaseApp } from '@react-native-firebase/app';
|
|
2
|
+
import './types/internal';
|
|
3
|
+
import type { Crashlytics } from './types/crashlytics';
|
|
4
|
+
export declare const SDK_VERSION = "26.0.0";
|
|
5
|
+
export declare function getCrashlytics(app?: FirebaseApp): Crashlytics;
|
|
6
|
+
export declare function checkForUnsentReports(crashlytics: Crashlytics): Promise<boolean>;
|
|
7
|
+
export declare function deleteUnsentReports(crashlytics: Crashlytics): Promise<void>;
|
|
8
|
+
export declare function didCrashOnPreviousExecution(crashlytics: Crashlytics): Promise<boolean>;
|
|
9
|
+
export declare function crash(crashlytics: Crashlytics): void;
|
|
10
|
+
export declare function log(crashlytics: Crashlytics, message: string): void;
|
|
11
|
+
export declare function recordError(crashlytics: Crashlytics, error: Error, jsErrorName?: string): void;
|
|
12
|
+
export declare function sendUnsentReports(crashlytics: Crashlytics): void;
|
|
13
|
+
export declare function setUserId(crashlytics: Crashlytics, userId: string): Promise<null>;
|
|
14
|
+
export declare function setAttribute(crashlytics: Crashlytics, name: string, value: string): Promise<null>;
|
|
15
|
+
export declare function setAttributes(crashlytics: Crashlytics, attributes: {
|
|
16
|
+
[key: string]: string;
|
|
17
|
+
}): Promise<null>;
|
|
18
|
+
export declare function setCrashlyticsCollectionEnabled(crashlytics: Crashlytics, enabled: boolean): Promise<null>;
|
|
19
|
+
export type { Crashlytics } from './types/crashlytics';
|
|
5
20
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/index.ts"],"names":[],"mappings":"AAkBA,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../lib/index.ts"],"names":[],"mappings":"AAkBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAY9D,OAAO,kBAAkB,CAAC;AAQ1B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAiIvD,eAAO,MAAM,WAAW,WAAU,CAAC;AAEnC,wBAAgB,cAAc,CAAC,GAAG,CAAC,EAAE,WAAW,GAAG,WAAW,CAM7D;AAED,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAEhF;AAED,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3E;AAED,wBAAgB,2BAA2B,CAAC,WAAW,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAEtF;AAED,wBAAgB,KAAK,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAEpD;AAED,wBAAgB,GAAG,CAAC,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAEnE;AAED,wBAAgB,WAAW,CAAC,WAAW,EAAE,WAAW,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAE9F;AAED,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,CAEhE;AAED,wBAAgB,SAAS,CAAC,WAAW,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjF;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEjG;AAED,wBAAgB,aAAa,CAC3B,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,GACpC,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,wBAAgB,+BAA+B,CAC7C,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,IAAI,CAAC,CAEf;AAED,YAAY,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -91,27 +91,6 @@ export interface Statics {
|
|
|
91
91
|
/**
|
|
92
92
|
* FirebaseApp type with crashlytics() method.
|
|
93
93
|
* @deprecated Import FirebaseApp from '@react-native-firebase/app' instead.
|
|
94
|
-
* The crashlytics() method is added via module augmentation.
|
|
95
94
|
*/
|
|
96
95
|
export type FirebaseApp = ReactNativeFirebase.FirebaseApp;
|
|
97
|
-
declare module '@react-native-firebase/app' {
|
|
98
|
-
namespace ReactNativeFirebase {
|
|
99
|
-
interface Module {
|
|
100
|
-
crashlytics: FirebaseModuleWithStaticsAndApp<Crashlytics, Statics>;
|
|
101
|
-
}
|
|
102
|
-
interface FirebaseApp {
|
|
103
|
-
crashlytics(): Crashlytics;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
type _Statics = Statics;
|
|
108
|
-
/**
|
|
109
|
-
* @deprecated Use the exported types directly instead.
|
|
110
|
-
* FirebaseCrashlyticsTypes namespace is kept for backwards compatibility.
|
|
111
|
-
*/
|
|
112
|
-
export declare namespace FirebaseCrashlyticsTypes {
|
|
113
|
-
type Module = Crashlytics;
|
|
114
|
-
type Statics = _Statics;
|
|
115
|
-
}
|
|
116
|
-
export {};
|
|
117
96
|
//# sourceMappingURL=crashlytics.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crashlytics.d.ts","sourceRoot":"","sources":["../../../../lib/types/crashlytics.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAItE;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,mBAAmB,CAAC,cAAc;IACrE,qDAAqD;IACrD,GAAG,EAAE,mBAAmB,CAAC,WAAW,CAAC;IAErC;;OAEG;IACH,QAAQ,CAAC,8BAA8B,EAAE,OAAO,CAAC;IAEjD;;;;;OAKG;IACH,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1C;;;OAGG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;OAEG;IACH,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC;;OAEG;IACH,2BAA2B,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhD;;;;OAIG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;;;;;;OAOG;IACH,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtD;;;OAGG;IACH,iBAAiB,IAAI,IAAI,CAAC;IAE1B;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzC;;;;;;OAMG;IACH,+BAA+B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAID;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED
|
|
1
|
+
{"version":3,"file":"crashlytics.d.ts","sourceRoot":"","sources":["../../../../lib/types/crashlytics.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAItE;;GAEG;AACH,MAAM,WAAW,WAAY,SAAQ,mBAAmB,CAAC,cAAc;IACrE,qDAAqD;IACrD,GAAG,EAAE,mBAAmB,CAAC,WAAW,CAAC;IAErC;;OAEG;IACH,QAAQ,CAAC,8BAA8B,EAAE,OAAO,CAAC;IAEjD;;;;;OAKG;IACH,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE1C;;;OAGG;IACH,KAAK,IAAI,IAAI,CAAC;IAEd;;OAEG;IACH,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAErC;;OAEG;IACH,2BAA2B,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAEhD;;;;OAIG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3B;;;;;;;OAOG;IACH,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtD;;;OAGG;IACH,iBAAiB,IAAI,IAAI,CAAC;IAE1B;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzD;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEpE;;;;;;;OAOG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEzC;;;;;;OAMG;IACH,+BAA+B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAClE;AAID;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,mBAAmB,CAAC,WAAW,CAAC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { Crashlytics } from './crashlytics';
|
|
2
|
+
export interface NativeRNFBTurboCrashlytics {
|
|
3
|
+
isCrashlyticsCollectionEnabled: boolean;
|
|
4
|
+
isErrorGenerationOnJSCrashEnabled: boolean;
|
|
5
|
+
isCrashlyticsJavascriptExceptionHandlerChainingEnabled: boolean;
|
|
6
|
+
checkForUnsentReports(): Promise<boolean>;
|
|
7
|
+
crash(): void;
|
|
8
|
+
deleteUnsentReports(): Promise<void>;
|
|
9
|
+
didCrashOnPreviousExecution(): Promise<boolean>;
|
|
10
|
+
log(message: string): void;
|
|
11
|
+
setAttribute(name: string, value: string): Promise<null>;
|
|
12
|
+
setAttributes(object: {
|
|
13
|
+
[key: string]: string;
|
|
14
|
+
}): Promise<null>;
|
|
15
|
+
setUserId(userId: string): Promise<null>;
|
|
16
|
+
recordError(errorObj: unknown): void;
|
|
17
|
+
sendUnsentReports(): void;
|
|
18
|
+
setCrashlyticsCollectionEnabled(enabled: boolean): Promise<null>;
|
|
19
|
+
logPromise(message: string): Promise<void>;
|
|
20
|
+
recordErrorPromise(errorObj: unknown): Promise<void>;
|
|
21
|
+
crashWithStackPromise(errorObj: unknown): Promise<void>;
|
|
22
|
+
}
|
|
23
|
+
declare module '@react-native-firebase/app/dist/module/internal/NativeModules' {
|
|
24
|
+
interface ReactNativeFirebaseNativeModules {
|
|
25
|
+
NativeRNFBTurboCrashlytics: NativeRNFBTurboCrashlytics;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export interface CrashlyticsInternal extends Crashlytics {
|
|
29
|
+
checkForUnsentReports(): Promise<boolean>;
|
|
30
|
+
crash(): void;
|
|
31
|
+
deleteUnsentReports(): Promise<void>;
|
|
32
|
+
didCrashOnPreviousExecution(): Promise<boolean>;
|
|
33
|
+
log(message: string): void;
|
|
34
|
+
recordError(error: Error, jsErrorName?: string): void;
|
|
35
|
+
sendUnsentReports(): void;
|
|
36
|
+
setUserId(userId: string): Promise<null>;
|
|
37
|
+
setAttribute(name: string, value: string): Promise<null>;
|
|
38
|
+
setAttributes(attributes: {
|
|
39
|
+
[key: string]: string;
|
|
40
|
+
}): Promise<null>;
|
|
41
|
+
setCrashlyticsCollectionEnabled(enabled: boolean): Promise<null>;
|
|
42
|
+
readonly native: NativeRNFBTurboCrashlytics;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=internal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internal.d.ts","sourceRoot":"","sources":["../../../../lib/types/internal.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,WAAW,0BAA0B;IACzC,8BAA8B,EAAE,OAAO,CAAC;IACxC,iCAAiC,EAAE,OAAO,CAAC;IAC3C,sDAAsD,EAAE,OAAO,CAAC;IAChE,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,KAAK,IAAI,IAAI,CAAC;IACd,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,2BAA2B,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,aAAa,CAAC,MAAM,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChE,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,WAAW,CAAC,QAAQ,EAAE,OAAO,GAAG,IAAI,CAAC;IACrC,iBAAiB,IAAI,IAAI,CAAC;IAC1B,+BAA+B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3C,kBAAkB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACrD,qBAAqB,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACzD;AAED,OAAO,QAAQ,+DAA+D,CAAC;IAC7E,UAAU,gCAAgC;QACxC,0BAA0B,EAAE,0BAA0B,CAAC;KACxD;CACF;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1C,KAAK,IAAI,IAAI,CAAC;IACd,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,2BAA2B,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAChD,GAAG,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtD,iBAAiB,IAAI,IAAI,CAAC;IAC1B,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACzD,aAAa,CAAC,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpE,+BAA+B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjE,QAAQ,CAAC,MAAM,EAAE,0BAA0B,CAAC;CAC7C"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const version = "
|
|
1
|
+
export declare const version = "26.0.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
|
@@ -16,9 +16,8 @@
|
|
|
16
16
|
*/
|
|
17
17
|
|
|
18
18
|
#import <Foundation/Foundation.h>
|
|
19
|
+
#import "RNFBCrashlyticsTurboModules.h"
|
|
19
20
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
@interface RNFBCrashlyticsModule : NSObject <RCTBridgeModule>
|
|
21
|
+
@interface RNFBCrashlyticsModule : NSObject <NativeRNFBTurboCrashlyticsSpec>
|
|
23
22
|
|
|
24
23
|
@end
|
|
@@ -29,12 +29,19 @@
|
|
|
29
29
|
#import "RNFBPreferences.h"
|
|
30
30
|
|
|
31
31
|
@implementation RNFBCrashlyticsModule
|
|
32
|
-
#pragma mark -
|
|
33
|
-
#pragma mark Module Setup
|
|
34
32
|
|
|
35
|
-
RCT_EXPORT_MODULE()
|
|
33
|
+
RCT_EXPORT_MODULE(NativeRNFBTurboCrashlytics)
|
|
36
34
|
|
|
37
|
-
|
|
35
|
+
+ (BOOL)requiresMainQueueSetup {
|
|
36
|
+
return NO;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
- (std::shared_ptr<facebook::react::TurboModule>)getTurboModule:
|
|
40
|
+
(const facebook::react::ObjCTurboModule::InitParams &)params {
|
|
41
|
+
return std::make_shared<facebook::react::NativeRNFBTurboCrashlyticsSpecJSI>(params);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
- (NSDictionary *)crashlyticsConstantsDictionary {
|
|
38
45
|
NSMutableDictionary *constants = [NSMutableDictionary new];
|
|
39
46
|
constants[@"isCrashlyticsCollectionEnabled"] =
|
|
40
47
|
@([RCTConvert BOOL:@([RNFBCrashlyticsInitProvider isCrashlyticsCollectionEnabled])]);
|
|
@@ -50,31 +57,29 @@ RCT_EXPORT_MODULE();
|
|
|
50
57
|
return constants;
|
|
51
58
|
}
|
|
52
59
|
|
|
53
|
-
|
|
54
|
-
|
|
60
|
+
- (facebook::react::ModuleConstants<JS::NativeRNFBTurboCrashlytics::Constants::Builder>)
|
|
61
|
+
constantsToExport {
|
|
62
|
+
return [_RCTTypedModuleConstants newWithUnsafeDictionary:[self crashlyticsConstantsDictionary]];
|
|
55
63
|
}
|
|
56
64
|
|
|
57
|
-
|
|
58
|
-
|
|
65
|
+
- (facebook::react::ModuleConstants<JS::NativeRNFBTurboCrashlytics::Constants::Builder>)
|
|
66
|
+
getConstants {
|
|
67
|
+
return [self constantsToExport];
|
|
68
|
+
}
|
|
59
69
|
|
|
60
|
-
|
|
61
|
-
: (RCTPromiseResolveBlock)resolve rejecter
|
|
62
|
-
: (RCTPromiseRejectBlock)reject) {
|
|
70
|
+
- (void)checkForUnsentReports:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
|
|
63
71
|
[[FIRCrashlytics crashlytics] checkForUnsentReportsWithCompletion:^(BOOL unsentReports) {
|
|
64
72
|
resolve([NSNumber numberWithBool:unsentReports]);
|
|
65
73
|
}];
|
|
66
74
|
}
|
|
67
75
|
|
|
68
|
-
|
|
76
|
+
- (void)crash {
|
|
69
77
|
if ([RNFBCrashlyticsInitProvider isCrashlyticsCollectionEnabled]) {
|
|
70
78
|
if ([self isDebuggerAttached]) {
|
|
71
79
|
RCTLog(
|
|
72
80
|
@"Crashlytics - WARNING: Debugger detected. Crashlytics will not receive crash reports.");
|
|
73
81
|
}
|
|
74
82
|
|
|
75
|
-
// https://firebase.google.com/docs/crashlytics/test-implementation?platform=ios recommends
|
|
76
|
-
// using "@[][1]" to crash, but that gets caught by react-native and shown as a red box for
|
|
77
|
-
// debug builds. Raise SIGSEGV here to generate a hard crash.
|
|
78
83
|
int *p = 0;
|
|
79
84
|
*p = 0;
|
|
80
85
|
} else {
|
|
@@ -82,10 +87,9 @@ RCT_EXPORT_METHOD(crash) {
|
|
|
82
87
|
}
|
|
83
88
|
}
|
|
84
89
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
: (RCTPromiseRejectBlock)reject) {
|
|
90
|
+
- (void)crashWithStackPromise:(JS::NativeRNFBTurboCrashlytics::JavaScriptErrorObject &)jsErrorDict
|
|
91
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
92
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
89
93
|
if ([RNFBCrashlyticsInitProvider isCrashlyticsCollectionEnabled]) {
|
|
90
94
|
if ([self isDebuggerAttached]) {
|
|
91
95
|
RCTLog(
|
|
@@ -93,9 +97,6 @@ RCT_EXPORT_METHOD(crashWithStackPromise
|
|
|
93
97
|
}
|
|
94
98
|
[self recordJavaScriptError:jsErrorDict];
|
|
95
99
|
|
|
96
|
-
// This is strongly discouraged by Apple as "it will appear as though your app has crashed".
|
|
97
|
-
// Coincidentally, we are *in* a crash handler and have logged a crash report.
|
|
98
|
-
// It seems like the one place calling exit cleanly is valid.
|
|
99
100
|
ELog(@"Crashlytics - Crash logged. Terminating app.");
|
|
100
101
|
exit(0);
|
|
101
102
|
} else {
|
|
@@ -104,42 +105,45 @@ RCT_EXPORT_METHOD(crashWithStackPromise
|
|
|
104
105
|
resolve([NSNull null]);
|
|
105
106
|
}
|
|
106
107
|
|
|
107
|
-
|
|
108
|
+
- (void)deleteUnsentReports:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject {
|
|
109
|
+
[[FIRCrashlytics crashlytics] deleteUnsentReports];
|
|
110
|
+
resolve([NSNull null]);
|
|
111
|
+
}
|
|
108
112
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
: (RCTPromiseRejectBlock)reject) {
|
|
113
|
+
- (void)didCrashOnPreviousExecution:(RCTPromiseResolveBlock)resolve
|
|
114
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
112
115
|
BOOL didCrash = [[FIRCrashlytics crashlytics] didCrashDuringPreviousExecution];
|
|
113
116
|
resolve([NSNumber numberWithBool:didCrash]);
|
|
114
117
|
}
|
|
115
118
|
|
|
116
|
-
|
|
119
|
+
- (void)log:(NSString *)message {
|
|
120
|
+
[[FIRCrashlytics crashlytics] log:message];
|
|
121
|
+
}
|
|
117
122
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
: (RCTPromiseRejectBlock)reject) {
|
|
123
|
+
- (void)logPromise:(NSString *)message
|
|
124
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
125
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
122
126
|
[[FIRCrashlytics crashlytics] log:message];
|
|
123
127
|
resolve([NSNull null]);
|
|
124
128
|
}
|
|
125
129
|
|
|
126
|
-
|
|
130
|
+
- (void)sendUnsentReports {
|
|
131
|
+
[[FIRCrashlytics crashlytics] sendUnsentReports];
|
|
132
|
+
}
|
|
127
133
|
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
: (RCTPromiseRejectBlock)reject) {
|
|
134
|
+
- (void)setAttribute:(NSString *)key
|
|
135
|
+
value:(NSString *)value
|
|
136
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
137
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
133
138
|
if ([RNFBCrashlyticsInitProvider isCrashlyticsCollectionEnabled]) {
|
|
134
139
|
[[FIRCrashlytics crashlytics] setCustomValue:value forKey:key];
|
|
135
140
|
}
|
|
136
141
|
resolve([NSNull null]);
|
|
137
142
|
}
|
|
138
143
|
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
: (RCTPromiseRejectBlock)reject) {
|
|
144
|
+
- (void)setAttributes:(NSDictionary *)attributes
|
|
145
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
146
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
143
147
|
if ([RNFBCrashlyticsInitProvider isCrashlyticsCollectionEnabled]) {
|
|
144
148
|
NSArray *keys = [attributes allKeys];
|
|
145
149
|
|
|
@@ -150,52 +154,48 @@ RCT_EXPORT_METHOD(setAttributes
|
|
|
150
154
|
resolve([NSNull null]);
|
|
151
155
|
}
|
|
152
156
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
: (RCTPromiseRejectBlock)reject) {
|
|
157
|
+
- (void)setUserId:(NSString *)userId
|
|
158
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
159
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
157
160
|
if ([RNFBCrashlyticsInitProvider isCrashlyticsCollectionEnabled]) {
|
|
158
161
|
[[FIRCrashlytics crashlytics] setUserID:userId];
|
|
159
162
|
}
|
|
160
163
|
resolve([NSNull null]);
|
|
161
164
|
}
|
|
162
165
|
|
|
163
|
-
|
|
166
|
+
- (void)recordError:(JS::NativeRNFBTurboCrashlytics::JavaScriptErrorObject &)jsErrorDict {
|
|
164
167
|
if ([RNFBCrashlyticsInitProvider isCrashlyticsCollectionEnabled]) {
|
|
165
168
|
[self recordJavaScriptError:jsErrorDict];
|
|
166
169
|
}
|
|
167
170
|
}
|
|
168
171
|
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
: (RCTPromiseRejectBlock)reject) {
|
|
172
|
+
- (void)recordErrorPromise:(JS::NativeRNFBTurboCrashlytics::JavaScriptErrorObject &)jsErrorDict
|
|
173
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
174
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
173
175
|
if ([RNFBCrashlyticsInitProvider isCrashlyticsCollectionEnabled]) {
|
|
174
176
|
[self recordJavaScriptError:jsErrorDict];
|
|
175
177
|
}
|
|
176
178
|
resolve([NSNull null]);
|
|
177
179
|
}
|
|
178
180
|
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
: (RCTPromiseRejectBlock)reject) {
|
|
181
|
+
- (void)setCrashlyticsCollectionEnabled:(BOOL)enabled
|
|
182
|
+
resolve:(RCTPromiseResolveBlock)resolve
|
|
183
|
+
reject:(RCTPromiseRejectBlock)reject {
|
|
183
184
|
[[RNFBPreferences shared] setBooleanValue:@"crashlytics_auto_collection_enabled"
|
|
184
185
|
boolValue:enabled];
|
|
185
186
|
resolve([NSNull null]);
|
|
186
187
|
}
|
|
187
188
|
|
|
188
|
-
- (void)recordJavaScriptError:(
|
|
189
|
-
NSString *message = jsErrorDict
|
|
190
|
-
|
|
189
|
+
- (void)recordJavaScriptError:(JS::NativeRNFBTurboCrashlytics::JavaScriptErrorObject &)jsErrorDict {
|
|
190
|
+
NSString *message = jsErrorDict.message();
|
|
191
|
+
auto stackFrames = jsErrorDict.frames();
|
|
191
192
|
NSMutableArray *stackTrace = [[NSMutableArray alloc] init];
|
|
192
|
-
BOOL isUnhandledPromiseRejection =
|
|
193
|
+
BOOL isUnhandledPromiseRejection = jsErrorDict.isUnhandledRejection();
|
|
193
194
|
|
|
194
|
-
for (
|
|
195
|
-
FIRStackFrame *customFrame =
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
line:(uint32_t)[stackFrame[@"line"] intValue]];
|
|
195
|
+
for (const auto &stackFrame : stackFrames) {
|
|
196
|
+
FIRStackFrame *customFrame = [FIRStackFrame stackFrameWithSymbol:stackFrame.fn()
|
|
197
|
+
file:stackFrame.file()
|
|
198
|
+
line:(uint32_t)stackFrame.line()];
|
|
199
199
|
[stackTrace addObject:customFrame];
|
|
200
200
|
}
|
|
201
201
|
|
|
@@ -211,14 +211,6 @@ RCT_EXPORT_METHOD(setCrashlyticsCollectionEnabled
|
|
|
211
211
|
[[FIRCrashlytics crashlytics] recordExceptionModel:exceptionModel];
|
|
212
212
|
}
|
|
213
213
|
|
|
214
|
-
/**
|
|
215
|
-
* Check if the debugger is attached
|
|
216
|
-
*
|
|
217
|
-
* Taken from
|
|
218
|
-
* https://github.com/plausiblelabs/plcrashreporter/blob/2dd862ce049e6f43feb355308dfc710f3af54c4d/Source/Crash%20Demo/main.m#L96
|
|
219
|
-
*
|
|
220
|
-
* @return `YES` if the debugger is attached to the current process, `NO` otherwise
|
|
221
|
-
*/
|
|
222
214
|
- (BOOL)isDebuggerAttached {
|
|
223
215
|
static BOOL debuggerIsAttached = NO;
|
|
224
216
|
|
|
@@ -231,7 +223,7 @@ RCT_EXPORT_METHOD(setCrashlyticsCollectionEnabled
|
|
|
231
223
|
name[0] = CTL_KERN;
|
|
232
224
|
name[1] = KERN_PROC;
|
|
233
225
|
name[2] = KERN_PROC_PID;
|
|
234
|
-
name[3] = getpid();
|
|
226
|
+
name[3] = getpid();
|
|
235
227
|
|
|
236
228
|
if (sysctl(name, 4, &info, &info_size, NULL, 0) == -1) {
|
|
237
229
|
ELog(@"Crashlytics ERROR: Checking for a running debugger via sysctl() failed: %s",
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
objects = {
|
|
8
8
|
|
|
9
9
|
/* Begin PBXBuildFile section */
|
|
10
|
-
2744B98621F45429004F8E3F /* RNFBCrashlyticsModule.
|
|
10
|
+
2744B98621F45429004F8E3F /* RNFBCrashlyticsModule.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2744B98521F45429004F8E3F /* RNFBCrashlyticsModule.mm */; };
|
|
11
11
|
2748D82422371C1C00FC8DC8 /* RNFBCrashlyticsInitProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = 2748D82322371C1C00FC8DC8 /* RNFBCrashlyticsInitProvider.m */; };
|
|
12
12
|
C66637BB25FA560700DCAA51 /* RNFBCrashlyticsNativeHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = C66637BA25FA560700DCAA51 /* RNFBCrashlyticsNativeHelper.m */; };
|
|
13
13
|
/* End PBXBuildFile section */
|
|
@@ -27,7 +27,7 @@
|
|
|
27
27
|
/* Begin PBXFileReference section */
|
|
28
28
|
2744B98221F45429004F8E3F /* libRNFBCrashlytics.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRNFBCrashlytics.a; sourceTree = BUILT_PRODUCTS_DIR; };
|
|
29
29
|
2744B98421F45429004F8E3F /* RNFBCrashlyticsModule.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RNFBCrashlyticsModule.h; path = RNFBCrashlytics/RNFBCrashlyticsModule.h; sourceTree = SOURCE_ROOT; };
|
|
30
|
-
2744B98521F45429004F8E3F /* RNFBCrashlyticsModule.
|
|
30
|
+
2744B98521F45429004F8E3F /* RNFBCrashlyticsModule.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = RNFBCrashlyticsModule.mm; path = RNFBCrashlytics/RNFBCrashlyticsModule.mm; sourceTree = SOURCE_ROOT; };
|
|
31
31
|
2748D82222371C0900FC8DC8 /* RNFBCrashlyticsInitProvider.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = RNFBCrashlyticsInitProvider.h; sourceTree = "<group>"; };
|
|
32
32
|
2748D82322371C1C00FC8DC8 /* RNFBCrashlyticsInitProvider.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNFBCrashlyticsInitProvider.m; sourceTree = "<group>"; };
|
|
33
33
|
C66637BA25FA560700DCAA51 /* RNFBCrashlyticsNativeHelper.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = RNFBCrashlyticsNativeHelper.m; sourceTree = "<group>"; };
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
isa = PBXGroup;
|
|
58
58
|
children = (
|
|
59
59
|
2744B98421F45429004F8E3F /* RNFBCrashlyticsModule.h */,
|
|
60
|
-
2744B98521F45429004F8E3F /* RNFBCrashlyticsModule.
|
|
60
|
+
2744B98521F45429004F8E3F /* RNFBCrashlyticsModule.mm */,
|
|
61
61
|
2748D82222371C0900FC8DC8 /* RNFBCrashlyticsInitProvider.h */,
|
|
62
62
|
2748D82322371C1C00FC8DC8 /* RNFBCrashlyticsInitProvider.m */,
|
|
63
63
|
C66637BD25FA561D00DCAA51 /* RNFBCrashlyticsNativeHelper.h */,
|
|
@@ -134,7 +134,7 @@
|
|
|
134
134
|
files = (
|
|
135
135
|
C66637BB25FA560700DCAA51 /* RNFBCrashlyticsNativeHelper.m in Sources */,
|
|
136
136
|
2748D82422371C1C00FC8DC8 /* RNFBCrashlyticsInitProvider.m in Sources */,
|
|
137
|
-
2744B98621F45429004F8E3F /* RNFBCrashlyticsModule.
|
|
137
|
+
2744B98621F45429004F8E3F /* RNFBCrashlyticsModule.mm in Sources */,
|
|
138
138
|
);
|
|
139
139
|
runOnlyForDeploymentPostprocessing = 0;
|
|
140
140
|
};
|
|
@@ -169,7 +169,7 @@
|
|
|
169
169
|
);
|
|
170
170
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
|
171
171
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
|
172
|
-
IPHONEOS_DEPLOYMENT_TARGET =
|
|
172
|
+
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
|
|
173
173
|
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
|
|
174
174
|
MTL_FAST_MATH = YES;
|
|
175
175
|
OTHER_LDFLAGS = "-ObjC";
|
|
@@ -203,7 +203,7 @@
|
|
|
203
203
|
GCC_C_LANGUAGE_STANDARD = gnu11;
|
|
204
204
|
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
|
|
205
205
|
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
|
|
206
|
-
IPHONEOS_DEPLOYMENT_TARGET =
|
|
206
|
+
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
|
|
207
207
|
MTL_ENABLE_DEBUG_INFO = NO;
|
|
208
208
|
MTL_FAST_MATH = YES;
|
|
209
209
|
OTHER_LDFLAGS = "-ObjC";
|
|
@@ -264,7 +264,7 @@
|
|
|
264
264
|
"$(SRCROOT)/../../../node_modules/react-native-firebase/ios/**",
|
|
265
265
|
"$(SRCROOT)/../../../packages/app/ios/**",
|
|
266
266
|
);
|
|
267
|
-
IPHONEOS_DEPLOYMENT_TARGET =
|
|
267
|
+
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
|
|
268
268
|
LIBRARY_SEARCH_PATHS = "$(inherited)";
|
|
269
269
|
MACH_O_TYPE = staticlib;
|
|
270
270
|
OTHER_LDFLAGS = "$(inherited)";
|
|
@@ -322,7 +322,7 @@
|
|
|
322
322
|
"$(SRCROOT)/../../../node_modules/react-native-firebase/ios/**",
|
|
323
323
|
"$(SRCROOT)/../../../packages/app/ios/**",
|
|
324
324
|
);
|
|
325
|
-
IPHONEOS_DEPLOYMENT_TARGET =
|
|
325
|
+
IPHONEOS_DEPLOYMENT_TARGET = 15.0;
|
|
326
326
|
LIBRARY_SEARCH_PATHS = "$(inherited)";
|
|
327
327
|
MACH_O_TYPE = staticlib;
|
|
328
328
|
ONLY_ACTIVE_ARCH = YES;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
#import <Foundation/Foundation.h>
|
|
10
|
+
|
|
11
|
+
#if __has_include(<React-RCTAppDelegate/RCTDependencyProvider.h>)
|
|
12
|
+
#import <React-RCTAppDelegate/RCTDependencyProvider.h>
|
|
13
|
+
#elif __has_include(<React_RCTAppDelegate/RCTDependencyProvider.h>)
|
|
14
|
+
#import <React_RCTAppDelegate/RCTDependencyProvider.h>
|
|
15
|
+
#else
|
|
16
|
+
#import "RCTDependencyProvider.h"
|
|
17
|
+
#endif
|
|
18
|
+
|
|
19
|
+
NS_ASSUME_NONNULL_BEGIN
|
|
20
|
+
|
|
21
|
+
@interface RCTAppDependencyProvider : NSObject <RCTDependencyProvider>
|
|
22
|
+
|
|
23
|
+
@end
|
|
24
|
+
|
|
25
|
+
NS_ASSUME_NONNULL_END
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
#import "RCTAppDependencyProvider.h"
|
|
9
|
+
#import <ReactCodegen/RCTModulesConformingToProtocolsProvider.h>
|
|
10
|
+
#import <ReactCodegen/RCTThirdPartyComponentsProvider.h>
|
|
11
|
+
|
|
12
|
+
@implementation RCTAppDependencyProvider {
|
|
13
|
+
NSArray<NSString *> * _URLRequestHandlerClassNames;
|
|
14
|
+
NSArray<NSString *> * _imageDataDecoderClassNames;
|
|
15
|
+
NSArray<NSString *> * _imageURLLoaderClassNames;
|
|
16
|
+
NSDictionary<NSString *,Class<RCTComponentViewProtocol>> * _thirdPartyFabricComponents;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
- (nonnull NSArray<NSString *> *)URLRequestHandlerClassNames {
|
|
20
|
+
static dispatch_once_t requestUrlToken;
|
|
21
|
+
dispatch_once(&requestUrlToken, ^{
|
|
22
|
+
self->_URLRequestHandlerClassNames = RCTModulesConformingToProtocolsProvider.URLRequestHandlerClassNames;
|
|
23
|
+
});
|
|
24
|
+
|
|
25
|
+
return _URLRequestHandlerClassNames;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
- (nonnull NSArray<NSString *> *)imageDataDecoderClassNames {
|
|
29
|
+
static dispatch_once_t dataDecoderToken;
|
|
30
|
+
dispatch_once(&dataDecoderToken, ^{
|
|
31
|
+
_imageDataDecoderClassNames = RCTModulesConformingToProtocolsProvider.imageDataDecoderClassNames;
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
return _imageDataDecoderClassNames;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
- (nonnull NSArray<NSString *> *)imageURLLoaderClassNames {
|
|
38
|
+
static dispatch_once_t urlLoaderToken;
|
|
39
|
+
dispatch_once(&urlLoaderToken, ^{
|
|
40
|
+
_imageURLLoaderClassNames = RCTModulesConformingToProtocolsProvider.imageURLLoaderClassNames;
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
return _imageURLLoaderClassNames;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
- (nonnull NSDictionary<NSString *,Class<RCTComponentViewProtocol>> *)thirdPartyFabricComponents {
|
|
47
|
+
static dispatch_once_t nativeComponentsToken;
|
|
48
|
+
dispatch_once(&nativeComponentsToken, ^{
|
|
49
|
+
_thirdPartyFabricComponents = RCTThirdPartyComponentsProvider.thirdPartyFabricComponents;
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
return _thirdPartyFabricComponents;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
@end
|