diff --git a/.github/file-filters.yml b/.github/file-filters.yml
index a5407a6ab26..65d9ef1f54a 100644
--- a/.github/file-filters.yml
+++ b/.github/file-filters.yml
@@ -1,4 +1,4 @@
-# This is used by the action https://github.com/dorny/paths-filter (which we have forked to https://github.com/getsentry/paths-filter)
+# This is used by the action https://github.com/dorny/paths-filter
high_risk_code: &high_risk_code
- 'Sources/Sentry/SentryNSURLSessionTaskSearch.m'
diff --git a/.github/last-release-runid b/.github/last-release-runid
index eb163fc51a4..8f588bb000d 100644
--- a/.github/last-release-runid
+++ b/.github/last-release-runid
@@ -1 +1 @@
-8538785668
+9064167907
diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index a86689c0ead..4589ad56069 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -149,6 +149,7 @@ jobs:
- uses: actions/download-artifact@v4
with:
name: ${{ github.sha }}
+ path: Carthage/
- run: ./scripts/ci-select-xcode.sh 15.2
- run: make build-xcframework-sample
shell: sh
diff --git a/.github/workflows/changes-in-high-risk-code.yml b/.github/workflows/changes-in-high-risk-code.yml
index e822fe9c8d2..bc93f2e2352 100644
--- a/.github/workflows/changes-in-high-risk-code.yml
+++ b/.github/workflows/changes-in-high-risk-code.yml
@@ -19,7 +19,7 @@ jobs:
- uses: actions/checkout@v4
- name: Get changed files
id: changes
- uses: getsentry/paths-filter@4512585405083f25c027a35db413c2b3b9006d50 # v2.11.1
+ uses: dorny/paths-filter@de90cc6fb38fc0963ad72b210f1f284cd68cea36 # v3.0.2
with:
token: ${{ github.token }}
filters: .github/file-filters.yml
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index c7a436b3b31..7099eb68da7 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -29,7 +29,7 @@ jobs:
uses: actions/checkout@v4
- name: Initialize CodeQL
- uses: github/codeql-action/init@cdcdbb579706841c47f7063dda365e292e5cad7a # pin@v2
+ uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
@@ -42,4 +42,4 @@ jobs:
-destination platform="iOS Simulator,OS=latest,name=iPhone 14 Pro" | xcpretty && exit ${PIPESTATUS[0]}
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@cdcdbb579706841c47f7063dda365e292e5cad7a # pin@v2
+ uses: github/codeql-action/analyze@v3
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index a37e4efd9e0..80146e2594e 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -35,6 +35,7 @@ jobs:
Carthage/Sentry.xcframework.zip
Carthage/Sentry-Dynamic.xcframework.zip
Carthage/SentrySwiftUI.xcframework.zip
+ Carthage/Sentry-WihoutUIKitOrAppKit.zip
overwrite: true
job_release:
diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 9995aed4d3c..ae098939acd 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -20,14 +20,6 @@ on:
- ".codecov.yml"
- Sentry.xcodeproj
- # run the workflow any time an Xcode scheme changes for a sample app
- - "Samples/tvOS-Swift/tvOS-Swift.xcodeproj/xcshareddata/xcschemes/tvOS-Swift.xcscheme"
- - "Samples/iOS-Swift/iOS-Swift.xcodeproj/xcshareddata/xcschemes/iOS13-Swift.xcscheme"
- - "Samples/iOS-Swift/iOS-Swift.xcodeproj/xcshareddata/xcschemes/iOS-SwiftUITests.xcscheme"
- - "Samples/iOS-Swift/iOS-Swift.xcodeproj/xcshareddata/xcschemes/iOS-Swift.xcscheme"
- - "Samples/macOS-Swift/macOS-Swift.xcodeproj/xcshareddata/xcschemes/macOS-Swift.xcscheme"
- - "Samples/iOS-ObjectiveC/iOS-ObjectiveC.xcodeproj/xcshareddata/xcschemes/iOS-ObjectiveC.xcscheme"
-
# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
@@ -246,7 +238,7 @@ jobs:
# We don't upload codecov for scheduled runs as CodeCov only accepts a limited amount of uploads per commit.
- name: Push code coverage to codecov
id: codecov_1
- uses: codecov/codecov-action@c16abc29c95fcf9174b58eb7e1abf4c866893bc8 # pin@v4.1.1
+ uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # pin@v4.3.1
if: ${{ contains(matrix.platform, 'iOS') && !contains(github.ref, 'release') && github.event.schedule == '' }}
with:
# Although public repos should not have to specify a token there seems to be a bug with the Codecov GH action, which can
@@ -258,7 +250,7 @@ jobs:
# Sometimes codecov uploads etc can fail. Retry one time to rule out e.g. intermittent network failures.
- name: Push code coverage to codecov
id: codecov_2
- uses: codecov/codecov-action@c16abc29c95fcf9174b58eb7e1abf4c866893bc8 # pin@v4.1.1
+ uses: codecov/codecov-action@5ecb98a3c6b747ed38dc09f787459979aebb39be # pin@v4.3.1
if: ${{ steps.codecov_1.outcome == 'failure' && contains(matrix.platform, 'iOS') && !contains(github.ref, 'release') && github.event.schedule == '' }}
with:
token: ${{ secrets.CODECOV_TOKEN }}
diff --git a/.github/workflows/ui-tests.yml b/.github/workflows/ui-tests.yml
index 5509297eacb..27e9824d6a1 100644
--- a/.github/workflows/ui-tests.yml
+++ b/.github/workflows/ui-tests.yml
@@ -14,7 +14,7 @@ on:
- 'scripts/ci-select-xcode.sh'
# run the workflow any time an Xcode scheme changes for one of the sample apps with a UI test suite we run in saucelabs
- - 'Samples/iOS-Swift/iOS-Swift.xcodeproj/xcshareddata/xcschemes/iOS-SwiftUITests.xcscheme'
+ - 'Samples/iOS-Swift/iOS-Swift.xcodeproj/xcshareddata/xcschemes/iOS-Swift-UITests.xcscheme'
- 'Samples/iOS-Swift/iOS-Swift.xcodeproj/xcshareddata/xcschemes/iOS-Swift.xcscheme'
@@ -78,7 +78,7 @@ jobs:
uses: actions/upload-artifact@v4
if: ${{ failure() || cancelled() }}
with:
- name: raw-swiftui-test-output-${{matrix.platform}}-xcode-${{matrix.xcode}}-os-${{matrix.test-destination-os}}
+ name: raw-ios-swiftui-test-output-xcode-${{matrix.xcode}}-${{matrix.device}}
path: |
~/Library/Logs/scan/*.log
./fastlane/test_output/**
@@ -148,7 +148,7 @@ jobs:
uses: actions/upload-artifact@v4
if: ${{ failure() || cancelled() }}
with:
- name: raw-uitest-output-asan
+ name: raw-ios-swift-test-output-${{matrix.xcode}}-${{matrix.device}}
path: |
~/Library/Logs/scan/*.log
./fastlane/test_output/**
diff --git a/CHANGELOG.md b/CHANGELOG.md
index d63aae1f398..c166181b7e2 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -2,9 +2,97 @@
## Unreleased
+### Fixes
+
+- Fix retrieving GraphQL operation names crashing ([#3973](https://github.com/getsentry/sentry-cocoa/pull/3973))
+
+## 8.26.0
+
+### Features
+
+- Add SIGTERM support ([#3895](https://github.com/getsentry/sentry-cocoa/pull/3895))
+
+### Fixes
+
+- Fix data race when calling reportFullyDisplayed from a background thread (#3926)
+- Ensure flushing envelopes directly after capturing them (#3915)
+- Unable to find class: SentryCrashExceptionApplication (#3957)
+- Clang error for Xcode 15.4 (#3958)
+- Potential deadlock when starting the SDK (#3970)
+
+### Improvements
+
+- Send Cocoa SDK features (#3948)
+
+## 8.25.2
+
+### Features
+
+The following two features, disabled by default, were mistakenly added to the release. We usually only add features in minor releases.
+
+- Add option to use own NSURLSession for transport (#3811)
+- Support sending GraphQL operation names in HTTP breadcrumbs (#3931)
+
+### Fixes
+
+- 'SentryFileManager+Test.h' file not found (#3950)
+
+## 8.25.1
+
+### Fixes
+
+- Ignore SentryFramesTracker thread sanitizer data races (#3922)
+- Handle no releaseName in WatchDogTerminationLogic (#3919)
+- Stop SessionReplay when closing SDK (#3941)
+
+### Improvements
+
+- Remove not needed lock for logging (#3934)
+- Session replay Improvements (#3877)
+ - Use image average color and text font color to redact session replay
+ - Removed iOS 16 restriction from session replay
+ - Performance improvement
+
+## 8.25.0
+
+### Features
+
+- Add Session Replay, which is **still experimental**. (#3625)
+ - Access is limited to early access orgs on Sentry. If you're interested, [sign up for the waitlist](https://sentry.io/lp/mobile-replay-beta/)
+
+### Fixes
+
+- Crash due to a background call to -[UIApplication applicationState] (#3855)
+- Save framework without UIKit/AppKit as Github Asset for releases (#3858)
+- Fix crash associated with runtime collision in global C function names (#3862)
+- Remove wrong error log in SentryCoreDataTracker (#3894)
+- Don't transmit device boot time in envelopes enriched with crash data (#3912, #3916)
+
+### Improvements
+
+- Capture transactions on a background thread (#3892)
+
+## 8.25.0-alpha.0
+
+### Features
+
+- Add Session Replay, which is **still experimental**. (#3625)
+ - Access is limited to early access orgs on Sentry. If you're interested, [sign up for the waitlist](https://sentry.io/lp/mobile-replay-beta/)
+
+### Fixes
+
+- Crash due to a background call to -[UIApplication applicationState] (#3855)
+- Save framework without UIKit/AppKit as Github Asset for releases (#3858)
+- Fix crash associated with runtime collision in global C function names (#3862)
+- Remove wrong error log in SentryCoreDataTracker (#3894)
+
+## 8.24.0
+
### Features
- Add timing API for Metrics (#3812):
+- Add [rate limiting](https://develop.sentry.dev/sdk/rate-limiting/) for Metrics (#3838)
+- Data normalization for Metrics (#3843)
## 8.23.0
diff --git a/Gemfile.lock b/Gemfile.lock
index c7b08f191de..2186a10e016 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -226,7 +226,7 @@ GEM
mime-types-data (3.2023.1003)
mini_magick (4.12.0)
mini_mime (1.1.5)
- mini_portile2 (2.8.5)
+ mini_portile2 (2.8.6)
minitest (5.22.2)
molinillo (0.8.0)
multi_json (1.15.0)
@@ -237,7 +237,7 @@ GEM
naturally (2.2.1)
netrc (0.11.0)
nkf (0.2.0)
- nokogiri (1.16.2)
+ nokogiri (1.16.5)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
optparse (0.4.0)
diff --git a/LICENSE.md b/LICENSE.md
index 5a483f25178..95b14dbf956 100644
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,6 +1,6 @@
The MIT License (MIT)
-Copyright (c) 2015 Sentry
+Copyright (c) 2015-2024 Sentry
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
diff --git a/Makefile b/Makefile
index 70717268578..018641e1c94 100644
--- a/Makefile
+++ b/Makefile
@@ -65,6 +65,7 @@ build-xcframework:
ditto -c -k -X --rsrc --keepParent Carthage/Sentry.xcframework Carthage/Sentry.xcframework.zip
ditto -c -k -X --rsrc --keepParent Carthage/Sentry-Dynamic.xcframework Carthage/Sentry-Dynamic.xcframework.zip
ditto -c -k -X --rsrc --keepParent Carthage/SentrySwiftUI.xcframework Carthage/SentrySwiftUI.xcframework.zip
+ ditto -c -k -X --rsrc --keepParent Carthage/Sentry-WihoutUIKitOrAppKit.xcframework Carthage/Sentry-WihoutUIKitOrAppKit.zip
build-xcframework-sample:
./scripts/create-carthage-json.sh
diff --git a/Package.swift b/Package.swift
index 17a4539bba3..9bf4ade9564 100644
--- a/Package.swift
+++ b/Package.swift
@@ -12,13 +12,13 @@ let package = Package(
targets: [
.binaryTarget(
name: "Sentry",
- url: "https://github.com/getsentry/sentry-cocoa/releases/download/8.23.0/Sentry.xcframework.zip",
- checksum: "f6d5e846ee979671211ff526fe7600f7d7b6348940314b2b76e5b64901165e26" //Sentry-Static
+ url: "https://github.com/getsentry/sentry-cocoa/releases/download/8.26.0/Sentry.xcframework.zip",
+ checksum: "f56ecefdc9db1f0801a99a9a929a035c1a2458ed5ff25f8d0d10727bb5c435a6" //Sentry-Static
),
.binaryTarget(
name: "Sentry-Dynamic",
- url: "https://github.com/getsentry/sentry-cocoa/releases/download/8.23.0/Sentry-Dynamic.xcframework.zip",
- checksum: "33ed13e177056530d3fb4fdecf48d573a631c776b08952b839cc4d5a7157f327" //Sentry-Dynamic
+ url: "https://github.com/getsentry/sentry-cocoa/releases/download/8.26.0/Sentry-Dynamic.xcframework.zip",
+ checksum: "8eb5cf92d5b4fbc3acb86ca1fbf9834a48ee64601154608a2b62ba4a40b8cc5b" //Sentry-Dynamic
),
.target ( name: "SentrySwiftUI",
dependencies: ["Sentry", "SentryInternal"],
diff --git a/Samples/iOS-ObjectiveC/iOS-ObjectiveC.xcodeproj/xcshareddata/xcschemes/iOS-ObjectiveC.xcscheme b/Samples/iOS-ObjectiveC/iOS-ObjectiveC.xcodeproj/xcshareddata/xcschemes/iOS-ObjectiveC.xcscheme
deleted file mode 100644
index f08e9a04e02..00000000000
--- a/Samples/iOS-ObjectiveC/iOS-ObjectiveC.xcodeproj/xcshareddata/xcschemes/iOS-ObjectiveC.xcscheme
+++ /dev/null
@@ -1,94 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Samples/iOS-Swift/iOS-SwiftUITests/BaseUITest.swift b/Samples/iOS-Swift/iOS-Swift-UITests/BaseUITest.swift
similarity index 100%
rename from Samples/iOS-Swift/iOS-SwiftUITests/BaseUITest.swift
rename to Samples/iOS-Swift/iOS-Swift-UITests/BaseUITest.swift
diff --git a/Samples/iOS-Swift/iOS-SwiftUITests/Info.plist b/Samples/iOS-Swift/iOS-Swift-UITests/Info.plist
similarity index 100%
rename from Samples/iOS-Swift/iOS-SwiftUITests/Info.plist
rename to Samples/iOS-Swift/iOS-Swift-UITests/Info.plist
diff --git a/Samples/iOS-Swift/iOS-SwiftUITests/LaunchUITests.swift b/Samples/iOS-Swift/iOS-Swift-UITests/LaunchUITests.swift
similarity index 98%
rename from Samples/iOS-Swift/iOS-SwiftUITests/LaunchUITests.swift
rename to Samples/iOS-Swift/iOS-Swift-UITests/LaunchUITests.swift
index ee4d91c4937..fb806fe977a 100644
--- a/Samples/iOS-Swift/iOS-SwiftUITests/LaunchUITests.swift
+++ b/Samples/iOS-Swift/iOS-Swift-UITests/LaunchUITests.swift
@@ -2,7 +2,7 @@ import XCTest
class LaunchUITests: BaseUITest {
- func testCrashRecovery() {
+ func testCrashRecovery() throws {
//We will be removing this test from iOS 12 because it fails during CI, which looks like a bug that we cannot reproduce.
//If we introduce a bug in the crash report process we will catch it with tests for iOS 13 or above.
//For some reason is not possible to use @available(iOS 13, *) in the test function.
@@ -14,6 +14,8 @@ class LaunchUITests: BaseUITest {
app.launch()
waitForExistenceOfMainScreen()
+ } else {
+ throw XCTSkip("Only run on iOS 13 or later.")
}
}
diff --git a/Samples/iOS-Swift/iOS-SwiftUITests/ProfilingUITests.swift b/Samples/iOS-Swift/iOS-Swift-UITests/ProfilingUITests.swift
similarity index 100%
rename from Samples/iOS-Swift/iOS-SwiftUITests/ProfilingUITests.swift
rename to Samples/iOS-Swift/iOS-Swift-UITests/ProfilingUITests.swift
diff --git a/Samples/iOS-Swift/iOS-SwiftUITests/TopViewControllerTests.swift b/Samples/iOS-Swift/iOS-Swift-UITests/TopViewControllerTests.swift
similarity index 100%
rename from Samples/iOS-Swift/iOS-SwiftUITests/TopViewControllerTests.swift
rename to Samples/iOS-Swift/iOS-Swift-UITests/TopViewControllerTests.swift
diff --git a/Samples/iOS-Swift/iOS-SwiftUITests/UIEventBreadcrumbTests.swift b/Samples/iOS-Swift/iOS-Swift-UITests/UIEventBreadcrumbTests.swift
similarity index 100%
rename from Samples/iOS-Swift/iOS-SwiftUITests/UIEventBreadcrumbTests.swift
rename to Samples/iOS-Swift/iOS-Swift-UITests/UIEventBreadcrumbTests.swift
diff --git a/Samples/iOS-Swift/iOS-SwiftUITests/UITestHelpers.swift b/Samples/iOS-Swift/iOS-Swift-UITests/UITestHelpers.swift
similarity index 100%
rename from Samples/iOS-Swift/iOS-SwiftUITests/UITestHelpers.swift
rename to Samples/iOS-Swift/iOS-Swift-UITests/UITestHelpers.swift
diff --git a/Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj b/Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj
index 634538f37df..301f865ac00 100644
--- a/Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj
+++ b/Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj
@@ -291,7 +291,7 @@
7B4F33F7271EBD2500C8591E /* SwiftUI.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftUI.swift; sourceTree = ""; };
7B4F33FA271EBE0C00C8591E /* SwiftUIViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftUIViewController.swift; sourceTree = ""; };
7B5525B22938B5B5006A2932 /* DiskWriteException.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiskWriteException.swift; sourceTree = ""; };
- 7B64386826A6C544000D0F65 /* iOS-SwiftUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "iOS-SwiftUITests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 7B64386826A6C544000D0F65 /* iOS-Swift-UITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "iOS-Swift-UITests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; };
7B64386A26A6C544000D0F65 /* LaunchUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaunchUITests.swift; sourceTree = ""; };
7B64386C26A6C544000D0F65 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
7B79000329028C7300A7F467 /* MetricKitManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MetricKitManager.swift; sourceTree = ""; };
@@ -439,7 +439,7 @@
848A2576286E3490008A8858 /* PerformanceBenchmarks */,
6308532C2440C44F00DDE4CE /* Sentry.xcodeproj */,
637AFDA8243B02760034958B /* iOS-Swift */,
- 7B64386926A6C544000D0F65 /* iOS-SwiftUITests */,
+ 7B64386926A6C544000D0F65 /* iOS-Swift-UITests */,
D840D521273A07F400CDF142 /* iOS-SwiftClip */,
D8269A3A274C095E00BD5BD5 /* iOS13-Swift */,
D85DAA4A274C244F004DF43C /* iOS13-SwiftTests */,
@@ -454,7 +454,7 @@
isa = PBXGroup;
children = (
637AFDA6243B02760034958B /* iOS-Swift.app */,
- 7B64386826A6C544000D0F65 /* iOS-SwiftUITests.xctest */,
+ 7B64386826A6C544000D0F65 /* iOS-Swift-UITests.xctest */,
D840D520273A07F400CDF142 /* iOS-SwiftClip.app */,
D8269A39274C095E00BD5BD5 /* iOS13-Swift.app */,
D85DAA49274C244F004DF43C /* iOS13-SwiftTests.xctest */,
@@ -487,7 +487,7 @@
path = "iOS-Swift";
sourceTree = "";
};
- 7B64386926A6C544000D0F65 /* iOS-SwiftUITests */ = {
+ 7B64386926A6C544000D0F65 /* iOS-Swift-UITests */ = {
isa = PBXGroup;
children = (
D83A30DF279F1F5C00372D0A /* fatal-error-binary-images-message2.json */,
@@ -502,7 +502,7 @@
7B64386C26A6C544000D0F65 /* Info.plist */,
D8832B1B2AF5101300C522B0 /* TopViewControllerTests.swift */,
);
- path = "iOS-SwiftUITests";
+ path = "iOS-Swift-UITests";
sourceTree = "";
};
848A2576286E3490008A8858 /* PerformanceBenchmarks */ = {
@@ -647,9 +647,9 @@
productReference = 637AFDA6243B02760034958B /* iOS-Swift.app */;
productType = "com.apple.product-type.application";
};
- 7B64386726A6C544000D0F65 /* iOS-SwiftUITests */ = {
+ 7B64386726A6C544000D0F65 /* iOS-Swift-UITests */ = {
isa = PBXNativeTarget;
- buildConfigurationList = 7B64387226A6C544000D0F65 /* Build configuration list for PBXNativeTarget "iOS-SwiftUITests" */;
+ buildConfigurationList = 7B64387226A6C544000D0F65 /* Build configuration list for PBXNativeTarget "iOS-Swift-UITests" */;
buildPhases = (
7B64386426A6C544000D0F65 /* Sources */,
7B64386526A6C544000D0F65 /* Frameworks */,
@@ -662,11 +662,11 @@
D83A30CB279F075800372D0A /* PBXTargetDependency */,
7B64386E26A6C544000D0F65 /* PBXTargetDependency */,
);
- name = "iOS-SwiftUITests";
+ name = "iOS-Swift-UITests";
packageProductDependencies = (
);
productName = "iOS-SwiftUITests";
- productReference = 7B64386826A6C544000D0F65 /* iOS-SwiftUITests.xctest */;
+ productReference = 7B64386826A6C544000D0F65 /* iOS-Swift-UITests.xctest */;
productType = "com.apple.product-type.bundle.ui-testing";
};
848A2560286E3351008A8858 /* PerformanceBenchmarks */ = {
@@ -799,7 +799,7 @@
projectRoot = "";
targets = (
637AFDA5243B02760034958B /* iOS-Swift */,
- 7B64386726A6C544000D0F65 /* iOS-SwiftUITests */,
+ 7B64386726A6C544000D0F65 /* iOS-Swift-UITests */,
848A2560286E3351008A8858 /* PerformanceBenchmarks */,
D840D51F273A07F400CDF142 /* iOS-SwiftClip */,
D8269A38274C095E00BD5BD5 /* iOS13-Swift */,
@@ -1248,7 +1248,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- MARKETING_VERSION = 8.23.0;
+ MARKETING_VERSION = 8.26.0;
PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.sample.iOS-Swift";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "match Development io.sentry.sample.iOS-Swift";
@@ -1277,7 +1277,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- MARKETING_VERSION = 8.23.0;
+ MARKETING_VERSION = 8.26.0;
PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.sample.iOS-Swift";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "match AppStore io.sentry.sample.iOS-Swift";
@@ -1296,14 +1296,14 @@
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
CODE_SIGN_STYLE = Manual;
DEVELOPMENT_TEAM = 97JCY7859U;
- INFOPLIST_FILE = "iOS-SwiftUITests/Info.plist";
+ INFOPLIST_FILE = "iOS-Swift-UITests/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-SwiftUITests";
+ PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-Swift-UITests";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "match Development io.sentry.iOS-SwiftUITests.xctrunner";
"PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = "";
@@ -1320,14 +1320,14 @@
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
CODE_SIGN_STYLE = Manual;
DEVELOPMENT_TEAM = 97JCY7859U;
- INFOPLIST_FILE = "iOS-SwiftUITests/Info.plist";
+ INFOPLIST_FILE = "iOS-Swift-UITests/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-SwiftUITests";
+ PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-Swift-UITests";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "match AppStore io.sentry.iOS-SwiftUITests.xctrunner";
"PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = "";
@@ -1482,14 +1482,14 @@
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
CODE_SIGN_STYLE = Manual;
DEVELOPMENT_TEAM = 97JCY7859U;
- INFOPLIST_FILE = "iOS-SwiftUITests/Info.plist";
+ INFOPLIST_FILE = "iOS-Swift-UITests/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-SwiftUITests";
+ PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-Swift-UITests";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "match Development io.sentry.iOS-SwiftUITests.xctrunner";
"PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = "";
@@ -1707,14 +1707,14 @@
"CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development";
CODE_SIGN_STYLE = Manual;
DEVELOPMENT_TEAM = 97JCY7859U;
- INFOPLIST_FILE = "iOS-SwiftUITests/Info.plist";
+ INFOPLIST_FILE = "iOS-Swift-UITests/Info.plist";
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
- PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-SwiftUITests";
+ PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-Swift-UITests";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "match Development io.sentry.iOS-SwiftUITests.xctrunner";
"PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = "";
@@ -1926,7 +1926,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- MARKETING_VERSION = 8.23.0;
+ MARKETING_VERSION = 8.26.0;
PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.sample.iOS-Swift.Clip";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "match Development io.sentry.sample.iOS-Swift.Clip";
@@ -1961,7 +1961,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
- MARKETING_VERSION = 8.23.0;
+ MARKETING_VERSION = 8.26.0;
PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.sample.iOS-Swift.Clip";
PRODUCT_NAME = "$(TARGET_NAME)";
PROVISIONING_PROFILE_SPECIFIER = "match AppStore io.sentry.sample.iOS-Swift.Clip";
@@ -2040,7 +2040,7 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
- 7B64387226A6C544000D0F65 /* Build configuration list for PBXNativeTarget "iOS-SwiftUITests" */ = {
+ 7B64387226A6C544000D0F65 /* Build configuration list for PBXNativeTarget "iOS-Swift-UITests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
7B64386F26A6C544000D0F65 /* Debug */,
diff --git a/Samples/iOS-Swift/iOS-Swift.xcodeproj/xcshareddata/xcschemes/iOS-Swift.xcscheme b/Samples/iOS-Swift/iOS-Swift.xcodeproj/xcshareddata/xcschemes/iOS-Swift.xcscheme
index be27eeb600c..5c9ed68d793 100644
--- a/Samples/iOS-Swift/iOS-Swift.xcodeproj/xcshareddata/xcschemes/iOS-Swift.xcscheme
+++ b/Samples/iOS-Swift/iOS-Swift.xcodeproj/xcshareddata/xcschemes/iOS-Swift.xcscheme
@@ -33,8 +33,8 @@
@@ -73,6 +73,10 @@
argument = "--disable-file-io-tracing"
isEnabled = "NO">
+
+
diff --git a/Samples/iOS-Swift/iOS-Swift.xcodeproj/xcshareddata/xcschemes/iOS-SwiftClip.xcscheme b/Samples/iOS-Swift/iOS-Swift.xcodeproj/xcshareddata/xcschemes/iOS-SwiftClip.xcscheme
deleted file mode 100644
index 76a81269831..00000000000
--- a/Samples/iOS-Swift/iOS-Swift.xcodeproj/xcshareddata/xcschemes/iOS-SwiftClip.xcscheme
+++ /dev/null
@@ -1,85 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Samples/iOS-Swift/iOS-Swift.xcodeproj/xcshareddata/xcschemes/iOS-SwiftUITests.xcscheme b/Samples/iOS-Swift/iOS-Swift.xcodeproj/xcshareddata/xcschemes/iOS-SwiftUITests.xcscheme
deleted file mode 100644
index 37a4ca1e81a..00000000000
--- a/Samples/iOS-Swift/iOS-Swift.xcodeproj/xcshareddata/xcschemes/iOS-SwiftUITests.xcscheme
+++ /dev/null
@@ -1,52 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Samples/iOS-Swift/iOS-Swift/AppDelegate.swift b/Samples/iOS-Swift/iOS-Swift/AppDelegate.swift
index 5bf093e78b7..6b894c1f56f 100644
--- a/Samples/iOS-Swift/iOS-Swift/AppDelegate.swift
+++ b/Samples/iOS-Swift/iOS-Swift/AppDelegate.swift
@@ -17,13 +17,17 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
let dsn = DSNStorage.shared.getDSN() ?? AppDelegate.defaultDSN
DSNStorage.shared.saveDSN(dsn: dsn)
- SentrySDK.start { options in
+ SentrySDK.start(configureOptions: { options in
options.dsn = dsn
options.beforeSend = { event in
return event
}
options.debug = true
+ if #available(iOS 16.0, *) {
+ options.experimental.sessionReplay = SentryReplayOptions(sessionSampleRate: 1, errorSampleRate: 1, redactAllText: true, redactAllImages: true)
+ }
+
if #available(iOS 15.0, *) {
options.enableMetricKit = true
}
@@ -60,7 +64,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
options.sessionTrackingIntervalMillis = 5_000
options.attachScreenshot = true
options.attachViewHierarchy = true
-
+
#if targetEnvironment(simulator)
options.enableSpotlight = true
options.environment = "test-app"
@@ -71,6 +75,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
options.enableTimeToFullDisplayTracing = true
options.enablePerformanceV2 = true
options.enableMetrics = true
+ options.enableContinuousProfiling = ProcessInfo.processInfo.arguments.contains("--enable-continuous-profiling")
options.add(inAppInclude: "iOS_External")
@@ -130,7 +135,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
}
return scope
}
- }
+ })
SentrySDK.metrics.increment(key: "app.start", value: 1.0, tags: ["view": "app-delegate"])
diff --git a/Samples/iOS-Swift/iOS-Swift/Base.lproj/Main.storyboard b/Samples/iOS-Swift/iOS-Swift/Base.lproj/Main.storyboard
index 99d889c2667..43363350dc6 100644
--- a/Samples/iOS-Swift/iOS-Swift/Base.lproj/Main.storyboard
+++ b/Samples/iOS-Swift/iOS-Swift/Base.lproj/Main.storyboard
@@ -518,7 +518,7 @@