@dynatrace/react-native-plugin 2.265.1 → 2.267.1

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 (44) hide show
  1. package/README.md +89 -13
  2. package/android/build.gradle +1 -1
  3. package/android/src/main/java/com/dynatrace/android/agent/DynatraceRNBridge.java +4 -3
  4. package/files/plugin.gradle +1 -1
  5. package/ios/DynatraceRNBridge.m +35 -3
  6. package/ios/DynatraceRNBridge.xcodeproj/project.pbxproj +115 -2
  7. package/ios/DynatraceRNBridge.xcodeproj/xcshareddata/xcschemes/RNDynatrace-tvOS.xcscheme +67 -0
  8. package/ios/lib/Dynatrace.xcframework/Info.plist +5 -5
  9. package/ios/lib/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Dynatrace +0 -0
  10. package/ios/lib/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Headers/Dynatrace.h +1 -1
  11. package/ios/lib/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Headers/DynatraceSwiftUI.h +6 -0
  12. package/ios/lib/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Info.plist +0 -0
  13. package/ios/lib/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-ios.swiftsourceinfo +0 -0
  14. package/ios/lib/Dynatrace.xcframework/ios-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/arm64-apple-ios.abi.json +1 -1
  15. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Dynatrace +0 -0
  16. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Headers/Dynatrace.h +1 -1
  17. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Headers/DynatraceSwiftUI.h +6 -0
  18. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Info.plist +0 -0
  19. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-ios-simulator.swiftsourceinfo +0 -0
  20. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/x86_64-apple-ios-simulator.swiftsourceinfo +0 -0
  21. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/arm64-apple-ios-simulator.abi.json +1 -1
  22. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/x86_64-apple-ios-simulator.abi.json +1 -1
  23. package/ios/lib/Dynatrace.xcframework/ios-arm64_x86_64-simulator/Dynatrace.framework/_CodeSignature/CodeResources +17 -17
  24. package/ios/lib/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Dynatrace +0 -0
  25. package/ios/lib/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Headers/Dynatrace.h +1 -1
  26. package/ios/lib/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Headers/DynatraceSwiftUI.h +6 -0
  27. package/ios/lib/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Info.plist +0 -0
  28. package/ios/lib/Dynatrace.xcframework/tvos-arm64/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-tvos.swiftsourceinfo +0 -0
  29. package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Dynatrace +0 -0
  30. package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Headers/Dynatrace.h +1 -1
  31. package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Headers/DynatraceSwiftUI.h +6 -0
  32. package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Info.plist +0 -0
  33. package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/arm64-apple-tvos-simulator.swiftsourceinfo +0 -0
  34. package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/Modules/Dynatrace.swiftmodule/Project/x86_64-apple-tvos-simulator.swiftsourceinfo +0 -0
  35. package/ios/lib/Dynatrace.xcframework/tvos-arm64_x86_64-simulator/Dynatrace.framework/_CodeSignature/CodeResources +13 -13
  36. package/lib/instrumentor/DynatraceInstrumentation.js +1 -1
  37. package/lib/instrumentor/base/Dynatrace.js +1 -1
  38. package/lib/instrumentor/base/DynatraceAction.js +3 -2
  39. package/lib/instrumentor/base/DynatraceRootAction.js +2 -2
  40. package/lib/instrumentor/base/Touchable.js +15 -13
  41. package/lib/instrumentor/parser/Babel.js +1 -1
  42. package/package.json +9 -9
  43. package/react-native-dynatrace.podspec +1 -0
  44. package/typings/react-native-dynatrace.d.ts +33 -2
package/README.md CHANGED
@@ -29,8 +29,8 @@ If you want to start using this plugin and are not a Dynatrace customer yet, hea
29
29
  ## Agent Versions
30
30
  This agent versions are configured in this plugin:
31
31
 
32
- * iOS Agent: 8.265.1.1003
33
- * Android Agent: 8.265.1.1002
32
+ * iOS Agent: 8.267.1.1005
33
+ * Android Agent: 8.267.1.1006
34
34
 
35
35
  ## Quick Setup
36
36
 
@@ -63,6 +63,7 @@ This agent versions are configured in this plugin:
63
63
  * [npx configDynatrace](#npx-configdynatrace)
64
64
  * [Customizing paths for configuration](#customizing-paths-for-configuration)
65
65
  * [Manual adding iOS Agent to project](#manually-adding-ios-oneagent-to-a-project)
66
+ * [Setup for tvOS](#setup-for-tvos)
66
67
  * [Configuration structure](#structure-of-the-dynatracejs-file)
67
68
  * [Manual Startup Counterparts](#manual-startup-counterparts)
68
69
  * [Lifecycle modes](#lifecycle)
@@ -92,7 +93,7 @@ This agent versions are configured in this plugin:
92
93
  1. Install the plugin by calling:
93
94
  - => RN 0.60.0 : `npm install @dynatrace/react-native-plugin`
94
95
  - < RN 0.60.0 : `react-native install @dynatrace/react-native-plugin`.
95
- 2. **iOS only :** If you use pods, you need to go into your `ios` directory and execute `pod install` to install the new Dynatrace dependecy to your xCode project.
96
+ 2. **iOS only :** If you use pods, you need to go into your `ios` directory and execute `pod install` to install the new Dynatrace dependency to your xCode project.
96
97
 
97
98
  ### Troubleshooting
98
99
  - Expo: Make sure you actually have platform folders like `android/` and/or `ios/` so the plugin can do the configuration correctly. Furthermore you need to trigger the configuration manually as the plugin is only automatically working with the React Native CLI. This means every time the configuration changes you need to call [`npx instrumentDynatrace`](#npx-instrumentdynatrace).
@@ -263,12 +264,25 @@ Combining manual and auto instrumentation is not creating a problem as both are
263
264
  There are two options to create an action. Either using `enterAutoAction` (the previous `enterAction`) or `enterManualAction`:
264
265
 
265
266
  * `enterAutoAction` - Creates an Action which will be automatically handled by the plugin (This is the type of action which is internally used by the plugin when monitoring components and touchables). This means that the plugin decides about the hierachy of this action. If there is no open action, the following action will be a root action. All other actions created by this method, while a root action is open, will be automatically inserted as a child action. Furthermore the plugin will automatically link webrequest (if they are not tagged manually) to the open root action.
267
+
268
+ ```js
269
+ let myAction = Dynatrace.enterAutoAction("MyButton tapped");
270
+ //Perform the action and whatever else is needed.
271
+ myAction.leaveAction();
272
+ ```
273
+
266
274
  * `enterManualAction` - Creates an Action which will NOT be handled by the plugin. This means that you have full control about the hierachy of your actions. This function will create a root action for you, which has the ability to create child actions via `enterAction`. Be aware, because of the full manual approach the plugin will not link webrequest automatically. Webrequest have to be manually tagged by using the tag provided by the action via `getRequestTag`.
267
275
 
276
+ ```js
277
+ let myAction = Dynatrace.enterManualAction("MyButton tapped");
278
+ //Perform the action and whatever else is needed.
279
+ myAction.leaveAction();
280
+ ```
281
+
268
282
  To create a custom action named `"MyButton tapped"`, use the following code. The *leaveAction* closes the action again. To report values for this action before closing, see [Report Values](#report-values).
269
283
 
270
284
  ```js
271
- let myAction = Dynatrace.enterManualAction("MyButton tapped");
285
+ let myAction = Dynatrace.enterAutoAction("MyButton tapped");
272
286
  //Perform the action and whatever else is needed.
273
287
  myAction.leaveAction();
274
288
  ```
@@ -278,8 +292,8 @@ myAction.leaveAction();
278
292
  You can create a single custom action as well as sub actions. The `MyButton Sub Action` is automatically put under the `MyButton tapped`. As long as `MyButton tapped` is open, it gathers all the web requests.
279
293
 
280
294
  ```js
281
- let myAction = Dynatrace.enterAction("MyButton tapped");
282
- let mySubAction = Dynatrace.enterAction("MyButton Sub Action");
295
+ let myAction = Dynatrace.enterManualAction("MyButton tapped");
296
+ let mySubAction = myAction.enterAction("MyButton Sub Action");
283
297
  //Perform the action and whatever else is needed.
284
298
  mySubAction.leaveAction();
285
299
  myAction.leaveAction();
@@ -290,7 +304,7 @@ myAction.leaveAction();
290
304
  Actions can be canceled. That means they will not be sent and discarded fully. This also means that any values and sub actions attached to the action will be removed.
291
305
 
292
306
  ```js
293
- let myAction = Dynatrace.enterAction("MyButton tapped");
307
+ let myAction = Dynatrace.enterAutoAction("MyButton tapped");
294
308
  // Action will be canceled
295
309
  myAction.cancel();
296
310
 
@@ -313,7 +327,7 @@ reportStringValue(valueName: string, value: string, platform?: Platform): void
313
327
  To report a string value, use the following:
314
328
 
315
329
  ```js
316
- let myAction = Dynatrace.enterAction("MyButton tapped");
330
+ let myAction = Dynatrace.enterAutoAction("MyButton tapped");
317
331
  myAction.reportStringValue("ValueName", "ImportantValue");
318
332
  myAction.leaveAction();
319
333
  ```
@@ -431,21 +445,21 @@ setGPSLocation(latitude: number, longitude: number, platform?: Platform): void
431
445
  You probably noticed that each method has an additional *optional* parameter named `platform` of type `Platform`. You can use this to only trigger manual instrumentation for a specific OS. The available values are: `Platform.Ios` and `Platform.Android`. Default is that it will work on any platform. Otherwise it is passed *only* to the relevant OS. For example:
432
446
  * Passing to **iOS** only:
433
447
  ```js
434
- let myAction = Dynatrace.enterAction("MyButton tapped", Platform.Ios);
448
+ let myAction = Dynatrace.enterAutoAction("MyButton tapped", Platform.Ios);
435
449
  //Perform the action and whatever else is needed.
436
450
  myAction.leaveAction("ios");
437
451
  ```
438
452
 
439
453
  * Passing to **Android** only:
440
454
  ```js
441
- let myAction = Dynatrace.enterAction("MyButton tapped", Platform.Android);
455
+ let myAction = Dynatrace.enterAutoAction("MyButton tapped", Platform.Android);
442
456
  //Perform the action and whatever else is needed.
443
457
  myAction.leaveAction("android");
444
458
  ```
445
459
 
446
460
  * Passing to **both**:
447
461
  ```js
448
- let myAction = Dynatrace.enterAction("MyButton tapped");
462
+ let myAction = Dynatrace.enterAutoAction("MyButton tapped");
449
463
  //Perform the action and whatever else is needed.
450
464
  myAction.leaveAction();
451
465
  ```
@@ -516,7 +530,7 @@ If you want to set this property and use typescript you can use the following wo
516
530
  ```
517
531
  ## NPX Commands
518
532
 
519
- Following npx commands are available for the plugin:
533
+ The following npx commands are available for the plugin:
520
534
 
521
535
  * npx instrumentDynatrace - Is triggering the configuration process and will insert the configuration into the Android and iOS application. This is mandatory and should usually happen automatically when doing `react-native run-android` or `react-native run-ios` command.
522
536
  * npx configDynatrace - Is checking the current configuration and is creating a default configuration if there is none.
@@ -588,6 +602,63 @@ pod 'react-native-dynatrace', :path => '../node_modules/@dynatrace/react-native-
588
602
  7. Find and add `libRNDynatrace.a` under the Workspace group.
589
603
  8. ⌘+B
590
604
 
605
+ ## Setup for tvOS
606
+
607
+ > **Note**: Testing has only been done using the [react-native-tvos](https://www.npmjs.com/package/react-native-tvos) package and currently is the only package supported with our plugin.
608
+
609
+ To allow our plugin to work with tvOS, please follow the below steps:
610
+
611
+ Before installing the plugin, add the following to your `package.json`:
612
+
613
+ ```js
614
+ "overrides": {
615
+ "@react-native-picker/picker": {
616
+ "react-native": "<insert-version-here>"
617
+ },
618
+ "@dynatrace/react-native-plugin": {
619
+ "react-native": "<insert-version-here>"
620
+ }
621
+ },
622
+ ```
623
+
624
+ If you are using the following `"react-native": "npm:react-native-tvos@0.69.8-2"`, use the below snippet:
625
+
626
+ ```js
627
+ "overrides": {
628
+ "@react-native-picker/picker": {
629
+ "react-native": "0.69.8-2"
630
+ },
631
+ "@dynatrace/react-native-plugin": {
632
+ "react-native": "0.69.8-2"
633
+ }
634
+ },
635
+ ```
636
+
637
+ Once the above is completed, follow the steps from the [install plugin](#1-install-the-plugin) section.
638
+
639
+ When you are ready to build, make sure that you use the `plist=` parameter when running the `npx instrumentDynatrace` or `npx react-native run-ios` commands for the tvOS scheme.
640
+ Examples:
641
+
642
+ Using React Native < 0.70 or < @react-native-community/cli 9.x:
643
+
644
+ ```js
645
+ npx react-native run-ios --simulator "Apple TV" --scheme "ApplicationName-tvOS" plist=/path/to/application/ios/ApplicationName-tvOS/Info.plist
646
+ ```
647
+
648
+ Using React Native 0.70+ or @react-native-community/cli 9.x+:
649
+
650
+ ```js
651
+ // Update the Info.plist with the properties from the dynatrace.config.js file
652
+ npx instrumentDynatrace plist=/path/to/application/ios/ApplicationName-tvOS/Info.plist
653
+
654
+ // Build your tvOS application
655
+ npx react-native run-ios --simulator "Apple TV" --scheme "ApplicationName-tvOS"
656
+ ```
657
+
658
+ For more information regarding the differences in the react native versions, please see the `Note` from the [quick setup](#quick-setup-1) section.
659
+
660
+
661
+
591
662
  ## Structure of the `dynatrace.js` file
592
663
  The configuration is structured in the following way:
593
664
 
@@ -1098,9 +1169,14 @@ If you are struggling with a problem, submit a support ticket to Dynatrace (supp
1098
1169
  <br/><br/>
1099
1170
  ## Changelog
1100
1171
 
1101
- 2.265.1
1172
+ 2.267.1
1173
+ * Updated Android (8.267.1.1005) & iOS Agent (8.267.1.1006)
1174
+ * Added support for [tvOS](#setup-for-tvos)
1175
+
1176
+ 2.265.2
1102
1177
  * Updated Android (8.265.1.1002) & iOS Agent (8.265.1.1003)
1103
1178
  * Fixed Metro problem because of dynamic require
1179
+ * Fixed enterManualAction/enterAutoAction API
1104
1180
 
1105
1181
  2.263.2
1106
1182
  * Updated Android (8.263.1.1002) & iOS Agent (8.263.2.1005)
@@ -36,7 +36,7 @@ repositories {
36
36
  }
37
37
 
38
38
  dependencies {
39
- implementation 'com.dynatrace.agent:agent-android:8.265.1.1002'
39
+ implementation 'com.dynatrace.agent:agent-android:8.267.1.1005'
40
40
  implementation "com.facebook.react:react-native:${safeExtGet('reactNative', '+')}"
41
41
  }
42
42
 
@@ -101,20 +101,21 @@ public class DynatraceRNBridge extends ReactContextBaseJavaModule {
101
101
  }
102
102
  }
103
103
 
104
- private void enterManualActionWithParent(String name, String key, int parentKey, String platform) {
104
+ @ReactMethod
105
+ public void enterManualActionWithParent(String name, String key, String parentKey, String platform) {
105
106
  if (this.shouldWorkOnAndroid(platform)) {
106
107
  DTXAction parent = actions.get(parentKey);
107
108
 
108
109
  if (parent != null) {
109
110
  actions.put(key, Dynatrace.enterAction(name, parent));
110
111
  } else {
111
- enterAction(name, key, platform);
112
+ enterManualAction(name, key, platform);
112
113
  }
113
114
  }
114
115
  }
115
116
 
116
117
  @ReactMethod
117
- public void leaveAction(String key, String platform) {
118
+ public void leaveAction(String key, boolean leave, String platform) {
118
119
  if (this.shouldWorkOnAndroid(platform)) {
119
120
  DTXAction action = getAction(key);
120
121
  if (action == null) return;
@@ -1,3 +1,3 @@
1
1
  dependencies {
2
- classpath 'com.dynatrace.tools.android:gradle-plugin:8.265.1.1002'
2
+ classpath 'com.dynatrace.tools.android:gradle-plugin:8.267.1.1005'
3
3
  }
@@ -79,21 +79,53 @@ RCT_EXPORT_METHOD(enterAction:(NSString *)name key:(nonnull NSString *)key platf
79
79
  }
80
80
  }
81
81
 
82
- RCT_EXPORT_METHOD(enterActionWithParent:(NSString *)name key:(nonnull NSString *)key parentKey:(nonnull NSString *)parentKey platform: (NSString *) platform)
82
+ RCT_EXPORT_METHOD(enterManualAction:(NSString *)name key:(nonnull NSString *)key platform: (NSString *) platform)
83
+ {
84
+ if ([self shouldWorkOnIosWithPlatform: platform])
85
+ {
86
+ DTXAction *action = [DTXAction enterActionWithName:name];
87
+
88
+ if (action)
89
+ {
90
+ [actionDict setObject:action forKey:key];
91
+ }
92
+ }
93
+ }
94
+
95
+ RCT_EXPORT_METHOD(enterManualActionWithParent:(NSString *)name key:(nonnull NSString *)key parentKey:(nonnull NSString *)parentKey platform: (NSString *) platform)
83
96
  {
84
97
  if ([self shouldWorkOnIosWithPlatform: platform])
85
98
  {
86
- [self newAction:name key:key parentAction:[self getAction:parentKey]];
99
+ DTXAction *parentAction = [self getAction:parentKey];
100
+
101
+ if (parentAction != nil)
102
+ {
103
+ DTXAction *childAction = [DTXAction enterActionWithName:name parentAction:parentAction];
104
+
105
+ if (childAction)
106
+ {
107
+ [actionDict setObject:childAction forKey:key];
108
+ }
109
+ }
110
+ else
111
+ {
112
+ [self enterManualAction:name key:key platform:platform];
113
+ }
87
114
  }
88
115
  }
89
116
 
90
- RCT_EXPORT_METHOD(leaveAction:(nonnull NSString *)key platform: (NSString *) platform)
117
+ RCT_EXPORT_METHOD(leaveAction:(nonnull NSString *)key leave: (BOOL) leave platform: (NSString *) platform)
91
118
  {
92
119
  if ([self shouldWorkOnIosWithPlatform: platform])
93
120
  {
94
121
  DTXAction *action = [self getAction:key];
95
122
  if (action == nil) return;
96
123
  [actionDict removeObjectForKey:key];
124
+
125
+ if(leave)
126
+ {
127
+ [action leaveAction];
128
+ }
97
129
  }
98
130
  }
99
131
 
@@ -9,6 +9,8 @@
9
9
  /* Begin PBXBuildFile section */
10
10
  680D85DC2243B77D007953B5 /* DynatraceRNBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = 680D85DB2243B77D007953B5 /* DynatraceRNBridge.m */; };
11
11
  68368004225F1139001BFE0F /* libDynatrace.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68FC4BE92243D05900C87820 /* libDynatrace.a */; };
12
+ FE85101429BB606C0073625D /* DynatraceRNBridge.m in Sources */ = {isa = PBXBuildFile; fileRef = 680D85DB2243B77D007953B5 /* DynatraceRNBridge.m */; };
13
+ FE85101629BB606C0073625D /* libDynatrace.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68FC4BE92243D05900C87820 /* libDynatrace.a */; };
12
14
  /* End PBXBuildFile section */
13
15
 
14
16
  /* Begin PBXCopyFilesBuildPhase section */
@@ -21,6 +23,15 @@
21
23
  );
22
24
  runOnlyForDeploymentPostprocessing = 0;
23
25
  };
26
+ FE85101729BB606C0073625D /* CopyFiles */ = {
27
+ isa = PBXCopyFilesBuildPhase;
28
+ buildActionMask = 2147483647;
29
+ dstPath = "include/$(PRODUCT_NAME)";
30
+ dstSubfolderSpec = 16;
31
+ files = (
32
+ );
33
+ runOnlyForDeploymentPostprocessing = 0;
34
+ };
24
35
  /* End PBXCopyFilesBuildPhase section */
25
36
 
26
37
  /* Begin PBXFileReference section */
@@ -29,6 +40,7 @@
29
40
  680D85DB2243B77D007953B5 /* DynatraceRNBridge.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DynatraceRNBridge.m; sourceTree = "<group>"; };
30
41
  68FC4BE92243D05900C87820 /* libDynatrace.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libDynatrace.a; path = lib/libDynatrace.a; sourceTree = "<group>"; };
31
42
  68FC4BEA2243D05900C87820 /* Dynatrace.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Dynatrace.h; path = lib/Dynatrace.h; sourceTree = "<group>"; };
43
+ FE85101B29BB606C0073625D /* libRNDynatrace-tvOS.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libRNDynatrace-tvOS.a"; sourceTree = BUILT_PRODUCTS_DIR; };
32
44
  /* End PBXFileReference section */
33
45
 
34
46
  /* Begin PBXFrameworksBuildPhase section */
@@ -40,6 +52,14 @@
40
52
  );
41
53
  runOnlyForDeploymentPostprocessing = 0;
42
54
  };
55
+ FE85101529BB606C0073625D /* Frameworks */ = {
56
+ isa = PBXFrameworksBuildPhase;
57
+ buildActionMask = 2147483647;
58
+ files = (
59
+ FE85101629BB606C0073625D /* libDynatrace.a in Frameworks */,
60
+ );
61
+ runOnlyForDeploymentPostprocessing = 0;
62
+ };
43
63
  /* End PBXFrameworksBuildPhase section */
44
64
 
45
65
  /* Begin PBXGroup section */
@@ -55,6 +75,7 @@
55
75
  isa = PBXGroup;
56
76
  children = (
57
77
  134814211AA4EA7D00B7C361 /* Products */,
78
+ FE85101B29BB606C0073625D /* libRNDynatrace-tvOS.a */,
58
79
  680D85DA2243B77D007953B5 /* DynatraceRNBridge.h */,
59
80
  680D85DB2243B77D007953B5 /* DynatraceRNBridge.m */,
60
81
  680D868C2243CCA0007953B5 /* Frameworks */,
@@ -90,6 +111,23 @@
90
111
  productReference = 134814201AA4EA6300B7C361 /* libRNDynatrace.a */;
91
112
  productType = "com.apple.product-type.library.static";
92
113
  };
114
+ FE85101229BB606C0073625D /* RNDynatrace-tvOS */ = {
115
+ isa = PBXNativeTarget;
116
+ buildConfigurationList = FE85101829BB606C0073625D /* Build configuration list for PBXNativeTarget "RNDynatrace-tvOS" */;
117
+ buildPhases = (
118
+ FE85101329BB606C0073625D /* Sources */,
119
+ FE85101529BB606C0073625D /* Frameworks */,
120
+ FE85101729BB606C0073625D /* CopyFiles */,
121
+ );
122
+ buildRules = (
123
+ );
124
+ dependencies = (
125
+ );
126
+ name = "RNDynatrace-tvOS";
127
+ productName = RCTDataManager;
128
+ productReference = FE85101B29BB606C0073625D /* libRNDynatrace-tvOS.a */;
129
+ productType = "com.apple.product-type.library.static";
130
+ };
93
131
  /* End PBXNativeTarget section */
94
132
 
95
133
  /* Begin PBXProject section */
@@ -109,6 +147,7 @@
109
147
  developmentRegion = English;
110
148
  hasScannedForEncodings = 0;
111
149
  knownRegions = (
150
+ English,
112
151
  en,
113
152
  );
114
153
  mainGroup = 58B511D21A9E6C8500147676;
@@ -117,6 +156,7 @@
117
156
  projectRoot = "";
118
157
  targets = (
119
158
  58B511DA1A9E6C8500147676 /* RNDynatrace */,
159
+ FE85101229BB606C0073625D /* RNDynatrace-tvOS */,
120
160
  );
121
161
  };
122
162
  /* End PBXProject section */
@@ -130,6 +170,14 @@
130
170
  );
131
171
  runOnlyForDeploymentPostprocessing = 0;
132
172
  };
173
+ FE85101329BB606C0073625D /* Sources */ = {
174
+ isa = PBXSourcesBuildPhase;
175
+ buildActionMask = 2147483647;
176
+ files = (
177
+ FE85101429BB606C0073625D /* DynatraceRNBridge.m in Sources */,
178
+ );
179
+ runOnlyForDeploymentPostprocessing = 0;
180
+ };
133
181
  /* End PBXSourcesBuildPhase section */
134
182
 
135
183
  /* Begin XCBuildConfiguration section */
@@ -170,10 +218,11 @@
170
218
  GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
171
219
  GCC_WARN_UNUSED_FUNCTION = YES;
172
220
  GCC_WARN_UNUSED_VARIABLE = YES;
173
- IPHONEOS_DEPLOYMENT_TARGET = 8.0;
221
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
174
222
  MTL_ENABLE_DEBUG_INFO = YES;
175
223
  ONLY_ACTIVE_ARCH = YES;
176
224
  SDKROOT = iphoneos;
225
+ SUPPORTED_PLATFORMS = "iphonesimulator iphoneos appletvos appletvsimulator";
177
226
  };
178
227
  name = Debug;
179
228
  };
@@ -207,9 +256,10 @@
207
256
  GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
208
257
  GCC_WARN_UNUSED_FUNCTION = YES;
209
258
  GCC_WARN_UNUSED_VARIABLE = YES;
210
- IPHONEOS_DEPLOYMENT_TARGET = 8.0;
259
+ IPHONEOS_DEPLOYMENT_TARGET = 11.0;
211
260
  MTL_ENABLE_DEBUG_INFO = NO;
212
261
  SDKROOT = iphoneos;
262
+ SUPPORTED_PLATFORMS = "iphonesimulator iphoneos appletvos appletvsimulator";
213
263
  VALIDATE_PRODUCT = YES;
214
264
  };
215
265
  name = Release;
@@ -236,6 +286,7 @@
236
286
  OTHER_LDFLAGS = "-ObjC";
237
287
  PRODUCT_NAME = RNDynatrace;
238
288
  SKIP_INSTALL = YES;
289
+ TARGETED_DEVICE_FAMILY = "1,2";
239
290
  };
240
291
  name = Debug;
241
292
  };
@@ -261,6 +312,59 @@
261
312
  OTHER_LDFLAGS = "-ObjC";
262
313
  PRODUCT_NAME = RNDynatrace;
263
314
  SKIP_INSTALL = YES;
315
+ TARGETED_DEVICE_FAMILY = "1,2";
316
+ };
317
+ name = Release;
318
+ };
319
+ FE85101929BB606C0073625D /* Debug */ = {
320
+ isa = XCBuildConfiguration;
321
+ buildSettings = {
322
+ FRAMEWORK_SEARCH_PATHS = (
323
+ "$(SRCROOT)/Framework",
324
+ "$(PROJECT_DIR)/Framework",
325
+ );
326
+ HEADER_SEARCH_PATHS = (
327
+ "$(inherited)",
328
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
329
+ "$(SRCROOT)/../../../React/**",
330
+ "$(SRCROOT)/../../react-native/React/**",
331
+ "$(SRCROOT)/Framework",
332
+ );
333
+ LIBRARY_SEARCH_PATHS = (
334
+ "$(inherited)",
335
+ "$(PROJECT_DIR)/Framework",
336
+ "$(PROJECT_DIR)/lib",
337
+ );
338
+ OTHER_LDFLAGS = "-ObjC";
339
+ PRODUCT_NAME = "$(TARGET_NAME)";
340
+ SKIP_INSTALL = YES;
341
+ TARGETED_DEVICE_FAMILY = 3;
342
+ };
343
+ name = Debug;
344
+ };
345
+ FE85101A29BB606C0073625D /* Release */ = {
346
+ isa = XCBuildConfiguration;
347
+ buildSettings = {
348
+ FRAMEWORK_SEARCH_PATHS = (
349
+ "$(SRCROOT)/Framework",
350
+ "$(PROJECT_DIR)/Framework",
351
+ );
352
+ HEADER_SEARCH_PATHS = (
353
+ "$(inherited)",
354
+ /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include,
355
+ "$(SRCROOT)/../../../React/**",
356
+ "$(SRCROOT)/../../react-native/React/**",
357
+ "$(SRCROOT)/Framework",
358
+ );
359
+ LIBRARY_SEARCH_PATHS = (
360
+ "$(inherited)",
361
+ "$(PROJECT_DIR)/Framework",
362
+ "$(PROJECT_DIR)/lib",
363
+ );
364
+ OTHER_LDFLAGS = "-ObjC";
365
+ PRODUCT_NAME = "$(TARGET_NAME)";
366
+ SKIP_INSTALL = YES;
367
+ TARGETED_DEVICE_FAMILY = 3;
264
368
  };
265
369
  name = Release;
266
370
  };
@@ -285,6 +389,15 @@
285
389
  defaultConfigurationIsVisible = 0;
286
390
  defaultConfigurationName = Release;
287
391
  };
392
+ FE85101829BB606C0073625D /* Build configuration list for PBXNativeTarget "RNDynatrace-tvOS" */ = {
393
+ isa = XCConfigurationList;
394
+ buildConfigurations = (
395
+ FE85101929BB606C0073625D /* Debug */,
396
+ FE85101A29BB606C0073625D /* Release */,
397
+ );
398
+ defaultConfigurationIsVisible = 0;
399
+ defaultConfigurationName = Release;
400
+ };
288
401
  /* End XCConfigurationList section */
289
402
  };
290
403
  rootObject = 58B511D31A9E6C8500147676 /* Project object */;
@@ -0,0 +1,67 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <Scheme
3
+ LastUpgradeVersion = "1420"
4
+ version = "1.3">
5
+ <BuildAction
6
+ parallelizeBuildables = "YES"
7
+ buildImplicitDependencies = "YES">
8
+ <BuildActionEntries>
9
+ <BuildActionEntry
10
+ buildForTesting = "YES"
11
+ buildForRunning = "YES"
12
+ buildForProfiling = "YES"
13
+ buildForArchiving = "YES"
14
+ buildForAnalyzing = "YES">
15
+ <BuildableReference
16
+ BuildableIdentifier = "primary"
17
+ BlueprintIdentifier = "FE85101229BB606C0073625D"
18
+ BuildableName = "libRNDynatrace-tvOS.a"
19
+ BlueprintName = "RNDynatrace-tvOS"
20
+ ReferencedContainer = "container:DynatraceRNBridge.xcodeproj">
21
+ </BuildableReference>
22
+ </BuildActionEntry>
23
+ </BuildActionEntries>
24
+ </BuildAction>
25
+ <TestAction
26
+ buildConfiguration = "Debug"
27
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
28
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
29
+ shouldUseLaunchSchemeArgsEnv = "YES">
30
+ <Testables>
31
+ </Testables>
32
+ </TestAction>
33
+ <LaunchAction
34
+ buildConfiguration = "Debug"
35
+ selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
36
+ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
37
+ launchStyle = "0"
38
+ useCustomWorkingDirectory = "NO"
39
+ ignoresPersistentStateOnLaunch = "NO"
40
+ debugDocumentVersioning = "YES"
41
+ debugServiceExtension = "internal"
42
+ allowLocationSimulation = "YES">
43
+ </LaunchAction>
44
+ <ProfileAction
45
+ buildConfiguration = "Release"
46
+ shouldUseLaunchSchemeArgsEnv = "YES"
47
+ savedToolIdentifier = ""
48
+ useCustomWorkingDirectory = "NO"
49
+ debugDocumentVersioning = "YES">
50
+ <MacroExpansion>
51
+ <BuildableReference
52
+ BuildableIdentifier = "primary"
53
+ BlueprintIdentifier = "FE85101229BB606C0073625D"
54
+ BuildableName = "libRNDynatrace-tvOS.a"
55
+ BlueprintName = "RNDynatrace-tvOS"
56
+ ReferencedContainer = "container:DynatraceRNBridge.xcodeproj">
57
+ </BuildableReference>
58
+ </MacroExpansion>
59
+ </ProfileAction>
60
+ <AnalyzeAction
61
+ buildConfiguration = "Debug">
62
+ </AnalyzeAction>
63
+ <ArchiveAction
64
+ buildConfiguration = "Release"
65
+ revealArchiveInOrganizer = "YES">
66
+ </ArchiveAction>
67
+ </Scheme>
@@ -6,15 +6,18 @@
6
6
  <array>
7
7
  <dict>
8
8
  <key>LibraryIdentifier</key>
9
- <string>tvos-arm64</string>
9
+ <string>tvos-arm64_x86_64-simulator</string>
10
10
  <key>LibraryPath</key>
11
11
  <string>Dynatrace.framework</string>
12
12
  <key>SupportedArchitectures</key>
13
13
  <array>
14
14
  <string>arm64</string>
15
+ <string>x86_64</string>
15
16
  </array>
16
17
  <key>SupportedPlatform</key>
17
18
  <string>tvos</string>
19
+ <key>SupportedPlatformVariant</key>
20
+ <string>simulator</string>
18
21
  </dict>
19
22
  <dict>
20
23
  <key>LibraryIdentifier</key>
@@ -33,18 +36,15 @@
33
36
  </dict>
34
37
  <dict>
35
38
  <key>LibraryIdentifier</key>
36
- <string>tvos-arm64_x86_64-simulator</string>
39
+ <string>tvos-arm64</string>
37
40
  <key>LibraryPath</key>
38
41
  <string>Dynatrace.framework</string>
39
42
  <key>SupportedArchitectures</key>
40
43
  <array>
41
44
  <string>arm64</string>
42
- <string>x86_64</string>
43
45
  </array>
44
46
  <key>SupportedPlatform</key>
45
47
  <string>tvos</string>
46
- <key>SupportedPlatformVariant</key>
47
- <string>simulator</string>
48
48
  </dict>
49
49
  <dict>
50
50
  <key>LibraryIdentifier</key>
@@ -1,5 +1,5 @@
1
1
  // Dynatrace.h
2
- // Version: 8.265.1.1003
2
+ // Version: 8.267.1.1006
3
3
  //
4
4
  // These materials contain confidential information and
5
5
  // trade secrets of Dynatrace Corporation. You shall
@@ -16,6 +16,7 @@
16
16
  // Copyright 2011-2023 Dynatrace LLC
17
17
 
18
18
  #import <Foundation/Foundation.h>
19
+ #import "Dynatrace.h"
19
20
 
20
21
  @interface DynatraceSwiftUI: NSObject
21
22
  /*!
@@ -28,4 +29,9 @@
28
29
  */
29
30
  + (void)swiftUIViewDidDisappear:(id _Nonnull)view with:(id _Nonnull)lifecycleHolder;
30
31
 
32
+ /*!
33
+ @brief Gets invoked automatically by the SwiftUI instrumentor when a touch action must be reported.
34
+ */
35
+ + (DTXAction* _Nonnull)touchActionWith:(NSDictionary* _Nonnull)reportValues;
36
+
31
37
  @end
@@ -255,7 +255,7 @@
255
255
  },
256
256
  "ConstValues": [
257
257
  {
258
- "filePath": "\/opt\/jenkins\/workspace\/eagent_ios-agent_release_8.265.x\/adk\/DynatraceUEM\/Dynatrace\/SwiftUIExtensions.swift",
258
+ "filePath": "\/opt\/jenkins\/workspace\/eagent_ios-agent_release_8.267.x\/adk\/DynatraceUEM\/Dynatrace\/SwiftUIExtensions.swift",
259
259
  "kind": "BooleanLiteral",
260
260
  "offset": 683,
261
261
  "length": 4,
@@ -1,5 +1,5 @@
1
1
  // Dynatrace.h
2
- // Version: 8.265.1.1003
2
+ // Version: 8.267.1.1006
3
3
  //
4
4
  // These materials contain confidential information and
5
5
  // trade secrets of Dynatrace Corporation. You shall