@sentry/react-native 5.0.0-alpha.9 → 5.0.0-beta.2

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.
Files changed (169) hide show
  1. package/CHANGELOG.md +153 -3
  2. package/README.md +1 -1
  3. package/RNSentry.podspec +5 -5
  4. package/android/build.gradle +1 -1
  5. package/android/src/main/java/io/sentry/react/RNSentryModuleImpl.java +133 -21
  6. package/android/src/newarch/java/io/sentry/react/RNSentryModule.java +10 -0
  7. package/android/src/oldarch/java/io/sentry/react/RNSentryModule.java +10 -0
  8. package/dist/js/NativeRNSentry.d.ts +37 -3
  9. package/dist/js/NativeRNSentry.d.ts.map +1 -1
  10. package/dist/js/NativeRNSentry.js.map +1 -1
  11. package/dist/js/breadcrumb.d.ts +11 -0
  12. package/dist/js/breadcrumb.d.ts.map +1 -0
  13. package/dist/js/breadcrumb.js +34 -0
  14. package/dist/js/breadcrumb.js.map +1 -0
  15. package/dist/js/client.d.ts +8 -5
  16. package/dist/js/client.d.ts.map +1 -1
  17. package/dist/js/client.js +36 -35
  18. package/dist/js/client.js.map +1 -1
  19. package/dist/js/index.d.ts +1 -0
  20. package/dist/js/index.d.ts.map +1 -1
  21. package/dist/js/index.js +1 -0
  22. package/dist/js/index.js.map +1 -1
  23. package/dist/js/integrations/debugsymbolicator.d.ts +1 -1
  24. package/dist/js/integrations/debugsymbolicator.d.ts.map +1 -1
  25. package/dist/js/integrations/debugsymbolicator.js.map +1 -1
  26. package/dist/js/integrations/devicecontext.d.ts +2 -2
  27. package/dist/js/integrations/devicecontext.d.ts.map +1 -1
  28. package/dist/js/integrations/devicecontext.js +45 -11
  29. package/dist/js/integrations/devicecontext.js.map +1 -1
  30. package/dist/js/integrations/eventorigin.d.ts +1 -1
  31. package/dist/js/integrations/eventorigin.d.ts.map +1 -1
  32. package/dist/js/integrations/eventorigin.js.map +1 -1
  33. package/dist/js/integrations/factory.d.ts +7 -0
  34. package/dist/js/integrations/factory.d.ts.map +1 -0
  35. package/dist/js/integrations/factory.js +11 -0
  36. package/dist/js/integrations/factory.js.map +1 -0
  37. package/dist/js/integrations/modulesloader.d.ts +1 -1
  38. package/dist/js/integrations/modulesloader.d.ts.map +1 -1
  39. package/dist/js/integrations/modulesloader.js +8 -2
  40. package/dist/js/integrations/modulesloader.js.map +1 -1
  41. package/dist/js/integrations/reactnativeerrorhandlers.d.ts +1 -1
  42. package/dist/js/integrations/reactnativeerrorhandlers.d.ts.map +1 -1
  43. package/dist/js/integrations/reactnativeerrorhandlers.js +4 -3
  44. package/dist/js/integrations/reactnativeerrorhandlers.js.map +1 -1
  45. package/dist/js/integrations/reactnativeinfo.d.ts +1 -1
  46. package/dist/js/integrations/reactnativeinfo.d.ts.map +1 -1
  47. package/dist/js/integrations/reactnativeinfo.js.map +1 -1
  48. package/dist/js/integrations/release.d.ts +1 -1
  49. package/dist/js/integrations/release.d.ts.map +1 -1
  50. package/dist/js/integrations/release.js.map +1 -1
  51. package/dist/js/integrations/screenshot.d.ts +23 -0
  52. package/dist/js/integrations/screenshot.d.ts.map +1 -0
  53. package/dist/js/integrations/screenshot.js +39 -0
  54. package/dist/js/integrations/screenshot.js.map +1 -0
  55. package/dist/js/integrations/sdkinfo.d.ts +1 -1
  56. package/dist/js/integrations/sdkinfo.d.ts.map +1 -1
  57. package/dist/js/integrations/sdkinfo.js.map +1 -1
  58. package/dist/js/integrations/viewhierarchy.d.ts +20 -0
  59. package/dist/js/integrations/viewhierarchy.d.ts.map +1 -0
  60. package/dist/js/integrations/viewhierarchy.js +50 -0
  61. package/dist/js/integrations/viewhierarchy.js.map +1 -0
  62. package/dist/js/measurements.d.ts +4 -0
  63. package/dist/js/measurements.d.ts.map +1 -1
  64. package/dist/js/measurements.js +11 -0
  65. package/dist/js/measurements.js.map +1 -1
  66. package/dist/js/misc.d.ts +1 -1
  67. package/dist/js/misc.d.ts.map +1 -1
  68. package/dist/js/misc.js.map +1 -1
  69. package/dist/js/options.d.ts +24 -11
  70. package/dist/js/options.d.ts.map +1 -1
  71. package/dist/js/options.js.map +1 -1
  72. package/dist/js/scope.d.ts +1 -1
  73. package/dist/js/scope.d.ts.map +1 -1
  74. package/dist/js/scope.js +4 -2
  75. package/dist/js/scope.js.map +1 -1
  76. package/dist/js/sdk.d.ts +4 -3
  77. package/dist/js/sdk.d.ts.map +1 -1
  78. package/dist/js/sdk.js +15 -6
  79. package/dist/js/sdk.js.map +1 -1
  80. package/dist/js/tools/ModulesCollector.d.ts +10 -1
  81. package/dist/js/tools/ModulesCollector.d.ts.map +1 -1
  82. package/dist/js/tools/ModulesCollector.js +51 -1
  83. package/dist/js/tools/ModulesCollector.js.map +1 -1
  84. package/dist/js/tools/collectModules.js +6 -27
  85. package/dist/js/tools/collectModules.js.map +1 -1
  86. package/dist/js/touchevents.d.ts +9 -0
  87. package/dist/js/touchevents.d.ts.map +1 -1
  88. package/dist/js/touchevents.js +23 -6
  89. package/dist/js/touchevents.js.map +1 -1
  90. package/dist/js/tracing/nativeframes.d.ts +2 -2
  91. package/dist/js/tracing/nativeframes.d.ts.map +1 -1
  92. package/dist/js/tracing/nativeframes.js.map +1 -1
  93. package/dist/js/tracing/reactnativenavigation.d.ts +5 -3
  94. package/dist/js/tracing/reactnativenavigation.d.ts.map +1 -1
  95. package/dist/js/tracing/reactnativenavigation.js +2 -1
  96. package/dist/js/tracing/reactnativenavigation.js.map +1 -1
  97. package/dist/js/tracing/reactnativeprofiler.d.ts +1 -0
  98. package/dist/js/tracing/reactnativeprofiler.d.ts.map +1 -1
  99. package/dist/js/tracing/reactnativeprofiler.js +7 -0
  100. package/dist/js/tracing/reactnativeprofiler.js.map +1 -1
  101. package/dist/js/tracing/reactnativetracing.d.ts +5 -5
  102. package/dist/js/tracing/reactnativetracing.d.ts.map +1 -1
  103. package/dist/js/tracing/reactnativetracing.js +1 -1
  104. package/dist/js/tracing/reactnativetracing.js.map +1 -1
  105. package/dist/js/tracing/reactnavigation.d.ts +4 -2
  106. package/dist/js/tracing/reactnavigation.d.ts.map +1 -1
  107. package/dist/js/tracing/reactnavigation.js +2 -1
  108. package/dist/js/tracing/reactnavigation.js.map +1 -1
  109. package/dist/js/tracing/reactnavigationv4.d.ts +5 -3
  110. package/dist/js/tracing/reactnavigationv4.d.ts.map +1 -1
  111. package/dist/js/tracing/reactnavigationv4.js +2 -1
  112. package/dist/js/tracing/reactnavigationv4.js.map +1 -1
  113. package/dist/js/tracing/routingInstrumentation.d.ts +8 -3
  114. package/dist/js/tracing/routingInstrumentation.d.ts.map +1 -1
  115. package/dist/js/tracing/routingInstrumentation.js +3 -0
  116. package/dist/js/tracing/routingInstrumentation.js.map +1 -1
  117. package/dist/js/tracing/stalltracking.d.ts +2 -2
  118. package/dist/js/tracing/stalltracking.d.ts.map +1 -1
  119. package/dist/js/tracing/stalltracking.js.map +1 -1
  120. package/dist/js/tracing/types.d.ts +1 -1
  121. package/dist/js/tracing/types.d.ts.map +1 -1
  122. package/dist/js/tracing/types.js.map +1 -1
  123. package/dist/js/tracing/utils.d.ts +2 -2
  124. package/dist/js/tracing/utils.d.ts.map +1 -1
  125. package/dist/js/tracing/utils.js.map +1 -1
  126. package/dist/js/transports/TextEncoder.d.ts +1 -1
  127. package/dist/js/transports/TextEncoder.d.ts.map +1 -1
  128. package/dist/js/transports/TextEncoder.js.map +1 -1
  129. package/dist/js/transports/native.d.ts +7 -3
  130. package/dist/js/transports/native.d.ts.map +1 -1
  131. package/dist/js/transports/native.js +10 -1
  132. package/dist/js/transports/native.js.map +1 -1
  133. package/dist/js/user.d.ts +1 -1
  134. package/dist/js/user.d.ts.map +1 -1
  135. package/dist/js/user.js.map +1 -1
  136. package/dist/js/utils/envelope.d.ts +1 -1
  137. package/dist/js/utils/envelope.d.ts.map +1 -1
  138. package/dist/js/utils/envelope.js.map +1 -1
  139. package/dist/js/utils/ignorerequirecyclelogs.d.ts +6 -0
  140. package/dist/js/utils/ignorerequirecyclelogs.d.ts.map +1 -0
  141. package/dist/js/utils/ignorerequirecyclelogs.js +15 -0
  142. package/dist/js/utils/ignorerequirecyclelogs.js.map +1 -0
  143. package/dist/js/utils/outcome.d.ts +1 -1
  144. package/dist/js/utils/outcome.d.ts.map +1 -1
  145. package/dist/js/utils/outcome.js.map +1 -1
  146. package/dist/js/utils/safe.d.ts +1 -1
  147. package/dist/js/utils/safe.d.ts.map +1 -1
  148. package/dist/js/utils/safe.js.map +1 -1
  149. package/dist/js/utils/worldwide.d.ts +1 -1
  150. package/dist/js/utils/worldwide.d.ts.map +1 -1
  151. package/dist/js/utils/worldwide.js.map +1 -1
  152. package/dist/js/version.d.ts +1 -1
  153. package/dist/js/version.d.ts.map +1 -1
  154. package/dist/js/version.js +1 -1
  155. package/dist/js/version.js.map +1 -1
  156. package/dist/js/wrapper.d.ts +10 -3
  157. package/dist/js/wrapper.d.ts.map +1 -1
  158. package/dist/js/wrapper.js +42 -6
  159. package/dist/js/wrapper.js.map +1 -1
  160. package/ios/RNSentry.h +5 -0
  161. package/ios/RNSentry.mm +94 -49
  162. package/package.json +24 -23
  163. package/sample-new-architecture/react-native.config.js +3 -1
  164. package/scripts/collect-modules.sh +12 -1
  165. package/sentry.gradle +46 -15
  166. package/src/js/NativeRNSentry.ts +39 -3
  167. package/ios/RNSentry.xcodeproj/project.pbxproj +0 -472
  168. package/ios/RNSentry.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
  169. package/ios/RNSentry.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +0 -8
@@ -24,6 +24,10 @@ if [[ -z "$DERIVED_FILE_DIR" ]]; then
24
24
  fi
25
25
 
26
26
  nodePath="node"
27
+ if [[ -n "$NODE_BINARY" ]]; then
28
+ nodePath="$NODE_BINARY"
29
+ fi
30
+
27
31
  thisFilePath=$(dirname $0)
28
32
  collectModulesScript="$thisFilePath/../dist/js/tools/collectModules.js"
29
33
 
@@ -40,4 +44,11 @@ else
40
44
  modulesPaths="$MODULES_PATHS"
41
45
  fi
42
46
 
43
- $nodePath $collectModulesScript $sourceMap $modulesOutput $modulesPaths
47
+ type $nodePath >/dev/null 2>&1 || {
48
+ echo >&2 "error: $nodePath not found! Modules won't be collected." \
49
+ "Please export NODE_BINARY in 'Build Phase' - 'Bundle React Native code and images'" \
50
+ "to an absolute path of your node binary. Check your node path by 'which node'."
51
+ exit 0 # Don't fail the build but inform about the problem
52
+ }
53
+
54
+ $nodePath "$collectModulesScript" "$sourceMap" "$modulesOutput" "$modulesPaths"
package/sentry.gradle CHANGED
@@ -34,13 +34,16 @@ gradle.projectsEvaluated {
34
34
  // separately we then hook into the bundle task of react native to inject
35
35
  // sourcemap generation parameters. In case for whatever reason no release
36
36
  // was found for the asset folder we just bail.
37
- def bundleTasks = tasks.findAll { task -> task.name.startsWith("bundle") && task.name.endsWith("JsAndAssets") && !task.name.contains("Debug") && task.enabled }
37
+ def bundleTasks = tasks.findAll { task -> (task.name.startsWith("createBundle") || task.name.startsWith("bundle")) && task.name.endsWith("JsAndAssets") && !task.name.contains("Debug") && task.enabled }
38
38
  bundleTasks.each { bundleTask ->
39
39
  def shouldCleanUp
40
40
  def sourcemapOutput
41
41
  def bundleOutput
42
42
  def props = bundleTask.getProperties()
43
43
  def reactRoot = props.get("workingDir")
44
+ if (reactRoot == null) {
45
+ reactRoot = props.get("root").get() // RN 0.71 and above
46
+ }
44
47
  def modulesOutput = "$reactRoot/android/app/src/main/assets/modules.json"
45
48
  def modulesTask = null
46
49
 
@@ -194,19 +197,24 @@ gradle.projectsEvaluated {
194
197
  }
195
198
  previousCliTask = cliTask
196
199
  cliTask.finalizedBy modulesTask
200
+ }
197
201
 
198
- def modulesCleanUpTask = tasks.create(name: nameModulesCleanup, type: Delete) {
199
- description = "clean up collected modules generated file"
200
- group = 'sentry.io'
202
+ def modulesCleanUpTask = tasks.create(name: nameModulesCleanup, type: Delete) {
203
+ description = "clean up collected modules generated file"
204
+ group = 'sentry.io'
201
205
 
202
- delete modulesOutput
203
- }
206
+ delete modulesOutput
207
+ }
204
208
 
205
- def packageTasks = tasks.findAll { task -> "package${variant}".equalsIgnoreCase(task.name) && task.enabled }
206
- packageTasks.each { packageTask ->
207
- packageTask.dependsOn modulesTask
208
- packageTask.finalizedBy modulesCleanUpTask
209
- }
209
+ def variantTaskName = variant.replaceAll("[\\s\\-()]", "") // variant is dev-release beta-release etc.
210
+ // task.name could be packageDev-debugRelease but in that case currentVariants == null
211
+ // because of the regex in `extractCurrentVariants` and this code doesn't run
212
+ def packageTasks = tasks.findAll {
213
+ task -> "package${variantTaskName}".equalsIgnoreCase(task.name) && task.enabled
214
+ }
215
+ packageTasks.each { packageTask ->
216
+ packageTask.dependsOn modulesTask
217
+ packageTask.finalizedBy modulesCleanUpTask
210
218
  }
211
219
 
212
220
  /** Delete sourcemap files */
@@ -251,7 +259,7 @@ def extractReleasesInfo() {
251
259
  }
252
260
 
253
261
  /** Extract from arguments collection bundle and sourcemap files output names. */
254
- static extractBundleTaskArguments(cmdArgs, Project project) {
262
+ static extractBundleTaskArgumentsLegacy(cmdArgs, Project project) {
255
263
  def bundleOutput = null
256
264
  def sourcemapOutput = null
257
265
 
@@ -295,6 +303,26 @@ static extractBundleTaskArguments(cmdArgs, Project project) {
295
303
  return [bundleOutput, sourcemapOutput]
296
304
  }
297
305
 
306
+ /** Extract bundle and sourcemap paths from bundle task props.
307
+ * Based on https://github.dev/facebook/react-native/blob/473eb1dd870a4f62c4ebcba27e12bde1e99e3d07/packages/react-native-gradle-plugin/src/main/kotlin/com/facebook/react/tasks/BundleHermesCTask.kt#L109
308
+ * Output source map path is the same for both Hermes and JSC.
309
+ */
310
+ static extractBundleTaskArgumentsRN71AndAbove(bundleTask, logger) {
311
+ def props = bundleTask.getProperties()
312
+ def bundleAssetName = props.bundleAssetName?.get()
313
+
314
+ if (bundleAssetName == null) {
315
+ return [null, null]
316
+ }
317
+
318
+ def bundleFile = new File(props.jsBundleDir.get().asFile.absolutePath, bundleAssetName)
319
+ def outputSourceMap = new File(props.jsSourceMapsDir.get().asFile.absolutePath, "${bundleAssetName}.map")
320
+
321
+ logger.info("bundleFile: `${bundleFile}`")
322
+ logger.info("outputSourceMap: `${outputSourceMap}`")
323
+ return [bundleFile, outputSourceMap]
324
+ }
325
+
298
326
  /** Force Bundle task to produce sourcemap files if they are not pre-configured by user yet. */
299
327
  def forceSourceMapOutputFromBundleTask(bundleTask) {
300
328
  def props = bundleTask.getProperties()
@@ -304,7 +332,10 @@ def forceSourceMapOutputFromBundleTask(bundleTask) {
304
332
  def bundleOutput = null
305
333
  def sourcemapOutput = null
306
334
 
307
- (bundleOutput, sourcemapOutput) = extractBundleTaskArguments(cmdArgs, project)
335
+ (bundleOutput, sourcemapOutput) = extractBundleTaskArgumentsRN71AndAbove(bundleTask, logger)
336
+ if (bundleOutput == null) {
337
+ (bundleOutput, sourcemapOutput) = extractBundleTaskArgumentsLegacy(cmdArgs, project)
338
+ }
308
339
 
309
340
  if (sourcemapOutput == null) {
310
341
  sourcemapOutput = bundleOutput + ".map"
@@ -327,8 +358,8 @@ def forceSourceMapOutputFromBundleTask(bundleTask) {
327
358
 
328
359
  /** compose array with one item - current build flavor name */
329
360
  static extractCurrentVariants(bundleTask, releases) {
330
- // examples: bundleLocalReleaseJsAndAssets, bundleYellowDebugJsAndAssets
331
- def pattern = Pattern.compile("bundle([A-Z][A-Za-z0-9_]+)JsAndAssets")
361
+ // examples: bundleLocalReleaseJsAndAssets, createBundleYellowDebugJsAndAssets
362
+ def pattern = Pattern.compile("(?:create)?(?:B|b)undle([A-Z][A-Za-z0-9_]+)JsAndAssets")
332
363
 
333
364
  def currentRelease = ""
334
365
 
@@ -1,5 +1,6 @@
1
- import { Package } from '@sentry/types';
2
- import { TurboModule, TurboModuleRegistry } from 'react-native';
1
+ import type { Package } from '@sentry/types';
2
+ import type { TurboModule} from 'react-native';
3
+ import { TurboModuleRegistry } from 'react-native';
3
4
  import type { UnsafeObject } from 'react-native/Libraries/Types/CodegenTypes';
4
5
 
5
6
  // There has to be only one interface and it has to be named `Spec`
@@ -12,6 +13,7 @@ export interface Spec extends TurboModule {
12
13
  store: boolean,
13
14
  },
14
15
  ): Promise<boolean>;
16
+ captureScreenshot(): Promise<NativeScreenshot[]>;
15
17
  clearBreadcrumbs(): void;
16
18
  crash(): void;
17
19
  closeNativeSdk(): Promise<void>;
@@ -31,6 +33,7 @@ export interface Spec extends TurboModule {
31
33
  setTag(key: string, value: string): void;
32
34
  enableNativeFramesTracking(): void;
33
35
  fetchModules(): Promise<string | undefined | null>;
36
+ fetchViewHierarchy(): Promise<number[] | undefined | null>;
34
37
  }
35
38
 
36
39
  export type NativeAppStartResponse = {
@@ -51,9 +54,42 @@ export type NativeReleaseResponse = {
51
54
  version: string;
52
55
  };
53
56
 
57
+ /**
58
+ * This type describes serialized scope from sentry-cocoa. (This is not used for Android)
59
+ * https://github.com/getsentry/sentry-cocoa/blob/master/Sources/Sentry/SentryScope.m
60
+ */
54
61
  export type NativeDeviceContextsResponse = {
55
- [key: string]: Record<string, unknown>;
62
+ [key: string]: unknown;
63
+ tags?: Record<string, string>;
64
+ extra?: Record<string, unknown>;
65
+ context?: Record<string, Record<string, unknown>>;
66
+ user?: {
67
+ userId?: string;
68
+ email?: string;
69
+ username?: string;
70
+ ipAddress?: string;
71
+ segment?: string;
72
+ data?: Record<string, unknown>;
73
+ };
74
+ dist?: string;
75
+ environment?: string;
76
+ fingerprint?: string[];
77
+ level?: string;
78
+ breadcrumbs?: {
79
+ level?: string;
80
+ timestamp?: string;
81
+ category?: string;
82
+ type?: string;
83
+ message?: string;
84
+ data?: Record<string, unknown>;
85
+ }[];
56
86
  };
57
87
 
88
+ export type NativeScreenshot = {
89
+ data: number[];
90
+ contentType: string;
91
+ filename: string;
92
+ }
93
+
58
94
  // The export must be here to pass codegen even if not used
59
95
  export default TurboModuleRegistry.getEnforcing<Spec>('RNSentry');
@@ -1,472 +0,0 @@
1
- // !$*UTF8*$!
2
- {
3
- archiveVersion = 1;
4
- classes = {
5
- };
6
- objectVersion = 46;
7
- objects = {
8
-
9
- /* Begin PBXBuildFile section */
10
- 274692BA21B4414400BF91A8 /* RNSentry.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E7B5891CC2AC0600A0062D /* RNSentry.m */; };
11
- 274692BD21B4414400BF91A8 /* libSentryStatic.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6387B8561ED8520D0045A84C /* libSentryStatic.a */; };
12
- 274692BF21B4414400BF91A8 /* RNSentry.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = B3E7B5881CC2AC0600A0062D /* RNSentry.h */; };
13
- 6350257B1E1E845F00408AE7 /* RNSentry.h in Copy Headers */ = {isa = PBXBuildFile; fileRef = B3E7B5881CC2AC0600A0062D /* RNSentry.h */; };
14
- 6387B8591ED8521B0045A84C /* libSentryStatic.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6387B8561ED8520D0045A84C /* libSentryStatic.a */; };
15
- B3E7B58A1CC2AC0600A0062D /* RNSentry.m in Sources */ = {isa = PBXBuildFile; fileRef = B3E7B5891CC2AC0600A0062D /* RNSentry.m */; };
16
- /* End PBXBuildFile section */
17
-
18
- /* Begin PBXContainerItemProxy section */
19
- 274692B821B4414400BF91A8 /* PBXContainerItemProxy */ = {
20
- isa = PBXContainerItemProxy;
21
- containerPortal = 6387B8441ED8520D0045A84C /* Sentry.xcodeproj */;
22
- proxyType = 1;
23
- remoteGlobalIDString = 6387B7C11ED84F910045A84C;
24
- remoteInfo = SentryStatic;
25
- };
26
- 6387B84D1ED8520D0045A84C /* PBXContainerItemProxy */ = {
27
- isa = PBXContainerItemProxy;
28
- containerPortal = 6387B8441ED8520D0045A84C /* Sentry.xcodeproj */;
29
- proxyType = 2;
30
- remoteGlobalIDString = 63AA759B1EB8AEF500D153DE;
31
- remoteInfo = Sentry;
32
- };
33
- 6387B84F1ED8520D0045A84C /* PBXContainerItemProxy */ = {
34
- isa = PBXContainerItemProxy;
35
- containerPortal = 6387B8441ED8520D0045A84C /* Sentry.xcodeproj */;
36
- proxyType = 2;
37
- remoteGlobalIDString = 63AA76651EB8CB2F00D153DE;
38
- remoteInfo = SentryTests;
39
- };
40
- 6387B8551ED8520D0045A84C /* PBXContainerItemProxy */ = {
41
- isa = PBXContainerItemProxy;
42
- containerPortal = 6387B8441ED8520D0045A84C /* Sentry.xcodeproj */;
43
- proxyType = 2;
44
- remoteGlobalIDString = 6387B7C21ED84F910045A84C;
45
- remoteInfo = SentryStatic;
46
- };
47
- 6387B8571ED852170045A84C /* PBXContainerItemProxy */ = {
48
- isa = PBXContainerItemProxy;
49
- containerPortal = 6387B8441ED8520D0045A84C /* Sentry.xcodeproj */;
50
- proxyType = 1;
51
- remoteGlobalIDString = 6387B7C11ED84F910045A84C;
52
- remoteInfo = SentryStatic;
53
- };
54
- /* End PBXContainerItemProxy section */
55
-
56
- /* Begin PBXCopyFilesBuildPhase section */
57
- 274692BE21B4414400BF91A8 /* Copy Headers */ = {
58
- isa = PBXCopyFilesBuildPhase;
59
- buildActionMask = 2147483647;
60
- dstPath = include/React;
61
- dstSubfolderSpec = 16;
62
- files = (
63
- 274692BF21B4414400BF91A8 /* RNSentry.h in Copy Headers */,
64
- );
65
- name = "Copy Headers";
66
- runOnlyForDeploymentPostprocessing = 0;
67
- };
68
- 6350257A1E1E845100408AE7 /* Copy Headers */ = {
69
- isa = PBXCopyFilesBuildPhase;
70
- buildActionMask = 2147483647;
71
- dstPath = include/React;
72
- dstSubfolderSpec = 16;
73
- files = (
74
- 6350257B1E1E845F00408AE7 /* RNSentry.h in Copy Headers */,
75
- );
76
- name = "Copy Headers";
77
- runOnlyForDeploymentPostprocessing = 0;
78
- };
79
- /* End PBXCopyFilesBuildPhase section */
80
-
81
- /* Begin PBXFileReference section */
82
- 134814201AA4EA6300B7C361 /* libRNSentry.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libRNSentry.a; sourceTree = BUILT_PRODUCTS_DIR; };
83
- 274692C321B4414400BF91A8 /* libRNSentry-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libRNSentry-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; };
84
- 6387B7971ED84BA70045A84C /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
85
- 6387B8441ED8520D0045A84C /* Sentry.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Sentry.xcodeproj; path = Sentry/Sentry.xcodeproj; sourceTree = "<group>"; };
86
- B3E7B5881CC2AC0600A0062D /* RNSentry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RNSentry.h; sourceTree = "<group>"; };
87
- B3E7B5891CC2AC0600A0062D /* RNSentry.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RNSentry.m; sourceTree = "<group>"; };
88
- /* End PBXFileReference section */
89
-
90
- /* Begin PBXFrameworksBuildPhase section */
91
- 274692BC21B4414400BF91A8 /* Frameworks */ = {
92
- isa = PBXFrameworksBuildPhase;
93
- buildActionMask = 2147483647;
94
- files = (
95
- 274692BD21B4414400BF91A8 /* libSentryStatic.a in Frameworks */,
96
- );
97
- runOnlyForDeploymentPostprocessing = 0;
98
- };
99
- 58B511D81A9E6C8500147676 /* Frameworks */ = {
100
- isa = PBXFrameworksBuildPhase;
101
- buildActionMask = 2147483647;
102
- files = (
103
- 6387B8591ED8521B0045A84C /* libSentryStatic.a in Frameworks */,
104
- );
105
- runOnlyForDeploymentPostprocessing = 0;
106
- };
107
- /* End PBXFrameworksBuildPhase section */
108
-
109
- /* Begin PBXGroup section */
110
- 134814211AA4EA7D00B7C361 /* Products */ = {
111
- isa = PBXGroup;
112
- children = (
113
- 134814201AA4EA6300B7C361 /* libRNSentry.a */,
114
- 274692C321B4414400BF91A8 /* libRNSentry-tvOS.a */,
115
- );
116
- name = Products;
117
- sourceTree = "<group>";
118
- };
119
- 58B511D21A9E6C8500147676 = {
120
- isa = PBXGroup;
121
- children = (
122
- 632232581E76C45800F58A1F /* Libraries */,
123
- B3E7B5881CC2AC0600A0062D /* RNSentry.h */,
124
- B3E7B5891CC2AC0600A0062D /* RNSentry.m */,
125
- 134814211AA4EA7D00B7C361 /* Products */,
126
- 6387B7961ED84BA70045A84C /* Frameworks */,
127
- );
128
- sourceTree = "<group>";
129
- };
130
- 632232581E76C45800F58A1F /* Libraries */ = {
131
- isa = PBXGroup;
132
- children = (
133
- 6387B8441ED8520D0045A84C /* Sentry.xcodeproj */,
134
- );
135
- name = Libraries;
136
- sourceTree = "<group>";
137
- };
138
- 6387B7961ED84BA70045A84C /* Frameworks */ = {
139
- isa = PBXGroup;
140
- children = (
141
- 6387B7971ED84BA70045A84C /* libz.tbd */,
142
- );
143
- name = Frameworks;
144
- sourceTree = "<group>";
145
- };
146
- 6387B8451ED8520D0045A84C /* Products */ = {
147
- isa = PBXGroup;
148
- children = (
149
- 6387B84E1ED8520D0045A84C /* Sentry.framework */,
150
- 6387B8501ED8520D0045A84C /* SentryTests.xctest */,
151
- 6387B8561ED8520D0045A84C /* libSentryStatic.a */,
152
- );
153
- name = Products;
154
- sourceTree = "<group>";
155
- };
156
- /* End PBXGroup section */
157
-
158
- /* Begin PBXNativeTarget section */
159
- 274692B621B4414400BF91A8 /* RNSentry-tvOS */ = {
160
- isa = PBXNativeTarget;
161
- buildConfigurationList = 274692C021B4414400BF91A8 /* Build configuration list for PBXNativeTarget "RNSentry-tvOS" */;
162
- buildPhases = (
163
- 274692B921B4414400BF91A8 /* Sources */,
164
- 274692BC21B4414400BF91A8 /* Frameworks */,
165
- 274692BE21B4414400BF91A8 /* Copy Headers */,
166
- );
167
- buildRules = (
168
- );
169
- dependencies = (
170
- 274692B721B4414400BF91A8 /* PBXTargetDependency */,
171
- );
172
- name = "RNSentry-tvOS";
173
- productName = RCTDataManager;
174
- productReference = 274692C321B4414400BF91A8 /* libRNSentry-tvOS.a */;
175
- productType = "com.apple.product-type.library.static";
176
- };
177
- 58B511DA1A9E6C8500147676 /* RNSentry */ = {
178
- isa = PBXNativeTarget;
179
- buildConfigurationList = 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "RNSentry" */;
180
- buildPhases = (
181
- 58B511D71A9E6C8500147676 /* Sources */,
182
- 58B511D81A9E6C8500147676 /* Frameworks */,
183
- 6350257A1E1E845100408AE7 /* Copy Headers */,
184
- );
185
- buildRules = (
186
- );
187
- dependencies = (
188
- 6387B8581ED852170045A84C /* PBXTargetDependency */,
189
- );
190
- name = RNSentry;
191
- productName = RCTDataManager;
192
- productReference = 134814201AA4EA6300B7C361 /* libRNSentry.a */;
193
- productType = "com.apple.product-type.library.static";
194
- };
195
- /* End PBXNativeTarget section */
196
-
197
- /* Begin PBXProject section */
198
- 58B511D31A9E6C8500147676 /* Project object */ = {
199
- isa = PBXProject;
200
- attributes = {
201
- LastUpgradeCheck = 0610;
202
- ORGANIZATIONNAME = Facebook;
203
- TargetAttributes = {
204
- 58B511DA1A9E6C8500147676 = {
205
- CreatedOnToolsVersion = 6.1.1;
206
- };
207
- };
208
- };
209
- buildConfigurationList = 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "RNSentry" */;
210
- compatibilityVersion = "Xcode 3.2";
211
- developmentRegion = English;
212
- hasScannedForEncodings = 0;
213
- knownRegions = (
214
- English,
215
- en,
216
- );
217
- mainGroup = 58B511D21A9E6C8500147676;
218
- productRefGroup = 58B511D21A9E6C8500147676;
219
- projectDirPath = "";
220
- projectReferences = (
221
- {
222
- ProductGroup = 6387B8451ED8520D0045A84C /* Products */;
223
- ProjectRef = 6387B8441ED8520D0045A84C /* Sentry.xcodeproj */;
224
- },
225
- );
226
- projectRoot = "";
227
- targets = (
228
- 58B511DA1A9E6C8500147676 /* RNSentry */,
229
- 274692B621B4414400BF91A8 /* RNSentry-tvOS */,
230
- );
231
- };
232
- /* End PBXProject section */
233
-
234
- /* Begin PBXReferenceProxy section */
235
- 6387B84E1ED8520D0045A84C /* Sentry.framework */ = {
236
- isa = PBXReferenceProxy;
237
- fileType = wrapper.framework;
238
- path = Sentry.framework;
239
- remoteRef = 6387B84D1ED8520D0045A84C /* PBXContainerItemProxy */;
240
- sourceTree = BUILT_PRODUCTS_DIR;
241
- };
242
- 6387B8501ED8520D0045A84C /* SentryTests.xctest */ = {
243
- isa = PBXReferenceProxy;
244
- fileType = wrapper.cfbundle;
245
- path = SentryTests.xctest;
246
- remoteRef = 6387B84F1ED8520D0045A84C /* PBXContainerItemProxy */;
247
- sourceTree = BUILT_PRODUCTS_DIR;
248
- };
249
- 6387B8561ED8520D0045A84C /* libSentryStatic.a */ = {
250
- isa = PBXReferenceProxy;
251
- fileType = archive.ar;
252
- path = libSentryStatic.a;
253
- remoteRef = 6387B8551ED8520D0045A84C /* PBXContainerItemProxy */;
254
- sourceTree = BUILT_PRODUCTS_DIR;
255
- };
256
- /* End PBXReferenceProxy section */
257
-
258
- /* Begin PBXSourcesBuildPhase section */
259
- 274692B921B4414400BF91A8 /* Sources */ = {
260
- isa = PBXSourcesBuildPhase;
261
- buildActionMask = 2147483647;
262
- files = (
263
- 274692BA21B4414400BF91A8 /* RNSentry.m in Sources */,
264
- );
265
- runOnlyForDeploymentPostprocessing = 0;
266
- };
267
- 58B511D71A9E6C8500147676 /* Sources */ = {
268
- isa = PBXSourcesBuildPhase;
269
- buildActionMask = 2147483647;
270
- files = (
271
- B3E7B58A1CC2AC0600A0062D /* RNSentry.m in Sources */,
272
- );
273
- runOnlyForDeploymentPostprocessing = 0;
274
- };
275
- /* End PBXSourcesBuildPhase section */
276
-
277
- /* Begin PBXTargetDependency section */
278
- 274692B721B4414400BF91A8 /* PBXTargetDependency */ = {
279
- isa = PBXTargetDependency;
280
- name = SentryStatic;
281
- targetProxy = 274692B821B4414400BF91A8 /* PBXContainerItemProxy */;
282
- };
283
- 6387B8581ED852170045A84C /* PBXTargetDependency */ = {
284
- isa = PBXTargetDependency;
285
- name = SentryStatic;
286
- targetProxy = 6387B8571ED852170045A84C /* PBXContainerItemProxy */;
287
- };
288
- /* End PBXTargetDependency section */
289
-
290
- /* Begin XCBuildConfiguration section */
291
- 274692C121B4414400BF91A8 /* Debug */ = {
292
- isa = XCBuildConfiguration;
293
- buildSettings = {
294
- FRAMEWORK_SEARCH_PATHS = (
295
- "$(inherited)",
296
- "$(PROJECT_DIR)",
297
- );
298
- HEADER_SEARCH_PATHS = (
299
- "$(inherited)",
300
- "$(SRCROOT)/../../react-native/React/**",
301
- );
302
- LIBRARY_SEARCH_PATHS = "$(inherited)";
303
- OTHER_LDFLAGS = "-ObjC";
304
- PRODUCT_NAME = "$(TARGET_NAME)";
305
- SDKROOT = appletvos;
306
- SKIP_INSTALL = YES;
307
- };
308
- name = Debug;
309
- };
310
- 274692C221B4414400BF91A8 /* Release */ = {
311
- isa = XCBuildConfiguration;
312
- buildSettings = {
313
- FRAMEWORK_SEARCH_PATHS = (
314
- "$(inherited)",
315
- "$(PROJECT_DIR)",
316
- );
317
- HEADER_SEARCH_PATHS = (
318
- "$(inherited)",
319
- "$(SRCROOT)/../../react-native/React/**",
320
- );
321
- LIBRARY_SEARCH_PATHS = "$(inherited)";
322
- OTHER_LDFLAGS = "-ObjC";
323
- PRODUCT_NAME = "$(TARGET_NAME)";
324
- SDKROOT = appletvos;
325
- SKIP_INSTALL = YES;
326
- };
327
- name = Release;
328
- };
329
- 58B511ED1A9E6C8500147676 /* Debug */ = {
330
- isa = XCBuildConfiguration;
331
- buildSettings = {
332
- ALWAYS_SEARCH_USER_PATHS = NO;
333
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
334
- CLANG_CXX_LIBRARY = "libc++";
335
- CLANG_ENABLE_MODULES = YES;
336
- CLANG_ENABLE_OBJC_ARC = YES;
337
- CLANG_WARN_BOOL_CONVERSION = YES;
338
- CLANG_WARN_CONSTANT_CONVERSION = YES;
339
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
340
- CLANG_WARN_EMPTY_BODY = YES;
341
- CLANG_WARN_ENUM_CONVERSION = YES;
342
- CLANG_WARN_INT_CONVERSION = YES;
343
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
344
- CLANG_WARN_UNREACHABLE_CODE = YES;
345
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
346
- COPY_PHASE_STRIP = NO;
347
- ENABLE_STRICT_OBJC_MSGSEND = YES;
348
- GCC_C_LANGUAGE_STANDARD = gnu99;
349
- GCC_DYNAMIC_NO_PIC = NO;
350
- GCC_OPTIMIZATION_LEVEL = 0;
351
- GCC_PREPROCESSOR_DEFINITIONS = (
352
- "DEBUG=1",
353
- "$(inherited)",
354
- );
355
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
356
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
357
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
358
- GCC_WARN_UNDECLARED_SELECTOR = YES;
359
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
360
- GCC_WARN_UNUSED_FUNCTION = YES;
361
- GCC_WARN_UNUSED_VARIABLE = YES;
362
- IPHONEOS_DEPLOYMENT_TARGET = 7.0;
363
- MTL_ENABLE_DEBUG_INFO = YES;
364
- ONLY_ACTIVE_ARCH = YES;
365
- SDKROOT = iphoneos;
366
- };
367
- name = Debug;
368
- };
369
- 58B511EE1A9E6C8500147676 /* Release */ = {
370
- isa = XCBuildConfiguration;
371
- buildSettings = {
372
- ALWAYS_SEARCH_USER_PATHS = NO;
373
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
374
- CLANG_CXX_LIBRARY = "libc++";
375
- CLANG_ENABLE_MODULES = YES;
376
- CLANG_ENABLE_OBJC_ARC = YES;
377
- CLANG_WARN_BOOL_CONVERSION = YES;
378
- CLANG_WARN_CONSTANT_CONVERSION = YES;
379
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
380
- CLANG_WARN_EMPTY_BODY = YES;
381
- CLANG_WARN_ENUM_CONVERSION = YES;
382
- CLANG_WARN_INT_CONVERSION = YES;
383
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
384
- CLANG_WARN_UNREACHABLE_CODE = YES;
385
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
386
- COPY_PHASE_STRIP = YES;
387
- ENABLE_NS_ASSERTIONS = NO;
388
- ENABLE_STRICT_OBJC_MSGSEND = YES;
389
- GCC_C_LANGUAGE_STANDARD = gnu99;
390
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
391
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
392
- GCC_WARN_UNDECLARED_SELECTOR = YES;
393
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
394
- GCC_WARN_UNUSED_FUNCTION = YES;
395
- GCC_WARN_UNUSED_VARIABLE = YES;
396
- IPHONEOS_DEPLOYMENT_TARGET = 7.0;
397
- MTL_ENABLE_DEBUG_INFO = NO;
398
- SDKROOT = iphoneos;
399
- VALIDATE_PRODUCT = YES;
400
- };
401
- name = Release;
402
- };
403
- 58B511F01A9E6C8500147676 /* Debug */ = {
404
- isa = XCBuildConfiguration;
405
- buildSettings = {
406
- FRAMEWORK_SEARCH_PATHS = (
407
- "$(inherited)",
408
- "$(PROJECT_DIR)",
409
- );
410
- HEADER_SEARCH_PATHS = (
411
- "$(inherited)",
412
- "$(SRCROOT)/../../react-native/React/**",
413
- );
414
- LIBRARY_SEARCH_PATHS = "$(inherited)";
415
- OTHER_LDFLAGS = "-ObjC";
416
- PRODUCT_NAME = RNSentry;
417
- SKIP_INSTALL = YES;
418
- };
419
- name = Debug;
420
- };
421
- 58B511F11A9E6C8500147676 /* Release */ = {
422
- isa = XCBuildConfiguration;
423
- buildSettings = {
424
- FRAMEWORK_SEARCH_PATHS = (
425
- "$(inherited)",
426
- "$(PROJECT_DIR)",
427
- );
428
- HEADER_SEARCH_PATHS = (
429
- "$(inherited)",
430
- "$(SRCROOT)/../../react-native/React/**",
431
- );
432
- LIBRARY_SEARCH_PATHS = "$(inherited)";
433
- OTHER_LDFLAGS = "-ObjC";
434
- PRODUCT_NAME = RNSentry;
435
- SKIP_INSTALL = YES;
436
- };
437
- name = Release;
438
- };
439
- /* End XCBuildConfiguration section */
440
-
441
- /* Begin XCConfigurationList section */
442
- 274692C021B4414400BF91A8 /* Build configuration list for PBXNativeTarget "RNSentry-tvOS" */ = {
443
- isa = XCConfigurationList;
444
- buildConfigurations = (
445
- 274692C121B4414400BF91A8 /* Debug */,
446
- 274692C221B4414400BF91A8 /* Release */,
447
- );
448
- defaultConfigurationIsVisible = 0;
449
- defaultConfigurationName = Release;
450
- };
451
- 58B511D61A9E6C8500147676 /* Build configuration list for PBXProject "RNSentry" */ = {
452
- isa = XCConfigurationList;
453
- buildConfigurations = (
454
- 58B511ED1A9E6C8500147676 /* Debug */,
455
- 58B511EE1A9E6C8500147676 /* Release */,
456
- );
457
- defaultConfigurationIsVisible = 0;
458
- defaultConfigurationName = Release;
459
- };
460
- 58B511EF1A9E6C8500147676 /* Build configuration list for PBXNativeTarget "RNSentry" */ = {
461
- isa = XCConfigurationList;
462
- buildConfigurations = (
463
- 58B511F01A9E6C8500147676 /* Debug */,
464
- 58B511F11A9E6C8500147676 /* Release */,
465
- );
466
- defaultConfigurationIsVisible = 0;
467
- defaultConfigurationName = Release;
468
- };
469
- /* End XCConfigurationList section */
470
- };
471
- rootObject = 58B511D31A9E6C8500147676 /* Project object */;
472
- }
@@ -1,7 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <Workspace
3
- version = "1.0">
4
- <FileRef
5
- location = "self:">
6
- </FileRef>
7
- </Workspace>
@@ -1,8 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
- <plist version="1.0">
4
- <dict>
5
- <key>IDEDidComputeMac32BitWarning</key>
6
- <true/>
7
- </dict>
8
- </plist>