diff --git a/packages/react-native-session-replay/DatadogSDKReactNativeSessionReplay.podspec b/packages/react-native-session-replay/DatadogSDKReactNativeSessionReplay.podspec index 46943df7d..a1ca13032 100644 --- a/packages/react-native-session-replay/DatadogSDKReactNativeSessionReplay.podspec +++ b/packages/react-native-session-replay/DatadogSDKReactNativeSessionReplay.podspec @@ -28,15 +28,22 @@ Pod::Spec.new do |s| test_spec.platforms = { :ios => "13.4", :tvos => "13.4" } end + + xcconfig = { + "HEADER_SEARCH_PATHS" => "$(PODS_ROOT)/React-RCTFabric/**", + } + if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then s.compiler_flags = folly_compiler_flags + " -DRCT_NEW_ARCH_ENABLED=1" - s.pod_target_xcconfig = { + xcconfig.merge!({ "DEFINES_MODULE" => "YES", "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" - } + }) end + s.pod_target_xcconfig = xcconfig + if respond_to?(:install_modules_dependencies, true) install_modules_dependencies(s) # else diff --git a/packages/react-native-session-replay/ios/Sources/DdPrivacyViewFabric.mm b/packages/react-native-session-replay/ios/Sources/DdPrivacyViewFabric.mm index 03835b71c..bb65785ca 100644 --- a/packages/react-native-session-replay/ios/Sources/DdPrivacyViewFabric.mm +++ b/packages/react-native-session-replay/ios/Sources/DdPrivacyViewFabric.mm @@ -11,7 +11,13 @@ #import #import #import -#import "DatadogSDKReactNativeSessionReplay-Swift.h" + + +#if __has_include("DatadogSDKReactNativeSessionReplay-Swift.h") +#import +#else +#import +#endif using namespace facebook::react; diff --git a/packages/react-native-session-replay/ios/Sources/DdPrivacyViewPaper.m b/packages/react-native-session-replay/ios/Sources/DdPrivacyViewPaper.m index aba862d39..4972c2e86 100644 --- a/packages/react-native-session-replay/ios/Sources/DdPrivacyViewPaper.m +++ b/packages/react-native-session-replay/ios/Sources/DdPrivacyViewPaper.m @@ -5,7 +5,11 @@ */ #import -#import "DatadogSDKReactNativeSessionReplay-Swift.h" +#if __has_include("DatadogSDKReactNativeSessionReplay-Swift.h") +#import +#else +#import +#endif @interface DdPrivacyView : UIView diff --git a/packages/react-native-session-replay/ios/Sources/RCTFabricWrapper.mm b/packages/react-native-session-replay/ios/Sources/RCTFabricWrapper.mm index eee4308a6..31141ba9c 100644 --- a/packages/react-native-session-replay/ios/Sources/RCTFabricWrapper.mm +++ b/packages/react-native-session-replay/ios/Sources/RCTFabricWrapper.mm @@ -8,15 +8,9 @@ #if RCT_NEW_ARCH_ENABLED #import "RCTVersion.h" - -#import -#import - -#if __has_include() -#import -#else -#import -#endif +#import "RCTParagraphComponentView.h" +#import "RCTConversions.h" +#import "ParagraphProps.h" namespace rct = facebook::react; #endif diff --git a/packages/react-native-webview/DatadogSDKReactNativeWebView.podspec b/packages/react-native-webview/DatadogSDKReactNativeWebView.podspec index b5b02d17a..d8a76c783 100644 --- a/packages/react-native-webview/DatadogSDKReactNativeWebView.podspec +++ b/packages/react-native-webview/DatadogSDKReactNativeWebView.podspec @@ -18,6 +18,10 @@ Pod::Spec.new do |s| s.dependency "React-Core" + if ENV['USE_FRAMEWORKS'] == 'static' + s.dependency "react-native-webview" + end + # /!\ Remember to keep the version in sync with DatadogSDKReactNative.podspec s.dependency 'DatadogWebViewTracking', '~> 2.27.0' s.dependency 'DatadogInternal', '~> 2.27.0' @@ -31,16 +35,23 @@ Pod::Spec.new do |s| test_spec.platforms = { :ios => "13.4", :tvos => "13.4" } end + xcconfig = { + "HEADER_SEARCH_PATHS" => "$(PODS_ROOT)/react-native-webview/**" + } # This guard prevents installing the dependencies when we run `pod install` in the old architecture. # The `install_modules_dependencies` function is only available from RN 0.71, the new architecture is not # supported on earlier RN versions. if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then - s.pod_target_xcconfig = { + + xcconfig.merge!({ "DEFINES_MODULE" => "YES", - "OTHER_CPLUSPLUSFLAGS" => "-DRCT_NEW_ARCH_ENABLED=1" - } + "OTHER_CPLUSPLUSFLAGS" => "-DRCT_NEW_ARCH_ENABLED=1", + "CLANG_CXX_LANGUAGE_STANDARD" => "c++17" + }) install_modules_dependencies(s) end + + s.pod_target_xcconfig = xcconfig end diff --git a/packages/react-native-webview/ios/Sources/DatadogSDKReactNativeWebView.h b/packages/react-native-webview/ios/Sources/DatadogSDKReactNativeWebView.h index 5bc58b537..70bed4bd8 100644 --- a/packages/react-native-webview/ios/Sources/DatadogSDKReactNativeWebView.h +++ b/packages/react-native-webview/ios/Sources/DatadogSDKReactNativeWebView.h @@ -9,4 +9,4 @@ #import "RCTDatadogWebView.h" #import "RCTDatadogWebViewManager.h" -#import +#import "RNCWebViewImpl.h" diff --git a/packages/react-native-webview/ios/Sources/RCTDatadogWebView.h b/packages/react-native-webview/ios/Sources/RCTDatadogWebView.h index c1883ccc5..69b498a3d 100644 --- a/packages/react-native-webview/ios/Sources/RCTDatadogWebView.h +++ b/packages/react-native-webview/ios/Sources/RCTDatadogWebView.h @@ -4,7 +4,7 @@ * Copyright 2016-Present Datadog, Inc. */ -#import +#import "RNCWebViewImpl.h" @class RCTDatadogWebView; diff --git a/packages/react-native-webview/ios/Sources/RCTDatadogWebViewManager.h b/packages/react-native-webview/ios/Sources/RCTDatadogWebViewManager.h index dec77979b..96e0dc2c1 100644 --- a/packages/react-native-webview/ios/Sources/RCTDatadogWebViewManager.h +++ b/packages/react-native-webview/ios/Sources/RCTDatadogWebViewManager.h @@ -4,7 +4,7 @@ * Copyright 2016-Present Datadog, Inc. */ -#import +#import "RNCWebViewManager.h" @interface RCTDatadogWebViewManager : RNCWebViewManager @end diff --git a/packages/react-native-webview/ios/Sources/RCTDatadogWebViewManager.mm b/packages/react-native-webview/ios/Sources/RCTDatadogWebViewManager.mm index 79b2a403c..03932ba9e 100644 --- a/packages/react-native-webview/ios/Sources/RCTDatadogWebViewManager.mm +++ b/packages/react-native-webview/ios/Sources/RCTDatadogWebViewManager.mm @@ -8,7 +8,12 @@ #import #import "RCTDatadogWebViewManager.h" #import "RCTDatadogWebView.h" -#import "DatadogSDKReactNativeWebView-Swift.h" + +#if __has_include("DatadogSDKReactNativeWebView-Swift.h") +#import +#else +#import +#endif @interface RCTDatadogWebViewManager () @property (nonatomic, strong) NSMutableSet *allowedHosts;