Skip to content

Commit

Permalink
chore(deps): update Cocoa SDK to v8.3.2 (#2248)
Browse files Browse the repository at this point in the history
* chore: update modules/sentry-cocoa to 8.3.2

* Update bindings

---------

Co-authored-by: GitHub <noreply@github.com>
Co-authored-by: Matt Johnson-Pint <matt.johnson-pint@sentry.io>
  • Loading branch information
3 people committed Mar 22, 2023
1 parent f7800b8 commit 7ab09e5
Show file tree
Hide file tree
Showing 5 changed files with 205 additions and 132 deletions.
6 changes: 3 additions & 3 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,9 +12,9 @@

### Dependencies

- Bump Cocoa SDK from v8.3.0 to v8.3.1 ([#2237](https://github.com/getsentry/sentry-dotnet/pull/2237))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#831)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.3.0...8.3.1)
- Bump Cocoa SDK from v8.3.0 to v8.3.2 ([#2237](https://github.com/getsentry/sentry-dotnet/pull/2237), [#2248](https://github.com/getsentry/sentry-dotnet/pull/2248))
- [changelog](https://github.com/getsentry/sentry-cocoa/blob/main/CHANGELOG.md#832)
- [diff](https://github.com/getsentry/sentry-cocoa/compare/8.3.0...8.3.2)

- Bump CLI from v2.14.4 to v2.15.2 ([#2238](https://github.com/getsentry/sentry-dotnet/pull/2238), [#2244](https://github.com/getsentry/sentry-dotnet/pull/2244))
- [changelog](https://github.com/getsentry/sentry-cli/blob/master/CHANGELOG.md#2152)
Expand Down
2 changes: 1 addition & 1 deletion modules/sentry-cocoa
Submodule sentry-cocoa updated 52 files
+8 −0 .github/workflows/build.yml
+15 −1 CHANGELOG.md
+1 −1 Gemfile.lock
+1 −1 Makefile
+1 −1 README.md
+11 −3 Samples/iOS-Swift/iOS-Swift/Base.lproj/Main.storyboard
+17 −0 Samples/iOS-Swift/iOS-Swift/Tools/RandomErrors.swift
+24 −3 Samples/iOS-Swift/iOS-Swift/ViewController.swift
+2 −2 Sentry.podspec
+5 −19 Sentry.xcodeproj/project.pbxproj
+1 −1 SentryPrivate.podspec
+2 −2 SentrySwiftUI.podspec
+1 −1 SentryTestUtils/TestSentryDispatchQueueWrapper.swift
+1 −1 Sources/Configuration/Sentry.xcconfig
+1 −1 Sources/Configuration/SentryPrivate.xcconfig
+2 −4 Sources/Sentry/Public/SentryClient.h
+2 −7 Sources/Sentry/Public/SentryHub.h
+7 −1 Sources/Sentry/SentryANRTracker.m
+1 −0 Sources/Sentry/SentryHub.m
+1 −1 Sources/Sentry/SentryMeta.m
+11 −1 Sources/Sentry/SentryThreadInspector.m
+1 −0 Sources/Sentry/SentryTraceContext.m
+65 −77 Sources/Sentry/SentryUser.m
+2 −2 Sources/Sentry/include/HybridPublic/PrivateSentrySDKOnly.h
+16 −4 Sources/Sentry/include/HybridPublic/SentryEnvelope.h
+3 −0 Sources/Sentry/include/SentryANRTracker.h
+4 −1 Sources/Sentry/include/SentryClient+Private.h
+0 −0 Sources/Sentry/include/SentryDefaultObjCRuntimeWrapper.h
+0 −0 Sources/Sentry/include/SentryNoOpSpan.h
+0 −0 Sources/Sentry/include/SentryProfilesSampler.h
+6 −1 Sources/Sentry/include/SentrySdkInfo.h
+0 −0 Sources/Sentry/include/SentrySubClassFinder.h
+11 −2 Sources/Sentry/include/SentryTraceContext.h
+0 −5 Sources/SentryCrash/Recording/Monitors/SentryCrashMonitor.c
+0 −1 Sources/SentryCrash/Recording/Monitors/SentryCrashMonitorType.c
+3 −9 Sources/SentryCrash/Recording/Monitors/SentryCrashMonitorType.h
+0 −247 Sources/SentryCrash/Recording/Monitors/SentryCrashMonitor_Zombie.c
+0 −67 Sources/SentryCrash/Recording/Monitors/SentryCrashMonitor_Zombie.h
+0 −7 Sources/SentryCrash/Recording/SentryCrash.h
+1 −12 Sources/SentryCrash/Recording/SentryCrash.m
+0 −1 Sources/SentryCrash/Recording/SentryCrashC.c
+0 −20 Sources/SentryCrash/Recording/SentryCrashReport.c
+14 −0 Sources/SentryCrash/Recording/Tools/SentryCrashMachineContext.c
+7 −0 Sources/SentryCrash/Recording/Tools/SentryCrashMachineContext.h
+3 −1 Tests/SentryTests/Integrations/ANR/SentryANRTrackerTests.swift
+0 −4 Tests/SentryTests/Integrations/Performance/Network/SentryNetworkTrackerTests.swift
+1 −4 Tests/SentryTests/Protocol/SentryUserTests.swift
+1 −0 Tests/SentryTests/SentryCrash/SentryCrashReportStore_Tests.m
+22 −0 Tests/SentryTests/SentryCrash/SentryThreadInspectorTests.swift
+0 −13 Tests/SentryTests/TestUtils/SentryTestObserver.h
+0 −100 Tests/SentryTests/TestUtils/SentryTestObserver.m
+4 −0 develop-docs/README.md
5 changes: 2 additions & 3 deletions scripts/generate-cocoa-bindings.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -22,14 +22,13 @@ if (!(Get-Command sharpie -ErrorAction SilentlyContinue)) {
}

# Generate bindings
# NOTE: We pull in SentryEnvelope.h manually, because it's in HybridPublic but not imported by PrivateSentrySDKOnly.h
Write-Output 'Generating bindings with Objective Sharpie.'
sharpie bind -sdk iphoneos -quiet `
-scope "$CocoaSdkPath/Carthage/Headers" `
"$CocoaSdkPath/Carthage/Headers/Sentry.h" `
"$CocoaSdkPath/Carthage/Headers/PrivateSentrySDKOnly.h" `
"$CocoaSdkPath/Carthage/Headers/SentryEnvelope.h" `
-o $BindingsPath
-o $BindingsPath `
-c -Wno-objc-property-no-attribute

# Ensure backup path exists
if (!(Test-Path $BackupPath)) {
Expand Down
318 changes: 196 additions & 122 deletions src/Sentry.Bindings.Cocoa/ApiDefinitions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -216,10 +216,6 @@ interface SentryClient
[Export ("captureUserFeedback:")]
void CaptureUserFeedback (SentryUserFeedback userFeedback);

// -(void)captureSession:(SentrySession * _Nonnull)session __attribute__((swift_name("capture(session:)")));
[Export ("captureSession:")]
void CaptureSession (SentrySession session);

// -(void)flush:(NSTimeInterval)timeout __attribute__((swift_name("flush(timeout:)")));
[Export ("flush:")]
void Flush (double timeout);
Expand Down Expand Up @@ -1039,10 +1035,6 @@ interface SentryHub
[Export ("initWithClient:andScope:")]
NativeHandle Constructor ([NullAllowed] SentryClient client, [NullAllowed] SentryScope scope);

// @property (readonly, nonatomic, strong) SentrySession * _Nullable session;
[NullAllowed, Export ("session", ArgumentSemantic.Strong)]
SentrySession Session { get; }

// -(void)startSession;
[Export ("startSession")]
void StartSession ();
Expand Down Expand Up @@ -2028,144 +2020,86 @@ interface SentryAppStartMeasurement
NSDate DidFinishLaunchingTimestamp { get; }
}

// @interface SentryScreenFrames : NSObject
// @interface SentrySdkInfo : NSObject <SentrySerializable>
[BaseType (typeof(NSObject))]
[DisableDefaultCtor]
[Internal]
interface SentryScreenFrames
interface SentrySdkInfo : SentrySerializable
{
// -(instancetype _Nonnull)initWithTotal:(NSUInteger)total frozen:(NSUInteger)frozen slow:(NSUInteger)slow;
[Export ("initWithTotal:frozen:slow:")]
NativeHandle Constructor (nuint total, nuint frozen, nuint slow);

// -(instancetype _Nonnull)initWithTotal:(NSUInteger)total frozen:(NSUInteger)frozen slow:(NSUInteger)slow slowFrameTimestamps:(SentryFrameInfoTimeSeries * _Nonnull)slowFrameTimestamps frozenFrameTimestamps:(SentryFrameInfoTimeSeries * _Nonnull)frozenFrameTimestamps frameRateTimestamps:(SentryFrameInfoTimeSeries * _Nonnull)frameRateTimestamps;
[Export ("initWithTotal:frozen:slow:slowFrameTimestamps:frozenFrameTimestamps:frameRateTimestamps:")]
NativeHandle Constructor (nuint total, nuint frozen, nuint slow, NSDictionary<NSString, NSNumber>[] slowFrameTimestamps, NSDictionary<NSString, NSNumber>[] frozenFrameTimestamps, NSDictionary<NSString, NSNumber>[] frameRateTimestamps);

// @property (readonly, assign, nonatomic) NSUInteger total;
[Export ("total")]
nuint Total { get; }

// @property (readonly, assign, nonatomic) NSUInteger frozen;
[Export ("frozen")]
nuint Frozen { get; }
// @property (readonly, copy, nonatomic) NSString * _Nonnull name;
[Export ("name")]
string Name { get; }

// @property (readonly, assign, nonatomic) NSUInteger slow;
[Export ("slow")]
nuint Slow { get; }
// @property (readonly, copy, nonatomic) NSString * _Nonnull version;
[Export ("version")]
string Version { get; }

// @property (readonly, copy, nonatomic) SentryFrameInfoTimeSeries * _Nonnull slowFrameTimestamps;
[Export ("slowFrameTimestamps", ArgumentSemantic.Copy)]
NSDictionary<NSString, NSNumber>[] SlowFrameTimestamps { get; }
// -(instancetype _Nonnull)initWithName:(NSString * _Nonnull)name andVersion:(NSString * _Nonnull)version __attribute__((objc_designated_initializer));
[Export ("initWithName:andVersion:")]
[DesignatedInitializer]
NativeHandle Constructor (string name, string version);

// @property (readonly, copy, nonatomic) SentryFrameInfoTimeSeries * _Nonnull frozenFrameTimestamps;
[Export ("frozenFrameTimestamps", ArgumentSemantic.Copy)]
NSDictionary<NSString, NSNumber>[] FrozenFrameTimestamps { get; }
// -(instancetype _Nonnull)initWithDict:(NSDictionary * _Nonnull)dict;
[Export ("initWithDict:")]
NativeHandle Constructor (NSDictionary dict);

// @property (readonly, copy, nonatomic) SentryFrameInfoTimeSeries * _Nonnull frameRateTimestamps;
[Export ("frameRateTimestamps", ArgumentSemantic.Copy)]
NSDictionary<NSString, NSNumber>[] FrameRateTimestamps { get; }
// -(instancetype _Nonnull)initWithDict:(NSDictionary * _Nonnull)dict orDefaults:(SentrySdkInfo * _Nonnull)info;
[Export ("initWithDict:orDefaults:")]
NativeHandle Constructor (NSDictionary dict, SentrySdkInfo info);
}

// typedef void (^SentryOnAppStartMeasurementAvailable)(SentryAppStartMeasurement * _Nullable);
[Internal]
delegate void SentryOnAppStartMeasurementAvailable ([NullAllowed] SentryAppStartMeasurement appStartMeasurement);

// @interface PrivateSentrySDKOnly : NSObject
// @interface SentryTraceContext : NSObject <SentrySerializable>
[BaseType (typeof(NSObject))]
[Internal]
interface PrivateSentrySDKOnly
interface SentryTraceContext : SentrySerializable
{
// +(void)storeEnvelope:(SentryEnvelope * _Nonnull)envelope;
[Static]
[Export ("storeEnvelope:")]
void StoreEnvelope (SentryEnvelope envelope);

// +(void)captureEnvelope:(SentryEnvelope * _Nonnull)envelope;
[Static]
[Export ("captureEnvelope:")]
void CaptureEnvelope (SentryEnvelope envelope);

// +(SentryEnvelope * _Nullable)envelopeWithData:(NSData * _Nonnull)data;
[Static]
[Export ("envelopeWithData:")]
[return: NullAllowed]
SentryEnvelope EnvelopeWithData (NSData data);

// +(NSArray<SentryDebugMeta *> * _Nonnull)getDebugImages;
[Static]
[Export ("getDebugImages")]
SentryDebugMeta[] DebugImages { get; }

// +(void)setSdkName:(NSString * _Nonnull)sdkName andVersionString:(NSString * _Nonnull)versionString;
[Static]
[Export ("setSdkName:andVersionString:")]
void SetSdkName (string sdkName, string versionString);

// +(void)setSdkName:(NSString * _Nonnull)sdkName;
[Static]
[Export ("setSdkName:")]
void SetSdkName (string sdkName);

// +(NSString * _Nonnull)getSdkName;
[Static]
[Export ("getSdkName")]
string SdkName { get; }
// @property (readonly, nonatomic) SentryId * _Nonnull traceId;
[Export ("traceId")]
SentryId TraceId { get; }

// +(NSString * _Nonnull)getSdkVersionString;
[Static]
[Export ("getSdkVersionString")]
string SdkVersionString { get; }
// @property (readonly, nonatomic) NSString * _Nonnull publicKey;
[Export ("publicKey")]
string PublicKey { get; }

// @property (copy, nonatomic, class) SentryOnAppStartMeasurementAvailable _Nullable onAppStartMeasurementAvailable;
[Static]
[NullAllowed, Export ("onAppStartMeasurementAvailable", ArgumentSemantic.Copy)]
SentryOnAppStartMeasurementAvailable OnAppStartMeasurementAvailable { get; set; }
// @property (readonly, nonatomic) NSString * _Nullable releaseName;
[NullAllowed, Export ("releaseName")]
string ReleaseName { get; }

// @property (readonly, nonatomic, class) SentryAppStartMeasurement * _Nullable appStartMeasurement;
[Static]
[NullAllowed, Export ("appStartMeasurement")]
SentryAppStartMeasurement AppStartMeasurement { get; }
// @property (readonly, nonatomic) NSString * _Nullable environment;
[NullAllowed, Export ("environment")]
string Environment { get; }

// @property (readonly, copy, nonatomic, class) NSString * _Nonnull installationID;
[Static]
[Export ("installationID")]
string InstallationID { get; }
// @property (readonly, nonatomic) NSString * _Nullable transaction;
[NullAllowed, Export ("transaction")]
string Transaction { get; }

// @property (readonly, copy, nonatomic, class) SentryOptions * _Nonnull options;
[Static]
[Export ("options", ArgumentSemantic.Copy)]
SentryOptions Options { get; }
// @property (readonly, nonatomic) NSString * _Nullable userSegment;
[NullAllowed, Export ("userSegment")]
string UserSegment { get; }

// @property (assign, nonatomic, class) BOOL appStartMeasurementHybridSDKMode;
[Static]
[Export ("appStartMeasurementHybridSDKMode")]
bool AppStartMeasurementHybridSDKMode { get; set; }
// @property (nonatomic) NSString * _Nullable sampleRate;
[NullAllowed, Export ("sampleRate")]
string SampleRate { get; set; }

// @property (assign, nonatomic, class) BOOL framesTrackingMeasurementHybridSDKMode;
[Static]
[Export ("framesTrackingMeasurementHybridSDKMode")]
bool FramesTrackingMeasurementHybridSDKMode { get; set; }
// -(instancetype _Nonnull)initWithTraceId:(SentryId * _Nonnull)traceId publicKey:(NSString * _Nonnull)publicKey releaseName:(NSString * _Nullable)releaseName environment:(NSString * _Nullable)environment transaction:(NSString * _Nullable)transaction userSegment:(NSString * _Nullable)userSegment sampleRate:(NSString * _Nullable)sampleRate;
[Export ("initWithTraceId:publicKey:releaseName:environment:transaction:userSegment:sampleRate:")]
NativeHandle Constructor (SentryId traceId, string publicKey, [NullAllowed] string releaseName, [NullAllowed] string environment, [NullAllowed] string transaction, [NullAllowed] string userSegment, [NullAllowed] string sampleRate);

// @property (readonly, assign, nonatomic, class) BOOL isFramesTrackingRunning;
[Static]
[Export ("isFramesTrackingRunning")]
bool IsFramesTrackingRunning { get; }
// -(instancetype _Nullable)initWithScope:(SentryScope * _Nonnull)scope options:(SentryOptions * _Nonnull)options;
[Export ("initWithScope:options:")]
NativeHandle Constructor (SentryScope scope, SentryOptions options);

// @property (readonly, assign, nonatomic, class) SentryScreenFrames * _Nonnull currentScreenFrames;
[Static]
[Export ("currentScreenFrames", ArgumentSemantic.Assign)]
SentryScreenFrames CurrentScreenFrames { get; }
// -(instancetype _Nullable)initWithDict:(NSDictionary<NSString *,id> * _Nonnull)dictionary;
[Export ("initWithDict:")]
NativeHandle Constructor (NSDictionary<NSString, NSObject> dictionary);

// +(NSArray<NSData *> * _Nonnull)captureScreenshots;
[Static]
[Export ("captureScreenshots")]
NSData[] CaptureScreenshots();
// -(instancetype _Nullable)initWithTracer:(SentryTracer * _Nonnull)tracer scope:(SentryScope * _Nullable)scope options:(SentryOptions * _Nonnull)options;
[Export ("initWithTracer:scope:options:")]
NativeHandle Constructor (SentryTracer tracer, [NullAllowed] SentryScope scope, SentryOptions options);

// +(NSData * _Nonnull)captureViewHierarchy;
[Static]
[Export ("captureViewHierarchy")]
NSData CaptureViewHierarchy();
// -(SentryBaggage * _Nonnull)toBaggage;
[Export ("toBaggage")]
SentryBaggage ToBaggage();
}

// @interface SentryEnvelopeHeader : NSObject
Expand Down Expand Up @@ -2283,3 +2217,143 @@ interface SentryEnvelope
[Export ("items", ArgumentSemantic.Strong)]
SentryEnvelopeItem[] Items { get; }
}

// @interface SentryScreenFrames : NSObject
[BaseType (typeof(NSObject))]
[DisableDefaultCtor]
[Internal]
interface SentryScreenFrames
{
// -(instancetype _Nonnull)initWithTotal:(NSUInteger)total frozen:(NSUInteger)frozen slow:(NSUInteger)slow;
[Export ("initWithTotal:frozen:slow:")]
NativeHandle Constructor (nuint total, nuint frozen, nuint slow);

// -(instancetype _Nonnull)initWithTotal:(NSUInteger)total frozen:(NSUInteger)frozen slow:(NSUInteger)slow slowFrameTimestamps:(SentryFrameInfoTimeSeries * _Nonnull)slowFrameTimestamps frozenFrameTimestamps:(SentryFrameInfoTimeSeries * _Nonnull)frozenFrameTimestamps frameRateTimestamps:(SentryFrameInfoTimeSeries * _Nonnull)frameRateTimestamps;
[Export ("initWithTotal:frozen:slow:slowFrameTimestamps:frozenFrameTimestamps:frameRateTimestamps:")]
NativeHandle Constructor (nuint total, nuint frozen, nuint slow, NSDictionary<NSString, NSNumber>[] slowFrameTimestamps, NSDictionary<NSString, NSNumber>[] frozenFrameTimestamps, NSDictionary<NSString, NSNumber>[] frameRateTimestamps);

// @property (readonly, assign, nonatomic) NSUInteger total;
[Export ("total")]
nuint Total { get; }

// @property (readonly, assign, nonatomic) NSUInteger frozen;
[Export ("frozen")]
nuint Frozen { get; }

// @property (readonly, assign, nonatomic) NSUInteger slow;
[Export ("slow")]
nuint Slow { get; }

// @property (readonly, copy, nonatomic) SentryFrameInfoTimeSeries * _Nonnull slowFrameTimestamps;
[Export ("slowFrameTimestamps", ArgumentSemantic.Copy)]
NSDictionary<NSString, NSNumber>[] SlowFrameTimestamps { get; }

// @property (readonly, copy, nonatomic) SentryFrameInfoTimeSeries * _Nonnull frozenFrameTimestamps;
[Export ("frozenFrameTimestamps", ArgumentSemantic.Copy)]
NSDictionary<NSString, NSNumber>[] FrozenFrameTimestamps { get; }

// @property (readonly, copy, nonatomic) SentryFrameInfoTimeSeries * _Nonnull frameRateTimestamps;
[Export ("frameRateTimestamps", ArgumentSemantic.Copy)]
NSDictionary<NSString, NSNumber>[] FrameRateTimestamps { get; }
}

// typedef void (^SentryOnAppStartMeasurementAvailable)(SentryAppStartMeasurement * _Nullable);
[Internal]
delegate void SentryOnAppStartMeasurementAvailable ([NullAllowed] SentryAppStartMeasurement appStartMeasurement);

// @interface PrivateSentrySDKOnly : NSObject
[BaseType (typeof(NSObject))]
[Internal]
interface PrivateSentrySDKOnly
{
// +(void)storeEnvelope:(SentryEnvelope * _Nonnull)envelope;
[Static]
[Export ("storeEnvelope:")]
void StoreEnvelope (SentryEnvelope envelope);

// +(void)captureEnvelope:(SentryEnvelope * _Nonnull)envelope;
[Static]
[Export ("captureEnvelope:")]
void CaptureEnvelope (SentryEnvelope envelope);

// +(SentryEnvelope * _Nullable)envelopeWithData:(NSData * _Nonnull)data;
[Static]
[Export ("envelopeWithData:")]
[return: NullAllowed]
SentryEnvelope EnvelopeWithData (NSData data);

// +(NSArray<SentryDebugMeta *> * _Nonnull)getDebugImages;
[Static]
[Export ("getDebugImages")]
SentryDebugMeta[] DebugImages { get; }

// +(void)setSdkName:(NSString * _Nonnull)sdkName andVersionString:(NSString * _Nonnull)versionString;
[Static]
[Export ("setSdkName:andVersionString:")]
void SetSdkName (string sdkName, string versionString);

// +(void)setSdkName:(NSString * _Nonnull)sdkName;
[Static]
[Export ("setSdkName:")]
void SetSdkName (string sdkName);

// +(NSString * _Nonnull)getSdkName;
[Static]
[Export ("getSdkName")]
string SdkName { get; }

// +(NSString * _Nonnull)getSdkVersionString;
[Static]
[Export ("getSdkVersionString")]
string SdkVersionString { get; }

// @property (copy, nonatomic, class) SentryOnAppStartMeasurementAvailable _Nullable onAppStartMeasurementAvailable;
[Static]
[NullAllowed, Export ("onAppStartMeasurementAvailable", ArgumentSemantic.Copy)]
SentryOnAppStartMeasurementAvailable OnAppStartMeasurementAvailable { get; set; }

// @property (readonly, nonatomic, class) SentryAppStartMeasurement * _Nullable appStartMeasurement;
[Static]
[NullAllowed, Export ("appStartMeasurement")]
SentryAppStartMeasurement AppStartMeasurement { get; }

// @property (readonly, copy, nonatomic, class) NSString * _Nonnull installationID;
[Static]
[Export ("installationID")]
string InstallationID { get; }

// @property (readonly, copy, nonatomic, class) SentryOptions * _Nonnull options;
[Static]
[Export ("options", ArgumentSemantic.Copy)]
SentryOptions Options { get; }

// @property (assign, nonatomic, class) BOOL appStartMeasurementHybridSDKMode;
[Static]
[Export ("appStartMeasurementHybridSDKMode")]
bool AppStartMeasurementHybridSDKMode { get; set; }

// @property (assign, nonatomic, class) BOOL framesTrackingMeasurementHybridSDKMode;
[Static]
[Export ("framesTrackingMeasurementHybridSDKMode")]
bool FramesTrackingMeasurementHybridSDKMode { get; set; }

// @property (readonly, assign, nonatomic, class) BOOL isFramesTrackingRunning;
[Static]
[Export ("isFramesTrackingRunning")]
bool IsFramesTrackingRunning { get; }

// @property (readonly, assign, nonatomic, class) SentryScreenFrames * _Nonnull currentScreenFrames;
[Static]
[Export ("currentScreenFrames", ArgumentSemantic.Assign)]
SentryScreenFrames CurrentScreenFrames { get; }

// +(NSArray<NSData *> * _Nonnull)captureScreenshots;
[Static]
[Export ("captureScreenshots")]
NSData[] CaptureScreenshots();

// +(NSData * _Nonnull)captureViewHierarchy;
[Static]
[Export ("captureViewHierarchy")]
NSData CaptureViewHierarchy();
}
Loading

0 comments on commit 7ab09e5

Please sign in to comment.