diff --git a/.github/workflows/ui-tests-critical.yml b/.github/workflows/ui-tests-critical.yml index a54b365b7aa..20cdc080583 100644 --- a/.github/workflows/ui-tests-critical.yml +++ b/.github/workflows/ui-tests-critical.yml @@ -22,7 +22,7 @@ jobs: runs-on: macos-14 steps: - uses: actions/checkout@v4 - - run: ./scripts/ci-select-xcode.sh 16 + - run: ./scripts/ci-select-xcode.sh "16.0" - uses: ruby/setup-ruby@v1 with: bundler-cache: true diff --git a/.github/workflows/ui-tests.yml b/.github/workflows/ui-tests.yml index b6a92863e6b..196ec58a195 100644 --- a/.github/workflows/ui-tests.yml +++ b/.github/workflows/ui-tests.yml @@ -61,7 +61,7 @@ jobs: steps: - uses: actions/checkout@v4 - run: ./scripts/ci-select-xcode.sh ${{matrix.xcode}} - + # GitHub Actions sometimes fail to launch the UI tests. Therefore we retry - name: Run Fastlane run: for i in {1..2}; do fastlane ui_tests_ios_swiftui device:"${{matrix.device}}" && break ; done @@ -110,3 +110,22 @@ jobs: path: | ~/Library/Logs/scan/*.log ./fastlane/test_output/** + + ui-tests-swift6: + name: UI Tests for iOS-Swift6 Simulator + runs-on: macos-14 + + steps: + - uses: actions/checkout@v4 + - run: ./scripts/ci-select-xcode.sh "16.0" + - name: Run Fastlane + run: fastlane ui_tests_ios_swift6 + + - name: Archiving Raw Test Logs + uses: actions/upload-artifact@v4 + if: ${{ failure() || cancelled() }} + with: + 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 561215f887a..b8591d8e2e2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -9,6 +9,7 @@ ### Fixes - Keep PropagationContext when cloning scope (#4518) +- Concurrency crash with Swift 6 (#4512) ## 8.40.1 diff --git a/Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj b/Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj index d826fbbd72b..e526e9c0b29 100644 --- a/Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj +++ b/Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 54; + objectVersion = 60; objects = { /* Begin PBXBuildFile section */ @@ -13,7 +13,6 @@ 629EC8BB2B0B5BAE00858855 /* TriggerAppHang.swift in Sources */ = {isa = PBXBuildFile; fileRef = 629EC8AC2B0B537400858855 /* TriggerAppHang.swift */; }; 62C07D5C2AF3E3F500894688 /* BaseUITest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62C07D5B2AF3E3F500894688 /* BaseUITest.swift */; }; 62C97DBF2CC69B0300DDA204 /* SampleAssets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 62C97DB92CC69B0200DDA204 /* SampleAssets.xcassets */; }; - 630853532440C60F00DDE4CE /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* Sentry.framework */; }; 637AFDAA243B02760034958B /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 637AFDA9243B02760034958B /* AppDelegate.swift */; }; 637AFDAE243B02760034958B /* TransactionsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 637AFDAD243B02760034958B /* TransactionsViewController.swift */; }; 637AFDB1243B02760034958B /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 637AFDAF243B02760034958B /* Main.storyboard */; }; @@ -27,9 +26,7 @@ 844DA821282584C300E6B62E /* CoreDataViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8F57BC427BBD787000D09D4 /* CoreDataViewController.swift */; }; 844DA822282584F700E6B62E /* SentryData.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = D845F35927BAD4CC00A4D7A2 /* SentryData.xcdatamodeld */; }; 847670302BAA4AFA001A4E31 /* NSObject+SentryAppSetup.m in Sources */ = {isa = PBXBuildFile; fileRef = 8476702F2BAA4AFA001A4E31 /* NSObject+SentryAppSetup.m */; }; - 848A256B286E3351008A8858 /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* Sentry.framework */; }; 848A256D286E3351008A8858 /* fatal-error-binary-images-message2.json in Resources */ = {isa = PBXBuildFile; fileRef = D83A30DF279F1F5C00372D0A /* fatal-error-binary-images-message2.json */; }; - 848A256F286E3351008A8858 /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; 84A5D72629D2705000388BFA /* ProfilingUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84A5D72529D2705000388BFA /* ProfilingUITests.swift */; }; 84A5D72D29D2708D00388BFA /* UITestHelpers.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84A5D72C29D2708D00388BFA /* UITestHelpers.swift */; }; 84AB90712A5001000054C99A /* ProfilingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84AB90702A5001000054C99A /* ProfilingViewController.swift */; }; @@ -55,8 +52,6 @@ D80D021A29EE936F0084393D /* ExtraViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D80D021929EE936F0084393D /* ExtraViewController.swift */; }; D80D021B29EE9E3D0084393D /* ErrorsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D80D021229EE93630084393D /* ErrorsViewController.swift */; }; D80D021C29EE9E400084393D /* ExtraViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D80D021929EE936F0084393D /* ExtraViewController.swift */; }; - D8105B61297E824C00299F03 /* SentrySwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8105B5C297E792200299F03 /* SentrySwiftUI.framework */; }; - D8105B62297E824C00299F03 /* SentrySwiftUI.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D8105B5C297E792200299F03 /* SentrySwiftUI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; D8269A3C274C095E00BD5BD5 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8269A3B274C095E00BD5BD5 /* AppDelegate.swift */; }; D8269A3E274C095E00BD5BD5 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8269A3D274C095E00BD5BD5 /* SceneDelegate.swift */; }; D8269A43274C095F00BD5BD5 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D8269A41274C095F00BD5BD5 /* Main.storyboard */; }; @@ -68,10 +63,6 @@ D8269A56274C0F9E00BD5BD5 /* NibViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = D890CD3B26CEE2FA001246CF /* NibViewController.xib */; }; D8269A57274C0FA100BD5BD5 /* NibViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D890CD3E26CEE31B001246CF /* NibViewController.swift */; }; D8269A58274C0FC700BD5BD5 /* TransactionsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 637AFDAD243B02760034958B /* TransactionsViewController.swift */; }; - D8269A59274C100300BD5BD5 /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* Sentry.framework */; }; - D8269A5A274C100300BD5BD5 /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - D83A30D8279F159D00372D0A /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - D83A30DC279F16BA00372D0A /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; D83A30E1279F1F5C00372D0A /* fatal-error-binary-images-message2.json in Resources */ = {isa = PBXBuildFile; fileRef = D83A30DF279F1F5C00372D0A /* fatal-error-binary-images-message2.json */; }; D840D523273A07F400CDF142 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D840D522273A07F400CDF142 /* AppDelegate.swift */; }; D840D525273A07F400CDF142 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D840D524273A07F400CDF142 /* SceneDelegate.swift */; }; @@ -89,6 +80,16 @@ D8444E57275F795D0042F4DE /* UIViewControllerExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8444E4B275E38090042F4DE /* UIViewControllerExtension.swift */; }; D845F35B27BAD4CC00A4D7A2 /* SentryData.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = D845F35927BAD4CC00A4D7A2 /* SentryData.xcdatamodeld */; }; D85DAA4C274C244F004DF43C /* LaunchUITest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D85DAA4B274C244F004DF43C /* LaunchUITest.swift */; }; + D86B9C972CDD11430039211C /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D86B9C962CDD11430039211C /* Sentry.framework */; }; + D86B9C982CDD11430039211C /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D86B9C962CDD11430039211C /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + D86B9C9A2CDD114E0039211C /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D86B9C992CDD114E0039211C /* Sentry.framework */; }; + D86B9C9B2CDD114E0039211C /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D86B9C992CDD114E0039211C /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + D86B9C9D2CDD115A0039211C /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D86B9C9C2CDD115A0039211C /* Sentry.framework */; }; + D86B9C9E2CDD115A0039211C /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D86B9C9C2CDD115A0039211C /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + D86B9CA02CDD11670039211C /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D86B9C9F2CDD11670039211C /* Sentry.framework */; }; + D86B9CA12CDD11670039211C /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D86B9C9F2CDD11670039211C /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + D86B9CA32CDD136A0039211C /* SentrySwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D86B9CA22CDD136A0039211C /* SentrySwiftUI.framework */; }; + D86B9CA42CDD136A0039211C /* SentrySwiftUI.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D86B9CA22CDD136A0039211C /* SentrySwiftUI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; D8832B132AF4F7FE00C522B0 /* TopViewControllerInspector.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8832B122AF4F7FE00C522B0 /* TopViewControllerInspector.swift */; }; D8832B1A2AF5000F00C522B0 /* TopViewControllerInspector.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8832B122AF4F7FE00C522B0 /* TopViewControllerInspector.swift */; }; D8832B1C2AF5101300C522B0 /* TopViewControllerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8832B1B2AF5101300C522B0 /* TopViewControllerTests.swift */; }; @@ -98,8 +99,6 @@ D890CD3F26CEE31B001246CF /* NibViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D890CD3E26CEE31B001246CF /* NibViewController.swift */; }; D8AE48C92C57DC2F0092A2A6 /* WebViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8AE48C82C57DC2F0092A2A6 /* WebViewController.swift */; }; D8AE48CF2C57E0BD0092A2A6 /* WebViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8AE48C82C57DC2F0092A2A6 /* WebViewController.swift */; }; - D8B56CF0273A8D97004DF238 /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* Sentry.framework */; }; - D8B56CF1273A8D97004DF238 /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; D8BC843E2B021C5200A662B7 /* SwiftUIView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B4F33F7271EBD2500C8591E /* SwiftUIView.swift */; }; D8BCCDE22CAFDE9400E8A030 /* Sample.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = D8BCCDE12CAFDE9400E8A030 /* Sample.xcconfig */; }; D8BCCDE32CAFDE9400E8A030 /* Sample.xcconfig in Resources */ = {isa = PBXBuildFile; fileRef = D8BCCDE12CAFDE9400E8A030 /* Sample.xcconfig */; }; @@ -122,31 +121,18 @@ D8F3D05F274E6A8B00B56F8C /* AssertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8F3D05E274E6A8B00B56F8C /* AssertView.swift */; }; D8F3D062274EBD4800B56F8C /* SpanExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8F3D061274EBD4800B56F8C /* SpanExtension.swift */; }; D8F57BC527BBD787000D09D4 /* CoreDataViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8F57BC427BBD787000D09D4 /* CoreDataViewController.swift */; }; + D8F71A4F2CDD03B900334022 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8F71A4E2CDD03B900334022 /* AppDelegate.swift */; }; + D8F71A512CDD03B900334022 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8F71A502CDD03B900334022 /* SceneDelegate.swift */; }; + D8F71A532CDD03B900334022 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8F71A522CDD03B900334022 /* ViewController.swift */; }; + D8F71A562CDD03B900334022 /* Base in Resources */ = {isa = PBXBuildFile; fileRef = D8F71A552CDD03B900334022 /* Base */; }; + D8F71A582CDD03BB00334022 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D8F71A572CDD03BB00334022 /* Assets.xcassets */; }; + D8F71A5B2CDD03BB00334022 /* Base in Resources */ = {isa = PBXBuildFile; fileRef = D8F71A5A2CDD03BB00334022 /* Base */; }; + D8F71A702CDD03BB00334022 /* UITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8F71A6F2CDD03BB00334022 /* UITests.swift */; }; + D8F71A822CDD04C200334022 /* (null) in Frameworks */ = {isa = PBXBuildFile; }; D8FD68C42C1C86E300A70055 /* TableViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = D8FD68C32C1C86E300A70055 /* TableViewController.xib */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 630853312440C44F00DDE4CE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6308532C2440C44F00DDE4CE /* Sentry.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 63AA759B1EB8AEF500D153DE; - remoteInfo = Sentry; - }; - 630853332440C44F00DDE4CE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6308532C2440C44F00DDE4CE /* Sentry.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 63AA76651EB8CB2F00D153DE; - remoteInfo = SentryTests; - }; - 630853512440C60800DDE4CE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6308532C2440C44F00DDE4CE /* Sentry.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 63AA759A1EB8AEF500D153DE; - remoteInfo = Sentry; - }; 7B64386D26A6C544000D0F65 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 637AFD9E243B02760034958B /* Project object */; @@ -154,13 +140,6 @@ remoteGlobalIDString = 637AFDA5243B02760034958B; remoteInfo = "iOS-Swift"; }; - 848A2562286E3351008A8858 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6308532C2440C44F00DDE4CE /* Sentry.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 63AA759A1EB8AEF500D153DE; - remoteInfo = Sentry; - }; 848A2564286E3351008A8858 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 637AFD9E243B02760034958B /* Project object */; @@ -168,34 +147,6 @@ remoteGlobalIDString = 637AFDA5243B02760034958B; remoteInfo = "iOS-Swift"; }; - 84B7FA5A29B2A86500AD93B1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6308532C2440C44F00DDE4CE /* Sentry.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 8431EFD929B27B1100D8DC56; - remoteInfo = SentryProfilerTests; - }; - 84B7FA5C29B2A86500AD93B1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6308532C2440C44F00DDE4CE /* Sentry.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 8431F00A29B284F200D8DC56; - remoteInfo = SentryTestUtils; - }; - D8105B5B297E792200299F03 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6308532C2440C44F00DDE4CE /* Sentry.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = D8199DAA29376E9B0074249E; - remoteInfo = SentrySwiftUI; - }; - D83A30CA279F075800372D0A /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6308532C2440C44F00DDE4CE /* Sentry.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 63AA759A1EB8AEF500D153DE; - remoteInfo = Sentry; - }; D840D532273A07F600CDF142 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 637AFD9E243B02760034958B /* Project object */; @@ -203,13 +154,6 @@ remoteGlobalIDString = D840D51F273A07F400CDF142; remoteInfo = "iOS-SwiftClip"; }; - D84DAD702B177DB2003CF120 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6308532C2440C44F00DDE4CE /* Sentry.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = D84DAD4D2B17428D003CF120; - remoteInfo = SentryTestUtilsDynamic; - }; D85DAA4F274C244F004DF43C /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 637AFD9E243B02760034958B /* Project object */; @@ -217,6 +161,13 @@ remoteGlobalIDString = D8269A38274C095E00BD5BD5; remoteInfo = "iOS13-Swift"; }; + D8F71A6C2CDD03BB00334022 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 637AFD9E243B02760034958B /* Project object */; + proxyType = 1; + remoteGlobalIDString = D8F71A4B2CDD03B900334022; + remoteInfo = "iOS-Swift6"; + }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -226,7 +177,7 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - D83A30D8279F159D00372D0A /* Sentry.framework in Embed Frameworks */, + D86B9C982CDD11430039211C /* Sentry.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -237,7 +188,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - D83A30DC279F16BA00372D0A /* Sentry.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -248,7 +198,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 848A256F286E3351008A8858 /* Sentry.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -259,8 +208,8 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - D8269A5A274C100300BD5BD5 /* Sentry.framework in Embed Frameworks */, - D8105B62297E824C00299F03 /* SentrySwiftUI.framework in Embed Frameworks */, + D86B9C9B2CDD114E0039211C /* Sentry.framework in Embed Frameworks */, + D86B9CA42CDD136A0039211C /* SentrySwiftUI.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -282,7 +231,18 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - D8B56CF1273A8D97004DF238 /* Sentry.framework in Embed Frameworks */, + D86B9C9E2CDD115A0039211C /* Sentry.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + D8F71A842CDD04C200334022 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + D86B9CA12CDD11670039211C /* Sentry.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -294,7 +254,6 @@ 629EC8AC2B0B537400858855 /* TriggerAppHang.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TriggerAppHang.swift; sourceTree = ""; }; 62C07D5B2AF3E3F500894688 /* BaseUITest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BaseUITest.swift; sourceTree = ""; }; 62C97DB92CC69B0200DDA204 /* SampleAssets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = SampleAssets.xcassets; path = ../SampleAssets.xcassets; sourceTree = ""; }; - 6308532C2440C44F00DDE4CE /* Sentry.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Sentry.xcodeproj; path = ../../Sentry.xcodeproj; sourceTree = ""; }; 637AFDA6243B02760034958B /* iOS-Swift.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "iOS-Swift.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 637AFDA9243B02760034958B /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 637AFDAD243B02760034958B /* TransactionsViewController.swift */ = {isa = PBXFileReference; indentWidth = 4; lastKnownFileType = sourcecode.swift; path = TransactionsViewController.swift; sourceTree = ""; tabWidth = 4; }; @@ -358,6 +317,11 @@ D845F35A27BAD4CC00A4D7A2 /* Person.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Person.xcdatamodel; sourceTree = ""; }; D85DAA49274C244F004DF43C /* iOS13-SwiftTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "iOS13-SwiftTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; D85DAA4B274C244F004DF43C /* LaunchUITest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaunchUITest.swift; sourceTree = ""; }; + D86B9C962CDD11430039211C /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D86B9C992CDD114E0039211C /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D86B9C9C2CDD115A0039211C /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D86B9C9F2CDD11670039211C /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D86B9CA22CDD136A0039211C /* SentrySwiftUI.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = SentrySwiftUI.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D8832B122AF4F7FE00C522B0 /* TopViewControllerInspector.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TopViewControllerInspector.swift; sourceTree = ""; }; D8832B192AF4FE2000C522B0 /* SentryUIApplication.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SentryUIApplication.h; sourceTree = ""; }; D8832B1B2AF5101300C522B0 /* TopViewControllerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TopViewControllerTests.swift; sourceTree = ""; }; @@ -383,6 +347,16 @@ D8F3D05E274E6A8B00B56F8C /* AssertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AssertView.swift; sourceTree = ""; }; D8F3D061274EBD4800B56F8C /* SpanExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SpanExtension.swift; sourceTree = ""; }; D8F57BC427BBD787000D09D4 /* CoreDataViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreDataViewController.swift; sourceTree = ""; }; + D8F71A4C2CDD03B900334022 /* iOS-Swift6.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "iOS-Swift6.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + D8F71A4E2CDD03B900334022 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; + D8F71A502CDD03B900334022 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; + D8F71A522CDD03B900334022 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + D8F71A552CDD03B900334022 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; + D8F71A572CDD03BB00334022 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; + D8F71A5A2CDD03BB00334022 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; + D8F71A5C2CDD03BB00334022 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + D8F71A6B2CDD03BB00334022 /* iOS-Swift6UITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "iOS-Swift6UITests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; + D8F71A6F2CDD03BB00334022 /* UITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UITests.swift; sourceTree = ""; }; D8FD68C32C1C86E300A70055 /* TableViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = TableViewController.xib; sourceTree = ""; }; /* End PBXFileReference section */ @@ -391,7 +365,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 630853532440C60F00DDE4CE /* Sentry.framework in Frameworks */, + D86B9C972CDD11430039211C /* Sentry.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -406,7 +380,6 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 848A256B286E3351008A8858 /* Sentry.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -414,8 +387,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D8269A59274C100300BD5BD5 /* Sentry.framework in Frameworks */, - D8105B61297E824C00299F03 /* SentrySwiftUI.framework in Frameworks */, + D86B9C9A2CDD114E0039211C /* Sentry.framework in Frameworks */, + D86B9CA32CDD136A0039211C /* SentrySwiftUI.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -423,7 +396,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D8B56CF0273A8D97004DF238 /* Sentry.framework in Frameworks */, + D86B9C9D2CDD115A0039211C /* Sentry.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -434,25 +407,33 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + D8F71A492CDD03B900334022 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + D8F71A822CDD04C200334022 /* (null) in Frameworks */, + D86B9CA02CDD11670039211C /* Sentry.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D8F71A682CDD03BB00334022 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 6308532D2440C44F00DDE4CE /* Products */ = { - isa = PBXGroup; - children = ( - 630853322440C44F00DDE4CE /* Sentry.framework */, - 630853342440C44F00DDE4CE /* SentryTests.xctest */, - D8105B5C297E792200299F03 /* SentrySwiftUI.framework */, - 84B7FA5B29B2A86500AD93B1 /* SentryProfilerTests.xctest */, - 84B7FA5D29B2A86500AD93B1 /* libSentryTestUtils.a */, - D84DAD712B177DB2003CF120 /* SentryTestUtilsDynamic.framework */, - ); - name = Products; - sourceTree = ""; - }; 634C7EC124406A4200AFDE9F /* Frameworks */ = { isa = PBXGroup; children = ( + D86B9CA22CDD136A0039211C /* SentrySwiftUI.framework */, + D86B9C9F2CDD11670039211C /* Sentry.framework */, + D86B9C9C2CDD115A0039211C /* Sentry.framework */, + D86B9C992CDD114E0039211C /* Sentry.framework */, + D86B9C962CDD11430039211C /* Sentry.framework */, ); name = Frameworks; sourceTree = ""; @@ -463,12 +444,13 @@ 62C97DB92CC69B0200DDA204 /* SampleAssets.xcassets */, 84BA72A62C93698E0045B828 /* Shared */, 848A2576286E3490008A8858 /* PerformanceBenchmarks */, - 6308532C2440C44F00DDE4CE /* Sentry.xcodeproj */, 637AFDA8243B02760034958B /* iOS-Swift */, 7B64386926A6C544000D0F65 /* iOS-Swift-UITests */, D840D521273A07F400CDF142 /* iOS-SwiftClip */, D8269A3A274C095E00BD5BD5 /* iOS13-Swift */, D85DAA4A274C244F004DF43C /* iOS13-SwiftTests */, + D8F71A4D2CDD03B900334022 /* iOS-Swift6 */, + D8F71A6E2CDD03BB00334022 /* iOS-Swift6UITests */, 637AFDA7243B02760034958B /* Products */, 634C7EC124406A4200AFDE9F /* Frameworks */, ); @@ -485,6 +467,8 @@ D8269A39274C095E00BD5BD5 /* iOS13-Swift.app */, D85DAA49274C244F004DF43C /* iOS13-SwiftTests.xctest */, 848A2573286E3351008A8858 /* PerformanceBenchmarks.xctest */, + D8F71A4C2CDD03B900334022 /* iOS-Swift6.app */, + D8F71A6B2CDD03BB00334022 /* iOS-Swift6UITests.xctest */, ); name = Products; sourceTree = ""; @@ -665,6 +649,28 @@ path = Extensions; sourceTree = ""; }; + D8F71A4D2CDD03B900334022 /* iOS-Swift6 */ = { + isa = PBXGroup; + children = ( + D8F71A4E2CDD03B900334022 /* AppDelegate.swift */, + D8F71A502CDD03B900334022 /* SceneDelegate.swift */, + D8F71A522CDD03B900334022 /* ViewController.swift */, + D8F71A542CDD03B900334022 /* Main.storyboard */, + D8F71A572CDD03BB00334022 /* Assets.xcassets */, + D8F71A592CDD03BB00334022 /* LaunchScreen.storyboard */, + D8F71A5C2CDD03BB00334022 /* Info.plist */, + ); + path = "iOS-Swift6"; + sourceTree = ""; + }; + D8F71A6E2CDD03BB00334022 /* iOS-Swift6UITests */ = { + isa = PBXGroup; + children = ( + D8F71A6F2CDD03BB00334022 /* UITests.swift */, + ); + path = "iOS-Swift6UITests"; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -683,7 +689,6 @@ buildRules = ( ); dependencies = ( - 630853522440C60800DDE4CE /* PBXTargetDependency */, D840D533273A07F600CDF142 /* PBXTargetDependency */, ); name = "iOS-Swift"; @@ -705,7 +710,6 @@ buildRules = ( ); dependencies = ( - D83A30CB279F075800372D0A /* PBXTargetDependency */, 7B64386E26A6C544000D0F65 /* PBXTargetDependency */, ); name = "iOS-Swift-UITests"; @@ -727,7 +731,6 @@ buildRules = ( ); dependencies = ( - 848A2561286E3351008A8858 /* PBXTargetDependency */, 848A2563286E3351008A8858 /* PBXTargetDependency */, ); name = PerformanceBenchmarks; @@ -795,13 +798,49 @@ productReference = D85DAA49274C244F004DF43C /* iOS13-SwiftTests.xctest */; productType = "com.apple.product-type.bundle.ui-testing"; }; + D8F71A4B2CDD03B900334022 /* iOS-Swift6 */ = { + isa = PBXNativeTarget; + buildConfigurationList = D8F71A732CDD03BB00334022 /* Build configuration list for PBXNativeTarget "iOS-Swift6" */; + buildPhases = ( + D8F71A482CDD03B900334022 /* Sources */, + D8F71A492CDD03B900334022 /* Frameworks */, + D8F71A4A2CDD03B900334022 /* Resources */, + D8F71A842CDD04C200334022 /* Embed Frameworks */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "iOS-Swift6"; + productName = "iOS-Swift6"; + productReference = D8F71A4C2CDD03B900334022 /* iOS-Swift6.app */; + productType = "com.apple.product-type.application"; + }; + D8F71A6A2CDD03BB00334022 /* iOS-Swift6UITests */ = { + isa = PBXNativeTarget; + buildConfigurationList = D8F71A7D2CDD03BB00334022 /* Build configuration list for PBXNativeTarget "iOS-Swift6UITests" */; + buildPhases = ( + D8F71A672CDD03BB00334022 /* Sources */, + D8F71A682CDD03BB00334022 /* Frameworks */, + D8F71A692CDD03BB00334022 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + D8F71A6D2CDD03BB00334022 /* PBXTargetDependency */, + ); + name = "iOS-Swift6UITests"; + productName = "iOS-Swift6UITests"; + productReference = D8F71A6B2CDD03BB00334022 /* iOS-Swift6UITests.xctest */; + productType = "com.apple.product-type.bundle.ui-testing"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 637AFD9E243B02760034958B /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 1310; + LastSwiftUpdateCheck = 1540; LastUpgradeCheck = 1200; ORGANIZATIONNAME = Sentry; TargetAttributes = { @@ -826,10 +865,17 @@ CreatedOnToolsVersion = 13.1; TestTargetID = D8269A38274C095E00BD5BD5; }; + D8F71A4B2CDD03B900334022 = { + CreatedOnToolsVersion = 15.4; + }; + D8F71A6A2CDD03BB00334022 = { + CreatedOnToolsVersion = 15.4; + TestTargetID = D8F71A4B2CDD03B900334022; + }; }; }; buildConfigurationList = 637AFDA1243B02760034958B /* Build configuration list for PBXProject "iOS-Swift" */; - compatibilityVersion = "Xcode 9.3"; + compatibilityVersion = "Xcode 15.0"; developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( @@ -841,12 +887,6 @@ ); productRefGroup = 637AFDA7243B02760034958B /* Products */; projectDirPath = ""; - projectReferences = ( - { - ProductGroup = 6308532D2440C44F00DDE4CE /* Products */; - ProjectRef = 6308532C2440C44F00DDE4CE /* Sentry.xcodeproj */; - }, - ); projectRoot = ""; targets = ( 637AFDA5243B02760034958B /* iOS-Swift */, @@ -855,55 +895,12 @@ D840D51F273A07F400CDF142 /* iOS-SwiftClip */, D8269A38274C095E00BD5BD5 /* iOS13-Swift */, D85DAA48274C244F004DF43C /* iOS13-SwiftTests */, + D8F71A4B2CDD03B900334022 /* iOS-Swift6 */, + D8F71A6A2CDD03BB00334022 /* iOS-Swift6UITests */, ); }; /* End PBXProject section */ -/* Begin PBXReferenceProxy section */ - 630853322440C44F00DDE4CE /* Sentry.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = Sentry.framework; - remoteRef = 630853312440C44F00DDE4CE /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 630853342440C44F00DDE4CE /* SentryTests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = SentryTests.xctest; - remoteRef = 630853332440C44F00DDE4CE /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 84B7FA5B29B2A86500AD93B1 /* SentryProfilerTests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = SentryProfilerTests.xctest; - remoteRef = 84B7FA5A29B2A86500AD93B1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 84B7FA5D29B2A86500AD93B1 /* libSentryTestUtils.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libSentryTestUtils.a; - remoteRef = 84B7FA5C29B2A86500AD93B1 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - D8105B5C297E792200299F03 /* SentrySwiftUI.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = SentrySwiftUI.framework; - remoteRef = D8105B5B297E792200299F03 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - D84DAD712B177DB2003CF120 /* SentryTestUtilsDynamic.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = SentryTestUtilsDynamic.framework; - remoteRef = D84DAD702B177DB2003CF120 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - /* Begin PBXResourcesBuildPhase section */ 637AFDA4243B02760034958B /* Resources */ = { isa = PBXResourcesBuildPhase; @@ -966,6 +963,23 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + D8F71A4A2CDD03B900334022 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D8F71A582CDD03BB00334022 /* Assets.xcassets in Resources */, + D8F71A5B2CDD03BB00334022 /* Base in Resources */, + D8F71A562CDD03B900334022 /* Base in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D8F71A692CDD03BB00334022 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ @@ -1207,34 +1221,37 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + D8F71A482CDD03B900334022 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D8F71A532CDD03B900334022 /* ViewController.swift in Sources */, + D8F71A4F2CDD03B900334022 /* AppDelegate.swift in Sources */, + D8F71A512CDD03B900334022 /* SceneDelegate.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D8F71A672CDD03BB00334022 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D8F71A702CDD03BB00334022 /* UITests.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 630853522440C60800DDE4CE /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Sentry; - targetProxy = 630853512440C60800DDE4CE /* PBXContainerItemProxy */; - }; 7B64386E26A6C544000D0F65 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 637AFDA5243B02760034958B /* iOS-Swift */; targetProxy = 7B64386D26A6C544000D0F65 /* PBXContainerItemProxy */; }; - 848A2561286E3351008A8858 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Sentry; - targetProxy = 848A2562286E3351008A8858 /* PBXContainerItemProxy */; - }; 848A2563286E3351008A8858 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 637AFDA5243B02760034958B /* iOS-Swift */; targetProxy = 848A2564286E3351008A8858 /* PBXContainerItemProxy */; }; - D83A30CB279F075800372D0A /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Sentry; - targetProxy = D83A30CA279F075800372D0A /* PBXContainerItemProxy */; - }; D840D533273A07F600CDF142 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = D840D51F273A07F400CDF142 /* iOS-SwiftClip */; @@ -1245,6 +1262,11 @@ target = D8269A38274C095E00BD5BD5 /* iOS13-Swift */; targetProxy = D85DAA4F274C244F004DF43C /* PBXContainerItemProxy */; }; + D8F71A6D2CDD03BB00334022 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = D8F71A4B2CDD03B900334022 /* iOS-Swift6 */; + targetProxy = D8F71A6C2CDD03BB00334022 /* PBXContainerItemProxy */; + }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ @@ -1288,6 +1310,22 @@ name = LaunchScreen.storyboard; sourceTree = ""; }; + D8F71A542CDD03B900334022 /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + D8F71A552CDD03B900334022 /* Base */, + ); + name = Main.storyboard; + sourceTree = ""; + }; + D8F71A592CDD03BB00334022 /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + D8F71A5A2CDD03BB00334022 /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = ""; + }; /* End PBXVariantGroup section */ /* Begin XCBuildConfiguration section */ @@ -2241,6 +2279,240 @@ }; name = Release; }; + D8F71A742CDD03BB00334022 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 97JCY7859U; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = "iOS-Swift6/Info.plist"; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + IPHONEOS_DEPLOYMENT_TARGET = 17.5; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-Swift6"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 6.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + D8F71A752CDD03BB00334022 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 97JCY7859U; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = "iOS-Swift6/Info.plist"; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + IPHONEOS_DEPLOYMENT_TARGET = 17.5; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-Swift6"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 6.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + D8F71A762CDD03BB00334022 /* TestCI */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 97JCY7859U; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = "iOS-Swift6/Info.plist"; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + IPHONEOS_DEPLOYMENT_TARGET = 17.5; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-Swift6"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 6.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = TestCI; + }; + D8F71A772CDD03BB00334022 /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 97JCY7859U; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = "iOS-Swift6/Info.plist"; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + IPHONEOS_DEPLOYMENT_TARGET = 17.5; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-Swift6"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 6.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Test; + }; + D8F71A7E2CDD03BB00334022 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 97JCY7859U; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 17.5; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-Swift6UITests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = "iOS-Swift6"; + }; + name = Debug; + }; + D8F71A7F2CDD03BB00334022 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 97JCY7859U; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 17.5; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-Swift6UITests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = "iOS-Swift6"; + }; + name = Release; + }; + D8F71A802CDD03BB00334022 /* TestCI */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 97JCY7859U; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 17.5; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-Swift6UITests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = "iOS-Swift6"; + }; + name = TestCI; + }; + D8F71A812CDD03BB00334022 /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 97JCY7859U; + ENABLE_USER_SCRIPT_SANDBOXING = YES; + GCC_C_LANGUAGE_STANDARD = gnu17; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 17.5; + LOCALIZATION_PREFERS_STRING_CATALOGS = YES; + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-Swift6UITests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = "iOS-Swift6"; + }; + name = Test; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -2321,6 +2593,28 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + D8F71A732CDD03BB00334022 /* Build configuration list for PBXNativeTarget "iOS-Swift6" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D8F71A742CDD03BB00334022 /* Debug */, + D8F71A752CDD03BB00334022 /* Release */, + D8F71A762CDD03BB00334022 /* TestCI */, + D8F71A772CDD03BB00334022 /* Test */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + D8F71A7D2CDD03BB00334022 /* Build configuration list for PBXNativeTarget "iOS-Swift6UITests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D8F71A7E2CDD03BB00334022 /* Debug */, + D8F71A7F2CDD03BB00334022 /* Release */, + D8F71A802CDD03BB00334022 /* TestCI */, + D8F71A812CDD03BB00334022 /* Test */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ /* Begin XCVersionGroup section */ diff --git a/Samples/iOS-Swift/iOS-Swift.xcodeproj/xcshareddata/xcschemes/iOS-Swift6.xcscheme b/Samples/iOS-Swift/iOS-Swift.xcodeproj/xcshareddata/xcschemes/iOS-Swift6.xcscheme new file mode 100644 index 00000000000..5e406c71dea --- /dev/null +++ b/Samples/iOS-Swift/iOS-Swift.xcodeproj/xcshareddata/xcschemes/iOS-Swift6.xcscheme @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Samples/iOS-Swift/iOS-Swift6/AppDelegate.swift b/Samples/iOS-Swift/iOS-Swift6/AppDelegate.swift new file mode 100644 index 00000000000..a5f03803104 --- /dev/null +++ b/Samples/iOS-Swift/iOS-Swift6/AppDelegate.swift @@ -0,0 +1,48 @@ +import Sentry +import UIKit + +@main +class AppDelegate: UIResponder, UIApplicationDelegate { + + func startSentry() { + SentrySDK.start(configureOptions: { options in + options.dsn = "https://6cc9bae94def43cab8444a99e0031c28@o447951.ingest.sentry.io/5428557" + options.beforeSend = { event in + print("Sentry: beforeSend called") + return event + } + options.beforeSendSpan = { span in + print("Sentry: beforeSendSpan called") + return span + } + options.beforeCaptureScreenshot = { _ in + print("Sentry: beforeCaptureScreenshot called") + return true + } + options.beforeCaptureViewHierarchy = { _ in + print("Sentry: beforeCaptureViewHierarchy called") + return true + } + options.attachScreenshot = true + options.attachViewHierarchy = true + options.debug = true + options.sampleRate = 1 + options.tracesSampleRate = 1 + }) + + } + + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { + startSentry() + return true + } + + // MARK: UISceneSession Lifecycle + func application(_ application: UIApplication, configurationForConnecting connectingSceneSession: UISceneSession, options: UIScene.ConnectionOptions) -> UISceneConfiguration { + return UISceneConfiguration(name: "Default Configuration", sessionRole: connectingSceneSession.role) + } + + func application(_ application: UIApplication, didDiscardSceneSessions sceneSessions: Set) { + } + +} diff --git a/Samples/iOS-Swift/iOS-Swift6/Assets.xcassets/AccentColor.colorset/Contents.json b/Samples/iOS-Swift/iOS-Swift6/Assets.xcassets/AccentColor.colorset/Contents.json new file mode 100644 index 00000000000..eb878970081 --- /dev/null +++ b/Samples/iOS-Swift/iOS-Swift6/Assets.xcassets/AccentColor.colorset/Contents.json @@ -0,0 +1,11 @@ +{ + "colors" : [ + { + "idiom" : "universal" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Samples/iOS-Swift/iOS-Swift6/Assets.xcassets/AppIcon.appiconset/Contents.json b/Samples/iOS-Swift/iOS-Swift6/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000000..2305880107d --- /dev/null +++ b/Samples/iOS-Swift/iOS-Swift6/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,35 @@ +{ + "images" : [ + { + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "dark" + } + ], + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + }, + { + "appearances" : [ + { + "appearance" : "luminosity", + "value" : "tinted" + } + ], + "idiom" : "universal", + "platform" : "ios", + "size" : "1024x1024" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Samples/iOS-Swift/iOS-Swift6/Assets.xcassets/Contents.json b/Samples/iOS-Swift/iOS-Swift6/Assets.xcassets/Contents.json new file mode 100644 index 00000000000..73c00596a7f --- /dev/null +++ b/Samples/iOS-Swift/iOS-Swift6/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Samples/iOS-Swift/iOS-Swift6/Base.lproj/LaunchScreen.storyboard b/Samples/iOS-Swift/iOS-Swift6/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 00000000000..865e9329f37 --- /dev/null +++ b/Samples/iOS-Swift/iOS-Swift6/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,25 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Samples/iOS-Swift/iOS-Swift6/Base.lproj/Main.storyboard b/Samples/iOS-Swift/iOS-Swift6/Base.lproj/Main.storyboard new file mode 100644 index 00000000000..d807513902f --- /dev/null +++ b/Samples/iOS-Swift/iOS-Swift6/Base.lproj/Main.storyboard @@ -0,0 +1,47 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Samples/iOS-Swift/iOS-Swift6/Info.plist b/Samples/iOS-Swift/iOS-Swift6/Info.plist new file mode 100644 index 00000000000..dd3c9afdae3 --- /dev/null +++ b/Samples/iOS-Swift/iOS-Swift6/Info.plist @@ -0,0 +1,25 @@ + + + + + UIApplicationSceneManifest + + UIApplicationSupportsMultipleScenes + + UISceneConfigurations + + UIWindowSceneSessionRoleApplication + + + UISceneConfigurationName + Default Configuration + UISceneDelegateClassName + $(PRODUCT_MODULE_NAME).SceneDelegate + UISceneStoryboardFile + Main + + + + + + diff --git a/Samples/iOS-Swift/iOS-Swift6/SceneDelegate.swift b/Samples/iOS-Swift/iOS-Swift6/SceneDelegate.swift new file mode 100644 index 00000000000..84d9608c49d --- /dev/null +++ b/Samples/iOS-Swift/iOS-Swift6/SceneDelegate.swift @@ -0,0 +1,24 @@ +import UIKit + +class SceneDelegate: UIResponder, UIWindowSceneDelegate { + var window: UIWindow? + + func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) { + guard let _ = (scene as? UIWindowScene) else { return } + } + + func sceneDidDisconnect(_ scene: UIScene) { + } + + func sceneDidBecomeActive(_ scene: UIScene) { + } + + func sceneWillResignActive(_ scene: UIScene) { + } + + func sceneWillEnterForeground(_ scene: UIScene) { + } + + func sceneDidEnterBackground(_ scene: UIScene) { + } +} diff --git a/Samples/iOS-Swift/iOS-Swift6/ViewController.swift b/Samples/iOS-Swift/iOS-Swift6/ViewController.swift new file mode 100644 index 00000000000..9011b271fb8 --- /dev/null +++ b/Samples/iOS-Swift/iOS-Swift6/ViewController.swift @@ -0,0 +1,10 @@ +import Sentry +import UIKit + +class ViewController: UIViewController { + @IBAction func buttonTapped(_ sender: Any) { + DispatchQueue.global(qos: .utility).async { + SentrySDK.capture(error: NSError(domain: "Swift 6 Test", code: -1)) + } + } +} diff --git a/Samples/iOS-Swift/iOS-Swift6UITests/UITests.swift b/Samples/iOS-Swift/iOS-Swift6UITests/UITests.swift new file mode 100644 index 00000000000..104beedf60e --- /dev/null +++ b/Samples/iOS-Swift/iOS-Swift6UITests/UITests.swift @@ -0,0 +1,15 @@ +import XCTest + +final class UITests: XCTestCase { + + override func setUpWithError() throws { + continueAfterFailure = false + } + + @MainActor + func testLauchAndCaptureError() throws { + let app = XCUIApplication() + app.launch() + app.buttons["btError"].tap() + } +} diff --git a/Sources/Sentry/Public/SentryOptions.h b/Sources/Sentry/Public/SentryOptions.h index 4ec7bd9a667..e5aff0f1b88 100644 --- a/Sources/Sentry/Public/SentryOptions.h +++ b/Sources/Sentry/Public/SentryOptions.h @@ -142,25 +142,27 @@ NS_SWIFT_NAME(Options) /** * This block can be used to modify the event before it will be serialized and sent. */ -@property (nullable, nonatomic, copy) SentryBeforeSendEventCallback beforeSend; +@property (nullable, nonatomic, copy) SentryBeforeSendEventCallback beforeSend NS_SWIFT_SENDABLE; /** * Use this callback to drop or modify a span before the SDK sends it to Sentry. Return @c nil to * drop the span. */ -@property (nullable, nonatomic, copy) SentryBeforeSendSpanCallback beforeSendSpan; +@property (nullable, nonatomic, copy) SentryBeforeSendSpanCallback beforeSendSpan NS_SWIFT_SENDABLE; /** * This block can be used to modify the event before it will be serialized and sent. */ -@property (nullable, nonatomic, copy) SentryBeforeBreadcrumbCallback beforeBreadcrumb; +@property (nullable, nonatomic, copy) + SentryBeforeBreadcrumbCallback beforeBreadcrumb NS_SWIFT_SENDABLE; /** * You can use this callback to decide if the SDK should capture a screenshot or not. Return @c true * if the SDK should capture a screenshot, return @c false if not. This callback doesn't work for * crashes. */ -@property (nullable, nonatomic, copy) SentryBeforeCaptureScreenshotCallback beforeCaptureScreenshot; +@property (nullable, nonatomic, copy) + SentryBeforeCaptureScreenshotCallback beforeCaptureScreenshot NS_SWIFT_SENDABLE; /** * You can use this callback to decide if the SDK should capture a view hierarchy or not. Return @c @@ -168,7 +170,7 @@ NS_SWIFT_NAME(Options) * work for crashes. */ @property (nullable, nonatomic, copy) - SentryBeforeCaptureScreenshotCallback beforeCaptureViewHierarchy; + SentryBeforeCaptureScreenshotCallback beforeCaptureViewHierarchy NS_SWIFT_SENDABLE; /** * A block called shortly after the initialization of the SDK when the last program execution @@ -180,7 +182,8 @@ NS_SWIFT_NAME(Options) * @warning It is not guaranteed that this is called on the main thread. * @note Crash reporting is automatically disabled if a debugger is attached. */ -@property (nullable, nonatomic, copy) SentryOnCrashedLastRunCallback onCrashedLastRun; +@property (nullable, nonatomic, copy) + SentryOnCrashedLastRunCallback onCrashedLastRun NS_SWIFT_SENDABLE; /** * Array of integrations to install. @@ -411,7 +414,7 @@ NS_SWIFT_NAME(Options) * with @c SentrySamplingContext.forNextAppLaunch set to @c YES, and the result will be persisted to * disk for use on the next app launch. */ -@property (nullable, nonatomic) SentryTracesSamplerCallback tracesSampler; +@property (nullable, nonatomic) SentryTracesSamplerCallback tracesSampler NS_SWIFT_SENDABLE; /** * If tracing is enabled or not. @@ -548,7 +551,7 @@ NS_SWIFT_NAME(Options) * disk for use on the next app launch. * @note Profiling is automatically disabled if a thread sanitizer is attached. */ -@property (nullable, nonatomic) SentryTracesSamplerCallback profilesSampler; +@property (nullable, nonatomic) SentryTracesSamplerCallback profilesSampler NS_SWIFT_SENDABLE; /** * If profiling should be enabled or not. diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 853803d8d77..27ae7b6a827 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -206,6 +206,14 @@ platform :ios do configuration: configuration ) end + + lane :ui_tests_ios_swift6 do |options| + run_tests( + workspace: "Sentry.xcworkspace", + scheme: "iOS-Swift6", + configuration: configuration + ) + end lane :ui_tests_ios_objc do run_tests(