Skip to content

Commit 95f17dc

Browse files
fix(ios): Fix non UIKit builds (#3784)
1 parent 9ea1c36 commit 95f17dc

9 files changed

+53
-4
lines changed

CHANGELOG.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
# Changelog
22

3+
## Unreleased
4+
5+
### Fixes
6+
7+
- Fix Apple non UIKit builds ([#3784](https://github.com/getsentry/sentry-react-native/pull/3784))
8+
39
## 5.22.1
410

511
### Dependencies

ios/RNSentry.mm

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,8 +36,11 @@
3636

3737
#import "RNSentryEvents.h"
3838
#import "RNSentryDependencyContainer.h"
39-
#import "RNSentryFramesTrackerListener.h"
39+
40+
#if SENTRY_HAS_UIKIT
4041
#import "RNSentryRNSScreen.h"
42+
#import "RNSentryFramesTrackerListener.h"
43+
#endif
4144

4245
@interface SentryTraceContext : NSObject
4346
- (nullable instancetype)initWithDict:(NSDictionary<NSString *, id> *)dictionary;
@@ -192,6 +195,7 @@ - (void)setEventEnvironmentTag:(SentryEvent *)event
192195
RCT_EXPORT_METHOD(initNativeReactNavigationNewFrameTracking:(RCTPromiseResolveBlock)resolve
193196
rejecter:(RCTPromiseRejectBlock)reject)
194197
{
198+
#if SENTRY_HAS_UIKIT
195199
if ([[NSThread currentThread] isMainThread]) {
196200
[RNSentryRNSScreen swizzleViewDidAppear];
197201
} else {
@@ -201,16 +205,20 @@ - (void)setEventEnvironmentTag:(SentryEvent *)event
201205
}
202206

203207
[self initFramesTracking];
208+
#endif
204209
resolve(nil);
205210
}
206211

207212
- (void)initFramesTracking {
213+
#if SENTRY_HAS_UIKIT
214+
208215
RNSentryEmitNewFrameEvent emitNewFrameEvent = ^(NSNumber *newFrameTimestampInSeconds) {
209216
if (self->hasListeners) {
210217
[self sendEventWithName:RNSentryNewFrameEvent body:@{ @"newFrameTimestampInSeconds": newFrameTimestampInSeconds }];
211218
}
212219
};
213220
[[RNSentryDependencyContainer sharedInstance] initializeFramesTrackerListenerWith: emitNewFrameEvent];
221+
#endif
214222
}
215223

216224
// Will be called when this module's first listener is added.
@@ -370,7 +378,7 @@ - (NSDictionary*) fetchNativeStackFramesBy: (NSArray<NSNumber*>*)instructionsAdd
370378
RCT_EXPORT_METHOD(fetchNativeAppStart:(RCTPromiseResolveBlock)resolve
371379
rejecter:(RCTPromiseRejectBlock)reject)
372380
{
373-
381+
#if SENTRY_HAS_UIKIT
374382
SentryAppStartMeasurement *appStartMeasurement = PrivateSentrySDKOnly.appStartMeasurement;
375383

376384
if (appStartMeasurement == nil) {
@@ -389,6 +397,9 @@ - (NSDictionary*) fetchNativeStackFramesBy: (NSArray<NSNumber*>*)instructionsAdd
389397
// This is always set to true, as we would only allow an app start fetch to only happen once
390398
// in the case of a JS bundle reload, we do not want it to be instrumented again.
391399
didFetchAppStart = true;
400+
#else
401+
resolve(nil);
402+
#endif
392403
}
393404

394405
RCT_EXPORT_METHOD(fetchNativeFrames:(RCTPromiseResolveBlock)resolve

ios/RNSentryDependencyContainer.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,12 @@ SENTRY_NO_INIT
77

88
@property (class, readonly, strong) RNSentryDependencyContainer* sharedInstance;
99

10+
#if SENTRY_HAS_UIKIT
11+
1012
@property (nonatomic, strong) RNSentryFramesTrackerListener *framesTrackerListener;
1113

1214
- (void)initializeFramesTrackerListenerWith:(RNSentryEmitNewFrameEvent) eventEmitter;
1315

14-
@end
16+
#endif
1517

18+
@end

ios/RNSentryDependencyContainer.m

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ - (instancetype)init
2121
return self;
2222
}
2323

24+
#if SENTRY_HAS_UIKIT
25+
2426
- (void)initializeFramesTrackerListenerWith:(RNSentryEmitNewFrameEvent)eventEmitter
2527
{
2628
@synchronized(sentryDependencyContainerLock) {
@@ -29,4 +31,6 @@ - (void)initializeFramesTrackerListenerWith:(RNSentryEmitNewFrameEvent)eventEmit
2931
}
3032
}
3133

34+
#endif
35+
3236
@end

ios/RNSentryFramesTrackerListener.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
#import <Sentry/SentryDefines.h>
2+
3+
#if SENTRY_HAS_UIKIT
4+
15
#import <Foundation/Foundation.h>
26
#import <React/RCTEventEmitter.h>
37
#import <Sentry/SentryFramesTracker.h>
@@ -15,3 +19,5 @@ typedef void (^RNSentryEmitNewFrameEvent)(NSNumber *newFrameTimestampInSeconds);
1519
@property (strong, nonatomic) RNSentryEmitNewFrameEvent emitNewFrameEvent;
1620

1721
@end
22+
23+
#endif

ios/RNSentryFramesTrackerListener.m

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
#import "RNSentryFramesTrackerListener.h"
22

3+
#if SENTRY_HAS_UIKIT
4+
35
@implementation RNSentryFramesTrackerListener
46

57
- (instancetype)initWithSentryFramesTracker:(SentryFramesTracker *)framesTracker
@@ -28,3 +30,5 @@ - (void)startListening {
2830
}
2931

3032
@end
33+
34+
#endif

ios/RNSentryOnDrawReporter.m

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
#if SENTRY_HAS_UIKIT
2+
13
#import <UIKit/UIKit.h>
24
#import <React/RCTViewManager.h>
35
#import "RNSentryFramesTrackerListener.h"
@@ -68,3 +70,5 @@ - (void)didSetProps:(NSArray<NSString *> *)changedProps
6870
}
6971

7072
@end
73+
74+
#endif

ios/RNSentryRNSScreen.h

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,13 @@
1+
#import <Sentry/SentryDefines.h>
2+
3+
#if SENTRY_HAS_UIKIT
4+
15
#import <Foundation/Foundation.h>
26

37
@interface RNSentryRNSScreen : NSObject
48

59
+ (void)swizzleViewDidAppear;
610

711
@end
12+
13+
#endif

ios/RNSentryRNSScreen.m

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
1+
#import "RNSentryRNSScreen.h"
2+
3+
#if SENTRY_HAS_UIKIT
4+
15
#import <Sentry/SentryFramesTracker.h>
26
#import <Sentry/SentryDependencyContainer.h>
37
#import <Sentry/SentrySwizzle.h>
48

5-
#import "RNSentryRNSScreen.h"
69
#import "RNSentryDependencyContainer.h"
710

811
@implementation RNSentryRNSScreen
@@ -24,3 +27,5 @@ + (void)swizzleViewDidAppear {
2427
}
2528

2629
@end
30+
31+
#endif

0 commit comments

Comments
 (0)