From b0aa62fda1c2d2342bd31ef0731578d5317ca92b Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Wed, 14 Sep 2022 17:26:19 +0200 Subject: [PATCH 01/58] Sentry Swift --- Package.swift | 9 +- .../iOS-SwiftUI.xcodeproj/project.pbxproj | 26 +- .../iOS-SwiftUI/iOS-SwiftUI/SwiftUIApp.swift | 1 + Sentry.xcodeproj/project.pbxproj | 264 ++++++++++++++++-- .../xcshareddata/xcschemes/Sentry.xcscheme | 8 +- Sources/Sentry/Sentry.modulemap | 2 +- .../SwiftUI/SentryPerformance.swift | 18 ++ Sources/SentrySwift/TypeAlias.swift | 41 +++ 8 files changed, 328 insertions(+), 41 deletions(-) create mode 100644 Sources/SentrySwift/SwiftUI/SentryPerformance.swift create mode 100644 Sources/SentrySwift/TypeAlias.swift diff --git a/Package.swift b/Package.swift index 1fde2484238..1c8fda86929 100644 --- a/Package.swift +++ b/Package.swift @@ -9,8 +9,15 @@ let package = Package( .library(name: "Sentry-Dynamic", type: .dynamic, targets: ["Sentry"]) ], targets: [ + .target( name: "Sentry", + dependencies: ["SentryObjc"], + path: "Sources", + sources: [ + "SentrySwift" + ] + ), .target( - name: "Sentry", + name: "SentryObjc", path: "Sources", sources: [ "Sentry/", diff --git a/Samples/iOS-SwiftUI/iOS-SwiftUI.xcodeproj/project.pbxproj b/Samples/iOS-SwiftUI/iOS-SwiftUI.xcodeproj/project.pbxproj index 8eb61630496..3d170ec4173 100644 --- a/Samples/iOS-SwiftUI/iOS-SwiftUI.xcodeproj/project.pbxproj +++ b/Samples/iOS-SwiftUI/iOS-SwiftUI.xcodeproj/project.pbxproj @@ -14,8 +14,7 @@ 7BB6224F26A56C4E00D0E75E /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BB6224E26A56C4E00D0E75E /* ContentView.swift */; }; 7BB6225126A56C5000D0E75E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7BB6225026A56C5000D0E75E /* Assets.xcassets */; }; 7BB6225426A56C5000D0E75E /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7BB6225326A56C5000D0E75E /* Preview Assets.xcassets */; }; - 7BB6225D26A56CB600D0E75E /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7BB6225C26A56CB600D0E75E /* Sentry.framework */; }; - 7BB6225E26A56CB600D0E75E /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 7BB6225C26A56CB600D0E75E /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + D89468B028D225640006C83D /* Sentry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D89468AF28D225640006C83D /* Sentry.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -28,20 +27,6 @@ }; /* End PBXContainerItemProxy section */ -/* Begin PBXCopyFilesBuildPhase section */ - 7BB6225F26A56CB600D0E75E /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 7BB6225E26A56CB600D0E75E /* Sentry.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - /* Begin PBXFileReference section */ 7B5DA9D82859DC850069AD02 /* LoremIpsumView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoremIpsumView.swift; sourceTree = ""; }; 7B5DA9DC2859DDDC0069AD02 /* LoremIpsum.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = LoremIpsum.txt; path = "../../iOS-Swift/iOS-Swift/LoremIpsum.txt"; sourceTree = ""; }; @@ -56,6 +41,9 @@ 7BB6225526A56C5000D0E75E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 7BB6225C26A56CB600D0E75E /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7BB6226026A56E1E00D0E75E /* iOS-SwiftUI.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "iOS-SwiftUI.entitlements"; sourceTree = ""; }; + D894689328D1D6B30006C83D /* libSentrySwift.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libSentrySwift.a; sourceTree = BUILT_PRODUCTS_DIR; }; + D894689528D1D7990006C83D /* SentrySwift.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = SentrySwift.a; sourceTree = BUILT_PRODUCTS_DIR; }; + D89468AF28D225640006C83D /* Sentry.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = Sentry.a; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -70,7 +58,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7BB6225D26A56CB600D0E75E /* Sentry.framework in Frameworks */, + D89468B028D225640006C83D /* Sentry.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -131,6 +119,9 @@ 7BB6225B26A56CB600D0E75E /* Frameworks */ = { isa = PBXGroup; children = ( + D89468AF28D225640006C83D /* Sentry.a */, + D894689528D1D7990006C83D /* SentrySwift.a */, + D894689328D1D6B30006C83D /* libSentrySwift.a */, 7BB6225C26A56CB600D0E75E /* Sentry.framework */, ); name = Frameworks; @@ -164,7 +155,6 @@ 7BB6224526A56C4E00D0E75E /* Sources */, 7BB6224626A56C4E00D0E75E /* Frameworks */, 7BB6224726A56C4E00D0E75E /* Resources */, - 7BB6225F26A56CB600D0E75E /* Embed Frameworks */, ); buildRules = ( ); diff --git a/Samples/iOS-SwiftUI/iOS-SwiftUI/SwiftUIApp.swift b/Samples/iOS-SwiftUI/iOS-SwiftUI/SwiftUIApp.swift index a22e0f9d72a..7ff66023272 100644 --- a/Samples/iOS-SwiftUI/iOS-SwiftUI/SwiftUIApp.swift +++ b/Samples/iOS-SwiftUI/iOS-SwiftUI/SwiftUIApp.swift @@ -19,6 +19,7 @@ struct SwiftUIApp: App { var body: some Scene { WindowGroup { ContentView() + .sentryTransaction() } } } diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index a325b9099fa..c5e19ada586 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -122,7 +122,7 @@ 639FCFAC1EBC811400778193 /* SentryUser.h in Headers */ = {isa = PBXBuildFile; fileRef = 639FCFAA1EBC811400778193 /* SentryUser.h */; settings = {ATTRIBUTES = (Public, ); }; }; 639FCFAD1EBC811400778193 /* SentryUser.m in Sources */ = {isa = PBXBuildFile; fileRef = 639FCFAB1EBC811400778193 /* SentryUser.m */; }; 63AA75EF1EB8B3C400D153DE /* SentryClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 63AA75ED1EB8B3C400D153DE /* SentryClient.m */; }; - 63AA766A1EB8CB2F00D153DE /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63AA759B1EB8AEF500D153DE /* Sentry.framework */; settings = {ATTRIBUTES = (Required, ); }; }; + 63AA766A1EB8CB2F00D153DE /* SentryObjc.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63AA759B1EB8AEF500D153DE /* SentryObjc.framework */; settings = {ATTRIBUTES = (Required, ); }; }; 63AA76701EB8CB4B00D153DE /* SentryTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 63AA75951EB8AEDB00D153DE /* SentryTests.m */; }; 63AA767A1EB8D20500D153DE /* SentryLog.m in Sources */ = {isa = PBXBuildFile; fileRef = 63AA76781EB8D20500D153DE /* SentryLog.m */; }; 63AA76971EB9C1C200D153DE /* Sentry.h in Headers */ = {isa = PBXBuildFile; fileRef = 63AA76931EB9C1C200D153DE /* Sentry.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -673,6 +673,9 @@ D88817DA26D72AB800BF2251 /* SentryTraceContext.h in Headers */ = {isa = PBXBuildFile; fileRef = D88817D926D72AB800BF2251 /* SentryTraceContext.h */; }; D88817DD26D72BA500BF2251 /* SentryTraceStateTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D88817DB26D72B7B00BF2251 /* SentryTraceStateTests.swift */; }; D8918B222849FA6D00701F9A /* SentrySDKIntegrationTestsBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8918B212849FA6D00701F9A /* SentrySDKIntegrationTestsBase.swift */; }; + D894689028D1D6810006C83D /* SentryObjc.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63AA759B1EB8AEF500D153DE /* SentryObjc.framework */; }; + D894689C28D1DA310006C83D /* SentryPerformance.swift in Sources */ = {isa = PBXBuildFile; fileRef = D894689B28D1DA310006C83D /* SentryPerformance.swift */; }; + D89468B128D225A60006C83D /* TypeAlias.swift in Sources */ = {isa = PBXBuildFile; fileRef = D89468AD28D223440006C83D /* TypeAlias.swift */; }; D8AB40DB2806EC1900E5E9F7 /* SentryScreenshotIntegration.h in Headers */ = {isa = PBXBuildFile; fileRef = D8AB40DA2806EC1900E5E9F7 /* SentryScreenshotIntegration.h */; }; D8ACE3C72762187200F5A213 /* SentryNSDataSwizzling.m in Sources */ = {isa = PBXBuildFile; fileRef = D8ACE3C42762187200F5A213 /* SentryNSDataSwizzling.m */; }; D8ACE3C82762187200F5A213 /* SentryNSDataTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = D8ACE3C52762187200F5A213 /* SentryNSDataTracker.m */; }; @@ -699,8 +702,27 @@ remoteGlobalIDString = 63AA759A1EB8AEF500D153DE; remoteInfo = "Sentry-iOS"; }; + D894689128D1D6880006C83D /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 6327C5CA1EB8A783004E799B /* Project object */; + proxyType = 1; + remoteGlobalIDString = 63AA759A1EB8AEF500D153DE; + remoteInfo = Sentry; + }; /* End PBXContainerItemProxy section */ +/* Begin PBXCopyFilesBuildPhase section */ + D894688528D1D67C0006C83D /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = "include/$(PRODUCT_NAME)"; + dstSubfolderSpec = 16; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ 0356A56E288B4612008BF593 /* SentryProfilesSampler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SentryProfilesSampler.h; path = Sources/Sentry/SentryProfilesSampler.h; sourceTree = SOURCE_ROOT; }; 0356A56F288B4612008BF593 /* SentryProfilesSampler.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SentryProfilesSampler.m; path = Sources/Sentry/SentryProfilesSampler.m; sourceTree = SOURCE_ROOT; }; @@ -822,7 +844,7 @@ 639FCFAB1EBC811400778193 /* SentryUser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SentryUser.m; sourceTree = ""; }; 63AA75941EB8AEDB00D153DE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 63AA75951EB8AEDB00D153DE /* SentryTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryTests.m; sourceTree = ""; }; - 63AA759B1EB8AEF500D153DE /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 63AA759B1EB8AEF500D153DE /* SentryObjc.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SentryObjc.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 63AA75C51EB8B00100D153DE /* Sentry.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Sentry.xcconfig; sourceTree = ""; }; 63AA75C71EB8B06100D153DE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 63AA75ED1EB8B3C400D153DE /* SentryClient.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SentryClient.m; sourceTree = ""; }; @@ -1433,6 +1455,9 @@ D88817D926D72AB800BF2251 /* SentryTraceContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryTraceContext.h; path = include/SentryTraceContext.h; sourceTree = ""; }; D88817DB26D72B7B00BF2251 /* SentryTraceStateTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryTraceStateTests.swift; sourceTree = ""; }; D8918B212849FA6D00701F9A /* SentrySDKIntegrationTestsBase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentrySDKIntegrationTestsBase.swift; sourceTree = ""; }; + D894688728D1D67C0006C83D /* Sentry.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = Sentry.a; sourceTree = BUILT_PRODUCTS_DIR; }; + D894689B28D1DA310006C83D /* SentryPerformance.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryPerformance.swift; sourceTree = ""; }; + D89468AD28D223440006C83D /* TypeAlias.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TypeAlias.swift; sourceTree = ""; }; D8AB40DA2806EC1900E5E9F7 /* SentryScreenshotIntegration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryScreenshotIntegration.h; path = include/SentryScreenshotIntegration.h; sourceTree = ""; }; D8ACE3C42762187200F5A213 /* SentryNSDataSwizzling.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SentryNSDataSwizzling.m; sourceTree = ""; }; D8ACE3C52762187200F5A213 /* SentryNSDataTracker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SentryNSDataTracker.m; sourceTree = ""; }; @@ -1464,7 +1489,15 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 63AA766A1EB8CB2F00D153DE /* Sentry.framework in Frameworks */, + 63AA766A1EB8CB2F00D153DE /* SentryObjc.framework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + D894688428D1D67C0006C83D /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + D894689028D1D6810006C83D /* SentryObjc.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1662,8 +1695,9 @@ 6327C5D41EB8A783004E799B /* Products */ = { isa = PBXGroup; children = ( - 63AA759B1EB8AEF500D153DE /* Sentry.framework */, + 63AA759B1EB8AEF500D153DE /* SentryObjc.framework */, 63AA76651EB8CB2F00D153DE /* SentryTests.xctest */, + D894688728D1D67C0006C83D /* Sentry.a */, ); name = Products; sourceTree = ""; @@ -1793,6 +1827,7 @@ 63AA756E1EB8AEDB00D153DE /* Sources */ = { isa = PBXGroup; children = ( + D894689728D1D9940006C83D /* SentrySwift */, 63AA75A31EB8AFDF00D153DE /* Configuration */, 63FE6FB920DA4C1000CDBAE8 /* SentryCrash */, 63AA75C61EB8B06100D153DE /* Sentry */, @@ -2804,6 +2839,23 @@ path = CoreData; sourceTree = ""; }; + D894689728D1D9940006C83D /* SentrySwift */ = { + isa = PBXGroup; + children = ( + D894689A28D1D9AD0006C83D /* SwiftUI */, + D89468AD28D223440006C83D /* TypeAlias.swift */, + ); + path = SentrySwift; + sourceTree = ""; + }; + D894689A28D1D9AD0006C83D /* SwiftUI */ = { + isa = PBXGroup; + children = ( + D894689B28D1DA310006C83D /* SentryPerformance.swift */, + ); + path = SwiftUI; + sourceTree = ""; + }; D8AB40D92806EBDC00E5E9F7 /* Screenshot */ = { isa = PBXGroup; children = ( @@ -3093,9 +3145,9 @@ /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 63AA759A1EB8AEF500D153DE /* Sentry */ = { + 63AA759A1EB8AEF500D153DE /* SentryObjc */ = { isa = PBXNativeTarget; - buildConfigurationList = 63AA75A01EB8AEF500D153DE /* Build configuration list for PBXNativeTarget "Sentry" */; + buildConfigurationList = 63AA75A01EB8AEF500D153DE /* Build configuration list for PBXNativeTarget "SentryObjc" */; buildPhases = ( 63AA75961EB8AEF500D153DE /* Sources */, 63AA75971EB8AEF500D153DE /* Frameworks */, @@ -3106,9 +3158,9 @@ ); dependencies = ( ); - name = Sentry; + name = SentryObjc; productName = "Sentry-iOS"; - productReference = 63AA759B1EB8AEF500D153DE /* Sentry.framework */; + productReference = 63AA759B1EB8AEF500D153DE /* SentryObjc.framework */; productType = "com.apple.product-type.framework"; }; 63AA76641EB8CB2F00D153DE /* SentryTests */ = { @@ -3129,19 +3181,37 @@ productReference = 63AA76651EB8CB2F00D153DE /* SentryTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; + D894688628D1D67C0006C83D /* Sentry */ = { + isa = PBXNativeTarget; + buildConfigurationList = D894688F28D1D67C0006C83D /* Build configuration list for PBXNativeTarget "Sentry" */; + buildPhases = ( + D894688328D1D67C0006C83D /* Sources */, + D894688428D1D67C0006C83D /* Frameworks */, + D894688528D1D67C0006C83D /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + D894689228D1D6880006C83D /* PBXTargetDependency */, + ); + name = Sentry; + productName = SentrySwift; + productReference = D894688728D1D67C0006C83D /* Sentry.a */; + productType = "com.apple.product-type.library.static"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 6327C5CA1EB8A783004E799B /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 1250; + LastSwiftUpdateCheck = 1400; LastUpgradeCheck = 1200; ORGANIZATIONNAME = Sentry; TargetAttributes = { 63AA759A1EB8AEF500D153DE = { CreatedOnToolsVersion = 8.3.2; - LastSwiftMigration = 1340; + LastSwiftMigration = 1400; ProvisioningStyle = Manual; }; 63AA76641EB8CB2F00D153DE = { @@ -3149,6 +3219,11 @@ LastSwiftMigration = 1120; ProvisioningStyle = Manual; }; + D894688628D1D67C0006C83D = { + CreatedOnToolsVersion = 14.0; + LastSwiftMigration = 1400; + ProvisioningStyle = Automatic; + }; }; }; buildConfigurationList = 6327C5CD1EB8A783004E799B /* Build configuration list for PBXProject "Sentry" */; @@ -3164,8 +3239,9 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 63AA759A1EB8AEF500D153DE /* Sentry */, + 63AA759A1EB8AEF500D153DE /* SentryObjc */, 63AA76641EB8CB2F00D153DE /* SentryTests */, + D894688628D1D67C0006C83D /* Sentry */, ); }; /* End PBXProject section */ @@ -3628,14 +3704,28 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + D894688328D1D67C0006C83D /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D89468B128D225A60006C83D /* TypeAlias.swift in Sources */, + D894689C28D1DA310006C83D /* SentryPerformance.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ 63AA766C1EB8CB2F00D153DE /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 63AA759A1EB8AEF500D153DE /* Sentry */; + target = 63AA759A1EB8AEF500D153DE /* SentryObjc */; targetProxy = 63AA766B1EB8CB2F00D153DE /* PBXContainerItemProxy */; }; + D894689228D1D6880006C83D /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + target = 63AA759A1EB8AEF500D153DE /* SentryObjc */; + targetProxy = D894689128D1D6880006C83D /* PBXContainerItemProxy */; + }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ @@ -3798,7 +3888,7 @@ ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; - PRODUCT_NAME = Sentry; + PRODUCT_NAME = SentryObjc; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; @@ -3837,7 +3927,7 @@ ONLY_ACTIVE_ARCH = NO; OTHER_LDFLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; - PRODUCT_NAME = Sentry; + PRODUCT_NAME = SentryObjc; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 5.0; USE_HEADERMAP = YES; @@ -4004,7 +4094,7 @@ ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; - PRODUCT_NAME = Sentry; + PRODUCT_NAME = SentryObjc; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; @@ -4138,7 +4228,7 @@ ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; - PRODUCT_NAME = Sentry; + PRODUCT_NAME = SentryObjc; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; @@ -4174,6 +4264,135 @@ }; name = Test; }; + D894688B28D1D67C0006C83D /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + EXECUTABLE_PREFIX = ""; + GCC_C_LANGUAGE_STANDARD = gnu11; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "watchsimulator watchos macosx iphonesimulator iphoneos appletvsimulator appletvos"; + SUPPORTS_MACCATALYST = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2,3,4"; + }; + name = Debug; + }; + D894688C28D1D67C0006C83D /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + EXECUTABLE_PREFIX = ""; + GCC_C_LANGUAGE_STANDARD = gnu11; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_FAST_MATH = YES; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "watchsimulator watchos macosx iphonesimulator iphoneos appletvsimulator appletvos"; + SUPPORTS_MACCATALYST = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2,3,4"; + }; + name = Test; + }; + D894688D28D1D67C0006C83D /* TestCI */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + EXECUTABLE_PREFIX = ""; + GCC_C_LANGUAGE_STANDARD = gnu11; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_FAST_MATH = YES; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "watchsimulator watchos macosx iphonesimulator iphoneos appletvsimulator appletvos"; + SUPPORTS_MACCATALYST = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2,3,4"; + }; + name = TestCI; + }; + D894688E28D1D67C0006C83D /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + EXECUTABLE_PREFIX = ""; + GCC_C_LANGUAGE_STANDARD = gnu11; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MTL_FAST_MATH = YES; + OTHER_LDFLAGS = "-ObjC"; + PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "watchsimulator watchos macosx iphonesimulator iphoneos appletvsimulator appletvos"; + SUPPORTS_MACCATALYST = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2,3,4"; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -4188,7 +4407,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 63AA75A01EB8AEF500D153DE /* Build configuration list for PBXNativeTarget "Sentry" */ = { + 63AA75A01EB8AEF500D153DE /* Build configuration list for PBXNativeTarget "SentryObjc" */ = { isa = XCConfigurationList; buildConfigurations = ( 63AA75A11EB8AEF500D153DE /* Debug */, @@ -4210,6 +4429,17 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + D894688F28D1D67C0006C83D /* Build configuration list for PBXNativeTarget "Sentry" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D894688B28D1D67C0006C83D /* Debug */, + D894688C28D1D67C0006C83D /* Test */, + D894688D28D1D67C0006C83D /* TestCI */, + D894688E28D1D67C0006C83D /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ }; rootObject = 6327C5CA1EB8A783004E799B /* Project object */; diff --git a/Sentry.xcodeproj/xcshareddata/xcschemes/Sentry.xcscheme b/Sentry.xcodeproj/xcshareddata/xcschemes/Sentry.xcscheme index 17a7718bd12..f5b92b23c28 100644 --- a/Sentry.xcodeproj/xcshareddata/xcschemes/Sentry.xcscheme +++ b/Sentry.xcodeproj/xcshareddata/xcschemes/Sentry.xcscheme @@ -16,7 +16,7 @@ BuildableIdentifier = "primary" BlueprintIdentifier = "63AA759A1EB8AEF500D153DE" BuildableName = "Sentry.framework" - BlueprintName = "Sentry" + BlueprintName = "SentryObjc" ReferencedContainer = "container:Sentry.xcodeproj"> @@ -33,7 +33,7 @@ BuildableIdentifier = "primary" BlueprintIdentifier = "63AA759A1EB8AEF500D153DE" BuildableName = "Sentry.framework" - BlueprintName = "Sentry" + BlueprintName = "SentryObjc" ReferencedContainer = "container:Sentry.xcodeproj"> @@ -86,7 +86,7 @@ BuildableIdentifier = "primary" BlueprintIdentifier = "63AA759A1EB8AEF500D153DE" BuildableName = "Sentry.framework" - BlueprintName = "Sentry" + BlueprintName = "SentryObjc" ReferencedContainer = "container:Sentry.xcodeproj"> @@ -102,7 +102,7 @@ BuildableIdentifier = "primary" BlueprintIdentifier = "63AA759A1EB8AEF500D153DE" BuildableName = "Sentry.framework" - BlueprintName = "Sentry" + BlueprintName = "SentryObjc" ReferencedContainer = "container:Sentry.xcodeproj"> diff --git a/Sources/Sentry/Sentry.modulemap b/Sources/Sentry/Sentry.modulemap index 5434aa9350a..6d6d5fd2920 100644 --- a/Sources/Sentry/Sentry.modulemap +++ b/Sources/Sentry/Sentry.modulemap @@ -1,4 +1,4 @@ -framework module Sentry { +framework module SentryObjc { umbrella header "Sentry.h" export * diff --git a/Sources/SentrySwift/SwiftUI/SentryPerformance.swift b/Sources/SentrySwift/SwiftUI/SentryPerformance.swift new file mode 100644 index 00000000000..fde01094fed --- /dev/null +++ b/Sources/SentrySwift/SwiftUI/SentryPerformance.swift @@ -0,0 +1,18 @@ +import Foundation +import SentryObjc +import SwiftUI + +@available(iOS 13, macOS 10.15, *) +public struct SentryPerformance: ViewModifier { + + public func body(content: Content) -> some View { + return content + } +} + +@available(iOS 13, macOS 10.15, *) +public extension View { + func sentryTransaction() -> some View { + modifier(SentryPerformance()) + } +} diff --git a/Sources/SentrySwift/TypeAlias.swift b/Sources/SentrySwift/TypeAlias.swift new file mode 100644 index 00000000000..a51b5485bfc --- /dev/null +++ b/Sources/SentrySwift/TypeAlias.swift @@ -0,0 +1,41 @@ +import Foundation +import SentryObjc + +public typealias SentrySDK = SentryObjc.SentrySDK +public typealias Breadcrumb = SentryObjc.Breadcrumb +public typealias UserFeedback = SentryObjc.UserFeedback +public typealias Scope = SentryObjc.Scope +public typealias Event = SentryObjc.Event +public typealias SentryLevel = SentryObjc.SentryLevel +public typealias Attachment = SentryObjc.Attachment +public typealias Client = SentryObjc.Client +public typealias SentryCrashExceptionApplication = SentryObjc.SentryCrashExceptionApplication +public typealias SentryDsn = SentryObjc.SentryDsn +public typealias SentryEnvelope = SentryObjc.SentryEnvelope +public typealias SentryEnvelopeItem = SentryObjc.SentryEnvelopeItem +public typealias SentryError = SentryObjc.SentryError +public typealias Exception = SentryObjc.Exception +public typealias Frame = SentryObjc.Frame +public typealias SentryHub = SentryObjc.SentryHub +public typealias SentryId = SentryObjc.SentryId +public typealias SentryIntegrationProtocol = SentryObjc.SentryIntegrationProtocol +public typealias Mechanism = SentryObjc.Mechanism +public typealias MechanismMeta = SentryObjc.MechanismMeta +public typealias SentryMessage = SentryObjc.SentryMessage +public typealias SentryNSError = SentryObjc.SentryNSError +public typealias Options = SentryObjc.Options +public typealias SentrySampleDecision = SentryObjc.SentrySampleDecision +public typealias SamplingContext = SentryObjc.SamplingContext +public typealias SentryScreenFrames = SentryObjc.SentryScreenFrames +public typealias SentrySdkInfo = SentryObjc.SentrySdkInfo +public typealias SentrySerializable = SentryObjc.SentrySerializable +public typealias SentrySession = SentryObjc.SentrySession +public typealias SpanContext = SentryObjc.SpanContext +public typealias SpanId = SentryObjc.SpanId +public typealias Span = SentryObjc.Span +public typealias SentrySpanStatus = SentryObjc.SentrySpanStatus +public typealias Stacktrace = SentryObjc.Stacktrace +public typealias Thread = SentryObjc.Thread +public typealias TraceHeader = SentryObjc.TraceHeader +public typealias TransactionContext = SentryObjc.TransactionContext +public typealias User = SentryObjc.User From 65205f61bac05d864689bda6fcca258d41389439 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Mon, 19 Sep 2022 14:41:09 +0200 Subject: [PATCH 02/58] Updated references --- .../TrendingMovies.xcodeproj/project.pbxproj | 21 +++- .../iOS-ObjectiveC.xcodeproj/project.pbxproj | 48 +++------ .../iOS-Swift.xcodeproj/project.pbxproj | 101 ++++++------------ .../iOS15-SwiftUI.xcodeproj/project.pbxproj | 22 +--- .../macOS-Swift.xcodeproj/project.pbxproj | 43 +++----- .../xcshareddata/xcschemes/Sentry.xcscheme | 8 +- Sources/SentrySwift/TypeAlias.swift | 1 + 7 files changed, 88 insertions(+), 156 deletions(-) diff --git a/Samples/TrendingMovies/TrendingMovies.xcodeproj/project.pbxproj b/Samples/TrendingMovies/TrendingMovies.xcodeproj/project.pbxproj index 9264de4293a..d7a9da6dc39 100644 --- a/Samples/TrendingMovies/TrendingMovies.xcodeproj/project.pbxproj +++ b/Samples/TrendingMovies/TrendingMovies.xcodeproj/project.pbxproj @@ -64,9 +64,8 @@ 844A3579282B4B6500C6D1DF /* Kingfisher.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 844A3572282B4B6500C6D1DF /* Kingfisher.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 844A357A282B4B6500C6D1DF /* KingfisherSwiftUI.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 844A3573282B4B6500C6D1DF /* KingfisherSwiftUI.xcframework */; }; 844A357B282B4B6500C6D1DF /* KingfisherSwiftUI.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 844A3573282B4B6500C6D1DF /* KingfisherSwiftUI.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - 844A359C282DAA6100C6D1DF /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 844A356B282B3E4500C6D1DF /* Sentry.framework */; }; - 844A359D282DAA6100C6D1DF /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 844A356B282B3E4500C6D1DF /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 847EA5542852F7E800F65FE4 /* ProfileDataGeneratorUITest.m in Sources */ = {isa = PBXBuildFile; fileRef = 847EA5532852F7E800F65FE4 /* ProfileDataGeneratorUITest.m */; }; + D8C5645C28D89A880018E2FB /* Sentry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D8C5645B28D89A830018E2FB /* Sentry.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -91,6 +90,13 @@ remoteGlobalIDString = 844A34D4282B2B6100C6D1DF; remoteInfo = TrendingMovies; }; + D8C5645A28D89A830018E2FB /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 844A3565282B3E4500C6D1DF /* Sentry.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = D894688728D1D67C0006C83D; + remoteInfo = Sentry; + }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -103,7 +109,6 @@ 844A3579282B4B6500C6D1DF /* Kingfisher.xcframework in Embed Frameworks */, 844A357B282B4B6500C6D1DF /* KingfisherSwiftUI.xcframework in Embed Frameworks */, 844A3575282B4B6500C6D1DF /* TUSafariActivity.xcframework in Embed Frameworks */, - 844A359D282DAA6100C6D1DF /* Sentry.framework in Embed Frameworks */, 844A3577282B4B6500C6D1DF /* FaceAware.xcframework in Embed Frameworks */, ); name = "Embed Frameworks"; @@ -182,8 +187,8 @@ 844A3578282B4B6500C6D1DF /* Kingfisher.xcframework in Frameworks */, 844A357A282B4B6500C6D1DF /* KingfisherSwiftUI.xcframework in Frameworks */, 844A3574282B4B6500C6D1DF /* TUSafariActivity.xcframework in Frameworks */, - 844A359C282DAA6100C6D1DF /* Sentry.framework in Frameworks */, 844A3576282B4B6500C6D1DF /* FaceAware.xcframework in Frameworks */, + D8C5645C28D89A880018E2FB /* Sentry.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -390,6 +395,7 @@ children = ( 844A356B282B3E4500C6D1DF /* Sentry.framework */, 844A356D282B3E4500C6D1DF /* SentryTests.xctest */, + D8C5645B28D89A830018E2FB /* Sentry.a */, ); name = Products; sourceTree = ""; @@ -512,6 +518,13 @@ remoteRef = 844A356C282B3E4500C6D1DF /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + D8C5645B28D89A830018E2FB /* Sentry.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = Sentry.a; + remoteRef = D8C5645A28D89A830018E2FB /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ diff --git a/Samples/iOS-ObjectiveC/iOS-ObjectiveC.xcodeproj/project.pbxproj b/Samples/iOS-ObjectiveC/iOS-ObjectiveC.xcodeproj/project.pbxproj index fc80306717e..f24608f7902 100644 --- a/Samples/iOS-ObjectiveC/iOS-ObjectiveC.xcodeproj/project.pbxproj +++ b/Samples/iOS-ObjectiveC/iOS-ObjectiveC.xcodeproj/project.pbxproj @@ -7,8 +7,6 @@ objects = { /* Begin PBXBuildFile section */ - 630853492440C46E00DDE4CE /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6308533B2440C45500DDE4CE /* Sentry.framework */; }; - 6308534A2440C46E00DDE4CE /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 6308533B2440C45500DDE4CE /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 637AFDCB243B036B0034958B /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 637AFDCA243B036B0034958B /* AppDelegate.m */; }; 637AFDD1243B036B0034958B /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 637AFDD0243B036B0034958B /* ViewController.m */; }; 637AFDD4243B036B0034958B /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 637AFDD2243B036B0034958B /* Main.storyboard */; }; @@ -18,6 +16,7 @@ 7B3427FB25876DDC00056519 /* Tongariro.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 7B3427F925876DDB00056519 /* Tongariro.jpg */; }; 7B64387A26A6C69F000D0F65 /* LaunchUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B64387926A6C69F000D0F65 /* LaunchUITests.swift */; }; 7B8A5C9E2715B5DE008ACD3B /* InitializerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B8A5C9D2715B5DE008ACD3B /* InitializerViewController.m */; }; + D8C5644F28D899B20018E2FB /* Sentry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D8C5644E28D899AA0018E2FB /* Sentry.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -35,13 +34,6 @@ remoteGlobalIDString = 63AA76651EB8CB2F00D153DE; remoteInfo = SentryTests; }; - 630853472440C46300DDE4CE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 630853352440C45500DDE4CE /* Sentry.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 63AA759A1EB8AEF500D153DE; - remoteInfo = Sentry; - }; 7B64387C26A6C69F000D0F65 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 637AFDBE243B036B0034958B /* Project object */; @@ -49,21 +41,14 @@ remoteGlobalIDString = 637AFDC5243B036B0034958B; remoteInfo = "iOS-ObjectiveC"; }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXCopyFilesBuildPhase section */ - 6308534B2440C46E00DDE4CE /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 6308534A2440C46E00DDE4CE /* Sentry.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; + D8C5644D28D899AA0018E2FB /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 630853352440C45500DDE4CE /* Sentry.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = D894688728D1D67C0006C83D; + remoteInfo = Sentry; }; -/* End PBXCopyFilesBuildPhase section */ +/* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ 630853352440C45500DDE4CE /* Sentry.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Sentry.xcodeproj; path = ../../Sentry.xcodeproj; sourceTree = ""; }; @@ -91,7 +76,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 630853492440C46E00DDE4CE /* Sentry.framework in Frameworks */, + D8C5644F28D899B20018E2FB /* Sentry.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -110,6 +95,7 @@ children = ( 6308533B2440C45500DDE4CE /* Sentry.framework */, 6308533D2440C45500DDE4CE /* SentryTests.xctest */, + D8C5644E28D899AA0018E2FB /* Sentry.a */, ); name = Products; sourceTree = ""; @@ -180,12 +166,10 @@ 637AFDC2243B036B0034958B /* Sources */, 637AFDC3243B036B0034958B /* Frameworks */, 637AFDC4243B036B0034958B /* Resources */, - 6308534B2440C46E00DDE4CE /* Embed Frameworks */, ); buildRules = ( ); dependencies = ( - 630853482440C46300DDE4CE /* PBXTargetDependency */, ); name = "iOS-ObjectiveC"; productName = "iOS-ObjectiveC"; @@ -269,6 +253,13 @@ remoteRef = 6308533C2440C45500DDE4CE /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + D8C5644E28D899AA0018E2FB /* Sentry.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = Sentry.a; + remoteRef = D8C5644D28D899AA0018E2FB /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ @@ -315,11 +306,6 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 630853482440C46300DDE4CE /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Sentry; - targetProxy = 630853472440C46300DDE4CE /* PBXContainerItemProxy */; - }; 7B64387D26A6C69F000D0F65 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 637AFDC5243B036B0034958B /* iOS-ObjectiveC */; diff --git a/Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj b/Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj index 9f373ceb66f..85799a103b3 100644 --- a/Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj +++ b/Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj @@ -9,7 +9,6 @@ /* Begin PBXBuildFile section */ 0AAAB8572887F7C60011845C /* PermissionsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AABE2E928855FF80057ED69 /* PermissionsViewController.swift */; }; 0AABE2EA28855FF80057ED69 /* PermissionsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AABE2E928855FF80057ED69 /* PermissionsViewController.swift */; }; - 630853532440C60F00DDE4CE /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* Sentry.framework */; }; 637AFDAA243B02760034958B /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 637AFDA9243B02760034958B /* AppDelegate.swift */; }; 637AFDAE243B02760034958B /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 637AFDAD243B02760034958B /* ViewController.swift */; }; 637AFDB1243B02760034958B /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 637AFDAF243B02760034958B /* Main.storyboard */; }; @@ -20,9 +19,9 @@ 7BFC8B0626D4D24B000D3504 /* LoremIpsum.txt in Resources */ = {isa = PBXBuildFile; fileRef = 7BFC8B0526D4D24B000D3504 /* LoremIpsum.txt */; }; 844DA821282584C300E6B62E /* CoreDataViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8F57BC427BBD787000D09D4 /* CoreDataViewController.swift */; }; 844DA822282584F700E6B62E /* SentryData.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = D845F35927BAD4CC00A4D7A2 /* SentryData.xcdatamodeld */; }; - 848A256B286E3351008A8858 /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* Sentry.framework */; }; + 848A256B286E3351008A8858 /* SentryObjc.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* SentryObjc.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, ); }; }; + 848A256F286E3351008A8858 /* SentryObjc.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* SentryObjc.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; 84BE546F287503F100ACC735 /* SentrySDKPerformanceBenchmarkTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 84BE546E287503F100ACC735 /* SentrySDKPerformanceBenchmarkTests.m */; }; 84BE547E287645B900ACC735 /* SentryProcessInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 84BE54792876451D00ACC735 /* SentryProcessInfo.m */; }; 84FB8120283EEDB900F3A94A /* PerformanceViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84FB811F283EEDB900F3A94A /* PerformanceViewController.swift */; }; @@ -41,12 +40,9 @@ D8269A56274C0F9E00BD5BD5 /* NibViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = D890CD3B26CEE2FA001246CF /* NibViewController.xib */; }; D8269A57274C0FA100BD5BD5 /* NibViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D890CD3E26CEE31B001246CF /* NibViewController.swift */; }; D8269A58274C0FC700BD5BD5 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 637AFDAD243B02760034958B /* ViewController.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, ); }; }; D83A30C8279EFD6E00372D0A /* ClearTestState.swift in Sources */ = {isa = PBXBuildFile; fileRef = D83A30C7279EFD6E00372D0A /* ClearTestState.swift */; }; - D83A30D1279F0A7C00372D0A /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* Sentry.framework */; }; - 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, ); }; }; + D83A30D1279F0A7C00372D0A /* SentryObjc.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* SentryObjc.framework */; }; + D83A30DC279F16BA00372D0A /* SentryObjc.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* SentryObjc.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; D83A30E1279F1F5C00372D0A /* fatal-error-binary-images-message2.json in Resources */ = {isa = PBXBuildFile; fileRef = D83A30DF279F1F5C00372D0A /* fatal-error-binary-images-message2.json */; }; D83A30E6279FE21F00372D0A /* SentryFileIOTrackingIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D83A30E5279FE21F00372D0A /* SentryFileIOTrackingIntegrationTests.swift */; }; D840D523273A07F400CDF142 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D840D522273A07F400CDF142 /* AppDelegate.swift */; }; @@ -68,8 +64,9 @@ D88E666828732AE000153425 /* PerformanceViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84FB811F283EEDB900F3A94A /* PerformanceViewController.swift */; }; D890CD3C26CEE2FA001246CF /* NibViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = D890CD3B26CEE2FA001246CF /* NibViewController.xib */; }; D890CD3F26CEE31B001246CF /* NibViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D890CD3E26CEE31B001246CF /* NibViewController.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, ); }; }; + D8C5644828D899460018E2FB /* Sentry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D8C5644728D8993F0018E2FB /* Sentry.a */; }; + D8C5644928D899740018E2FB /* Sentry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D8C5644728D8993F0018E2FB /* Sentry.a */; }; + D8C5644A28D899810018E2FB /* Sentry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D8C5644728D8993F0018E2FB /* Sentry.a */; }; D8D7BB4A2750067900044146 /* UIAssert.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8D7BB492750067900044146 /* UIAssert.swift */; }; D8D7BB4C2750095800044146 /* UIViewExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8D7BB4B2750095800044146 /* UIViewExtension.swift */; }; D8D7BB4E27501B9400044146 /* SpanObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8D7BB4D27501B9400044146 /* SpanObserver.swift */; }; @@ -101,13 +98,6 @@ 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 */; @@ -150,27 +140,23 @@ remoteGlobalIDString = D8269A38274C095E00BD5BD5; remoteInfo = "iOS13-Swift"; }; + D8C5644628D8993F0018E2FB /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 6308532C2440C44F00DDE4CE /* Sentry.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = D894688728D1D67C0006C83D; + remoteInfo = Sentry; + }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ - 630853552440C60F00DDE4CE /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - D83A30D8279F159D00372D0A /* Sentry.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; 630853552440C60F00DDE4CF /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - D83A30DC279F16BA00372D0A /* Sentry.framework in Embed Frameworks */, + D83A30DC279F16BA00372D0A /* SentryObjc.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -181,18 +167,7 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 848A256F286E3351008A8858 /* Sentry.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; - D8269A5B274C100300BD5BD5 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - D8269A5A274C100300BD5BD5 /* Sentry.framework in Embed Frameworks */, + 848A256F286E3351008A8858 /* SentryObjc.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -208,17 +183,6 @@ name = "Embed App Clips"; runOnlyForDeploymentPostprocessing = 0; }; - D8B56CF2273A8D97004DF238 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - D8B56CF1273A8D97004DF238 /* Sentry.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ @@ -292,7 +256,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 630853532440C60F00DDE4CE /* Sentry.framework in Frameworks */, + D8C5644928D899740018E2FB /* Sentry.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -300,7 +264,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D83A30D1279F0A7C00372D0A /* Sentry.framework in Frameworks */, + D83A30D1279F0A7C00372D0A /* SentryObjc.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -308,7 +272,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 848A256B286E3351008A8858 /* Sentry.framework in Frameworks */, + 848A256B286E3351008A8858 /* SentryObjc.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -316,7 +280,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D8269A59274C100300BD5BD5 /* Sentry.framework in Frameworks */, + D8C5644A28D899810018E2FB /* Sentry.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -324,7 +288,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D8B56CF0273A8D97004DF238 /* Sentry.framework in Frameworks */, + D8C5644828D899460018E2FB /* Sentry.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -341,8 +305,9 @@ 6308532D2440C44F00DDE4CE /* Products */ = { isa = PBXGroup; children = ( - 630853322440C44F00DDE4CE /* Sentry.framework */, + 630853322440C44F00DDE4CE /* SentryObjc.framework */, 630853342440C44F00DDE4CE /* SentryTests.xctest */, + D8C5644728D8993F0018E2FB /* Sentry.a */, ); name = Products; sourceTree = ""; @@ -524,13 +489,11 @@ 637AFDA2243B02760034958B /* Sources */, 637AFDA3243B02760034958B /* Frameworks */, 637AFDA4243B02760034958B /* Resources */, - 630853552440C60F00DDE4CE /* Embed Frameworks */, D840D535273A07F600CDF142 /* Embed App Clips */, ); buildRules = ( ); dependencies = ( - 630853522440C60800DDE4CE /* PBXTargetDependency */, D840D533273A07F600CDF142 /* PBXTargetDependency */, ); name = "iOS-Swift"; @@ -585,7 +548,6 @@ D8269A35274C095E00BD5BD5 /* Sources */, D8269A36274C095E00BD5BD5 /* Frameworks */, D8269A37274C095E00BD5BD5 /* Resources */, - D8269A5B274C100300BD5BD5 /* Embed Frameworks */, ); buildRules = ( ); @@ -603,7 +565,6 @@ D840D51C273A07F400CDF142 /* Sources */, D840D51D273A07F400CDF142 /* Frameworks */, D840D51E273A07F400CDF142 /* Resources */, - D8B56CF2273A8D97004DF238 /* Embed Frameworks */, ); buildRules = ( ); @@ -695,10 +656,10 @@ /* End PBXProject section */ /* Begin PBXReferenceProxy section */ - 630853322440C44F00DDE4CE /* Sentry.framework */ = { + 630853322440C44F00DDE4CE /* SentryObjc.framework */ = { isa = PBXReferenceProxy; fileType = wrapper.framework; - path = Sentry.framework; + path = SentryObjc.framework; remoteRef = 630853312440C44F00DDE4CE /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -709,6 +670,13 @@ remoteRef = 630853332440C44F00DDE4CE /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + D8C5644728D8993F0018E2FB /* Sentry.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = Sentry.a; + remoteRef = D8C5644628D8993F0018E2FB /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ @@ -868,11 +836,6 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 630853522440C60800DDE4CE /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Sentry; - targetProxy = 630853512440C60800DDE4CE /* PBXContainerItemProxy */; - }; 7B64386E26A6C544000D0F65 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 637AFDA5243B02760034958B /* iOS-Swift */; diff --git a/Samples/iOS15-SwiftUI/iOS15-SwiftUI.xcodeproj/project.pbxproj b/Samples/iOS15-SwiftUI/iOS15-SwiftUI.xcodeproj/project.pbxproj index 2f60dda6e70..b29c12b6078 100644 --- a/Samples/iOS15-SwiftUI/iOS15-SwiftUI.xcodeproj/project.pbxproj +++ b/Samples/iOS15-SwiftUI/iOS15-SwiftUI.xcodeproj/project.pbxproj @@ -11,24 +11,9 @@ 7B51664E2758C6F000C0A720 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B51664D2758C6F000C0A720 /* ContentView.swift */; }; 7B5166502758C6F400C0A720 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7B51664F2758C6F400C0A720 /* Assets.xcassets */; }; 7B5166532758C6F400C0A720 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7B5166522758C6F400C0A720 /* Preview Assets.xcassets */; }; - 7B5166772758C72600C0A720 /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B5166762758C72600C0A720 /* Sentry.framework */; }; - 7B5166782758C72600C0A720 /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 7B5166762758C72600C0A720 /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + D8C5645628D89A6F0018E2FB /* Sentry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D8C5645528D89A6F0018E2FB /* Sentry.a */; }; /* End PBXBuildFile section */ -/* Begin PBXCopyFilesBuildPhase section */ - 7B5166792758C72600C0A720 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 7B5166782758C72600C0A720 /* Sentry.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - /* Begin PBXFileReference section */ 7B5166482758C6F000C0A720 /* iOS15-SwiftUI.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "iOS15-SwiftUI.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 7B51664B2758C6F000C0A720 /* App.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = App.swift; sourceTree = ""; }; @@ -36,6 +21,7 @@ 7B51664F2758C6F400C0A720 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 7B5166522758C6F400C0A720 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; 7B5166762758C72600C0A720 /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D8C5645528D89A6F0018E2FB /* Sentry.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = Sentry.a; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -43,7 +29,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7B5166772758C72600C0A720 /* Sentry.framework in Frameworks */, + D8C5645628D89A6F0018E2FB /* Sentry.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -89,6 +75,7 @@ 7B5166752758C72600C0A720 /* Frameworks */ = { isa = PBXGroup; children = ( + D8C5645528D89A6F0018E2FB /* Sentry.a */, 7B5166762758C72600C0A720 /* Sentry.framework */, ); name = Frameworks; @@ -104,7 +91,6 @@ 7B5166442758C6F000C0A720 /* Sources */, 7B5166452758C6F000C0A720 /* Frameworks */, 7B5166462758C6F000C0A720 /* Resources */, - 7B5166792758C72600C0A720 /* Embed Frameworks */, ); buildRules = ( ); diff --git a/Samples/macOS-Swift/macOS-Swift.xcodeproj/project.pbxproj b/Samples/macOS-Swift/macOS-Swift.xcodeproj/project.pbxproj index a71f6d33dfe..10ffb12b310 100644 --- a/Samples/macOS-Swift/macOS-Swift.xcodeproj/project.pbxproj +++ b/Samples/macOS-Swift/macOS-Swift.xcodeproj/project.pbxproj @@ -7,8 +7,6 @@ objects = { /* Begin PBXBuildFile section */ - 6308534E2440C5FB00DDE4CE /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 630853442440C45A00DDE4CE /* Sentry.framework */; }; - 6308534F2440C5FB00DDE4CE /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 630853442440C45A00DDE4CE /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 637AFDEF243B04320034958B /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 637AFDEE243B04320034958B /* AppDelegate.swift */; }; 637AFDF1243B04320034958B /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 637AFDF0243B04320034958B /* ViewController.swift */; }; 637AFDF3243B04340034958B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 637AFDF2243B04340034958B /* Assets.xcassets */; }; @@ -16,6 +14,7 @@ 7B3427FE25876DE700056519 /* Tongariro.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 7B3427FC25876DE700056519 /* Tongariro.jpg */; }; 7B948A06275E459C00F04173 /* CppSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B948A04275E459C00F04173 /* CppSample.cpp */; }; 7B948A0A275E4A9900F04173 /* CppWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B948A09275E4A9900F04173 /* CppWrapper.m */; }; + D8C5645428D899BC0018E2FB /* Sentry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D8C5645328D899B80018E2FB /* Sentry.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -33,29 +32,15 @@ remoteGlobalIDString = 63AA76651EB8CB2F00D153DE; remoteInfo = SentryTests; }; - 6308534C2440C5F500DDE4CE /* PBXContainerItemProxy */ = { + D8C5645228D899B80018E2FB /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 6308533E2440C45A00DDE4CE /* Sentry.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = 63AA759A1EB8AEF500D153DE; + proxyType = 2; + remoteGlobalIDString = D894688728D1D67C0006C83D; remoteInfo = Sentry; }; /* End PBXContainerItemProxy section */ -/* Begin PBXCopyFilesBuildPhase section */ - 630853502440C5FB00DDE4CE /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 6308534F2440C5FB00DDE4CE /* Sentry.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - /* Begin PBXFileReference section */ 6308533E2440C45A00DDE4CE /* Sentry.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Sentry.xcodeproj; path = ../../Sentry.xcodeproj; sourceTree = ""; }; 637AFDEB243B04320034958B /* macOS-Swift.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "macOS-Swift.app"; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -79,7 +64,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 6308534E2440C5FB00DDE4CE /* Sentry.framework in Frameworks */, + D8C5645428D899BC0018E2FB /* Sentry.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -91,6 +76,7 @@ children = ( 630853442440C45A00DDE4CE /* Sentry.framework */, 630853462440C45A00DDE4CE /* SentryTests.xctest */, + D8C5645328D899B80018E2FB /* Sentry.a */, ); name = Products; sourceTree = ""; @@ -150,12 +136,10 @@ 637AFDE7243B04320034958B /* Sources */, 637AFDE8243B04320034958B /* Frameworks */, 637AFDE9243B04320034958B /* Resources */, - 630853502440C5FB00DDE4CE /* Embed Frameworks */, ); buildRules = ( ); dependencies = ( - 6308534D2440C5F500DDE4CE /* PBXTargetDependency */, ); name = "macOS-Swift"; productName = "macOS-Swift"; @@ -217,6 +201,13 @@ remoteRef = 630853452440C45A00DDE4CE /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + D8C5645328D899B80018E2FB /* Sentry.a */ = { + isa = PBXReferenceProxy; + fileType = archive.ar; + path = Sentry.a; + remoteRef = D8C5645228D899B80018E2FB /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ @@ -246,14 +237,6 @@ }; /* End PBXSourcesBuildPhase section */ -/* Begin PBXTargetDependency section */ - 6308534D2440C5F500DDE4CE /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Sentry; - targetProxy = 6308534C2440C5F500DDE4CE /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - /* Begin PBXVariantGroup section */ 637AFDF4243B04340034958B /* Main.storyboard */ = { isa = PBXVariantGroup; diff --git a/Sentry.xcodeproj/xcshareddata/xcschemes/Sentry.xcscheme b/Sentry.xcodeproj/xcshareddata/xcschemes/Sentry.xcscheme index f5b92b23c28..32cce1dcf6f 100644 --- a/Sentry.xcodeproj/xcshareddata/xcschemes/Sentry.xcscheme +++ b/Sentry.xcodeproj/xcshareddata/xcschemes/Sentry.xcscheme @@ -15,7 +15,7 @@ @@ -32,7 +32,7 @@ @@ -85,7 +85,7 @@ @@ -101,7 +101,7 @@ diff --git a/Sources/SentrySwift/TypeAlias.swift b/Sources/SentrySwift/TypeAlias.swift index a51b5485bfc..049030ca5af 100644 --- a/Sources/SentrySwift/TypeAlias.swift +++ b/Sources/SentrySwift/TypeAlias.swift @@ -39,3 +39,4 @@ public typealias Thread = SentryObjc.Thread public typealias TraceHeader = SentryObjc.TraceHeader public typealias TransactionContext = SentryObjc.TransactionContext public typealias User = SentryObjc.User +public typealias PrivateSentrySDKOnly = SentryObjc.PrivateSentrySDKOnly From 61997a2ab2014f01eaa56d87756c0d978d1ce9e0 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Mon, 19 Sep 2022 14:51:38 +0200 Subject: [PATCH 03/58] Update TypeAlias.swift --- Sources/SentrySwift/TypeAlias.swift | 1 - 1 file changed, 1 deletion(-) diff --git a/Sources/SentrySwift/TypeAlias.swift b/Sources/SentrySwift/TypeAlias.swift index 049030ca5af..7b95a61dec8 100644 --- a/Sources/SentrySwift/TypeAlias.swift +++ b/Sources/SentrySwift/TypeAlias.swift @@ -26,7 +26,6 @@ public typealias SentryNSError = SentryObjc.SentryNSError public typealias Options = SentryObjc.Options public typealias SentrySampleDecision = SentryObjc.SentrySampleDecision public typealias SamplingContext = SentryObjc.SamplingContext -public typealias SentryScreenFrames = SentryObjc.SentryScreenFrames public typealias SentrySdkInfo = SentryObjc.SentrySdkInfo public typealias SentrySerializable = SentryObjc.SentrySerializable public typealias SentrySession = SentryObjc.SentrySession From 423aea1176b8334b3ff38c92bb93631c4a95ddc5 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Mon, 19 Sep 2022 15:05:28 +0200 Subject: [PATCH 04/58] Update project.pbxproj --- Sentry.xcodeproj/project.pbxproj | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index c5e19ada586..167da56603c 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -4280,7 +4280,7 @@ CODE_SIGN_STYLE = Automatic; EXECUTABLE_PREFIX = ""; GCC_C_LANGUAGE_STANDARD = gnu11; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; @@ -4314,7 +4314,7 @@ CODE_SIGN_STYLE = Automatic; EXECUTABLE_PREFIX = ""; GCC_C_LANGUAGE_STANDARD = gnu11; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_FAST_MATH = YES; OTHER_LDFLAGS = "-ObjC"; @@ -4346,7 +4346,7 @@ CODE_SIGN_STYLE = Automatic; EXECUTABLE_PREFIX = ""; GCC_C_LANGUAGE_STANDARD = gnu11; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_FAST_MATH = YES; OTHER_LDFLAGS = "-ObjC"; @@ -4378,7 +4378,7 @@ CODE_SIGN_STYLE = Automatic; EXECUTABLE_PREFIX = ""; GCC_C_LANGUAGE_STANDARD = gnu11; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_FAST_MATH = YES; OTHER_LDFLAGS = "-ObjC"; From 9f08056d6d79390d5f99a786abc5df72f126c8dd Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Mon, 19 Sep 2022 15:58:23 +0200 Subject: [PATCH 05/58] Update tests --- .../watchOS-Swift.xcodeproj/project.pbxproj | 31 +++++-------------- Sources/Sentry/Public/SentryThread.h | 1 - .../UIViewRecursiveDescriptionTests.swift | 2 +- Tests/SentryTests/ClearTestState.swift | 2 +- .../Helper/SentryCurrentDateTests.swift | 2 +- .../Helper/SentryFileManager+TestProperties.h | 1 - .../Helper/SentryFileManagerTests.swift | 2 +- Tests/SentryTests/Helper/SentryLog+TestInit.h | 1 - .../Helper/SentrySerializationNilTests.m | 2 +- Tests/SentryTests/Helper/SentrySwizzleTests.m | 2 +- .../SentryANRTrackingIntegrationTests.swift | 8 ++--- ...toBreadcrumbTrackingIntegrationTests.swift | 2 +- .../SentrySystemEventBreadcrumbsTest.swift | 2 +- ...SentryFileIOTrackingIntegrationTests.swift | 2 +- .../IO/SentryFileIoTrackingUnitTests.swift | 2 +- ...SentryNetworkTrackerIntegrationTests.swift | 2 +- ...SentryUIViewControllerSwizzlingTests.swift | 6 ++-- .../SentryScreenshotIntegrationTests.swift | 2 +- .../SentryBaseIntegrationTests.swift | 2 +- .../Session/SentrySessionGeneratorTests.swift | 2 +- .../Session/SentrySessionTrackerTests.swift | 2 +- .../UIEvents/SentryUIEventTrackerTests.swift | 2 +- ...entryUIEventTrackingIntegrationTests.swift | 2 +- .../SentryViewHierarchyIntegrationTests.swift | 2 +- .../SentryDefaultRateLimitsTests.swift | 2 +- .../SentryRateLimitsParserTests.swift | 2 +- .../SentryRetryAfterHeaderParserTests.swift | 2 +- .../SentryDataCategoryMapperTests.swift | 2 +- Tests/SentryTests/Networking/SentryDsnTests.m | 2 +- .../SentryHttpDateParserTests.swift | 2 +- .../Networking/SentryHttpTransportTests.swift | 2 +- .../SentryTransportAdapterTests.swift | 2 +- .../SentryTransportFactoryTests.swift | 2 +- .../SentryTransportInitializerTests.swift | 2 +- .../Protocol/SentryAttachment+Equality.h | 2 +- .../Protocol/SentryClientReportTests.swift | 2 +- .../Protocol/SentryEventTests.swift | 2 +- .../SentryTests/Protocol/SentryIdTests.swift | 2 +- .../Protocol/SentryThreadEquality.swift | 12 +++---- Tests/SentryTests/Protocol/TestData.swift | 5 ++- Tests/SentryTests/SentryClient+TestInit.h | 1 - Tests/SentryTests/SentryClientTests.swift | 8 ++--- ...CrashDefaultBinaryImageProviderTests.swift | 2 +- ...SentryCrashInstallationReporterTests.swift | 2 +- .../SentryCrashStackEntryMapperTests.swift | 2 +- .../SentryCrashUUIDConversionTests.swift | 2 +- .../SentryDebugImageProviderTests.swift | 11 +++---- .../SentryStacktraceBuilderTests.swift | 2 +- .../TestSentryPermissionsObserver.swift | 2 +- .../SentryCrash/TestThreadInspector.swift | 6 ++-- Tests/SentryTests/SentryHubTests.swift | 2 +- Tests/SentryTests/SentryInstallationTests.m | 2 +- Tests/SentryTests/SentryInterfacesTests.m | 4 +-- .../SentryKSCrashReportConverterTests.m | 2 +- Tests/SentryTests/SentryMetaTests.swift | 2 +- .../SentryNSDataCompressionTests.m | 2 +- .../SentryTests/SentryNSURLRequestTests.swift | 2 +- Tests/SentryTests/SentrySDK+Tests.h | 2 -- Tests/SentryTests/SentrySDKTests.swift | 2 +- Tests/SentryTests/SentryScope+Equality.h | 1 - Tests/SentryTests/SentryScope+Properties.h | 2 +- Tests/SentryTests/SentryTests.m | 5 ++- Tests/SentryTests/State/SentryHub+TestInit.h | 1 - .../Transaction/SentryBaggageTests.swift | 2 +- .../Transaction/SentryNoOpSpanTests.swift | 2 +- .../Transaction/SentrySpanTests.swift | 2 +- 66 files changed, 87 insertions(+), 115 deletions(-) diff --git a/Samples/watchOS-Swift/watchOS-Swift.xcodeproj/project.pbxproj b/Samples/watchOS-Swift/watchOS-Swift.xcodeproj/project.pbxproj index 06fa6f06b1d..62ec41a53fd 100644 --- a/Samples/watchOS-Swift/watchOS-Swift.xcodeproj/project.pbxproj +++ b/Samples/watchOS-Swift/watchOS-Swift.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 52; + objectVersion = 50; objects = { /* Begin PBXBuildFile section */ @@ -19,8 +19,7 @@ 7B82C4A024C98A95002CA6D1 /* NotificationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B82C49F24C98A95002CA6D1 /* NotificationView.swift */; }; 7B82C4A224C98A96002CA6D1 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7B82C4A124C98A96002CA6D1 /* Assets.xcassets */; }; 7B82C4A524C98A96002CA6D1 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7B82C4A424C98A96002CA6D1 /* Preview Assets.xcassets */; }; - 7B82C4C624C993E6002CA6D1 /* Sentry.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B82C4BA24C98CFC002CA6D1 /* Sentry.xcframework */; }; - 7B82C4C724C993E6002CA6D1 /* Sentry.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 7B82C4BA24C98CFC002CA6D1 /* Sentry.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; + D8C5645E28D8A1810018E2FB /* Sentry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D8C5645D28D8A1810018E2FB /* Sentry.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -63,17 +62,6 @@ name = "Embed Watch Content"; runOnlyForDeploymentPostprocessing = 0; }; - 7B82C4C824C993E6002CA6D1 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 7B82C4C724C993E6002CA6D1 /* Sentry.xcframework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ @@ -93,10 +81,8 @@ 7B82C4A424C98A96002CA6D1 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; 7B82C4A624C98A96002CA6D1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 7B82C4A724C98A96002CA6D1 /* PushNotificationPayload.apns */ = {isa = PBXFileReference; lastKnownFileType = text; path = PushNotificationPayload.apns; sourceTree = ""; }; - 7B82C4B624C98AF4002CA6D1 /* Sentry.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Sentry.xcframework; path = ../../tmp/Sentry.xcframework; sourceTree = ""; }; - 7B82C4BA24C98CFC002CA6D1 /* Sentry.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Sentry.xcframework; path = libs/Sentry.xcframework; sourceTree = ""; }; - 7B82C4BF24C99340002CA6D1 /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 7B82C4C224C9939A002CA6D1 /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D8C5645D28D8A1810018E2FB /* Sentry.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = Sentry.a; sourceTree = BUILT_PRODUCTS_DIR; }; + D8C5645F28D8A1FA0018E2FB /* SentryObjc.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = SentryObjc.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -104,7 +90,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7B82C4C624C993E6002CA6D1 /* Sentry.xcframework in Frameworks */, + D8C5645E28D8A1810018E2FB /* Sentry.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -169,10 +155,8 @@ 7B82C4B524C98AF4002CA6D1 /* Frameworks */ = { isa = PBXGroup; children = ( - 7B82C4C224C9939A002CA6D1 /* Sentry.framework */, - 7B82C4BF24C99340002CA6D1 /* Sentry.framework */, - 7B82C4BA24C98CFC002CA6D1 /* Sentry.xcframework */, - 7B82C4B624C98AF4002CA6D1 /* Sentry.xcframework */, + D8C5645F28D8A1FA0018E2FB /* SentryObjc.framework */, + D8C5645D28D8A1810018E2FB /* Sentry.a */, ); name = Frameworks; sourceTree = ""; @@ -221,7 +205,6 @@ 7B82C48E24C98A95002CA6D1 /* Sources */, 7B82C48F24C98A95002CA6D1 /* Frameworks */, 7B82C49024C98A95002CA6D1 /* Resources */, - 7B82C4C824C993E6002CA6D1 /* Embed Frameworks */, ); buildRules = ( ); diff --git a/Sources/Sentry/Public/SentryThread.h b/Sources/Sentry/Public/SentryThread.h index 7546e419ea0..ecca3e03e06 100644 --- a/Sources/Sentry/Public/SentryThread.h +++ b/Sources/Sentry/Public/SentryThread.h @@ -5,7 +5,6 @@ NS_ASSUME_NONNULL_BEGIN @class SentryStacktrace; -NS_SWIFT_NAME(Thread) @interface SentryThread : NSObject SENTRY_NO_INIT diff --git a/Tests/SentryTests/Categories/UIViewRecursiveDescriptionTests.swift b/Tests/SentryTests/Categories/UIViewRecursiveDescriptionTests.swift index d7eaec6b1ef..60deca56b28 100644 --- a/Tests/SentryTests/Categories/UIViewRecursiveDescriptionTests.swift +++ b/Tests/SentryTests/Categories/UIViewRecursiveDescriptionTests.swift @@ -1,4 +1,4 @@ -@testable import Sentry +@testable import SentryObjc import XCTest #if os(iOS) || os(tvOS) || targetEnvironment(macCatalyst) diff --git a/Tests/SentryTests/ClearTestState.swift b/Tests/SentryTests/ClearTestState.swift index 02db84e1294..8f4137e7ccb 100644 --- a/Tests/SentryTests/ClearTestState.swift +++ b/Tests/SentryTests/ClearTestState.swift @@ -1,5 +1,5 @@ import Foundation -import Sentry +import SentryObjc func clearTestState() { SentrySDK.close() diff --git a/Tests/SentryTests/Helper/SentryCurrentDateTests.swift b/Tests/SentryTests/Helper/SentryCurrentDateTests.swift index 49981a81a22..42d520d1f9a 100644 --- a/Tests/SentryTests/Helper/SentryCurrentDateTests.swift +++ b/Tests/SentryTests/Helper/SentryCurrentDateTests.swift @@ -1,4 +1,4 @@ -@testable import Sentry +@testable import SentryObjc import XCTest class SentryCurrentDateTests: XCTestCase { diff --git a/Tests/SentryTests/Helper/SentryFileManager+TestProperties.h b/Tests/SentryTests/Helper/SentryFileManager+TestProperties.h index ce46181eb27..d36a02021bd 100644 --- a/Tests/SentryTests/Helper/SentryFileManager+TestProperties.h +++ b/Tests/SentryTests/Helper/SentryFileManager+TestProperties.h @@ -1,5 +1,4 @@ #import "SentryFileManager.h" -#import NS_ASSUME_NONNULL_BEGIN diff --git a/Tests/SentryTests/Helper/SentryFileManagerTests.swift b/Tests/SentryTests/Helper/SentryFileManagerTests.swift index 06806be9bfc..aa423925129 100644 --- a/Tests/SentryTests/Helper/SentryFileManagerTests.swift +++ b/Tests/SentryTests/Helper/SentryFileManagerTests.swift @@ -1,4 +1,4 @@ -import Sentry +import SentryObjc import XCTest // Even if we don't run this test below OSX 10.12 we expect the actual diff --git a/Tests/SentryTests/Helper/SentryLog+TestInit.h b/Tests/SentryTests/Helper/SentryLog+TestInit.h index 015bac77a4a..d1e089282f3 100644 --- a/Tests/SentryTests/Helper/SentryLog+TestInit.h +++ b/Tests/SentryTests/Helper/SentryLog+TestInit.h @@ -1,5 +1,4 @@ #import "SentryLog.h" -#import NS_ASSUME_NONNULL_BEGIN diff --git a/Tests/SentryTests/Helper/SentrySerializationNilTests.m b/Tests/SentryTests/Helper/SentrySerializationNilTests.m index b2f6854f47b..f89aac0d5b5 100644 --- a/Tests/SentryTests/Helper/SentrySerializationNilTests.m +++ b/Tests/SentryTests/Helper/SentrySerializationNilTests.m @@ -1,5 +1,5 @@ #import "SentrySerialization.h" -#import + #import @interface SentrySerializationNilTests : XCTestCase diff --git a/Tests/SentryTests/Helper/SentrySwizzleTests.m b/Tests/SentryTests/Helper/SentrySwizzleTests.m index 3af6ab1edb3..cdd552b0c49 100644 --- a/Tests/SentryTests/Helper/SentrySwizzleTests.m +++ b/Tests/SentryTests/Helper/SentrySwizzleTests.m @@ -1,5 +1,5 @@ #import "SentrySwizzle.h" -#import + #import #pragma mark - HELPER CLASSES - diff --git a/Tests/SentryTests/Integrations/ANR/SentryANRTrackingIntegrationTests.swift b/Tests/SentryTests/Integrations/ANR/SentryANRTrackingIntegrationTests.swift index 2dde33b2e80..d8b92a1dac7 100644 --- a/Tests/SentryTests/Integrations/ANR/SentryANRTrackingIntegrationTests.swift +++ b/Tests/SentryTests/Integrations/ANR/SentryANRTrackingIntegrationTests.swift @@ -108,17 +108,17 @@ class SentryANRTrackingIntegrationTests: SentrySDKIntegrationTestsBase { private func setUpThreadInspector() { let threadInspector = TestThreadInspector.instance - let frame1 = Sentry.Frame() + let frame1 = Frame() frame1.function = "Second_frame_function" - let thread1 = Sentry.Thread(threadId: 0) + let thread1 = SentryThread(threadId: 0) thread1.stacktrace = Stacktrace(frames: [frame1], registers: [:]) thread1.current = true - let frame2 = Sentry.Frame() + let frame2 = Frame() frame2.function = "main" - let thread2 = Sentry.Thread(threadId: 1) + let thread2 = SentryThread(threadId: 1) thread2.stacktrace = Stacktrace(frames: [frame2], registers: [:]) thread2.current = false diff --git a/Tests/SentryTests/Integrations/Breadcrumbs/SentryAutoBreadcrumbTrackingIntegrationTests.swift b/Tests/SentryTests/Integrations/Breadcrumbs/SentryAutoBreadcrumbTrackingIntegrationTests.swift index 764569b60b2..56c67eec029 100644 --- a/Tests/SentryTests/Integrations/Breadcrumbs/SentryAutoBreadcrumbTrackingIntegrationTests.swift +++ b/Tests/SentryTests/Integrations/Breadcrumbs/SentryAutoBreadcrumbTrackingIntegrationTests.swift @@ -1,4 +1,4 @@ -import Sentry +import SentryObjc import XCTest class SentryAutoBreadcrumbTrackingIntegrationTests: XCTestCase { diff --git a/Tests/SentryTests/Integrations/Breadcrumbs/SentrySystemEventBreadcrumbsTest.swift b/Tests/SentryTests/Integrations/Breadcrumbs/SentrySystemEventBreadcrumbsTest.swift index b20b87343ac..cbb7de7ac73 100644 --- a/Tests/SentryTests/Integrations/Breadcrumbs/SentrySystemEventBreadcrumbsTest.swift +++ b/Tests/SentryTests/Integrations/Breadcrumbs/SentrySystemEventBreadcrumbsTest.swift @@ -1,4 +1,4 @@ -@testable import Sentry +@testable import SentryObjc import XCTest class SentrySystemEventBreadcrumbsTest: XCTestCase { diff --git a/Tests/SentryTests/Integrations/Performance/IO/SentryFileIOTrackingIntegrationTests.swift b/Tests/SentryTests/Integrations/Performance/IO/SentryFileIOTrackingIntegrationTests.swift index b2669d98221..23ca203afab 100644 --- a/Tests/SentryTests/Integrations/Performance/IO/SentryFileIOTrackingIntegrationTests.swift +++ b/Tests/SentryTests/Integrations/Performance/IO/SentryFileIOTrackingIntegrationTests.swift @@ -1,5 +1,5 @@ import Foundation -import Sentry +import SentryObjc import XCTest // This test is also executed under iOS-SwiftUITests, because diff --git a/Tests/SentryTests/Integrations/Performance/IO/SentryFileIoTrackingUnitTests.swift b/Tests/SentryTests/Integrations/Performance/IO/SentryFileIoTrackingUnitTests.swift index 9049366a888..e36f633848a 100644 --- a/Tests/SentryTests/Integrations/Performance/IO/SentryFileIoTrackingUnitTests.swift +++ b/Tests/SentryTests/Integrations/Performance/IO/SentryFileIoTrackingUnitTests.swift @@ -1,4 +1,4 @@ -import Sentry +import SentryObjc import XCTest class SentryFileIoTrackingUnitTests: XCTestCase { diff --git a/Tests/SentryTests/Integrations/Performance/Network/SentryNetworkTrackerIntegrationTests.swift b/Tests/SentryTests/Integrations/Performance/Network/SentryNetworkTrackerIntegrationTests.swift index b90d6469ad3..57da47063b8 100644 --- a/Tests/SentryTests/Integrations/Performance/Network/SentryNetworkTrackerIntegrationTests.swift +++ b/Tests/SentryTests/Integrations/Performance/Network/SentryNetworkTrackerIntegrationTests.swift @@ -1,4 +1,4 @@ -import Sentry +import SentryObjc import SwiftUI import XCTest diff --git a/Tests/SentryTests/Integrations/Performance/UIViewController/SentryUIViewControllerSwizzlingTests.swift b/Tests/SentryTests/Integrations/Performance/UIViewController/SentryUIViewControllerSwizzlingTests.swift index 07bf578b5bc..05c15903bf3 100644 --- a/Tests/SentryTests/Integrations/Performance/UIViewController/SentryUIViewControllerSwizzlingTests.swift +++ b/Tests/SentryTests/Integrations/Performance/UIViewController/SentryUIViewControllerSwizzlingTests.swift @@ -1,4 +1,4 @@ -import Sentry +import SentryObjc import XCTest #if os(iOS) || os(tvOS) || targetEnvironment(macCatalyst) @@ -157,7 +157,7 @@ class SentryUIViewControllerSwizzlingTests: XCTestCase { func testSwizzle_fromApplication_noDelegate() { XCTAssertFalse(fixture.sut.swizzleRootViewController(from: MockApplication())) } - + /* func testSwizzle_fromApplication_noWindowMethod() { XCTAssertFalse(fixture.sut.swizzleRootViewController(from: MockApplication(MockApplication.MockApplicationDelegateNoWindow()))) } @@ -169,7 +169,7 @@ class SentryUIViewControllerSwizzlingTests: XCTestCase { func testSwizzle_fromApplication_noRootViewController_InWindow() { XCTAssertFalse(fixture.sut.swizzleRootViewController(from: MockApplication(MockApplication.MockApplicationDelegate(UIWindow())))) } - + */ func testSwizzle_fromApplication() { // We must keep one strong reference to the delegate. The mock has only a weak. let delegate = fixture.delegate diff --git a/Tests/SentryTests/Integrations/Screenshot/SentryScreenshotIntegrationTests.swift b/Tests/SentryTests/Integrations/Screenshot/SentryScreenshotIntegrationTests.swift index 508c31ae7a7..b03d190965b 100644 --- a/Tests/SentryTests/Integrations/Screenshot/SentryScreenshotIntegrationTests.swift +++ b/Tests/SentryTests/Integrations/Screenshot/SentryScreenshotIntegrationTests.swift @@ -1,4 +1,4 @@ -import Sentry +import SentryObjc import XCTest #if os(iOS) || os(tvOS) || targetEnvironment(macCatalyst) diff --git a/Tests/SentryTests/Integrations/SentryBaseIntegrationTests.swift b/Tests/SentryTests/Integrations/SentryBaseIntegrationTests.swift index fe0cd4e5910..097cfb1e1ed 100644 --- a/Tests/SentryTests/Integrations/SentryBaseIntegrationTests.swift +++ b/Tests/SentryTests/Integrations/SentryBaseIntegrationTests.swift @@ -1,4 +1,4 @@ -import Sentry +import SentryObjc import XCTest class MyTestIntegration: SentryBaseIntegration { diff --git a/Tests/SentryTests/Integrations/Session/SentrySessionGeneratorTests.swift b/Tests/SentryTests/Integrations/Session/SentrySessionGeneratorTests.swift index 3faa582e8ee..29360c3b2c2 100644 --- a/Tests/SentryTests/Integrations/Session/SentrySessionGeneratorTests.swift +++ b/Tests/SentryTests/Integrations/Session/SentrySessionGeneratorTests.swift @@ -1,4 +1,4 @@ -@testable import Sentry +@testable import SentryObjc import XCTest /** diff --git a/Tests/SentryTests/Integrations/Session/SentrySessionTrackerTests.swift b/Tests/SentryTests/Integrations/Session/SentrySessionTrackerTests.swift index b38e98cb4fa..90c26152ca2 100644 --- a/Tests/SentryTests/Integrations/Session/SentrySessionTrackerTests.swift +++ b/Tests/SentryTests/Integrations/Session/SentrySessionTrackerTests.swift @@ -1,4 +1,4 @@ -@testable import Sentry +@testable import SentryObjc import XCTest class SentrySessionTrackerTests: XCTestCase { diff --git a/Tests/SentryTests/Integrations/UIEvents/SentryUIEventTrackerTests.swift b/Tests/SentryTests/Integrations/UIEvents/SentryUIEventTrackerTests.swift index cf13ad5c361..6f2460bb743 100644 --- a/Tests/SentryTests/Integrations/UIEvents/SentryUIEventTrackerTests.swift +++ b/Tests/SentryTests/Integrations/UIEvents/SentryUIEventTrackerTests.swift @@ -1,4 +1,4 @@ -import Sentry +import SentryObjc import XCTest #if os(iOS) || os(tvOS) || targetEnvironment(macCatalyst) diff --git a/Tests/SentryTests/Integrations/UIEvents/SentryUIEventTrackingIntegrationTests.swift b/Tests/SentryTests/Integrations/UIEvents/SentryUIEventTrackingIntegrationTests.swift index 2ab8642f456..03b38b35c4e 100644 --- a/Tests/SentryTests/Integrations/UIEvents/SentryUIEventTrackingIntegrationTests.swift +++ b/Tests/SentryTests/Integrations/UIEvents/SentryUIEventTrackingIntegrationTests.swift @@ -1,4 +1,4 @@ -import Sentry +import SentryObjc import XCTest #if os(iOS) || os(tvOS) || targetEnvironment(macCatalyst) diff --git a/Tests/SentryTests/Integrations/ViewHierarchy/SentryViewHierarchyIntegrationTests.swift b/Tests/SentryTests/Integrations/ViewHierarchy/SentryViewHierarchyIntegrationTests.swift index fb8c18e65e1..c5e0e8d01a5 100644 --- a/Tests/SentryTests/Integrations/ViewHierarchy/SentryViewHierarchyIntegrationTests.swift +++ b/Tests/SentryTests/Integrations/ViewHierarchy/SentryViewHierarchyIntegrationTests.swift @@ -1,4 +1,4 @@ -import Sentry +import SentryObjc import XCTest #if os(iOS) || os(tvOS) || targetEnvironment(macCatalyst) diff --git a/Tests/SentryTests/Networking/RateLimits/SentryDefaultRateLimitsTests.swift b/Tests/SentryTests/Networking/RateLimits/SentryDefaultRateLimitsTests.swift index 6322cfe2a4d..9214092011b 100644 --- a/Tests/SentryTests/Networking/RateLimits/SentryDefaultRateLimitsTests.swift +++ b/Tests/SentryTests/Networking/RateLimits/SentryDefaultRateLimitsTests.swift @@ -1,4 +1,4 @@ -@testable import Sentry +@testable import SentryObjc import XCTest class SentryDefaultRateLimitsTests: XCTestCase { diff --git a/Tests/SentryTests/Networking/RateLimits/SentryRateLimitsParserTests.swift b/Tests/SentryTests/Networking/RateLimits/SentryRateLimitsParserTests.swift index 253ffe8723e..16d7aacbba2 100644 --- a/Tests/SentryTests/Networking/RateLimits/SentryRateLimitsParserTests.swift +++ b/Tests/SentryTests/Networking/RateLimits/SentryRateLimitsParserTests.swift @@ -1,4 +1,4 @@ -@testable import Sentry +@testable import SentryObjc import XCTest class SentryRateLimitsParserTests: XCTestCase { diff --git a/Tests/SentryTests/Networking/RateLimits/SentryRetryAfterHeaderParserTests.swift b/Tests/SentryTests/Networking/RateLimits/SentryRetryAfterHeaderParserTests.swift index 8cb8668e6a3..355bc4cf04e 100644 --- a/Tests/SentryTests/Networking/RateLimits/SentryRetryAfterHeaderParserTests.swift +++ b/Tests/SentryTests/Networking/RateLimits/SentryRetryAfterHeaderParserTests.swift @@ -1,4 +1,4 @@ -@testable import Sentry +@testable import SentryObjc import XCTest class SentryRetryAfterHeaderParserTests: XCTestCase { diff --git a/Tests/SentryTests/Networking/SentryDataCategoryMapperTests.swift b/Tests/SentryTests/Networking/SentryDataCategoryMapperTests.swift index 40df5a07408..1682836ebea 100644 --- a/Tests/SentryTests/Networking/SentryDataCategoryMapperTests.swift +++ b/Tests/SentryTests/Networking/SentryDataCategoryMapperTests.swift @@ -1,4 +1,4 @@ -@testable import Sentry +@testable import SentryObjc import XCTest class SentryDataCategoryMapperTests: XCTestCase { diff --git a/Tests/SentryTests/Networking/SentryDsnTests.m b/Tests/SentryTests/Networking/SentryDsnTests.m index bd6f7b4d4e5..6cd93319123 100644 --- a/Tests/SentryTests/Networking/SentryDsnTests.m +++ b/Tests/SentryTests/Networking/SentryDsnTests.m @@ -2,7 +2,7 @@ #import "SentryError.h" #import "SentryMeta.h" #import "SentryNSURLRequest.h" -#import +#import #import @interface SentryDsnTests : XCTestCase diff --git a/Tests/SentryTests/Networking/SentryHttpDateParserTests.swift b/Tests/SentryTests/Networking/SentryHttpDateParserTests.swift index 5dad257d907..e6c37d98b0a 100644 --- a/Tests/SentryTests/Networking/SentryHttpDateParserTests.swift +++ b/Tests/SentryTests/Networking/SentryHttpDateParserTests.swift @@ -1,4 +1,4 @@ -@testable import Sentry +@testable import SentryObjc import XCTest class SentryHttpDateParserTests: XCTestCase { diff --git a/Tests/SentryTests/Networking/SentryHttpTransportTests.swift b/Tests/SentryTests/Networking/SentryHttpTransportTests.swift index f0b9c05162f..911ae8b4fb0 100644 --- a/Tests/SentryTests/Networking/SentryHttpTransportTests.swift +++ b/Tests/SentryTests/Networking/SentryHttpTransportTests.swift @@ -1,4 +1,4 @@ -import Sentry +import SentryObjc import XCTest // Altough we only run this test above the below specified versions, we exped the diff --git a/Tests/SentryTests/Networking/SentryTransportAdapterTests.swift b/Tests/SentryTests/Networking/SentryTransportAdapterTests.swift index 826d184da46..0e9808a9dc4 100644 --- a/Tests/SentryTests/Networking/SentryTransportAdapterTests.swift +++ b/Tests/SentryTests/Networking/SentryTransportAdapterTests.swift @@ -1,4 +1,4 @@ -import Sentry +import SentryObjc import XCTest class SentryTransportAdapterTests: XCTestCase { diff --git a/Tests/SentryTests/Networking/SentryTransportFactoryTests.swift b/Tests/SentryTests/Networking/SentryTransportFactoryTests.swift index 6931fa8d664..010a6ad47b0 100644 --- a/Tests/SentryTests/Networking/SentryTransportFactoryTests.swift +++ b/Tests/SentryTests/Networking/SentryTransportFactoryTests.swift @@ -1,4 +1,4 @@ -import Sentry +import SentryObjc import XCTest class SentryTransportFactoryTests: XCTestCase { diff --git a/Tests/SentryTests/Networking/SentryTransportInitializerTests.swift b/Tests/SentryTests/Networking/SentryTransportInitializerTests.swift index 6651dcc3e64..751bd6aa10e 100644 --- a/Tests/SentryTests/Networking/SentryTransportInitializerTests.swift +++ b/Tests/SentryTests/Networking/SentryTransportInitializerTests.swift @@ -1,4 +1,4 @@ -@testable import Sentry +@testable import SentryObjc import XCTest class SentryTransportInitializerTests: XCTestCase { diff --git a/Tests/SentryTests/Protocol/SentryAttachment+Equality.h b/Tests/SentryTests/Protocol/SentryAttachment+Equality.h index 614cbc1692f..1920fa2ba36 100644 --- a/Tests/SentryTests/Protocol/SentryAttachment+Equality.h +++ b/Tests/SentryTests/Protocol/SentryAttachment+Equality.h @@ -1,4 +1,4 @@ -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/Tests/SentryTests/Protocol/SentryClientReportTests.swift b/Tests/SentryTests/Protocol/SentryClientReportTests.swift index 3b38bac0e1c..fc9507420ee 100644 --- a/Tests/SentryTests/Protocol/SentryClientReportTests.swift +++ b/Tests/SentryTests/Protocol/SentryClientReportTests.swift @@ -1,4 +1,4 @@ -import Sentry +import SentryObjc import XCTest class SentryClientReportTests: XCTestCase { diff --git a/Tests/SentryTests/Protocol/SentryEventTests.swift b/Tests/SentryTests/Protocol/SentryEventTests.swift index 00980fddffc..46081a58fcc 100644 --- a/Tests/SentryTests/Protocol/SentryEventTests.swift +++ b/Tests/SentryTests/Protocol/SentryEventTests.swift @@ -1,4 +1,4 @@ -import Sentry +import SentryObjc import XCTest class SentryEventTests: XCTestCase { diff --git a/Tests/SentryTests/Protocol/SentryIdTests.swift b/Tests/SentryTests/Protocol/SentryIdTests.swift index 8341dde9237..5ffcd18b04d 100644 --- a/Tests/SentryTests/Protocol/SentryIdTests.swift +++ b/Tests/SentryTests/Protocol/SentryIdTests.swift @@ -1,4 +1,4 @@ -@testable import Sentry +@testable import SentryObjc import XCTest class SentryIdTests: XCTestCase { diff --git a/Tests/SentryTests/Protocol/SentryThreadEquality.swift b/Tests/SentryTests/Protocol/SentryThreadEquality.swift index 9731009056d..f37be57152b 100644 --- a/Tests/SentryTests/Protocol/SentryThreadEquality.swift +++ b/Tests/SentryTests/Protocol/SentryThreadEquality.swift @@ -1,8 +1,8 @@ import Foundation -extension Sentry.Thread { +extension SentryThread { open override func isEqual(_ object: Any?) -> Bool { - if let other = object as? Sentry.Thread { + if let other = object as? SentryThread { return threadId == other.threadId && name == other.name && stacktrace == other.stacktrace && @@ -17,9 +17,9 @@ extension Sentry.Thread { } } -extension Sentry.Stacktrace { +extension Stacktrace { open override func isEqual(_ object: Any?) -> Bool { - if let other = object as? Sentry.Stacktrace { + if let other = object as? Stacktrace { return frames == other.frames && registers == other.registers } else { @@ -32,9 +32,9 @@ extension Sentry.Stacktrace { } } -extension Sentry.Frame { +extension Frame { open override func isEqual(_ object: Any?) -> Bool { - if let other = object as? Sentry.Frame { + if let other = object as? Frame { return symbolAddress == other.symbolAddress && fileName == other.fileName && function == other.function && diff --git a/Tests/SentryTests/Protocol/TestData.swift b/Tests/SentryTests/Protocol/TestData.swift index bb9a96d3aab..6d8357631d0 100644 --- a/Tests/SentryTests/Protocol/TestData.swift +++ b/Tests/SentryTests/Protocol/TestData.swift @@ -1,5 +1,4 @@ #if os(iOS) || os(tvOS) || targetEnvironment(macCatalyst) -import Sentry import UIKit #endif @@ -118,8 +117,8 @@ class TestData { return mechanismMeta } - static var thread: Sentry.Thread { - let thread = Sentry.Thread(threadId: 10) + static var thread: SentryThread { + let thread = SentryThread(threadId: 10) thread.crashed = false thread.current = true thread.name = "main" diff --git a/Tests/SentryTests/SentryClient+TestInit.h b/Tests/SentryTests/SentryClient+TestInit.h index 6aebe39035e..51e982ad2ee 100644 --- a/Tests/SentryTests/SentryClient+TestInit.h +++ b/Tests/SentryTests/SentryClient+TestInit.h @@ -1,7 +1,6 @@ #import "SentryPermissionsObserver.h" #import "SentryRandom.h" #import "SentryTransport.h" -#import @class SentryCrashWrapper, SentryThreadInspector, SentryTransportAdapter; diff --git a/Tests/SentryTests/SentryClientTests.swift b/Tests/SentryTests/SentryClientTests.swift index 7a1bf462b2d..d295654c802 100644 --- a/Tests/SentryTests/SentryClientTests.swift +++ b/Tests/SentryTests/SentryClientTests.swift @@ -1,4 +1,4 @@ -import Sentry +import SentryObjc import XCTest // swiftlint:disable file_length @@ -1203,7 +1203,7 @@ class SentryClientTest: XCTestCase { private func givenEventWithThreads() -> Event { let event = Event(level: SentryLevel.fatal) - let thread = Sentry.Thread(threadId: 1) + let thread = SentryThread(threadId: 1) thread.crashed = true let threads = [thread] event.threads = threads @@ -1302,13 +1302,13 @@ class SentryClientTest: XCTestCase { } } - private func assertValidDebugMeta(actual: [DebugMeta]?, forThreads threads: [Sentry.Thread]?) { + private func assertValidDebugMeta(actual: [DebugMeta]?, forThreads threads: [SentryThread]?) { let debugMetas = fixture.debugImageBuilder.getDebugImages(for: threads ?? []) XCTAssertEqual(debugMetas, actual ?? []) } - private func assertValidThreads(actual: [Sentry.Thread]?) { + private func assertValidThreads(actual: [SentryThread]?) { let expected = fixture.threadInspector.getCurrentThreads() XCTAssertEqual(expected.count, actual?.count) XCTAssertEqual(expected, actual) diff --git a/Tests/SentryTests/SentryCrash/SentryCrashDefaultBinaryImageProviderTests.swift b/Tests/SentryTests/SentryCrash/SentryCrashDefaultBinaryImageProviderTests.swift index 2d8308a93eb..115f087637f 100644 --- a/Tests/SentryTests/SentryCrash/SentryCrashDefaultBinaryImageProviderTests.swift +++ b/Tests/SentryTests/SentryCrash/SentryCrashDefaultBinaryImageProviderTests.swift @@ -1,4 +1,4 @@ -@testable import Sentry +@testable import SentryObjc import XCTest /** The tests are basically a duplication of the implementation of the actual class. diff --git a/Tests/SentryTests/SentryCrash/SentryCrashInstallationReporterTests.swift b/Tests/SentryTests/SentryCrash/SentryCrashInstallationReporterTests.swift index 03b75702514..9caf0d94aef 100644 --- a/Tests/SentryTests/SentryCrash/SentryCrashInstallationReporterTests.swift +++ b/Tests/SentryTests/SentryCrash/SentryCrashInstallationReporterTests.swift @@ -1,4 +1,4 @@ -@testable import Sentry +@testable import SentryObjc import XCTest @available(OSX 10.10, *) diff --git a/Tests/SentryTests/SentryCrash/SentryCrashStackEntryMapperTests.swift b/Tests/SentryTests/SentryCrash/SentryCrashStackEntryMapperTests.swift index cd522f429e3..53cbcbd0885 100644 --- a/Tests/SentryTests/SentryCrash/SentryCrashStackEntryMapperTests.swift +++ b/Tests/SentryTests/SentryCrash/SentryCrashStackEntryMapperTests.swift @@ -1,4 +1,4 @@ -@testable import Sentry +@testable import SentryObjc import XCTest /** Some of the test parameters are copied during debbuging a working implementation. diff --git a/Tests/SentryTests/SentryCrash/SentryCrashUUIDConversionTests.swift b/Tests/SentryTests/SentryCrash/SentryCrashUUIDConversionTests.swift index ea6f1122f0c..a1c20ef93e8 100644 --- a/Tests/SentryTests/SentryCrash/SentryCrashUUIDConversionTests.swift +++ b/Tests/SentryTests/SentryCrash/SentryCrashUUIDConversionTests.swift @@ -1,4 +1,4 @@ -@testable import Sentry +@testable import SentryObjc import XCTest class SentryCrashUUIDConversionTests: XCTestCase { diff --git a/Tests/SentryTests/SentryCrash/SentryDebugImageProviderTests.swift b/Tests/SentryTests/SentryCrash/SentryDebugImageProviderTests.swift index 9d0f45efe30..4c8bdf3c73c 100644 --- a/Tests/SentryTests/SentryCrash/SentryDebugImageProviderTests.swift +++ b/Tests/SentryTests/SentryCrash/SentryDebugImageProviderTests.swift @@ -1,4 +1,3 @@ -@testable import Sentry import XCTest /** @@ -122,8 +121,8 @@ class SentryDebugImageProviderTests: XCTestCase { func testImagesForThreads() { let sut = fixture.getSut(images: fixture.getTestImages()) - let thread = Sentry.Thread(threadId: NSNumber(value: 1)) - let frame = Sentry.Frame() + let thread = SentryThread(threadId: NSNumber(value: 1)) + let frame = Frame() frame.imageAddress = "0x0000000105705000" thread.stacktrace = Stacktrace(frames: [frame], registers: [:]) @@ -133,9 +132,9 @@ class SentryDebugImageProviderTests: XCTestCase { XCTAssertEqual(actual[0].name, "dyld_sim") XCTAssertEqual(actual[0].imageAddress, "0x0000000105705000") - let frame2 = Sentry.Frame() + let frame2 = Frame() frame2.imageAddress = "0x00000001410b1a00" - let frame3 = Sentry.Frame() + let frame3 = Frame() frame3.imageAddress = "0x000000017ca5e400" thread.stacktrace = Stacktrace(frames: [frame2, frame3], registers: [:]) @@ -151,7 +150,7 @@ class SentryDebugImageProviderTests: XCTestCase { func test_NoImage_ForThread_WithoutStackTrace() { let sut = fixture.getSut(images: fixture.getTestImages()) - let thread = Sentry.Thread(threadId: NSNumber(value: 1)) + let thread = SentryThread(threadId: NSNumber(value: 1)) let actual = sut.getDebugImages(for: [thread]) XCTAssertEqual(actual.count, 0) diff --git a/Tests/SentryTests/SentryCrash/SentryStacktraceBuilderTests.swift b/Tests/SentryTests/SentryCrash/SentryStacktraceBuilderTests.swift index c1521bbbf97..6d13b08b2e1 100644 --- a/Tests/SentryTests/SentryCrash/SentryStacktraceBuilderTests.swift +++ b/Tests/SentryTests/SentryCrash/SentryStacktraceBuilderTests.swift @@ -1,4 +1,4 @@ -@testable import Sentry +@testable import SentryObjc import XCTest class SentryStacktraceBuilderTests: XCTestCase { diff --git a/Tests/SentryTests/SentryCrash/TestSentryPermissionsObserver.swift b/Tests/SentryTests/SentryCrash/TestSentryPermissionsObserver.swift index 3dfada9c794..5919ab31226 100644 --- a/Tests/SentryTests/SentryCrash/TestSentryPermissionsObserver.swift +++ b/Tests/SentryTests/SentryCrash/TestSentryPermissionsObserver.swift @@ -1,4 +1,4 @@ -import Sentry +import SentryObjc class TestSentryPermissionsObserver: SentryPermissionsObserver { var internalPushPermissionStatus = SentryPermissionStatus.unknown diff --git a/Tests/SentryTests/SentryCrash/TestThreadInspector.swift b/Tests/SentryTests/SentryCrash/TestThreadInspector.swift index 6dc623e7091..3996ed7b93a 100644 --- a/Tests/SentryTests/SentryCrash/TestThreadInspector.swift +++ b/Tests/SentryTests/SentryCrash/TestThreadInspector.swift @@ -2,7 +2,7 @@ import Foundation class TestThreadInspector: SentryThreadInspector { - var allThreads: [Sentry.Thread]? + var allThreads: [SentryThread]? static var instance: TestThreadInspector { // We need something to pass to the super initializer, because the empty initializer has been marked unavailable. @@ -12,11 +12,11 @@ class TestThreadInspector: SentryThreadInspector { return TestThreadInspector(stacktraceBuilder: stacktraceBuilder, andMachineContextWrapper: SentryCrashDefaultMachineContextWrapper()) } - override func getCurrentThreads() -> [Sentry.Thread] { + override func getCurrentThreads() -> [SentryThread] { return allThreads ?? [TestData.thread] } - override func getCurrentThreadsWithStackTrace() -> [Sentry.Thread] { + override func getCurrentThreadsWithStackTrace() -> [SentryThread] { return allThreads ?? [TestData.thread] } diff --git a/Tests/SentryTests/SentryHubTests.swift b/Tests/SentryTests/SentryHubTests.swift index 597bd063373..1d5aa816101 100644 --- a/Tests/SentryTests/SentryHubTests.swift +++ b/Tests/SentryTests/SentryHubTests.swift @@ -1,4 +1,4 @@ -import Sentry +import SentryObjc import XCTest // swiftlint:disable file_length diff --git a/Tests/SentryTests/SentryInstallationTests.m b/Tests/SentryTests/SentryInstallationTests.m index ecae42be2eb..411c708c9e8 100644 --- a/Tests/SentryTests/SentryInstallationTests.m +++ b/Tests/SentryTests/SentryInstallationTests.m @@ -1,6 +1,6 @@ #import "SentryInstallation.h" #import -#import + #import @interface SentryInstallationTests : XCTestCase diff --git a/Tests/SentryTests/SentryInterfacesTests.m b/Tests/SentryTests/SentryInterfacesTests.m index 31079c86e32..bba629d5b00 100644 --- a/Tests/SentryTests/SentryInterfacesTests.m +++ b/Tests/SentryTests/SentryInterfacesTests.m @@ -1,10 +1,10 @@ -#import -#import #import "NSDate+SentryExtras.h" #import "SentryFileManager.h" #import "SentryId.h" #import "SentryMeta.h" +#import +#import @interface SentryInterfacesTests : XCTestCase diff --git a/Tests/SentryTests/SentryKSCrashReportConverterTests.m b/Tests/SentryTests/SentryKSCrashReportConverterTests.m index fc5e0b782aa..a3065fa79a7 100644 --- a/Tests/SentryTests/SentryKSCrashReportConverterTests.m +++ b/Tests/SentryTests/SentryKSCrashReportConverterTests.m @@ -2,7 +2,7 @@ #import "SentryCrashReportConverter.h" #import "SentryInAppLogic.h" #import "SentryMechanismMeta.h" -#import +#import #import @interface SentryCrashReportConverterTests : XCTestCase diff --git a/Tests/SentryTests/SentryMetaTests.swift b/Tests/SentryTests/SentryMetaTests.swift index 6150f240060..0110f65b81e 100644 --- a/Tests/SentryTests/SentryMetaTests.swift +++ b/Tests/SentryTests/SentryMetaTests.swift @@ -1,4 +1,4 @@ -import Sentry +import SentryObjc import XCTest class SentryMetaTest: XCTestCase { diff --git a/Tests/SentryTests/SentryNSDataCompressionTests.m b/Tests/SentryTests/SentryNSDataCompressionTests.m index 13ea93759c6..6b1e1865694 100644 --- a/Tests/SentryTests/SentryNSDataCompressionTests.m +++ b/Tests/SentryTests/SentryNSDataCompressionTests.m @@ -1,5 +1,5 @@ #import "NSData+SentryCompression.h" -#import + #import @interface SentryNSDataCompressionTests : XCTestCase diff --git a/Tests/SentryTests/SentryNSURLRequestTests.swift b/Tests/SentryTests/SentryNSURLRequestTests.swift index 7abd7a54320..f01b6771ade 100644 --- a/Tests/SentryTests/SentryNSURLRequestTests.swift +++ b/Tests/SentryTests/SentryNSURLRequestTests.swift @@ -1,4 +1,4 @@ -@testable import Sentry +@testable import SentryObjc import XCTest class SentryNSURLRequestTests: XCTestCase { diff --git a/Tests/SentryTests/SentrySDK+Tests.h b/Tests/SentryTests/SentrySDK+Tests.h index af003260e51..159ab4e7841 100644 --- a/Tests/SentryTests/SentrySDK+Tests.h +++ b/Tests/SentryTests/SentrySDK+Tests.h @@ -1,5 +1,3 @@ -#import - NS_ASSUME_NONNULL_BEGIN @interface diff --git a/Tests/SentryTests/SentrySDKTests.swift b/Tests/SentryTests/SentrySDKTests.swift index 688712a0b6d..d9b23824423 100644 --- a/Tests/SentryTests/SentrySDKTests.swift +++ b/Tests/SentryTests/SentrySDKTests.swift @@ -1,4 +1,4 @@ -@testable import Sentry +@testable import SentryObjc import XCTest class SentrySDKTests: XCTestCase { diff --git a/Tests/SentryTests/SentryScope+Equality.h b/Tests/SentryTests/SentryScope+Equality.h index fbd1a7f5bf5..b2e31d24982 100644 --- a/Tests/SentryTests/SentryScope+Equality.h +++ b/Tests/SentryTests/SentryScope+Equality.h @@ -1,5 +1,4 @@ #import "SentryScope+Properties.h" -#import NS_ASSUME_NONNULL_BEGIN diff --git a/Tests/SentryTests/SentryScope+Properties.h b/Tests/SentryTests/SentryScope+Properties.h index 995b7aeaea2..83fd2a6f5ef 100644 --- a/Tests/SentryTests/SentryScope+Properties.h +++ b/Tests/SentryTests/SentryScope+Properties.h @@ -1,4 +1,4 @@ -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/Tests/SentryTests/SentryTests.m b/Tests/SentryTests/SentryTests.m index c3116499191..1594374feb0 100644 --- a/Tests/SentryTests/SentryTests.m +++ b/Tests/SentryTests/SentryTests.m @@ -1,14 +1,13 @@ #import "NSDate+SentryExtras.h" #import "SentryBreadcrumbTracker.h" +#import "SentryDataCategory.h" #import "SentryLevelMapper.h" #import "SentryMessage.h" #import "SentryMeta.h" #import "SentrySDK+Private.h" -#import +#import #import -#import "SentryDataCategory.h" - @interface SentryBreadcrumbTracker (Private) diff --git a/Tests/SentryTests/State/SentryHub+TestInit.h b/Tests/SentryTests/State/SentryHub+TestInit.h index 302f048b28c..b0aa0ff245c 100644 --- a/Tests/SentryTests/State/SentryHub+TestInit.h +++ b/Tests/SentryTests/State/SentryHub+TestInit.h @@ -1,4 +1,3 @@ -#import NS_ASSUME_NONNULL_BEGIN diff --git a/Tests/SentryTests/Transaction/SentryBaggageTests.swift b/Tests/SentryTests/Transaction/SentryBaggageTests.swift index 2b0fef74bf6..e1e8c802ed1 100644 --- a/Tests/SentryTests/Transaction/SentryBaggageTests.swift +++ b/Tests/SentryTests/Transaction/SentryBaggageTests.swift @@ -1,5 +1,5 @@ import Foundation -import Sentry +import SentryObjc import XCTest class SentryBaggageTests: XCTestCase { diff --git a/Tests/SentryTests/Transaction/SentryNoOpSpanTests.swift b/Tests/SentryTests/Transaction/SentryNoOpSpanTests.swift index db1d0600cf0..5b959e6cf2f 100644 --- a/Tests/SentryTests/Transaction/SentryNoOpSpanTests.swift +++ b/Tests/SentryTests/Transaction/SentryNoOpSpanTests.swift @@ -1,4 +1,4 @@ -import Sentry +import SentryObjc import XCTest class SentryNoOpSpanTests: XCTestCase { diff --git a/Tests/SentryTests/Transaction/SentrySpanTests.swift b/Tests/SentryTests/Transaction/SentrySpanTests.swift index 168aaa8d175..dbde7b64f2a 100644 --- a/Tests/SentryTests/Transaction/SentrySpanTests.swift +++ b/Tests/SentryTests/Transaction/SentrySpanTests.swift @@ -1,4 +1,4 @@ -import Sentry +import SentryObjc import XCTest class SentrySpanTests: XCTestCase { From aa39cebe9b7f989d16199c3cd500350066f46b2d Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Tue, 20 Sep 2022 14:32:38 +0200 Subject: [PATCH 06/58] remove SentryPerformance --- Sentry.xcodeproj/project.pbxproj | 12 ------------ .../SwiftUI/SentryPerformance.swift | 18 ------------------ 2 files changed, 30 deletions(-) delete mode 100644 Sources/SentrySwift/SwiftUI/SentryPerformance.swift diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index 167da56603c..5b05648e98f 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -674,7 +674,6 @@ D88817DD26D72BA500BF2251 /* SentryTraceStateTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D88817DB26D72B7B00BF2251 /* SentryTraceStateTests.swift */; }; D8918B222849FA6D00701F9A /* SentrySDKIntegrationTestsBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8918B212849FA6D00701F9A /* SentrySDKIntegrationTestsBase.swift */; }; D894689028D1D6810006C83D /* SentryObjc.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63AA759B1EB8AEF500D153DE /* SentryObjc.framework */; }; - D894689C28D1DA310006C83D /* SentryPerformance.swift in Sources */ = {isa = PBXBuildFile; fileRef = D894689B28D1DA310006C83D /* SentryPerformance.swift */; }; D89468B128D225A60006C83D /* TypeAlias.swift in Sources */ = {isa = PBXBuildFile; fileRef = D89468AD28D223440006C83D /* TypeAlias.swift */; }; D8AB40DB2806EC1900E5E9F7 /* SentryScreenshotIntegration.h in Headers */ = {isa = PBXBuildFile; fileRef = D8AB40DA2806EC1900E5E9F7 /* SentryScreenshotIntegration.h */; }; D8ACE3C72762187200F5A213 /* SentryNSDataSwizzling.m in Sources */ = {isa = PBXBuildFile; fileRef = D8ACE3C42762187200F5A213 /* SentryNSDataSwizzling.m */; }; @@ -1456,7 +1455,6 @@ D88817DB26D72B7B00BF2251 /* SentryTraceStateTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryTraceStateTests.swift; sourceTree = ""; }; D8918B212849FA6D00701F9A /* SentrySDKIntegrationTestsBase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentrySDKIntegrationTestsBase.swift; sourceTree = ""; }; D894688728D1D67C0006C83D /* Sentry.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = Sentry.a; sourceTree = BUILT_PRODUCTS_DIR; }; - D894689B28D1DA310006C83D /* SentryPerformance.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryPerformance.swift; sourceTree = ""; }; D89468AD28D223440006C83D /* TypeAlias.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TypeAlias.swift; sourceTree = ""; }; D8AB40DA2806EC1900E5E9F7 /* SentryScreenshotIntegration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryScreenshotIntegration.h; path = include/SentryScreenshotIntegration.h; sourceTree = ""; }; D8ACE3C42762187200F5A213 /* SentryNSDataSwizzling.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SentryNSDataSwizzling.m; sourceTree = ""; }; @@ -2842,20 +2840,11 @@ D894689728D1D9940006C83D /* SentrySwift */ = { isa = PBXGroup; children = ( - D894689A28D1D9AD0006C83D /* SwiftUI */, D89468AD28D223440006C83D /* TypeAlias.swift */, ); path = SentrySwift; sourceTree = ""; }; - D894689A28D1D9AD0006C83D /* SwiftUI */ = { - isa = PBXGroup; - children = ( - D894689B28D1DA310006C83D /* SentryPerformance.swift */, - ); - path = SwiftUI; - sourceTree = ""; - }; D8AB40D92806EBDC00E5E9F7 /* Screenshot */ = { isa = PBXGroup; children = ( @@ -3709,7 +3698,6 @@ buildActionMask = 2147483647; files = ( D89468B128D225A60006C83D /* TypeAlias.swift in Sources */, - D894689C28D1DA310006C83D /* SentryPerformance.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Sources/SentrySwift/SwiftUI/SentryPerformance.swift b/Sources/SentrySwift/SwiftUI/SentryPerformance.swift deleted file mode 100644 index fde01094fed..00000000000 --- a/Sources/SentrySwift/SwiftUI/SentryPerformance.swift +++ /dev/null @@ -1,18 +0,0 @@ -import Foundation -import SentryObjc -import SwiftUI - -@available(iOS 13, macOS 10.15, *) -public struct SentryPerformance: ViewModifier { - - public func body(content: Content) -> some View { - return content - } -} - -@available(iOS 13, macOS 10.15, *) -public extension View { - func sentryTransaction() -> some View { - modifier(SentryPerformance()) - } -} From 0911615a5f892161e6d461383c94964b9b1d3711 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Tue, 20 Sep 2022 14:52:24 +0200 Subject: [PATCH 07/58] Update NotificationCenterTestCase.swift --- .../Integrations/NotificationCenterTestCase.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Tests/SentryTests/Integrations/NotificationCenterTestCase.swift b/Tests/SentryTests/Integrations/NotificationCenterTestCase.swift index f850f2e80f1..6cc45587b70 100644 --- a/Tests/SentryTests/Integrations/NotificationCenterTestCase.swift +++ b/Tests/SentryTests/Integrations/NotificationCenterTestCase.swift @@ -43,13 +43,13 @@ class NotificationCenterTestCase: XCTestCase { } func didBecomeActive() { - #if os(tvOS) || os(iOS) || os(macOS) + #if os(tvOS) || os(iOS) post(name: didBecomeActiveNotification) #endif } func willResignActive() { - #if os(tvOS) || os(iOS) || os(macOS) + #if os(tvOS) || os(iOS) post(name: willResignActiveNotification) #endif } @@ -61,7 +61,7 @@ class NotificationCenterTestCase: XCTestCase { } func willTerminate() { - #if os(tvOS) || os(iOS) || os(macOS) + #if os(tvOS) || os(iOS) post(name: willTerminateNotification) #endif } @@ -71,7 +71,7 @@ class NotificationCenterTestCase: XCTestCase { } func didFinishLaunching() { - #if os(tvOS) || os(iOS) || os(macOS) + #if os(tvOS) || os(iOS) post(name: didFinishLaunchingNotification) #endif } From 96c0aec4336b5f2f610c5d5444ffbefc83c6b65a Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Tue, 20 Sep 2022 15:55:05 +0200 Subject: [PATCH 08/58] wip --- .../iOS-SwiftUI/iOS-SwiftUI/SwiftUIApp.swift | 1 - .../tvOS-Swift.xcodeproj/project.pbxproj | 41 ++++--------------- 2 files changed, 8 insertions(+), 34 deletions(-) diff --git a/Samples/iOS-SwiftUI/iOS-SwiftUI/SwiftUIApp.swift b/Samples/iOS-SwiftUI/iOS-SwiftUI/SwiftUIApp.swift index 7ff66023272..a22e0f9d72a 100644 --- a/Samples/iOS-SwiftUI/iOS-SwiftUI/SwiftUIApp.swift +++ b/Samples/iOS-SwiftUI/iOS-SwiftUI/SwiftUIApp.swift @@ -19,7 +19,6 @@ struct SwiftUIApp: App { var body: some Scene { WindowGroup { ContentView() - .sentryTransaction() } } } diff --git a/Samples/tvOS-Swift/tvOS-Swift.xcodeproj/project.pbxproj b/Samples/tvOS-Swift/tvOS-Swift.xcodeproj/project.pbxproj index 5396f45a868..40f27290c5f 100644 --- a/Samples/tvOS-Swift/tvOS-Swift.xcodeproj/project.pbxproj +++ b/Samples/tvOS-Swift/tvOS-Swift.xcodeproj/project.pbxproj @@ -13,21 +13,19 @@ 7BA61D68247FA32600C130A8 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BA61D67247FA32600C130A8 /* ContentView.swift */; }; 7BA61D6A247FA32600C130A8 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7BA61D69247FA32600C130A8 /* Assets.xcassets */; }; 7BA61D70247FA32600C130A8 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7BA61D6E247FA32600C130A8 /* LaunchScreen.storyboard */; }; - 7BA61D79247FA35500C130A8 /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7BA61D78247FA35500C130A8 /* Sentry.framework */; }; - 7BA61D7A247FA35500C130A8 /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 7BA61D78247FA35500C130A8 /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; D822A4232760D15000E7B241 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D822A4222760D15000E7B241 /* AppDelegate.swift */; }; D822A4252760D15000E7B241 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D822A4242760D15000E7B241 /* ViewController.swift */; }; D822A4282760D15000E7B241 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D822A4262760D15000E7B241 /* Main.storyboard */; }; D822A42A2760D15100E7B241 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D822A4292760D15100E7B241 /* Assets.xcassets */; }; D822A42D2760D15100E7B241 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D822A42B2760D15100E7B241 /* LaunchScreen.storyboard */; }; - D822A4322760D7E100E7B241 /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D822A4312760D7E100E7B241 /* Sentry.framework */; }; - D822A4332760D7E100E7B241 /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D822A4312760D7E100E7B241 /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; D822A4362760DB1900E7B241 /* ActionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D822A4352760DB1900E7B241 /* ActionCell.swift */; }; D822A4392760E90B00E7B241 /* TableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D822A4382760E90B00E7B241 /* TableViewController.swift */; }; D822A43B2760EA1000E7B241 /* NibViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = D822A43A2760EA1000E7B241 /* NibViewController.xib */; }; D822A43D2760EA2200E7B241 /* NibViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D822A43C2760EA2200E7B241 /* NibViewController.swift */; }; D822A43F2760EB9700E7B241 /* SplitViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D822A43E2760EB9700E7B241 /* SplitViewController.swift */; }; D822A4472760ED7100E7B241 /* LaunchUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D822A4462760ED7100E7B241 /* LaunchUITests.swift */; }; + D88CDDFF28D9EFED00B84733 /* Sentry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D88CDDFE28D9EFED00B84733 /* Sentry.a */; }; + D88CDE0128D9F00D00B84733 /* Sentry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D88CDE0028D9F00D00B84733 /* Sentry.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -47,31 +45,6 @@ }; /* End PBXContainerItemProxy section */ -/* Begin PBXCopyFilesBuildPhase section */ - 7BA61D7B247FA35500C130A8 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - 7BA61D7A247FA35500C130A8 /* Sentry.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; - D822A4342760D7E100E7B241 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - D822A4332760D7E100E7B241 /* Sentry.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - /* Begin PBXFileReference section */ 7B3427FF25876DF000056519 /* Tongariro.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = Tongariro.jpg; sourceTree = ""; }; 7B64388626A6C71A000D0F65 /* tvOS-SwiftUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "tvOS-SwiftUITests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -98,6 +71,8 @@ D822A43E2760EB9700E7B241 /* SplitViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SplitViewController.swift; sourceTree = ""; }; D822A4442760ED7100E7B241 /* tvOS-SBSwiftUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "tvOS-SBSwiftUITests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; D822A4462760ED7100E7B241 /* LaunchUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaunchUITests.swift; sourceTree = ""; }; + D88CDDFE28D9EFED00B84733 /* Sentry.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = Sentry.a; sourceTree = BUILT_PRODUCTS_DIR; }; + D88CDE0028D9F00D00B84733 /* Sentry.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = Sentry.a; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -112,7 +87,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7BA61D79247FA35500C130A8 /* Sentry.framework in Frameworks */, + D88CDE0128D9F00D00B84733 /* Sentry.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -120,7 +95,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D822A4322760D7E100E7B241 /* Sentry.framework in Frameworks */, + D88CDDFF28D9EFED00B84733 /* Sentry.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -182,6 +157,8 @@ 7BA61D77247FA35500C130A8 /* Frameworks */ = { isa = PBXGroup; children = ( + D88CDE0028D9F00D00B84733 /* Sentry.a */, + D88CDDFE28D9EFED00B84733 /* Sentry.a */, D822A4312760D7E100E7B241 /* Sentry.framework */, 7BA61D78247FA35500C130A8 /* Sentry.framework */, ); @@ -249,7 +226,6 @@ 7BA61D5E247FA32600C130A8 /* Sources */, 7BA61D5F247FA32600C130A8 /* Frameworks */, 7BA61D60247FA32600C130A8 /* Resources */, - 7BA61D7B247FA35500C130A8 /* Embed Frameworks */, ); buildRules = ( ); @@ -267,7 +243,6 @@ D822A41C2760D15000E7B241 /* Sources */, D822A41D2760D15000E7B241 /* Frameworks */, D822A41E2760D15000E7B241 /* Resources */, - D822A4342760D7E100E7B241 /* Embed Frameworks */, ); buildRules = ( ); From 18f013980d02f61f8357f7ef8bf1452be12f3a97 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Tue, 20 Sep 2022 15:57:51 +0200 Subject: [PATCH 09/58] Update NotificationCenterTestCase.swift --- .../Integrations/NotificationCenterTestCase.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Tests/SentryTests/Integrations/NotificationCenterTestCase.swift b/Tests/SentryTests/Integrations/NotificationCenterTestCase.swift index 6cc45587b70..f850f2e80f1 100644 --- a/Tests/SentryTests/Integrations/NotificationCenterTestCase.swift +++ b/Tests/SentryTests/Integrations/NotificationCenterTestCase.swift @@ -43,13 +43,13 @@ class NotificationCenterTestCase: XCTestCase { } func didBecomeActive() { - #if os(tvOS) || os(iOS) + #if os(tvOS) || os(iOS) || os(macOS) post(name: didBecomeActiveNotification) #endif } func willResignActive() { - #if os(tvOS) || os(iOS) + #if os(tvOS) || os(iOS) || os(macOS) post(name: willResignActiveNotification) #endif } @@ -61,7 +61,7 @@ class NotificationCenterTestCase: XCTestCase { } func willTerminate() { - #if os(tvOS) || os(iOS) + #if os(tvOS) || os(iOS) || os(macOS) post(name: willTerminateNotification) #endif } @@ -71,7 +71,7 @@ class NotificationCenterTestCase: XCTestCase { } func didFinishLaunching() { - #if os(tvOS) || os(iOS) + #if os(tvOS) || os(iOS) || os(macOS) post(name: didFinishLaunchingNotification) #endif } From ac8c97cfeecadad55fe7fba60ccbd4a45206ed7d Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Tue, 20 Sep 2022 16:45:27 +0200 Subject: [PATCH 10/58] Objc progress --- Samples/iOS-ObjectiveC/iOS-ObjectiveC/AppDelegate.m | 2 +- Samples/iOS-ObjectiveC/iOS-ObjectiveC/ViewController.m | 3 +-- Sentry.xcodeproj/project.pbxproj | 8 ++++---- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/Samples/iOS-ObjectiveC/iOS-ObjectiveC/AppDelegate.m b/Samples/iOS-ObjectiveC/iOS-ObjectiveC/AppDelegate.m index ea6e757eeb6..52ff8d06dc0 100644 --- a/Samples/iOS-ObjectiveC/iOS-ObjectiveC/AppDelegate.m +++ b/Samples/iOS-ObjectiveC/iOS-ObjectiveC/AppDelegate.m @@ -1,6 +1,6 @@ #import "AppDelegate.h" @import CoreData; -@import Sentry; +@import SentryObjc; @interface AppDelegate () diff --git a/Samples/iOS-ObjectiveC/iOS-ObjectiveC/ViewController.m b/Samples/iOS-ObjectiveC/iOS-ObjectiveC/ViewController.m index d2405d68421..ea8a403cf93 100644 --- a/Samples/iOS-ObjectiveC/iOS-ObjectiveC/ViewController.m +++ b/Samples/iOS-ObjectiveC/iOS-ObjectiveC/ViewController.m @@ -1,6 +1,5 @@ #import "ViewController.h" - -@import Sentry; +@import SentryObjc; @interface ViewController () diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index 88823f53ac2..3d70be4e771 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -4265,7 +4265,7 @@ buildSettings = { ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_BOOL_CONVERSION = YES; @@ -4299,7 +4299,7 @@ buildSettings = { ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_BOOL_CONVERSION = YES; @@ -4331,7 +4331,7 @@ buildSettings = { ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_BOOL_CONVERSION = YES; @@ -4363,7 +4363,7 @@ buildSettings = { ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_CXX_LANGUAGE_STANDARD = "c++14"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_WEAK = YES; CLANG_WARN_BOOL_CONVERSION = YES; From 624e3351f8778bf9476cf1704626d79b1d600f63 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Wed, 21 Sep 2022 10:20:19 +0200 Subject: [PATCH 11/58] change to framework --- Package.swift | 7 +- .../iOS-ObjectiveC.xcodeproj/project.pbxproj | 6 +- .../iOS-ObjectiveC/AppDelegate.m | 2 +- Sentry.xcodeproj/project.pbxproj | 368 ++++++++++-------- Sources/SentrySwift/Sentry.h | 19 + 5 files changed, 234 insertions(+), 168 deletions(-) create mode 100644 Sources/SentrySwift/Sentry.h diff --git a/Package.swift b/Package.swift index 1c8fda86929..91b2d5d9b48 100644 --- a/Package.swift +++ b/Package.swift @@ -5,8 +5,8 @@ let package = Package( name: "Sentry", platforms: [.iOS(.v9), .macOS(.v10_10), .tvOS(.v9), .watchOS(.v2)], products: [ - .library(name: "Sentry", targets: ["Sentry"]), - .library(name: "Sentry-Dynamic", type: .dynamic, targets: ["Sentry"]) + .library(name: "Sentry", targets: ["Sentry", "SentryObjc"]), + .library(name: "Sentry-Dynamic", type: .dynamic, targets: ["Sentry", "SentryObjc"]) ], targets: [ .target( name: "Sentry", @@ -14,7 +14,8 @@ let package = Package( path: "Sources", sources: [ "SentrySwift" - ] + ], + publicHeadersPath: "SentrySwift" ), .target( name: "SentryObjc", diff --git a/Samples/iOS-ObjectiveC/iOS-ObjectiveC.xcodeproj/project.pbxproj b/Samples/iOS-ObjectiveC/iOS-ObjectiveC.xcodeproj/project.pbxproj index f24608f7902..83e47e3520a 100644 --- a/Samples/iOS-ObjectiveC/iOS-ObjectiveC.xcodeproj/project.pbxproj +++ b/Samples/iOS-ObjectiveC/iOS-ObjectiveC.xcodeproj/project.pbxproj @@ -242,7 +242,7 @@ 6308533B2440C45500DDE4CE /* Sentry.framework */ = { isa = PBXReferenceProxy; fileType = wrapper.framework; - path = Sentry.framework; + path = SentryObjc.framework; remoteRef = 6308533A2440C45500DDE4CE /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -454,7 +454,7 @@ CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = "iOS-ObjectiveC/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -476,7 +476,7 @@ CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = "iOS-ObjectiveC/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 11.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", diff --git a/Samples/iOS-ObjectiveC/iOS-ObjectiveC/AppDelegate.m b/Samples/iOS-ObjectiveC/iOS-ObjectiveC/AppDelegate.m index 52ff8d06dc0..ea6e757eeb6 100644 --- a/Samples/iOS-ObjectiveC/iOS-ObjectiveC/AppDelegate.m +++ b/Samples/iOS-ObjectiveC/iOS-ObjectiveC/AppDelegate.m @@ -1,6 +1,6 @@ #import "AppDelegate.h" @import CoreData; -@import SentryObjc; +@import Sentry; @interface AppDelegate () diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index 3d70be4e771..8857bec3ed8 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -640,6 +640,9 @@ A839D89824864B80003B7AFD /* SentrySystemEventBreadcrumbs.h in Headers */ = {isa = PBXBuildFile; fileRef = A839D89724864B80003B7AFD /* SentrySystemEventBreadcrumbs.h */; }; A839D89A24864BA8003B7AFD /* SentrySystemEventBreadcrumbs.m in Sources */ = {isa = PBXBuildFile; fileRef = A839D89924864BA8003B7AFD /* SentrySystemEventBreadcrumbs.m */; }; D8019910286B089000C277F0 /* SentryCrashReportSinkTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D801990F286B089000C277F0 /* SentryCrashReportSinkTest.swift */; }; + D804D4CC28DAF226005CECD1 /* Sentry.h in Headers */ = {isa = PBXBuildFile; fileRef = D804D4CB28DAF226005CECD1 /* Sentry.h */; settings = {ATTRIBUTES = (Public, ); }; }; + D804D4D228DAF242005CECD1 /* SentryObjc.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63AA759B1EB8AEF500D153DE /* SentryObjc.framework */; }; + D804D4D328DAF242005CECD1 /* SentryObjc.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 63AA759B1EB8AEF500D153DE /* SentryObjc.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; D808FB88281AB33C009A2A33 /* SentryUIEventTrackerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D808FB86281AB31D009A2A33 /* SentryUIEventTrackerTests.swift */; }; D808FB8B281BCE96009A2A33 /* TestSentrySwizzleWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = D808FB89281BCE46009A2A33 /* TestSentrySwizzleWrapper.swift */; }; D808FB92281BF6EC009A2A33 /* SentryUIEventTrackingIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D808FB90281BF6E9009A2A33 /* SentryUIEventTrackingIntegrationTests.swift */; }; @@ -675,8 +678,6 @@ D88817DA26D72AB800BF2251 /* SentryTraceContext.h in Headers */ = {isa = PBXBuildFile; fileRef = D88817D926D72AB800BF2251 /* SentryTraceContext.h */; }; D88817DD26D72BA500BF2251 /* SentryTraceStateTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D88817DB26D72B7B00BF2251 /* SentryTraceStateTests.swift */; }; D8918B222849FA6D00701F9A /* SentrySDKIntegrationTestsBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8918B212849FA6D00701F9A /* SentrySDKIntegrationTestsBase.swift */; }; - D894689028D1D6810006C83D /* SentryObjc.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63AA759B1EB8AEF500D153DE /* SentryObjc.framework */; }; - D89468B128D225A60006C83D /* TypeAlias.swift in Sources */ = {isa = PBXBuildFile; fileRef = D89468AD28D223440006C83D /* TypeAlias.swift */; }; D8AB40DB2806EC1900E5E9F7 /* SentryScreenshotIntegration.h in Headers */ = {isa = PBXBuildFile; fileRef = D8AB40DA2806EC1900E5E9F7 /* SentryScreenshotIntegration.h */; }; D8ACE3C72762187200F5A213 /* SentryNSDataSwizzling.m in Sources */ = {isa = PBXBuildFile; fileRef = D8ACE3C42762187200F5A213 /* SentryNSDataSwizzling.m */; }; D8ACE3C82762187200F5A213 /* SentryNSDataTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = D8ACE3C52762187200F5A213 /* SentryNSDataTracker.m */; }; @@ -703,23 +704,25 @@ remoteGlobalIDString = 63AA759A1EB8AEF500D153DE; remoteInfo = "Sentry-iOS"; }; - D894689128D1D6880006C83D /* PBXContainerItemProxy */ = { + D804D4D428DAF242005CECD1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 6327C5CA1EB8A783004E799B /* Project object */; proxyType = 1; remoteGlobalIDString = 63AA759A1EB8AEF500D153DE; - remoteInfo = Sentry; + remoteInfo = SentryObjc; }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ - D894688528D1D67C0006C83D /* CopyFiles */ = { + D804D4D628DAF242005CECD1 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; - dstPath = "include/$(PRODUCT_NAME)"; - dstSubfolderSpec = 16; + dstPath = ""; + dstSubfolderSpec = 10; files = ( + D804D4D328DAF242005CECD1 /* SentryObjc.framework in Embed Frameworks */, ); + name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; }; /* End PBXCopyFilesBuildPhase section */ @@ -1422,6 +1425,8 @@ A839D89724864B80003B7AFD /* SentrySystemEventBreadcrumbs.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SentrySystemEventBreadcrumbs.h; path = include/SentrySystemEventBreadcrumbs.h; sourceTree = ""; }; A839D89924864BA8003B7AFD /* SentrySystemEventBreadcrumbs.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentrySystemEventBreadcrumbs.m; sourceTree = ""; }; D801990F286B089000C277F0 /* SentryCrashReportSinkTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryCrashReportSinkTest.swift; sourceTree = ""; }; + D804D4C928DAF226005CECD1 /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D804D4CB28DAF226005CECD1 /* Sentry.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Sentry.h; sourceTree = ""; }; D808FB86281AB31D009A2A33 /* SentryUIEventTrackerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryUIEventTrackerTests.swift; sourceTree = ""; }; D808FB89281BCE46009A2A33 /* TestSentrySwizzleWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestSentrySwizzleWrapper.swift; sourceTree = ""; }; D808FB90281BF6E9009A2A33 /* SentryUIEventTrackingIntegrationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryUIEventTrackingIntegrationTests.swift; sourceTree = ""; }; @@ -1458,7 +1463,6 @@ D88817D926D72AB800BF2251 /* SentryTraceContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryTraceContext.h; path = include/SentryTraceContext.h; sourceTree = ""; }; D88817DB26D72B7B00BF2251 /* SentryTraceStateTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryTraceStateTests.swift; sourceTree = ""; }; D8918B212849FA6D00701F9A /* SentrySDKIntegrationTestsBase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentrySDKIntegrationTestsBase.swift; sourceTree = ""; }; - D894688728D1D67C0006C83D /* Sentry.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = Sentry.a; sourceTree = BUILT_PRODUCTS_DIR; }; D89468AD28D223440006C83D /* TypeAlias.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TypeAlias.swift; sourceTree = ""; }; D8AB40DA2806EC1900E5E9F7 /* SentryScreenshotIntegration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryScreenshotIntegration.h; path = include/SentryScreenshotIntegration.h; sourceTree = ""; }; D8ACE3C42762187200F5A213 /* SentryNSDataSwizzling.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SentryNSDataSwizzling.m; sourceTree = ""; }; @@ -1495,11 +1499,11 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - D894688428D1D67C0006C83D /* Frameworks */ = { + D804D4C628DAF226005CECD1 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D894689028D1D6810006C83D /* SentryObjc.framework in Frameworks */, + D804D4D228DAF242005CECD1 /* SentryObjc.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1699,7 +1703,7 @@ children = ( 63AA759B1EB8AEF500D153DE /* SentryObjc.framework */, 63AA76651EB8CB2F00D153DE /* SentryTests.xctest */, - D894688728D1D67C0006C83D /* Sentry.a */, + D804D4C928DAF226005CECD1 /* Sentry.framework */, ); name = Products; sourceTree = ""; @@ -2846,6 +2850,7 @@ D894689728D1D9940006C83D /* SentrySwift */ = { isa = PBXGroup; children = ( + D804D4CB28DAF226005CECD1 /* Sentry.h */, D89468AD28D223440006C83D /* TypeAlias.swift */, ); path = SentrySwift; @@ -3138,6 +3143,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + D804D4C428DAF226005CECD1 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + D804D4CC28DAF226005CECD1 /* Sentry.h in Headers */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ @@ -3177,23 +3190,25 @@ productReference = 63AA76651EB8CB2F00D153DE /* SentryTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; - D894688628D1D67C0006C83D /* Sentry */ = { + D804D4C828DAF226005CECD1 /* Sentry */ = { isa = PBXNativeTarget; - buildConfigurationList = D894688F28D1D67C0006C83D /* Build configuration list for PBXNativeTarget "Sentry" */; + buildConfigurationList = D804D4CD28DAF226005CECD1 /* Build configuration list for PBXNativeTarget "Sentry" */; buildPhases = ( - D894688328D1D67C0006C83D /* Sources */, - D894688428D1D67C0006C83D /* Frameworks */, - D894688528D1D67C0006C83D /* CopyFiles */, + D804D4C428DAF226005CECD1 /* Headers */, + D804D4C528DAF226005CECD1 /* Sources */, + D804D4C628DAF226005CECD1 /* Frameworks */, + D804D4C728DAF226005CECD1 /* Resources */, + D804D4D628DAF242005CECD1 /* Embed Frameworks */, ); buildRules = ( ); dependencies = ( - D894689228D1D6880006C83D /* PBXTargetDependency */, + D804D4D528DAF242005CECD1 /* PBXTargetDependency */, ); name = Sentry; - productName = SentrySwift; - productReference = D894688728D1D67C0006C83D /* Sentry.a */; - productType = "com.apple.product-type.library.static"; + productName = Sentry; + productReference = D804D4C928DAF226005CECD1 /* Sentry.framework */; + productType = "com.apple.product-type.framework"; }; /* End PBXNativeTarget section */ @@ -3215,9 +3230,8 @@ LastSwiftMigration = 1120; ProvisioningStyle = Manual; }; - D894688628D1D67C0006C83D = { + D804D4C828DAF226005CECD1 = { CreatedOnToolsVersion = 14.0; - LastSwiftMigration = 1400; ProvisioningStyle = Automatic; }; }; @@ -3237,7 +3251,7 @@ targets = ( 63AA759A1EB8AEF500D153DE /* SentryObjc */, 63AA76641EB8CB2F00D153DE /* SentryTests */, - D894688628D1D67C0006C83D /* Sentry */, + D804D4C828DAF226005CECD1 /* Sentry */, ); }; /* End PBXProject section */ @@ -3258,6 +3272,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + D804D4C728DAF226005CECD1 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -3701,11 +3722,10 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - D894688328D1D67C0006C83D /* Sources */ = { + D804D4C528DAF226005CECD1 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - D89468B128D225A60006C83D /* TypeAlias.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3717,10 +3737,10 @@ target = 63AA759A1EB8AEF500D153DE /* SentryObjc */; targetProxy = 63AA766B1EB8CB2F00D153DE /* PBXContainerItemProxy */; }; - D894689228D1D6880006C83D /* PBXTargetDependency */ = { + D804D4D528DAF242005CECD1 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 63AA759A1EB8AEF500D153DE /* SentryObjc */; - targetProxy = D894689128D1D6880006C83D /* PBXContainerItemProxy */; + targetProxy = D804D4D428DAF242005CECD1 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ @@ -4126,6 +4146,161 @@ }; name = TestCI; }; + D804D4CE28DAF226005CECD1 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_C_LANGUAGE_STANDARD = gnu11; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Sentry. All rights reserved."; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MARKETING_VERSION = 1.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "watchsimulator watchos macosx iphonesimulator iphoneos appletvsimulator appletvos"; + SUPPORTS_MACCATALYST = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Debug; + }; + D804D4CF28DAF226005CECD1 /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_C_LANGUAGE_STANDARD = gnu11; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Sentry. All rights reserved."; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MARKETING_VERSION = 1.0; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "watchsimulator watchos macosx iphonesimulator iphoneos appletvsimulator appletvos"; + SUPPORTS_MACCATALYST = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Test; + }; + D804D4D028DAF226005CECD1 /* TestCI */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_C_LANGUAGE_STANDARD = gnu11; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Sentry. All rights reserved."; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MARKETING_VERSION = 1.0; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "watchsimulator watchos macosx iphonesimulator iphoneos appletvsimulator appletvos"; + SUPPORTS_MACCATALYST = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = TestCI; + }; + D804D4D128DAF226005CECD1 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_C_LANGUAGE_STANDARD = gnu11; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Sentry. All rights reserved."; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MARKETING_VERSION = 1.0; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SUPPORTED_PLATFORMS = "watchsimulator watchos macosx iphonesimulator iphoneos appletvsimulator appletvos"; + SUPPORTS_MACCATALYST = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + VERSIONING_SYSTEM = "apple-generic"; + }; + name = Release; + }; D8079A6727178911004B0F61 /* Test */ = { isa = XCBuildConfiguration; buildSettings = { @@ -4260,135 +4435,6 @@ }; name = Test; }; - D894688B28D1D67C0006C83D /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "c++14"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - EXECUTABLE_PREFIX = ""; - GCC_C_LANGUAGE_STANDARD = gnu11; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - OTHER_LDFLAGS = "-ObjC"; - PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SUPPORTED_PLATFORMS = "watchsimulator watchos macosx iphonesimulator iphoneos appletvsimulator appletvos"; - SUPPORTS_MACCATALYST = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2,3,4"; - }; - name = Debug; - }; - D894688C28D1D67C0006C83D /* Test */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "c++14"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - EXECUTABLE_PREFIX = ""; - GCC_C_LANGUAGE_STANDARD = gnu11; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_FAST_MATH = YES; - OTHER_LDFLAGS = "-ObjC"; - PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SUPPORTED_PLATFORMS = "watchsimulator watchos macosx iphonesimulator iphoneos appletvsimulator appletvos"; - SUPPORTS_MACCATALYST = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2,3,4"; - }; - name = Test; - }; - D894688D28D1D67C0006C83D /* TestCI */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "c++14"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - EXECUTABLE_PREFIX = ""; - GCC_C_LANGUAGE_STANDARD = gnu11; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_FAST_MATH = YES; - OTHER_LDFLAGS = "-ObjC"; - PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SUPPORTED_PLATFORMS = "watchsimulator watchos macosx iphonesimulator iphoneos appletvsimulator appletvos"; - SUPPORTS_MACCATALYST = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2,3,4"; - }; - name = TestCI; - }; - D894688E28D1D67C0006C83D /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "c++14"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - EXECUTABLE_PREFIX = ""; - GCC_C_LANGUAGE_STANDARD = gnu11; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MTL_FAST_MATH = YES; - OTHER_LDFLAGS = "-ObjC"; - PRODUCT_MODULE_NAME = "$(PRODUCT_NAME:c99extidentifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SUPPORTED_PLATFORMS = "watchsimulator watchos macosx iphonesimulator iphoneos appletvsimulator appletvos"; - SUPPORTS_MACCATALYST = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2,3,4"; - }; - name = Release; - }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -4425,13 +4471,13 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - D894688F28D1D67C0006C83D /* Build configuration list for PBXNativeTarget "Sentry" */ = { + D804D4CD28DAF226005CECD1 /* Build configuration list for PBXNativeTarget "Sentry" */ = { isa = XCConfigurationList; buildConfigurations = ( - D894688B28D1D67C0006C83D /* Debug */, - D894688C28D1D67C0006C83D /* Test */, - D894688D28D1D67C0006C83D /* TestCI */, - D894688E28D1D67C0006C83D /* Release */, + D804D4CE28DAF226005CECD1 /* Debug */, + D804D4CF28DAF226005CECD1 /* Test */, + D804D4D028DAF226005CECD1 /* TestCI */, + D804D4D128DAF226005CECD1 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Sources/SentrySwift/Sentry.h b/Sources/SentrySwift/Sentry.h new file mode 100644 index 00000000000..784b3e34d33 --- /dev/null +++ b/Sources/SentrySwift/Sentry.h @@ -0,0 +1,19 @@ +// +// Sentry.h +// Sentry +// +// Created by Dhiogo Brustolin on 21.09.22. +// Copyright © 2022 Sentry. All rights reserved. +// + +#import +@import SentryObjc; + +//! Project version number for Sentry. +FOUNDATION_EXPORT double SentryVersionNumber; + +//! Project version string for Sentry. +FOUNDATION_EXPORT const unsigned char SentryVersionString[]; + +// In this header, you should import all the public headers of your framework using statements like +// #import From 75e19301f55d40b41c5cd325081afcc8108314eb Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Wed, 21 Sep 2022 11:29:12 +0200 Subject: [PATCH 12/58] more work --- CHANGELOG.md | 1 + Package.swift | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 48f4a956aff..0bcf9276849 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ ### Features - Add flush (#2140) +- Create Sentry swift module (#2162) ### Fixes diff --git a/Package.swift b/Package.swift index 91b2d5d9b48..acb1c837140 100644 --- a/Package.swift +++ b/Package.swift @@ -5,8 +5,8 @@ let package = Package( name: "Sentry", platforms: [.iOS(.v9), .macOS(.v10_10), .tvOS(.v9), .watchOS(.v2)], products: [ - .library(name: "Sentry", targets: ["Sentry", "SentryObjc"]), - .library(name: "Sentry-Dynamic", type: .dynamic, targets: ["Sentry", "SentryObjc"]) + .library(name: "Sentry", targets: ["Sentry"]), + .library(name: "Sentry-Dynamic", type: .dynamic, targets: ["Sentry"]) ], targets: [ .target( name: "Sentry", From a2bb941c250c7233ece4b6b9b92131209939f14b Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Wed, 21 Sep 2022 14:21:09 +0200 Subject: [PATCH 13/58] Update Sentry.xcscheme --- .../xcshareddata/xcschemes/Sentry.xcscheme | 33 ++----------------- 1 file changed, 3 insertions(+), 30 deletions(-) diff --git a/Sentry.xcodeproj/xcshareddata/xcschemes/Sentry.xcscheme b/Sentry.xcodeproj/xcshareddata/xcschemes/Sentry.xcscheme index fe0076044c5..bc6013643aa 100644 --- a/Sentry.xcodeproj/xcshareddata/xcschemes/Sentry.xcscheme +++ b/Sentry.xcodeproj/xcshareddata/xcschemes/Sentry.xcscheme @@ -14,9 +14,9 @@ buildForAnalyzing = "YES"> @@ -28,15 +28,6 @@ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "NO" codeCoverageEnabled = "YES"> - - - - - - - - - - - - From 469993c6c26bbd1b78c839ac6bc35169e4f01fd8 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Wed, 21 Sep 2022 16:20:58 +0200 Subject: [PATCH 14/58] WatchOs Compile --- Makefile | 1 + .../iOS-ObjectiveC/AppDelegate.m | 2 +- .../watchOS-Swift.xcodeproj/project.pbxproj | 12 +++++++--- Sentry.xcodeproj/project.pbxproj | 8 +++---- .../xcshareddata/xcschemes/Sentry.xcscheme | 23 +++++++++++++++++++ 5 files changed, 38 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index 11c6df993a4..33cd6820f1b 100644 --- a/Makefile +++ b/Makefile @@ -79,6 +79,7 @@ build-for-watchos: xcodebuild archive -scheme Sentry -destination="watchOS" -archivePath ${watchOSLibPath}/watchos.xcarchive -sdk watchos SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES xcodebuild archive -scheme Sentry -destination="watch Simulator" -archivePath ${watchOSLibPath}//watchsimulator.xcarchive -sdk watchsimulator SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES xcodebuild -create-xcframework -allow-internal-distribution -framework ${watchOSLibPath}/watchos.xcarchive/Products/Library/Frameworks/Sentry.framework -framework ${watchOSLibPath}/watchsimulator.xcarchive/Products/Library/Frameworks/Sentry.framework -output ${watchOSLibPath}//Sentry.xcframework + xcodebuild -create-xcframework -allow-internal-distribution -framework ${watchOSLibPath}/watchos.xcarchive/Products/Library/Frameworks/SentryObjc.framework -framework ${watchOSLibPath}/watchsimulator.xcarchive/Products/Library/Frameworks/SentryObjc.framework -output ${watchOSLibPath}//SentryObjc.xcframework # call this like `make bump-version TO=5.0.0-rc.0` bump-version: clean-version-bump diff --git a/Samples/iOS-ObjectiveC/iOS-ObjectiveC/AppDelegate.m b/Samples/iOS-ObjectiveC/iOS-ObjectiveC/AppDelegate.m index ea6e757eeb6..52ff8d06dc0 100644 --- a/Samples/iOS-ObjectiveC/iOS-ObjectiveC/AppDelegate.m +++ b/Samples/iOS-ObjectiveC/iOS-ObjectiveC/AppDelegate.m @@ -1,6 +1,6 @@ #import "AppDelegate.h" @import CoreData; -@import Sentry; +@import SentryObjc; @interface AppDelegate () diff --git a/Samples/watchOS-Swift/watchOS-Swift.xcodeproj/project.pbxproj b/Samples/watchOS-Swift/watchOS-Swift.xcodeproj/project.pbxproj index 62ec41a53fd..6a6300d7b92 100644 --- a/Samples/watchOS-Swift/watchOS-Swift.xcodeproj/project.pbxproj +++ b/Samples/watchOS-Swift/watchOS-Swift.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 50; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ @@ -19,7 +19,8 @@ 7B82C4A024C98A95002CA6D1 /* NotificationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B82C49F24C98A95002CA6D1 /* NotificationView.swift */; }; 7B82C4A224C98A96002CA6D1 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7B82C4A124C98A96002CA6D1 /* Assets.xcassets */; }; 7B82C4A524C98A96002CA6D1 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7B82C4A424C98A96002CA6D1 /* Preview Assets.xcassets */; }; - D8C5645E28D8A1810018E2FB /* Sentry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D8C5645D28D8A1810018E2FB /* Sentry.a */; }; + D8145BFB28DB4DC600494277 /* Sentry.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8145BFA28DB4DC600494277 /* Sentry.xcframework */; }; + D8145BFE28DB548600494277 /* SentryObjc.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8145BFD28DB548500494277 /* SentryObjc.xcframework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -81,6 +82,8 @@ 7B82C4A424C98A96002CA6D1 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; 7B82C4A624C98A96002CA6D1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 7B82C4A724C98A96002CA6D1 /* PushNotificationPayload.apns */ = {isa = PBXFileReference; lastKnownFileType = text; path = PushNotificationPayload.apns; sourceTree = ""; }; + D8145BFA28DB4DC600494277 /* Sentry.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Sentry.xcframework; path = libs/Sentry.xcframework; sourceTree = ""; }; + D8145BFD28DB548500494277 /* SentryObjc.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = SentryObjc.xcframework; path = libs/SentryObjc.xcframework; sourceTree = ""; }; D8C5645D28D8A1810018E2FB /* Sentry.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = Sentry.a; sourceTree = BUILT_PRODUCTS_DIR; }; D8C5645F28D8A1FA0018E2FB /* SentryObjc.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = SentryObjc.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -90,7 +93,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D8C5645E28D8A1810018E2FB /* Sentry.a in Frameworks */, + D8145BFE28DB548600494277 /* SentryObjc.xcframework in Frameworks */, + D8145BFB28DB4DC600494277 /* Sentry.xcframework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -155,6 +159,8 @@ 7B82C4B524C98AF4002CA6D1 /* Frameworks */ = { isa = PBXGroup; children = ( + D8145BFD28DB548500494277 /* SentryObjc.xcframework */, + D8145BFA28DB4DC600494277 /* Sentry.xcframework */, D8C5645F28D8A1FA0018E2FB /* SentryObjc.framework */, D8C5645D28D8A1810018E2FB /* Sentry.a */, ); diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index 8857bec3ed8..4b9e7a6fb53 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -3903,7 +3903,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.10; ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = ""; - PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; + PRODUCT_BUNDLE_IDENTIFIER = io.sentry.SentryObjc; PRODUCT_NAME = SentryObjc; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -3942,7 +3942,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.10; ONLY_ACTIVE_ARCH = NO; OTHER_LDFLAGS = ""; - PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; + PRODUCT_BUNDLE_IDENTIFIER = io.sentry.SentryObjc; PRODUCT_NAME = SentryObjc; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 5.0; @@ -4109,7 +4109,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.10; ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = ""; - PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; + PRODUCT_BUNDLE_IDENTIFIER = io.sentry.SentryObjc; PRODUCT_NAME = SentryObjc; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -4398,7 +4398,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.10; ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = ""; - PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; + PRODUCT_BUNDLE_IDENTIFIER = io.sentry.SentryObjc; PRODUCT_NAME = SentryObjc; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; diff --git a/Sentry.xcodeproj/xcshareddata/xcschemes/Sentry.xcscheme b/Sentry.xcodeproj/xcshareddata/xcschemes/Sentry.xcscheme index bc6013643aa..99d56c486a9 100644 --- a/Sentry.xcodeproj/xcshareddata/xcschemes/Sentry.xcscheme +++ b/Sentry.xcodeproj/xcshareddata/xcschemes/Sentry.xcscheme @@ -6,6 +6,20 @@ parallelizeBuildables = "YES" buildImplicitDependencies = "YES"> + + + + + + + + From e80bd68071051e329b5438711215e8f32a4a8934 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Wed, 21 Sep 2022 17:11:46 +0200 Subject: [PATCH 15/58] update dependency --- Makefile | 4 +- .../iOS-SwiftUI.xcodeproj/project.pbxproj | 22 +++++++++- .../iOS15-SwiftUI.xcodeproj/project.pbxproj | 22 +++++++++- .../tvOS-Swift.xcodeproj/project.pbxproj | 41 +++++++++++++++++-- 4 files changed, 79 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index 33cd6820f1b..a4ab1769e01 100644 --- a/Makefile +++ b/Makefile @@ -62,8 +62,8 @@ build-xcframework-sample: # Building the .frameworsk.zip only works with Xcode 12, as there is no workaround yet for Xcode 13. build-framework: @echo "--> Carthage: creating Sentry framework" - ./scripts/carthage-xcode12-workaround.sh build --no-skip-current - ./scripts/carthage-xcode12-workaround.sh archive Sentry --output Sentry.framework.zip + ./scripts/carthage-xcode12-workaround.sh build --no-skip-current --use-xcframeworks + ./scripts/carthage-xcode12-workaround.sh archive Sentry --use-xcframeworks --output Sentry.framework.zip build-framework-sample: ./scripts/create-carthage-json.sh diff --git a/Samples/iOS-SwiftUI/iOS-SwiftUI.xcodeproj/project.pbxproj b/Samples/iOS-SwiftUI/iOS-SwiftUI.xcodeproj/project.pbxproj index 3d170ec4173..7b5d3e7e374 100644 --- a/Samples/iOS-SwiftUI/iOS-SwiftUI.xcodeproj/project.pbxproj +++ b/Samples/iOS-SwiftUI/iOS-SwiftUI.xcodeproj/project.pbxproj @@ -14,7 +14,8 @@ 7BB6224F26A56C4E00D0E75E /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BB6224E26A56C4E00D0E75E /* ContentView.swift */; }; 7BB6225126A56C5000D0E75E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7BB6225026A56C5000D0E75E /* Assets.xcassets */; }; 7BB6225426A56C5000D0E75E /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7BB6225326A56C5000D0E75E /* Preview Assets.xcassets */; }; - D89468B028D225640006C83D /* Sentry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D89468AF28D225640006C83D /* Sentry.a */; }; + D8145C0928DB610400494277 /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8145C0828DB610400494277 /* Sentry.framework */; }; + D8145C0A28DB610400494277 /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D8145C0828DB610400494277 /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -27,6 +28,20 @@ }; /* End PBXContainerItemProxy section */ +/* Begin PBXCopyFilesBuildPhase section */ + D8145C0B28DB610400494277 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + D8145C0A28DB610400494277 /* Sentry.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ 7B5DA9D82859DC850069AD02 /* LoremIpsumView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LoremIpsumView.swift; sourceTree = ""; }; 7B5DA9DC2859DDDC0069AD02 /* LoremIpsum.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = LoremIpsum.txt; path = "../../iOS-Swift/iOS-Swift/LoremIpsum.txt"; sourceTree = ""; }; @@ -41,6 +56,7 @@ 7BB6225526A56C5000D0E75E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 7BB6225C26A56CB600D0E75E /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7BB6226026A56E1E00D0E75E /* iOS-SwiftUI.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "iOS-SwiftUI.entitlements"; sourceTree = ""; }; + D8145C0828DB610400494277 /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D894689328D1D6B30006C83D /* libSentrySwift.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libSentrySwift.a; sourceTree = BUILT_PRODUCTS_DIR; }; D894689528D1D7990006C83D /* SentrySwift.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = SentrySwift.a; sourceTree = BUILT_PRODUCTS_DIR; }; D89468AF28D225640006C83D /* Sentry.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = Sentry.a; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -58,7 +74,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D89468B028D225640006C83D /* Sentry.a in Frameworks */, + D8145C0928DB610400494277 /* Sentry.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -119,6 +135,7 @@ 7BB6225B26A56CB600D0E75E /* Frameworks */ = { isa = PBXGroup; children = ( + D8145C0828DB610400494277 /* Sentry.framework */, D89468AF28D225640006C83D /* Sentry.a */, D894689528D1D7990006C83D /* SentrySwift.a */, D894689328D1D6B30006C83D /* libSentrySwift.a */, @@ -155,6 +172,7 @@ 7BB6224526A56C4E00D0E75E /* Sources */, 7BB6224626A56C4E00D0E75E /* Frameworks */, 7BB6224726A56C4E00D0E75E /* Resources */, + D8145C0B28DB610400494277 /* Embed Frameworks */, ); buildRules = ( ); diff --git a/Samples/iOS15-SwiftUI/iOS15-SwiftUI.xcodeproj/project.pbxproj b/Samples/iOS15-SwiftUI/iOS15-SwiftUI.xcodeproj/project.pbxproj index b29c12b6078..a5369e0d681 100644 --- a/Samples/iOS15-SwiftUI/iOS15-SwiftUI.xcodeproj/project.pbxproj +++ b/Samples/iOS15-SwiftUI/iOS15-SwiftUI.xcodeproj/project.pbxproj @@ -11,9 +11,24 @@ 7B51664E2758C6F000C0A720 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B51664D2758C6F000C0A720 /* ContentView.swift */; }; 7B5166502758C6F400C0A720 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7B51664F2758C6F400C0A720 /* Assets.xcassets */; }; 7B5166532758C6F400C0A720 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7B5166522758C6F400C0A720 /* Preview Assets.xcassets */; }; - D8C5645628D89A6F0018E2FB /* Sentry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D8C5645528D89A6F0018E2FB /* Sentry.a */; }; + D8145C0D28DB611600494277 /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8145C0C28DB611600494277 /* Sentry.framework */; }; + D8145C0E28DB611600494277 /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D8145C0C28DB611600494277 /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; /* End PBXBuildFile section */ +/* Begin PBXCopyFilesBuildPhase section */ + D8145C0F28DB611600494277 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + D8145C0E28DB611600494277 /* Sentry.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ 7B5166482758C6F000C0A720 /* iOS15-SwiftUI.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "iOS15-SwiftUI.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 7B51664B2758C6F000C0A720 /* App.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = App.swift; sourceTree = ""; }; @@ -21,6 +36,7 @@ 7B51664F2758C6F400C0A720 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 7B5166522758C6F400C0A720 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; 7B5166762758C72600C0A720 /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D8145C0C28DB611600494277 /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D8C5645528D89A6F0018E2FB /* Sentry.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = Sentry.a; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ @@ -29,7 +45,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D8C5645628D89A6F0018E2FB /* Sentry.a in Frameworks */, + D8145C0D28DB611600494277 /* Sentry.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -75,6 +91,7 @@ 7B5166752758C72600C0A720 /* Frameworks */ = { isa = PBXGroup; children = ( + D8145C0C28DB611600494277 /* Sentry.framework */, D8C5645528D89A6F0018E2FB /* Sentry.a */, 7B5166762758C72600C0A720 /* Sentry.framework */, ); @@ -91,6 +108,7 @@ 7B5166442758C6F000C0A720 /* Sources */, 7B5166452758C6F000C0A720 /* Frameworks */, 7B5166462758C6F000C0A720 /* Resources */, + D8145C0F28DB611600494277 /* Embed Frameworks */, ); buildRules = ( ); diff --git a/Samples/tvOS-Swift/tvOS-Swift.xcodeproj/project.pbxproj b/Samples/tvOS-Swift/tvOS-Swift.xcodeproj/project.pbxproj index 40f27290c5f..f6880a66c8e 100644 --- a/Samples/tvOS-Swift/tvOS-Swift.xcodeproj/project.pbxproj +++ b/Samples/tvOS-Swift/tvOS-Swift.xcodeproj/project.pbxproj @@ -13,6 +13,10 @@ 7BA61D68247FA32600C130A8 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BA61D67247FA32600C130A8 /* ContentView.swift */; }; 7BA61D6A247FA32600C130A8 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7BA61D69247FA32600C130A8 /* Assets.xcassets */; }; 7BA61D70247FA32600C130A8 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7BA61D6E247FA32600C130A8 /* LaunchScreen.storyboard */; }; + D8145C0128DB60BF00494277 /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8145C0028DB60BF00494277 /* Sentry.framework */; }; + D8145C0228DB60BF00494277 /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D8145C0028DB60BF00494277 /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + D8145C0528DB60D700494277 /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8145C0428DB60D700494277 /* Sentry.framework */; }; + D8145C0628DB60D700494277 /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D8145C0428DB60D700494277 /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; D822A4232760D15000E7B241 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D822A4222760D15000E7B241 /* AppDelegate.swift */; }; D822A4252760D15000E7B241 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D822A4242760D15000E7B241 /* ViewController.swift */; }; D822A4282760D15000E7B241 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D822A4262760D15000E7B241 /* Main.storyboard */; }; @@ -24,8 +28,6 @@ D822A43D2760EA2200E7B241 /* NibViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D822A43C2760EA2200E7B241 /* NibViewController.swift */; }; D822A43F2760EB9700E7B241 /* SplitViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D822A43E2760EB9700E7B241 /* SplitViewController.swift */; }; D822A4472760ED7100E7B241 /* LaunchUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D822A4462760ED7100E7B241 /* LaunchUITests.swift */; }; - D88CDDFF28D9EFED00B84733 /* Sentry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D88CDDFE28D9EFED00B84733 /* Sentry.a */; }; - D88CDE0128D9F00D00B84733 /* Sentry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D88CDE0028D9F00D00B84733 /* Sentry.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -45,6 +47,31 @@ }; /* End PBXContainerItemProxy section */ +/* Begin PBXCopyFilesBuildPhase section */ + D8145C0328DB60C000494277 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + D8145C0228DB60BF00494277 /* Sentry.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + D8145C0728DB60D700494277 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + D8145C0628DB60D700494277 /* Sentry.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ 7B3427FF25876DF000056519 /* Tongariro.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = Tongariro.jpg; sourceTree = ""; }; 7B64388626A6C71A000D0F65 /* tvOS-SwiftUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "tvOS-SwiftUITests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -57,6 +84,8 @@ 7BA61D6F247FA32600C130A8 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 7BA61D71247FA32600C130A8 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 7BA61D78247FA35500C130A8 /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D8145C0028DB60BF00494277 /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D8145C0428DB60D700494277 /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D822A4202760D15000E7B241 /* tvOS-SBSwift.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "tvOS-SBSwift.app"; sourceTree = BUILT_PRODUCTS_DIR; }; D822A4222760D15000E7B241 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; D822A4242760D15000E7B241 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; @@ -87,7 +116,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D88CDE0128D9F00D00B84733 /* Sentry.a in Frameworks */, + D8145C0128DB60BF00494277 /* Sentry.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -95,7 +124,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D88CDDFF28D9EFED00B84733 /* Sentry.a in Frameworks */, + D8145C0528DB60D700494277 /* Sentry.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -157,6 +186,8 @@ 7BA61D77247FA35500C130A8 /* Frameworks */ = { isa = PBXGroup; children = ( + D8145C0428DB60D700494277 /* Sentry.framework */, + D8145C0028DB60BF00494277 /* Sentry.framework */, D88CDE0028D9F00D00B84733 /* Sentry.a */, D88CDDFE28D9EFED00B84733 /* Sentry.a */, D822A4312760D7E100E7B241 /* Sentry.framework */, @@ -226,6 +257,7 @@ 7BA61D5E247FA32600C130A8 /* Sources */, 7BA61D5F247FA32600C130A8 /* Frameworks */, 7BA61D60247FA32600C130A8 /* Resources */, + D8145C0328DB60C000494277 /* Embed Frameworks */, ); buildRules = ( ); @@ -243,6 +275,7 @@ D822A41C2760D15000E7B241 /* Sources */, D822A41D2760D15000E7B241 /* Frameworks */, D822A41E2760D15000E7B241 /* Resources */, + D8145C0728DB60D700494277 /* Embed Frameworks */, ); buildRules = ( ); From af05fc73a7cfd1c79c6e68767eee5e34a370f1b0 Mon Sep 17 00:00:00 2001 From: Philipp Hofmann Date: Thu, 22 Sep 2022 11:37:24 +0200 Subject: [PATCH 16/58] Auto sign and distribution --- Makefile | 4 ++-- Sentry.xcodeproj/project.pbxproj | 26 +++++++++++++++++--------- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/Makefile b/Makefile index a4ab1769e01..33cd6820f1b 100644 --- a/Makefile +++ b/Makefile @@ -62,8 +62,8 @@ build-xcframework-sample: # Building the .frameworsk.zip only works with Xcode 12, as there is no workaround yet for Xcode 13. build-framework: @echo "--> Carthage: creating Sentry framework" - ./scripts/carthage-xcode12-workaround.sh build --no-skip-current --use-xcframeworks - ./scripts/carthage-xcode12-workaround.sh archive Sentry --use-xcframeworks --output Sentry.framework.zip + ./scripts/carthage-xcode12-workaround.sh build --no-skip-current + ./scripts/carthage-xcode12-workaround.sh archive Sentry --output Sentry.framework.zip build-framework-sample: ./scripts/create-carthage-json.sh diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index f99b51f6340..f9b15d5213c 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -3236,7 +3236,7 @@ 63AA759A1EB8AEF500D153DE = { CreatedOnToolsVersion = 8.3.2; LastSwiftMigration = 1400; - ProvisioningStyle = Manual; + ProvisioningStyle = Automatic; }; 63AA76641EB8CB2F00D153DE = { CreatedOnToolsVersion = 8.3.2; @@ -3895,14 +3895,15 @@ baseConfigurationReference = 63AA75C51EB8B00100D153DE /* Sentry.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; CLANG_ENABLE_MODULES = YES; CLANG_WARN_ASSIGN_ENUM = NO; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_FLOAT_CONVERSION = YES; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = YES; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; @@ -3933,14 +3934,15 @@ baseConfigurationReference = 63AA75C51EB8B00100D153DE /* Sentry.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; CLANG_ENABLE_MODULES = YES; CLANG_WARN_ASSIGN_ENUM = NO; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_FLOAT_CONVERSION = YES; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = YES; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; @@ -4095,14 +4097,15 @@ baseConfigurationReference = 63AA75C51EB8B00100D153DE /* Sentry.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; CLANG_ENABLE_MODULES = YES; CLANG_WARN_ASSIGN_ENUM = NO; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_FLOAT_CONVERSION = YES; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = YES; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; @@ -4166,6 +4169,7 @@ isa = XCBuildConfiguration; buildSettings = { ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_ENABLE_OBJC_WEAK = YES; @@ -4207,6 +4211,7 @@ isa = XCBuildConfiguration; buildSettings = { ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_ENABLE_OBJC_WEAK = YES; @@ -4245,6 +4250,7 @@ isa = XCBuildConfiguration; buildSettings = { ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_ENABLE_OBJC_WEAK = YES; @@ -4283,6 +4289,7 @@ isa = XCBuildConfiguration; buildSettings = { ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_ENABLE_OBJC_WEAK = YES; @@ -4390,14 +4397,15 @@ baseConfigurationReference = 63AA75C51EB8B00100D153DE /* Sentry.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = YES; CLANG_ENABLE_MODULES = YES; CLANG_WARN_ASSIGN_ENUM = NO; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_FLOAT_CONVERSION = YES; - CODE_SIGN_IDENTITY = ""; - CODE_SIGN_STYLE = Manual; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; COPY_PHASE_STRIP = YES; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; From b7257211c507494297d929dea743446050b3c2b1 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Thu, 22 Sep 2022 11:43:51 +0200 Subject: [PATCH 17/58] Config file --- Makefile | 4 +- Sentry.xcodeproj/project.pbxproj | 32 +++++------ Sources/Configuration/Sentry.xcconfig | 2 - Sources/Configuration/SentryObjc.xcconfig | 66 +++++++++++++++++++++++ 4 files changed, 84 insertions(+), 20 deletions(-) create mode 100644 Sources/Configuration/SentryObjc.xcconfig diff --git a/Makefile b/Makefile index a4ab1769e01..33cd6820f1b 100644 --- a/Makefile +++ b/Makefile @@ -62,8 +62,8 @@ build-xcframework-sample: # Building the .frameworsk.zip only works with Xcode 12, as there is no workaround yet for Xcode 13. build-framework: @echo "--> Carthage: creating Sentry framework" - ./scripts/carthage-xcode12-workaround.sh build --no-skip-current --use-xcframeworks - ./scripts/carthage-xcode12-workaround.sh archive Sentry --use-xcframeworks --output Sentry.framework.zip + ./scripts/carthage-xcode12-workaround.sh build --no-skip-current + ./scripts/carthage-xcode12-workaround.sh archive Sentry --output Sentry.framework.zip build-framework-sample: ./scripts/create-carthage-json.sh diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index f99b51f6340..c077d5da0c1 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -646,7 +646,6 @@ D8019910286B089000C277F0 /* SentryCrashReportSinkTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D801990F286B089000C277F0 /* SentryCrashReportSinkTest.swift */; }; D804D4CC28DAF226005CECD1 /* Sentry.h in Headers */ = {isa = PBXBuildFile; fileRef = D804D4CB28DAF226005CECD1 /* Sentry.h */; settings = {ATTRIBUTES = (Public, ); }; }; D804D4D228DAF242005CECD1 /* SentryObjc.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63AA759B1EB8AEF500D153DE /* SentryObjc.framework */; }; - D804D4D328DAF242005CECD1 /* SentryObjc.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 63AA759B1EB8AEF500D153DE /* SentryObjc.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; D808FB88281AB33C009A2A33 /* SentryUIEventTrackerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D808FB86281AB31D009A2A33 /* SentryUIEventTrackerTests.swift */; }; D808FB8B281BCE96009A2A33 /* TestSentrySwizzleWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = D808FB89281BCE46009A2A33 /* TestSentrySwizzleWrapper.swift */; }; D808FB92281BF6EC009A2A33 /* SentryUIEventTrackingIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D808FB90281BF6E9009A2A33 /* SentryUIEventTrackingIntegrationTests.swift */; }; @@ -724,7 +723,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - D804D4D328DAF242005CECD1 /* SentryObjc.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -854,7 +852,7 @@ 63AA75941EB8AEDB00D153DE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 63AA75951EB8AEDB00D153DE /* SentryTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryTests.m; sourceTree = ""; }; 63AA759B1EB8AEF500D153DE /* SentryObjc.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SentryObjc.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 63AA75C51EB8B00100D153DE /* Sentry.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Sentry.xcconfig; sourceTree = ""; }; + 63AA75C51EB8B00100D153DE /* SentryObjc.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = SentryObjc.xcconfig; sourceTree = ""; }; 63AA75C71EB8B06100D153DE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 63AA75ED1EB8B3C400D153DE /* SentryClient.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SentryClient.m; sourceTree = ""; }; 63AA76651EB8CB2F00D153DE /* SentryTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SentryTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -1440,6 +1438,7 @@ D808FB90281BF6E9009A2A33 /* SentryUIEventTrackingIntegrationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryUIEventTrackingIntegrationTests.swift; sourceTree = ""; }; D8137D52272B53070082656C /* TestSentrySpan.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TestSentrySpan.h; sourceTree = ""; }; D8137D53272B53070082656C /* TestSentrySpan.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TestSentrySpan.m; sourceTree = ""; }; + D8145C1928DC616D00494277 /* Sentry.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Sentry.xcconfig; sourceTree = ""; }; D81FDF10280EA0080045E0E4 /* SentryScreenShotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryScreenShotTests.swift; sourceTree = ""; }; D8370B68273DF1E900F66E2D /* SentryNSURLSessionTaskSearch.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryNSURLSessionTaskSearch.m; sourceTree = ""; }; D8370B6B273DF20F00F66E2D /* SentryNSURLSessionTaskSearch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryNSURLSessionTaskSearch.h; path = include/SentryNSURLSessionTaskSearch.h; sourceTree = ""; }; @@ -1916,7 +1915,8 @@ 63AA75A31EB8AFDF00D153DE /* Configuration */ = { isa = PBXGroup; children = ( - 63AA75C51EB8B00100D153DE /* Sentry.xcconfig */, + 63AA75C51EB8B00100D153DE /* SentryObjc.xcconfig */, + D8145C1928DC616D00494277 /* Sentry.xcconfig */, ); path = Configuration; sourceTree = ""; @@ -3892,7 +3892,7 @@ }; 63AA75A11EB8AEF500D153DE /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63AA75C51EB8B00100D153DE /* Sentry.xcconfig */; + baseConfigurationReference = 63AA75C51EB8B00100D153DE /* SentryObjc.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CLANG_ENABLE_MODULES = YES; @@ -3930,7 +3930,7 @@ }; 63AA75A21EB8AEF500D153DE /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63AA75C51EB8B00100D153DE /* Sentry.xcconfig */; + baseConfigurationReference = 63AA75C51EB8B00100D153DE /* SentryObjc.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CLANG_ENABLE_MODULES = YES; @@ -4092,7 +4092,7 @@ }; 7BFC80A9282B736400E83A05 /* TestCI */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63AA75C51EB8B00100D153DE /* Sentry.xcconfig */; + baseConfigurationReference = 63AA75C51EB8B00100D153DE /* SentryObjc.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CLANG_ENABLE_MODULES = YES; @@ -4164,6 +4164,7 @@ }; D804D4CE28DAF226005CECD1 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = D8145C1928DC616D00494277 /* Sentry.xcconfig */; buildSettings = { ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -4192,19 +4193,19 @@ PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; - SUPPORTED_PLATFORMS = "watchsimulator watchos macosx iphonesimulator iphoneos appletvsimulator appletvos"; SUPPORTS_MACCATALYST = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; + TARGETED_DEVICE_FAMILY = "1,2,3,4"; VERSIONING_SYSTEM = "apple-generic"; }; name = Debug; }; D804D4CF28DAF226005CECD1 /* Test */ = { isa = XCBuildConfiguration; + baseConfigurationReference = D8145C1928DC616D00494277 /* Sentry.xcconfig */; buildSettings = { ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -4232,17 +4233,17 @@ PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; - SUPPORTED_PLATFORMS = "watchsimulator watchos macosx iphonesimulator iphoneos appletvsimulator appletvos"; SUPPORTS_MACCATALYST = YES; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; + TARGETED_DEVICE_FAMILY = "1,2,3,4"; VERSIONING_SYSTEM = "apple-generic"; }; name = Test; }; D804D4D028DAF226005CECD1 /* TestCI */ = { isa = XCBuildConfiguration; + baseConfigurationReference = D8145C1928DC616D00494277 /* Sentry.xcconfig */; buildSettings = { ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -4270,17 +4271,17 @@ PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; - SUPPORTED_PLATFORMS = "watchsimulator watchos macosx iphonesimulator iphoneos appletvsimulator appletvos"; SUPPORTS_MACCATALYST = YES; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; + TARGETED_DEVICE_FAMILY = "1,2,3,4"; VERSIONING_SYSTEM = "apple-generic"; }; name = TestCI; }; D804D4D128DAF226005CECD1 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = D8145C1928DC616D00494277 /* Sentry.xcconfig */; buildSettings = { ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; @@ -4308,11 +4309,10 @@ PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SKIP_INSTALL = YES; - SUPPORTED_PLATFORMS = "watchsimulator watchos macosx iphonesimulator iphoneos appletvsimulator appletvos"; SUPPORTS_MACCATALYST = YES; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; + TARGETED_DEVICE_FAMILY = "1,2,3,4"; VERSIONING_SYSTEM = "apple-generic"; }; name = Release; @@ -4387,7 +4387,7 @@ }; D8079A6827178911004B0F61 /* Test */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63AA75C51EB8B00100D153DE /* Sentry.xcconfig */; + baseConfigurationReference = 63AA75C51EB8B00100D153DE /* SentryObjc.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; CLANG_ENABLE_MODULES = YES; diff --git a/Sources/Configuration/Sentry.xcconfig b/Sources/Configuration/Sentry.xcconfig index ae2619e2c93..6ad9e147051 100644 --- a/Sources/Configuration/Sentry.xcconfig +++ b/Sources/Configuration/Sentry.xcconfig @@ -30,7 +30,6 @@ FRAMEWORK_VERSION = A PRODUCT_NAME = Sentry CURRENT_PROJECT_VERSION = 7.25.1 -INFOPLIST_FILE = Sources/Sentry/Info.plist PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry ALWAYS_SEARCH_USER_PATHS = NO CLANG_ENABLE_OBJC_ARC = YES @@ -51,7 +50,6 @@ LD_RUNPATH_SEARCH_PATHS[sdk=iphone*] = $(inherited) @executable_path/Frameworks LD_RUNPATH_SEARCH_PATHS[sdk=watch*] = $(inherited) @executable_path/Frameworks @loader_path/Frameworks; LD_RUNPATH_SEARCH_PATHS[sdk=appletv*] = $(inherited) @executable_path/Frameworks @loader_path/Frameworks; -MODULEMAP_FILE = $(SRCROOT)/Sources/Sentry/Sentry.modulemap //SWIFT_INCLUDE_PATHS = $(SRCROOT)/Sources/Sentry // SWIFT_VERSION is only recognized by Xcode 8 and higher. diff --git a/Sources/Configuration/SentryObjc.xcconfig b/Sources/Configuration/SentryObjc.xcconfig new file mode 100644 index 00000000000..ae2619e2c93 --- /dev/null +++ b/Sources/Configuration/SentryObjc.xcconfig @@ -0,0 +1,66 @@ +SDKROOT = $(SDKROOT__CARTHAGE_$(CARTHAGE)) // basically, iphoneos (unless «CARTHAGE» == «YES») +// Carthage relies on this assumption, years standing — that SDKROOT is default or explicitly +// set to `macosx` (or equivalent) under the ‘single target, multiple platform’ paradigm +// because of a xcodebuild bug involving the sdk flag and implicit dependency: see «Carthage/Carthage#347». +SDKROOT__CARTHAGE_YES = macosx +// Importantly, the below two lines appease «Xcode.app», and get the UI to show Mac Catalyst destinations. +SDKROOT__CARTHAGE_NO = iphoneos +SDKROOT__CARTHAGE_ = iphoneos +// …in order for ‘single target, multiple platform’ extrapolations to hold true, +// all the above relies on the ability of Xcode GUI, xcodebuild, and Carthage via xcodebuild to +// override «SDKROOT» based on selected destination (particularly for appletv* and watchos* platforms.) +// …if the override behavior ever breaks, expect weird output and the probable need to migrate away from +// the ‘single target, multiple platform’ paradigm. + +// …`SUPPORTED_PLATFORMS`, in service of ‘single target, multiple platform’ extrapolation, must never +// engage in dollar-parentheses syntax — unless that dollar-parentheses basis is +// entirely non-platform–derived, e.g. based upon `XCODE_VERSION_MAJOR`. +// Note: Carthage, unfortunately, as current of v0.34.0 queries rather harshly on the platform values below +// ⋯ quite early in the process, queried values not compiled into Carthage will cause hard errors. +SUPPORTED_PLATFORMS = macosx iphoneos iphonesimulator watchos watchsimulator appletvos appletvsimulator +TARGETED_DEVICE_FAMILY = 1,2,3,4 +SKIP_INSTALL = YES + +DEFINES_MODULE = YES +DYLIB_COMPATIBILITY_VERSION = 1 +DYLIB_CURRENT_VERSION = 1 +DYLIB_INSTALL_NAME_BASE = @rpath +MACH_O_TYPE = mh_dylib +FRAMEWORK_VERSION = A + +PRODUCT_NAME = Sentry +CURRENT_PROJECT_VERSION = 7.25.1 +INFOPLIST_FILE = Sources/Sentry/Info.plist +PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry +ALWAYS_SEARCH_USER_PATHS = NO +CLANG_ENABLE_OBJC_ARC = YES +CLANG_ENABLE_MODULES = YES +//OTHER_CFLAGS = -Wall -Wextra -Wpedantic -Wno-gnu-conditional-omitted-operand + +ONLY_ACTIVE_ARCH[config=Debug] = YES +GCC_OPTIMIZATION_LEVEL[config=Debug] = 0 +COPY_PHASE_STRIP[config=Debug] = NO + +MACOSX_DEPLOYMENT_TARGET = 10.9 +IPHONEOS_DEPLOYMENT_TARGET = 9.0 +WATCHOS_DEPLOYMENT_TARGET = 2.0 +TVOS_DEPLOYMENT_TARGET = 9.0 + +LD_RUNPATH_SEARCH_PATHS[sdk=macosx*] = $(inherited) @executable_path/../Frameworks @loader_path/../Frameworks; +LD_RUNPATH_SEARCH_PATHS[sdk=iphone*] = $(inherited) @executable_path/Frameworks @loader_path/Frameworks; +LD_RUNPATH_SEARCH_PATHS[sdk=watch*] = $(inherited) @executable_path/Frameworks @loader_path/Frameworks; +LD_RUNPATH_SEARCH_PATHS[sdk=appletv*] = $(inherited) @executable_path/Frameworks @loader_path/Frameworks; + +MODULEMAP_FILE = $(SRCROOT)/Sources/Sentry/Sentry.modulemap +//SWIFT_INCLUDE_PATHS = $(SRCROOT)/Sources/Sentry + +// SWIFT_VERSION is only recognized by Xcode 8 and higher. +// Prior versions of Xcode support only one Swift version. +// SWIFT_VERSION = 3.1 + +// Although `YES` is the default for iOS targets, command-line output via `xcodebuild -showBuildSettings` +// will not emit this value unless it is explicitly set. +SUPPORTS_MACCATALYST = YES + +CLANG_CXX_LANGUAGE_STANDARD = c++14 +CLANG_CXX_LIBRARY = libc++ From e1eb332f64a8231a29f69c1c2c9dddaa333d7ab5 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Thu, 22 Sep 2022 17:24:24 +0200 Subject: [PATCH 18/58] some update --- .../XCFramework.xcodeproj/project.pbxproj | 22 ++++++++++++++----- Sentry.xcodeproj/project.pbxproj | 12 ++++++++-- Sources/SentrySwift/Sentry.h | 9 -------- 3 files changed, 26 insertions(+), 17 deletions(-) diff --git a/Samples/Carthage-Validation/XCFramework/XCFramework.xcodeproj/project.pbxproj b/Samples/Carthage-Validation/XCFramework/XCFramework.xcodeproj/project.pbxproj index b5c2a6e6b35..2bb383a4784 100644 --- a/Samples/Carthage-Validation/XCFramework/XCFramework.xcodeproj/project.pbxproj +++ b/Samples/Carthage-Validation/XCFramework/XCFramework.xcodeproj/project.pbxproj @@ -13,18 +13,21 @@ 7BA13E38267B3F5400DEE308 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7BA13E37267B3F5400DEE308 /* Assets.xcassets */; }; 7BA13E3B267B3F5400DEE308 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7BA13E3A267B3F5400DEE308 /* Preview Assets.xcassets */; }; 7BA13E3E267B3F5400DEE308 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7BA13E3C267B3F5400DEE308 /* LaunchScreen.storyboard */; }; - 7BA13E47267B4A2D00DEE308 /* Sentry.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7BA13E46267B4A2D00DEE308 /* Sentry.xcframework */; }; - 7BA13E48267B4A2D00DEE308 /* Sentry.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 7BA13E46267B4A2D00DEE308 /* Sentry.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + D8145C1A28DC9C8A00494277 /* Sentry.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7BA13E46267B4A2D00DEE308 /* Sentry.xcframework */; }; + D8145C1B28DC9C8A00494277 /* Sentry.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 7BA13E46267B4A2D00DEE308 /* Sentry.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + D8145C2528DCB4E300494277 /* SentryObjc.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8145C2428DCB4E200494277 /* SentryObjc.xcframework */; }; + D8145C2628DCB4E300494277 /* SentryObjc.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D8145C2428DCB4E200494277 /* SentryObjc.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ - 7BA13E49267B4A2D00DEE308 /* Embed Frameworks */ = { + D8145C1C28DC9C8A00494277 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - 7BA13E48267B4A2D00DEE308 /* Sentry.xcframework in Embed Frameworks */, + D8145C2628DCB4E300494277 /* SentryObjc.xcframework in Embed Frameworks */, + D8145C1B28DC9C8A00494277 /* Sentry.xcframework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -41,6 +44,7 @@ 7BA13E3D267B3F5400DEE308 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 7BA13E3F267B3F5400DEE308 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 7BA13E46267B4A2D00DEE308 /* Sentry.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Sentry.xcframework; path = Carthage/Build/Sentry.xcframework; sourceTree = ""; }; + D8145C2428DCB4E200494277 /* SentryObjc.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = SentryObjc.xcframework; path = Carthage/Build/SentryObjc.xcframework; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -48,7 +52,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 7BA13E47267B4A2D00DEE308 /* Sentry.xcframework in Frameworks */, + D8145C2528DCB4E300494277 /* SentryObjc.xcframework in Frameworks */, + D8145C1A28DC9C8A00494277 /* Sentry.xcframework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -97,6 +102,7 @@ 7BA13E45267B4A2D00DEE308 /* Frameworks */ = { isa = PBXGroup; children = ( + D8145C2428DCB4E200494277 /* SentryObjc.xcframework */, 7BA13E46267B4A2D00DEE308 /* Sentry.xcframework */, ); name = Frameworks; @@ -112,7 +118,7 @@ 7BA13E2A267B3F5200DEE308 /* Sources */, 7BA13E2B267B3F5200DEE308 /* Frameworks */, 7BA13E2C267B3F5200DEE308 /* Resources */, - 7BA13E49267B4A2D00DEE308 /* Embed Frameworks */, + D8145C1C28DC9C8A00494277 /* Embed Frameworks */, ); buildRules = ( ); @@ -318,10 +324,12 @@ DEVELOPMENT_ASSET_PATHS = "\"XCFramework/Preview Content\""; DEVELOPMENT_TEAM = 97JCY7859U; ENABLE_PREVIEWS = YES; + FRAMEWORK_SEARCH_PATHS = ""; INFOPLIST_FILE = XCFramework/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", + "$(PROJECT_DIR)/Carthage/Build/", ); PRODUCT_BUNDLE_IDENTIFIER = io.sentry.carthage.XCFramework; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -339,10 +347,12 @@ DEVELOPMENT_ASSET_PATHS = "\"XCFramework/Preview Content\""; DEVELOPMENT_TEAM = 97JCY7859U; ENABLE_PREVIEWS = YES; + FRAMEWORK_SEARCH_PATHS = ""; INFOPLIST_FILE = XCFramework/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", + "$(PROJECT_DIR)/Carthage/Build/", ); PRODUCT_BUNDLE_IDENTIFIER = io.sentry.carthage.XCFramework; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index a3a395cd82d..b8f24a27679 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -645,11 +645,13 @@ A839D89A24864BA8003B7AFD /* SentrySystemEventBreadcrumbs.m in Sources */ = {isa = PBXBuildFile; fileRef = A839D89924864BA8003B7AFD /* SentrySystemEventBreadcrumbs.m */; }; D8019910286B089000C277F0 /* SentryCrashReportSinkTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D801990F286B089000C277F0 /* SentryCrashReportSinkTest.swift */; }; D804D4CC28DAF226005CECD1 /* Sentry.h in Headers */ = {isa = PBXBuildFile; fileRef = D804D4CB28DAF226005CECD1 /* Sentry.h */; settings = {ATTRIBUTES = (Public, ); }; }; - D804D4D228DAF242005CECD1 /* SentryObjc.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63AA759B1EB8AEF500D153DE /* SentryObjc.framework */; }; D808FB88281AB33C009A2A33 /* SentryUIEventTrackerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D808FB86281AB31D009A2A33 /* SentryUIEventTrackerTests.swift */; }; D808FB8B281BCE96009A2A33 /* TestSentrySwizzleWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = D808FB89281BCE46009A2A33 /* TestSentrySwizzleWrapper.swift */; }; D808FB92281BF6EC009A2A33 /* SentryUIEventTrackingIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D808FB90281BF6E9009A2A33 /* SentryUIEventTrackingIntegrationTests.swift */; }; D8137D54272B53070082656C /* TestSentrySpan.m in Sources */ = {isa = PBXBuildFile; fileRef = D8137D53272B53070082656C /* TestSentrySpan.m */; }; + D8145C2028DC9CC000494277 /* SentryObjc.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63AA759B1EB8AEF500D153DE /* SentryObjc.framework */; }; + D8145C2128DC9CC000494277 /* SentryObjc.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 63AA759B1EB8AEF500D153DE /* SentryObjc.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + D8145C2228DCA03F00494277 /* TypeAlias.swift in Sources */ = {isa = PBXBuildFile; fileRef = D89468AD28D223440006C83D /* TypeAlias.swift */; }; D81FDF12280EA1060045E0E4 /* SentryScreenShotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D81FDF10280EA0080045E0E4 /* SentryScreenShotTests.swift */; }; D8370B6A273DF1E900F66E2D /* SentryNSURLSessionTaskSearch.m in Sources */ = {isa = PBXBuildFile; fileRef = D8370B68273DF1E900F66E2D /* SentryNSURLSessionTaskSearch.m */; }; D8370B6C273DF20F00F66E2D /* SentryNSURLSessionTaskSearch.h in Headers */ = {isa = PBXBuildFile; fileRef = D8370B6B273DF20F00F66E2D /* SentryNSURLSessionTaskSearch.h */; }; @@ -723,6 +725,7 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( + D8145C2128DC9CC000494277 /* SentryObjc.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -1510,7 +1513,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D804D4D228DAF242005CECD1 /* SentryObjc.framework in Frameworks */, + D8145C2028DC9CC000494277 /* SentryObjc.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3742,6 +3745,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + D8145C2228DCA03F00494277 /* TypeAlias.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -3917,6 +3921,7 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = mh_dylib; MACOSX_DEPLOYMENT_TARGET = 10.10; ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = ""; @@ -3957,6 +3962,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = mh_dylib; MACOSX_DEPLOYMENT_TARGET = 10.10; ONLY_ACTIVE_ARCH = NO; OTHER_LDFLAGS = ""; @@ -4125,6 +4131,7 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = mh_dylib; MACOSX_DEPLOYMENT_TARGET = 10.10; ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = ""; @@ -4419,6 +4426,7 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = mh_dylib; MACOSX_DEPLOYMENT_TARGET = 10.10; ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = ""; diff --git a/Sources/SentrySwift/Sentry.h b/Sources/SentrySwift/Sentry.h index 784b3e34d33..af8644d48dc 100644 --- a/Sources/SentrySwift/Sentry.h +++ b/Sources/SentrySwift/Sentry.h @@ -1,13 +1,4 @@ -// -// Sentry.h -// Sentry -// -// Created by Dhiogo Brustolin on 21.09.22. -// Copyright © 2022 Sentry. All rights reserved. -// - #import -@import SentryObjc; //! Project version number for Sentry. FOUNDATION_EXPORT double SentryVersionNumber; From 1261c72f96653cd9c84ac2f26cd1643a3a8f3c72 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Thu, 22 Sep 2022 18:02:55 +0200 Subject: [PATCH 19/58] framework sample --- .../Framework.xcodeproj/project.pbxproj | 24 +++++++++++++++++++ .../Framework/input.xcfilelist | 3 ++- .../Framework/output.xcfilelist | 3 ++- 3 files changed, 28 insertions(+), 2 deletions(-) diff --git a/Samples/Carthage-Validation/Framework/Framework.xcodeproj/project.pbxproj b/Samples/Carthage-Validation/Framework/Framework.xcodeproj/project.pbxproj index 92fe2aa4783..ec747bb186a 100644 --- a/Samples/Carthage-Validation/Framework/Framework.xcodeproj/project.pbxproj +++ b/Samples/Carthage-Validation/Framework/Framework.xcodeproj/project.pbxproj @@ -14,8 +14,24 @@ 7BA13E60267B851D00DEE308 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7BA13E5F267B851D00DEE308 /* Preview Assets.xcassets */; }; 7BA13E63267B851D00DEE308 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7BA13E61267B851D00DEE308 /* LaunchScreen.storyboard */; }; 7BA13E74267B85A300DEE308 /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7BA13E71267B859500DEE308 /* Sentry.framework */; }; + D8145C2C28DCBE4100494277 /* SentryObjc.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8145C2B28DCBE4100494277 /* SentryObjc.framework */; }; + D8145C2D28DCBE4100494277 /* SentryObjc.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D8145C2B28DCBE4100494277 /* SentryObjc.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; /* End PBXBuildFile section */ +/* Begin PBXCopyFilesBuildPhase section */ + D8145C2E28DCBE4100494277 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + D8145C2D28DCBE4100494277 /* SentryObjc.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ 7BA13E53267B851B00DEE308 /* Framework.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Framework.app; sourceTree = BUILT_PRODUCTS_DIR; }; 7BA13E56267B851B00DEE308 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; @@ -30,6 +46,8 @@ 7BA13E71267B859500DEE308 /* Sentry.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Sentry.framework; sourceTree = ""; }; 7BA13E72267B859500DEE308 /* Sentry.framework.dSYM */ = {isa = PBXFileReference; lastKnownFileType = wrapper.dsym; path = Sentry.framework.dSYM; sourceTree = ""; }; 7BA13E73267B859500DEE308 /* EEC56027-C176-3ABE-8012-00961E008F29.bcsymbolmap */ = {isa = PBXFileReference; lastKnownFileType = text; path = "EEC56027-C176-3ABE-8012-00961E008F29.bcsymbolmap"; sourceTree = ""; }; + D8145C2728DCBCBD00494277 /* SentryObjc.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SentryObjc.framework; path = Carthage/Build/SentryObjc.framework; sourceTree = ""; }; + D8145C2B28DCBE4100494277 /* SentryObjc.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SentryObjc.framework; path = Carthage/Build/iOS/SentryObjc.framework; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -38,6 +56,7 @@ buildActionMask = 2147483647; files = ( 7BA13E74267B85A300DEE308 /* Sentry.framework in Frameworks */, + D8145C2C28DCBE4100494277 /* SentryObjc.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -86,6 +105,8 @@ 7BA13E6A267B856B00DEE308 /* Frameworks */ = { isa = PBXGroup; children = ( + D8145C2728DCBCBD00494277 /* SentryObjc.framework */, + D8145C2B28DCBE4100494277 /* SentryObjc.framework */, 7BA13E6F267B859500DEE308 /* iOS */, 7BA13E6B267B856B00DEE308 /* Sentry.framework */, ); @@ -115,6 +136,7 @@ 7BA13E4F267B851B00DEE308 /* Sources */, 7BA13E50267B851B00DEE308 /* Frameworks */, 7BA13E51267B851B00DEE308 /* Resources */, + D8145C2E28DCBE4100494277 /* Embed Frameworks */, ); buildRules = ( ); @@ -345,6 +367,7 @@ FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/iOS", + "$(PROJECT_DIR)/Carthage/Build", ); INFOPLIST_FILE = Framework/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -370,6 +393,7 @@ FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/iOS", + "$(PROJECT_DIR)/Carthage/Build", ); INFOPLIST_FILE = Framework/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( diff --git a/Samples/Carthage-Validation/Framework/input.xcfilelist b/Samples/Carthage-Validation/Framework/input.xcfilelist index 6c87cbf0d27..7b76fef4b6d 100644 --- a/Samples/Carthage-Validation/Framework/input.xcfilelist +++ b/Samples/Carthage-Validation/Framework/input.xcfilelist @@ -1 +1,2 @@ -$(SRCROOT)/Carthage/Build/iOS/Sentry.framework \ No newline at end of file +$(SRCROOT)/Carthage/Build/iOS/Sentry.framework +$(SRCROOT)/Carthage/Build/iOS/SentryObjc.framework diff --git a/Samples/Carthage-Validation/Framework/output.xcfilelist b/Samples/Carthage-Validation/Framework/output.xcfilelist index e2973ee20c3..5eb9e9d58e6 100644 --- a/Samples/Carthage-Validation/Framework/output.xcfilelist +++ b/Samples/Carthage-Validation/Framework/output.xcfilelist @@ -1 +1,2 @@ -$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Sentry.framework \ No newline at end of file +$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Sentry.framework +$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/SentryObjc.framework From 139aae656ef4d44fb30ad07eb324dda6ca10f843 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Thu, 22 Sep 2022 18:37:05 +0200 Subject: [PATCH 20/58] Update project.pbxproj --- .../Framework.xcodeproj/project.pbxproj | 16 ---------------- 1 file changed, 16 deletions(-) diff --git a/Samples/Carthage-Validation/Framework/Framework.xcodeproj/project.pbxproj b/Samples/Carthage-Validation/Framework/Framework.xcodeproj/project.pbxproj index ec747bb186a..decc5a2c57e 100644 --- a/Samples/Carthage-Validation/Framework/Framework.xcodeproj/project.pbxproj +++ b/Samples/Carthage-Validation/Framework/Framework.xcodeproj/project.pbxproj @@ -15,23 +15,8 @@ 7BA13E63267B851D00DEE308 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7BA13E61267B851D00DEE308 /* LaunchScreen.storyboard */; }; 7BA13E74267B85A300DEE308 /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7BA13E71267B859500DEE308 /* Sentry.framework */; }; D8145C2C28DCBE4100494277 /* SentryObjc.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8145C2B28DCBE4100494277 /* SentryObjc.framework */; }; - D8145C2D28DCBE4100494277 /* SentryObjc.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D8145C2B28DCBE4100494277 /* SentryObjc.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; /* End PBXBuildFile section */ -/* Begin PBXCopyFilesBuildPhase section */ - D8145C2E28DCBE4100494277 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - D8145C2D28DCBE4100494277 /* SentryObjc.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - /* Begin PBXFileReference section */ 7BA13E53267B851B00DEE308 /* Framework.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Framework.app; sourceTree = BUILT_PRODUCTS_DIR; }; 7BA13E56267B851B00DEE308 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; @@ -136,7 +121,6 @@ 7BA13E4F267B851B00DEE308 /* Sources */, 7BA13E50267B851B00DEE308 /* Frameworks */, 7BA13E51267B851B00DEE308 /* Resources */, - D8145C2E28DCBE4100494277 /* Embed Frameworks */, ); buildRules = ( ); From 09d2e492b2a79d50c01149bd5a1b1dd350525b9a Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Thu, 22 Sep 2022 20:29:29 +0200 Subject: [PATCH 21/58] Update Makefile --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 33cd6820f1b..201b4405099 100644 --- a/Makefile +++ b/Makefile @@ -63,7 +63,7 @@ build-xcframework-sample: build-framework: @echo "--> Carthage: creating Sentry framework" ./scripts/carthage-xcode12-workaround.sh build --no-skip-current - ./scripts/carthage-xcode12-workaround.sh archive Sentry --output Sentry.framework.zip + ./scripts/carthage-xcode12-workaround.sh archive Sentry SentryObjc --output Sentry.framework.zip build-framework-sample: ./scripts/create-carthage-json.sh From 6f5d035d08df2a44fbf36584b10230c2a5596e03 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Thu, 29 Sep 2022 14:51:46 +0200 Subject: [PATCH 22/58] Update Sentry.podspec --- Sentry.podspec | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/Sentry.podspec b/Sentry.podspec index 9df635a26f9..5d84428ff42 100644 --- a/Sentry.podspec +++ b/Sentry.podspec @@ -22,14 +22,21 @@ Pod::Spec.new do |s| 'CLANG_CXX_LIBRARY' => 'libc++' } - s.default_subspecs = ['Core'] + s.default_subspecs = ['Sentry', 'SentryObjc'] - s.subspec 'Core' do |sp| + s.subspec 'Sentry' do |sp| + sp.source_files = "Sources/SentrySwift/**/*.{swift}", + sp.public_header_files = + "Sources/SentrySwift/*.h" + end + + s.subspec 'SentryObjc' do |sp| sp.source_files = "Sources/Sentry/**/*.{h,hpp,m,mm,c,cpp}", "Sources/SentryCrash/**/*.{h,hpp,m,mm,c,cpp}" sp.public_header_files = "Sources/Sentry/Public/*.h" - end + + end From 45100a604048b6af5a0e26ea01384ec7084bdfb7 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Fri, 30 Sep 2022 11:45:29 +0200 Subject: [PATCH 23/58] update podspec --- .../iOS-ObjectiveC/AppDelegate.m | 3 +-- Sentry.podspec | 5 +++-- Sentry.xcodeproj/project.pbxproj | 18 +++++++++++++----- .../Sentry/Public/{Sentry.h => SentryObjc.h} | 0 .../{Sentry.modulemap => SentryObjc.modulemap} | 2 +- Sources/SentrySwift/Sentry.h | 1 + Sources/SentrySwift/Sentry.modulemap | 10 ++++++++++ 7 files changed, 29 insertions(+), 10 deletions(-) rename Sources/Sentry/Public/{Sentry.h => SentryObjc.h} (100%) rename Sources/Sentry/{Sentry.modulemap => SentryObjc.modulemap} (67%) create mode 100644 Sources/SentrySwift/Sentry.modulemap diff --git a/Samples/iOS-ObjectiveC/iOS-ObjectiveC/AppDelegate.m b/Samples/iOS-ObjectiveC/iOS-ObjectiveC/AppDelegate.m index f6e077fb8b8..de97cde304e 100644 --- a/Samples/iOS-ObjectiveC/iOS-ObjectiveC/AppDelegate.m +++ b/Samples/iOS-ObjectiveC/iOS-ObjectiveC/AppDelegate.m @@ -1,6 +1,6 @@ #import "AppDelegate.h" @import CoreData; -@import SentryObjc; +@import Sentry; @interface AppDelegate () @@ -13,7 +13,6 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. - [SentrySDK startWithConfigureOptions:^(SentryOptions *options) { options.dsn = @"https://a92d50327ac74b8b9aa4ea80eccfb267@o447951.ingest.sentry.io/5428557"; options.debug = YES; diff --git a/Sentry.podspec b/Sentry.podspec index fe4f7edd05c..c31c851f7f7 100644 --- a/Sentry.podspec +++ b/Sentry.podspec @@ -21,6 +21,7 @@ Pod::Spec.new do |s| 'CLANG_CXX_LANGUAGE_STANDARD' => 'c++14', 'CLANG_CXX_LIBRARY' => 'libc++' } + s.module_map = "Sources/SentrySwift/Sentry.modulemap" s.default_subspecs = ['Sentry', 'SentryObjc'] @@ -31,11 +32,11 @@ Pod::Spec.new do |s| end s.subspec 'SentryObjc' do |sp| - sp.source_files = "Sources/Sentry/**/*.{h,hpp,m,mm,c,cpp}", - "Sources/SentryCrash/**/*.{h,hpp,m,mm,c,cpp}" + sp.source_files = "Sources/Sentry/**/*.{h,hpp,m,mm,c,cpp}", "Sources/SentryCrash/**/*.{h,hpp,m,mm,c,cpp}" sp.public_header_files = "Sources/Sentry/Public/*.h" + end diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index a20f9023e29..3dd766a7ff8 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -130,7 +130,7 @@ 63AA766A1EB8CB2F00D153DE /* SentryObjc.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63AA759B1EB8AEF500D153DE /* SentryObjc.framework */; settings = {ATTRIBUTES = (Required, ); }; }; 63AA76701EB8CB4B00D153DE /* SentryTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 63AA75951EB8AEDB00D153DE /* SentryTests.m */; }; 63AA767A1EB8D20500D153DE /* SentryLog.m in Sources */ = {isa = PBXBuildFile; fileRef = 63AA76781EB8D20500D153DE /* SentryLog.m */; }; - 63AA76971EB9C1C200D153DE /* Sentry.h in Headers */ = {isa = PBXBuildFile; fileRef = 63AA76931EB9C1C200D153DE /* Sentry.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 63AA76971EB9C1C200D153DE /* SentryObjc.h in Headers */ = {isa = PBXBuildFile; fileRef = 63AA76931EB9C1C200D153DE /* SentryObjc.h */; settings = {ATTRIBUTES = (Public, ); }; }; 63AA76981EB9C1C200D153DE /* SentryClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 63AA76941EB9C1C200D153DE /* SentryClient.h */; settings = {ATTRIBUTES = (Public, ); }; }; 63AA76991EB9C1C200D153DE /* SentryDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 63AA76951EB9C1C200D153DE /* SentryDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; 63AA769A1EB9C1C200D153DE /* SentryLog.h in Headers */ = {isa = PBXBuildFile; fileRef = 63AA76961EB9C1C200D153DE /* SentryLog.h */; settings = {ATTRIBUTES = (Private, ); }; }; @@ -869,7 +869,7 @@ 63AA75ED1EB8B3C400D153DE /* SentryClient.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SentryClient.m; sourceTree = ""; }; 63AA76651EB8CB2F00D153DE /* SentryTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SentryTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 63AA76781EB8D20500D153DE /* SentryLog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SentryLog.m; sourceTree = ""; }; - 63AA76931EB9C1C200D153DE /* Sentry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Sentry.h; path = Public/Sentry.h; sourceTree = ""; }; + 63AA76931EB9C1C200D153DE /* SentryObjc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryObjc.h; path = Public/SentryObjc.h; sourceTree = ""; }; 63AA76941EB9C1C200D153DE /* SentryClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryClient.h; path = Public/SentryClient.h; sourceTree = ""; }; 63AA76951EB9C1C200D153DE /* SentryDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryDefines.h; path = Public/SentryDefines.h; sourceTree = ""; }; 63AA76961EB9C1C200D153DE /* SentryLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryLog.h; path = include/SentryLog.h; sourceTree = ""; }; @@ -1457,6 +1457,8 @@ D8370B6B273DF20F00F66E2D /* SentryNSURLSessionTaskSearch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryNSURLSessionTaskSearch.h; path = include/SentryNSURLSessionTaskSearch.h; sourceTree = ""; }; D84793242788737D00BE8E99 /* SentryByteCountFormatter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryByteCountFormatter.m; sourceTree = ""; }; D8479327278873A100BE8E99 /* SentryByteCountFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryByteCountFormatter.h; path = include/SentryByteCountFormatter.h; sourceTree = ""; }; + D847D37528E6D9D5006795F9 /* SentryObjc.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; path = SentryObjc.modulemap; sourceTree = ""; }; + D847D37628E6E046006795F9 /* Sentry.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; path = Sentry.modulemap; sourceTree = ""; }; D85596F1280580F10041FF8B /* SentryScreenshotIntegration.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryScreenshotIntegration.m; sourceTree = ""; }; D855AD61286ED6A4002573E1 /* SentryCrashTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryCrashTests.m; sourceTree = ""; }; D855B3E727D652AF00BCED76 /* SentryCoreDataTrackingIntegrationTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryCoreDataTrackingIntegrationTest.swift; sourceTree = ""; }; @@ -1951,7 +1953,8 @@ 630436011EBCB8CA00C4D3FA /* Protocol */, 8ECC673625C23936000E2BF6 /* Transaction */, 8E25C94F25F836AB00DC215B /* Tools */, - 63AA76931EB9C1C200D153DE /* Sentry.h */, + 63AA76931EB9C1C200D153DE /* SentryObjc.h */, + D847D37528E6D9D5006795F9 /* SentryObjc.modulemap */, 7B6D125E265F778500C9BE4B /* PrivateSentrySDKOnly.h */, 7B6D1260265F784000C9BE4B /* PrivateSentrySDKOnly.m */, 63AA76941EB9C1C200D153DE /* SentryClient.h */, @@ -2882,6 +2885,7 @@ children = ( D804D4CB28DAF226005CECD1 /* Sentry.h */, D89468AD28D223440006C83D /* TypeAlias.swift */, + D847D37628E6E046006795F9 /* Sentry.modulemap */, ); path = SentrySwift; sourceTree = ""; @@ -3011,7 +3015,7 @@ 63FE710320DA4C1000CDBAE8 /* SentryCrashMachineContext_Apple.h in Headers */, D8479328278873A100BE8E99 /* SentryByteCountFormatter.h in Headers */, 63AA76981EB9C1C200D153DE /* SentryClient.h in Headers */, - 63AA76971EB9C1C200D153DE /* Sentry.h in Headers */, + 63AA76971EB9C1C200D153DE /* SentryObjc.h in Headers */, 0A9E917128DC7E7000FB4182 /* SentryInternalDefines.h in Headers */, 63FE711F20DA4C1000CDBAE8 /* SentryCrashObjC.h in Headers */, 7BC3936825B1AB3E004F03D3 /* SentryLevelMapper.h in Headers */, @@ -3256,7 +3260,7 @@ 63AA759A1EB8AEF500D153DE = { CreatedOnToolsVersion = 8.3.2; LastSwiftMigration = 1400; - ProvisioningStyle = Manual; + ProvisioningStyle = Automatic; }; 63AA76641EB8CB2F00D153DE = { CreatedOnToolsVersion = 8.3.2; @@ -3943,6 +3947,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = mh_dylib; MACOSX_DEPLOYMENT_TARGET = 10.10; + MODULEMAP_FILE = "$(SRCROOT)/Sources/Sentry/SentryObjc.modulemap"; ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.SentryObjc; @@ -3984,6 +3989,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = mh_dylib; MACOSX_DEPLOYMENT_TARGET = 10.10; + MODULEMAP_FILE = "$(SRCROOT)/Sources/Sentry/SentryObjc.modulemap"; ONLY_ACTIVE_ARCH = NO; OTHER_LDFLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.SentryObjc; @@ -4153,6 +4159,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = mh_dylib; MACOSX_DEPLOYMENT_TARGET = 10.10; + MODULEMAP_FILE = "$(SRCROOT)/Sources/Sentry/SentryObjc.modulemap"; ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.SentryObjc; @@ -4448,6 +4455,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = mh_dylib; MACOSX_DEPLOYMENT_TARGET = 10.10; + MODULEMAP_FILE = "$(SRCROOT)/Sources/Sentry/SentryObjc.modulemap"; ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = ""; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.SentryObjc; diff --git a/Sources/Sentry/Public/Sentry.h b/Sources/Sentry/Public/SentryObjc.h similarity index 100% rename from Sources/Sentry/Public/Sentry.h rename to Sources/Sentry/Public/SentryObjc.h diff --git a/Sources/Sentry/Sentry.modulemap b/Sources/Sentry/SentryObjc.modulemap similarity index 67% rename from Sources/Sentry/Sentry.modulemap rename to Sources/Sentry/SentryObjc.modulemap index 6d6d5fd2920..87c26884bfd 100644 --- a/Sources/Sentry/Sentry.modulemap +++ b/Sources/Sentry/SentryObjc.modulemap @@ -1,5 +1,5 @@ framework module SentryObjc { - umbrella header "Sentry.h" + umbrella header "SentryObjc.h" export * module * { export * } diff --git a/Sources/SentrySwift/Sentry.h b/Sources/SentrySwift/Sentry.h index af8644d48dc..f32e803c769 100644 --- a/Sources/SentrySwift/Sentry.h +++ b/Sources/SentrySwift/Sentry.h @@ -1,4 +1,5 @@ #import +@import SentryObjc; //! Project version number for Sentry. FOUNDATION_EXPORT double SentryVersionNumber; diff --git a/Sources/SentrySwift/Sentry.modulemap b/Sources/SentrySwift/Sentry.modulemap new file mode 100644 index 00000000000..a65d08073a1 --- /dev/null +++ b/Sources/SentrySwift/Sentry.modulemap @@ -0,0 +1,10 @@ +framework module Sentry { + export * +} + +framework module SentryObjc { + umbrella header "SentryObjc.h" + + export * + module * { export * } +} From 51ca606d198fb9fc7a5b550f91c4a80c52d13223 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Fri, 30 Sep 2022 13:59:12 +0200 Subject: [PATCH 24/58] some fix --- Sentry.xcodeproj/project.pbxproj | 2 -- 1 file changed, 2 deletions(-) diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index 3dd766a7ff8..d239e651a2b 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -656,7 +656,6 @@ D8137D54272B53070082656C /* TestSentrySpan.m in Sources */ = {isa = PBXBuildFile; fileRef = D8137D53272B53070082656C /* TestSentrySpan.m */; }; D8145C2028DC9CC000494277 /* SentryObjc.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63AA759B1EB8AEF500D153DE /* SentryObjc.framework */; }; D8145C2128DC9CC000494277 /* SentryObjc.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 63AA759B1EB8AEF500D153DE /* SentryObjc.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - D8145C2228DCA03F00494277 /* TypeAlias.swift in Sources */ = {isa = PBXBuildFile; fileRef = D89468AD28D223440006C83D /* TypeAlias.swift */; }; D81FDF12280EA1060045E0E4 /* SentryScreenShotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D81FDF10280EA0080045E0E4 /* SentryScreenShotTests.swift */; }; D8370B6A273DF1E900F66E2D /* SentryNSURLSessionTaskSearch.m in Sources */ = {isa = PBXBuildFile; fileRef = D8370B68273DF1E900F66E2D /* SentryNSURLSessionTaskSearch.m */; }; D8370B6C273DF20F00F66E2D /* SentryNSURLSessionTaskSearch.h in Headers */ = {isa = PBXBuildFile; fileRef = D8370B6B273DF20F00F66E2D /* SentryNSURLSessionTaskSearch.h */; }; @@ -3769,7 +3768,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - D8145C2228DCA03F00494277 /* TypeAlias.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; From 5420a7217b6b906fc2bbcde66fc9f79a74c4618b Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Fri, 30 Sep 2022 15:06:33 +0200 Subject: [PATCH 25/58] Cocoa pod should work --- Sentry.podspec | 9 ++++----- Sentry.xcodeproj/project.pbxproj | 6 ++++-- Sources/SentrySwift/Sentry.h | 1 + Sources/SentrySwift/Sentry.modulemap | 10 ---------- Sources/SentrySwift/Sentry.swift | 1 + 5 files changed, 10 insertions(+), 17 deletions(-) delete mode 100644 Sources/SentrySwift/Sentry.modulemap create mode 100644 Sources/SentrySwift/Sentry.swift diff --git a/Sentry.podspec b/Sentry.podspec index c31c851f7f7..f8cd64be5b7 100644 --- a/Sentry.podspec +++ b/Sentry.podspec @@ -14,6 +14,7 @@ Pod::Spec.new do |s| s.watchos.deployment_target = "2.0" s.module_name = "Sentry" s.requires_arc = true + s.swift_versions = "5.0" s.frameworks = 'Foundation' s.libraries = 'z', 'c++' s.pod_target_xcconfig = { @@ -21,14 +22,12 @@ Pod::Spec.new do |s| 'CLANG_CXX_LANGUAGE_STANDARD' => 'c++14', 'CLANG_CXX_LIBRARY' => 'libc++' } - s.module_map = "Sources/SentrySwift/Sentry.modulemap" - + s.default_subspecs = ['Sentry', 'SentryObjc'] s.subspec 'Sentry' do |sp| - sp.source_files = "Sources/SentrySwift/**/*.{swift}", - sp.public_header_files = - "Sources/SentrySwift/*.h" + sp.source_files = "Sources/SentrySwift/**/*.{swift}" + sp.exclude_files = "Sources/SentrySwift/TypeAlias.swift" end s.subspec 'SentryObjc' do |sp| diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index d239e651a2b..c5dc7712f93 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -661,6 +661,7 @@ D8370B6C273DF20F00F66E2D /* SentryNSURLSessionTaskSearch.h in Headers */ = {isa = PBXBuildFile; fileRef = D8370B6B273DF20F00F66E2D /* SentryNSURLSessionTaskSearch.h */; }; D84793262788737D00BE8E99 /* SentryByteCountFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = D84793242788737D00BE8E99 /* SentryByteCountFormatter.m */; }; D8479328278873A100BE8E99 /* SentryByteCountFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = D8479327278873A100BE8E99 /* SentryByteCountFormatter.h */; }; + D847D38B28E719D6006795F9 /* Sentry.swift in Sources */ = {isa = PBXBuildFile; fileRef = D847D38A28E719C9006795F9 /* Sentry.swift */; }; D85596F3280580F10041FF8B /* SentryScreenshotIntegration.m in Sources */ = {isa = PBXBuildFile; fileRef = D85596F1280580F10041FF8B /* SentryScreenshotIntegration.m */; }; D855AD62286ED6A4002573E1 /* SentryCrashTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D855AD61286ED6A4002573E1 /* SentryCrashTests.m */; }; D855B3E827D652AF00BCED76 /* SentryCoreDataTrackingIntegrationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D855B3E727D652AF00BCED76 /* SentryCoreDataTrackingIntegrationTest.swift */; }; @@ -1457,7 +1458,7 @@ D84793242788737D00BE8E99 /* SentryByteCountFormatter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryByteCountFormatter.m; sourceTree = ""; }; D8479327278873A100BE8E99 /* SentryByteCountFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryByteCountFormatter.h; path = include/SentryByteCountFormatter.h; sourceTree = ""; }; D847D37528E6D9D5006795F9 /* SentryObjc.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; path = SentryObjc.modulemap; sourceTree = ""; }; - D847D37628E6E046006795F9 /* Sentry.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; path = Sentry.modulemap; sourceTree = ""; }; + D847D38A28E719C9006795F9 /* Sentry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Sentry.swift; sourceTree = ""; }; D85596F1280580F10041FF8B /* SentryScreenshotIntegration.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryScreenshotIntegration.m; sourceTree = ""; }; D855AD61286ED6A4002573E1 /* SentryCrashTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryCrashTests.m; sourceTree = ""; }; D855B3E727D652AF00BCED76 /* SentryCoreDataTrackingIntegrationTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryCoreDataTrackingIntegrationTest.swift; sourceTree = ""; }; @@ -2884,7 +2885,7 @@ children = ( D804D4CB28DAF226005CECD1 /* Sentry.h */, D89468AD28D223440006C83D /* TypeAlias.swift */, - D847D37628E6E046006795F9 /* Sentry.modulemap */, + D847D38A28E719C9006795F9 /* Sentry.swift */, ); path = SentrySwift; sourceTree = ""; @@ -3768,6 +3769,7 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( + D847D38B28E719D6006795F9 /* Sentry.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Sources/SentrySwift/Sentry.h b/Sources/SentrySwift/Sentry.h index f32e803c769..f54ce8b1e6e 100644 --- a/Sources/SentrySwift/Sentry.h +++ b/Sources/SentrySwift/Sentry.h @@ -1,4 +1,5 @@ #import + @import SentryObjc; //! Project version number for Sentry. diff --git a/Sources/SentrySwift/Sentry.modulemap b/Sources/SentrySwift/Sentry.modulemap deleted file mode 100644 index a65d08073a1..00000000000 --- a/Sources/SentrySwift/Sentry.modulemap +++ /dev/null @@ -1,10 +0,0 @@ -framework module Sentry { - export * -} - -framework module SentryObjc { - umbrella header "SentryObjc.h" - - export * - module * { export * } -} diff --git a/Sources/SentrySwift/Sentry.swift b/Sources/SentrySwift/Sentry.swift new file mode 100644 index 00000000000..fecc4ab4499 --- /dev/null +++ b/Sources/SentrySwift/Sentry.swift @@ -0,0 +1 @@ +import Foundation From 2c7a9286a652f8c176908ed32c533f5a265d9dae Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Fri, 30 Sep 2022 15:42:00 +0200 Subject: [PATCH 26/58] Fix tests --- Tests/SentryTests/Networking/SentryDsnTests.m | 2 +- Tests/SentryTests/Protocol/SentryAttachment+Equality.h | 2 +- Tests/SentryTests/SentryInterfacesTests.m | 2 +- Tests/SentryTests/SentryKSCrashReportConverterTests.m | 2 +- Tests/SentryTests/SentryScope+Properties.h | 2 +- Tests/SentryTests/SentryTests.m | 2 +- scripts/add-sentry-to-vlc.patch | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Tests/SentryTests/Networking/SentryDsnTests.m b/Tests/SentryTests/Networking/SentryDsnTests.m index 6cd93319123..7aa6b753d40 100644 --- a/Tests/SentryTests/Networking/SentryDsnTests.m +++ b/Tests/SentryTests/Networking/SentryDsnTests.m @@ -2,7 +2,7 @@ #import "SentryError.h" #import "SentryMeta.h" #import "SentryNSURLRequest.h" -#import +#import #import @interface SentryDsnTests : XCTestCase diff --git a/Tests/SentryTests/Protocol/SentryAttachment+Equality.h b/Tests/SentryTests/Protocol/SentryAttachment+Equality.h index 1920fa2ba36..5a75d9c5390 100644 --- a/Tests/SentryTests/Protocol/SentryAttachment+Equality.h +++ b/Tests/SentryTests/Protocol/SentryAttachment+Equality.h @@ -1,4 +1,4 @@ -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/Tests/SentryTests/SentryInterfacesTests.m b/Tests/SentryTests/SentryInterfacesTests.m index bba629d5b00..64237804eff 100644 --- a/Tests/SentryTests/SentryInterfacesTests.m +++ b/Tests/SentryTests/SentryInterfacesTests.m @@ -3,7 +3,7 @@ #import "SentryFileManager.h" #import "SentryId.h" #import "SentryMeta.h" -#import +#import #import @interface SentryInterfacesTests : XCTestCase diff --git a/Tests/SentryTests/SentryKSCrashReportConverterTests.m b/Tests/SentryTests/SentryKSCrashReportConverterTests.m index a3065fa79a7..22114d25667 100644 --- a/Tests/SentryTests/SentryKSCrashReportConverterTests.m +++ b/Tests/SentryTests/SentryKSCrashReportConverterTests.m @@ -2,7 +2,7 @@ #import "SentryCrashReportConverter.h" #import "SentryInAppLogic.h" #import "SentryMechanismMeta.h" -#import +#import #import @interface SentryCrashReportConverterTests : XCTestCase diff --git a/Tests/SentryTests/SentryScope+Properties.h b/Tests/SentryTests/SentryScope+Properties.h index 83fd2a6f5ef..85dae41ef1d 100644 --- a/Tests/SentryTests/SentryScope+Properties.h +++ b/Tests/SentryTests/SentryScope+Properties.h @@ -1,4 +1,4 @@ -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/Tests/SentryTests/SentryTests.m b/Tests/SentryTests/SentryTests.m index 1594374feb0..d1ff1d5b528 100644 --- a/Tests/SentryTests/SentryTests.m +++ b/Tests/SentryTests/SentryTests.m @@ -5,7 +5,7 @@ #import "SentryMessage.h" #import "SentryMeta.h" #import "SentrySDK+Private.h" -#import +#import #import @interface diff --git a/scripts/add-sentry-to-vlc.patch b/scripts/add-sentry-to-vlc.patch index 4b9bb771cd8..9ce3713a297 100644 --- a/scripts/add-sentry-to-vlc.patch +++ b/scripts/add-sentry-to-vlc.patch @@ -18,7 +18,7 @@ index 2c1fc802..21495fd7 100644 #import "VLCAppDelegate.h" #import "VLC-Swift.h" -+#import ++@import Sentry; @interface VLCAppDelegate () { From 18a49001f85f4a48a338a336cf50bed2e4ca69f2 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Mon, 3 Oct 2022 10:58:01 +0200 Subject: [PATCH 27/58] Adding Sentry header --- Sentry.podspec | 3 ++- Sentry.xcodeproj/project.pbxproj | 12 +++++++++++- Sources/Configuration/CocoaPodHeader/Sentry.h | 6 ++++++ 3 files changed, 19 insertions(+), 2 deletions(-) create mode 100644 Sources/Configuration/CocoaPodHeader/Sentry.h diff --git a/Sentry.podspec b/Sentry.podspec index f8cd64be5b7..9292ec89fd9 100644 --- a/Sentry.podspec +++ b/Sentry.podspec @@ -24,7 +24,8 @@ Pod::Spec.new do |s| } s.default_subspecs = ['Sentry', 'SentryObjc'] - + s.public_header_files = "Sources/Configuration/CocoaPodHeader/Sentry.h" + s.subspec 'Sentry' do |sp| sp.source_files = "Sources/SentrySwift/**/*.{swift}" sp.exclude_files = "Sources/SentrySwift/TypeAlias.swift" diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index c5dc7712f93..25eafa579cb 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -1357,7 +1357,7 @@ 844DA7F6282435CD00E6B62E /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; 844DA80328246D5000E6B62E /* .oclint */ = {isa = PBXFileReference; lastKnownFileType = text; path = .oclint; sourceTree = ""; }; 844DA80428246D5000E6B62E /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; - 844DA80528246D5000E6B62E /* Sentry.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; path = Sentry.podspec; sourceTree = ""; }; + 844DA80528246D5000E6B62E /* Sentry.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; path = Sentry.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 844DA80628246D5000E6B62E /* .craft.yml */ = {isa = PBXFileReference; lastKnownFileType = text.yaml; path = .craft.yml; sourceTree = ""; }; 844DA80728246D5000E6B62E /* Gemfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; path = Gemfile; sourceTree = ""; }; 844DA80828246D5000E6B62E /* .gitmodules */ = {isa = PBXFileReference; lastKnownFileType = text; path = .gitmodules; sourceTree = ""; }; @@ -1469,6 +1469,7 @@ D859696D27BECDA20036A46E /* SentryCoreDataTracker.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryCoreDataTracker.m; sourceTree = ""; }; D859697127BECDD20036A46E /* SentryCoreDataSwizzling.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryCoreDataSwizzling.m; sourceTree = ""; }; D85D3BE9278DF63D001B2889 /* SentryByteCountFormatterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryByteCountFormatterTests.swift; sourceTree = ""; }; + D85F8AAA28EAD7BC00503E1A /* Sentry.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Sentry.h; sourceTree = ""; }; D8603DD4284F8497000E1227 /* SentryBaggage.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryBaggage.m; sourceTree = ""; }; D8603DD7284F894C000E1227 /* SentryBaggage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryBaggage.h; path = include/SentryBaggage.h; sourceTree = ""; }; D867063A27C3BC2400048851 /* SentryCoreDataTrackingIntegration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryCoreDataTrackingIntegration.h; path = include/SentryCoreDataTrackingIntegration.h; sourceTree = ""; }; @@ -1933,6 +1934,7 @@ 63AA75A31EB8AFDF00D153DE /* Configuration */ = { isa = PBXGroup; children = ( + D85F8AA928EAD7A300503E1A /* CocoaPodHeader */, 63AA75C51EB8B00100D153DE /* SentryObjc.xcconfig */, D8145C1928DC616D00494277 /* Sentry.xcconfig */, ); @@ -2858,6 +2860,14 @@ name = CoreData; sourceTree = ""; }; + D85F8AA928EAD7A300503E1A /* CocoaPodHeader */ = { + isa = PBXGroup; + children = ( + D85F8AAA28EAD7BC00503E1A /* Sentry.h */, + ); + path = CocoaPodHeader; + sourceTree = ""; + }; D875ED09276CC83200422FAC /* IO */ = { isa = PBXGroup; children = ( diff --git a/Sources/Configuration/CocoaPodHeader/Sentry.h b/Sources/Configuration/CocoaPodHeader/Sentry.h new file mode 100644 index 00000000000..df13f1d8965 --- /dev/null +++ b/Sources/Configuration/CocoaPodHeader/Sentry.h @@ -0,0 +1,6 @@ +#ifndef Sentry_h +#define Sentry_h + +#import "Sentry-umbrella.h" + +#endif From e80fadc73e7f764b0b9b47cbc210deb05a2a18e5 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Mon, 3 Oct 2022 11:05:43 +0200 Subject: [PATCH 28/58] Update Sentry.podspec --- Sentry.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sentry.podspec b/Sentry.podspec index 9292ec89fd9..14d0a50eeb6 100644 --- a/Sentry.podspec +++ b/Sentry.podspec @@ -24,7 +24,7 @@ Pod::Spec.new do |s| } s.default_subspecs = ['Sentry', 'SentryObjc'] - s.public_header_files = "Sources/Configuration/CocoaPodHeader/Sentry.h" + s.source_files = "Sources/Configuration/CocoaPodHeader/Sentry.h" s.subspec 'Sentry' do |sp| sp.source_files = "Sources/SentrySwift/**/*.{swift}" From 99f7dc7282c234465a536976356089c597c78864 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Mon, 3 Oct 2022 11:26:13 +0200 Subject: [PATCH 29/58] Update add-sentry-to-vlc.patch --- scripts/add-sentry-to-vlc.patch | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/add-sentry-to-vlc.patch b/scripts/add-sentry-to-vlc.patch index 9ce3713a297..4b9bb771cd8 100644 --- a/scripts/add-sentry-to-vlc.patch +++ b/scripts/add-sentry-to-vlc.patch @@ -18,7 +18,7 @@ index 2c1fc802..21495fd7 100644 #import "VLCAppDelegate.h" #import "VLC-Swift.h" -+@import Sentry; ++#import @interface VLCAppDelegate () { From 18d0be601799a9cba809786ad9ff5e889e978e08 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Mon, 3 Oct 2022 11:48:29 +0200 Subject: [PATCH 30/58] Reverting SentryObjc.h to Sentry.h --- Sentry.podspec | 1 - Sentry.xcodeproj/project.pbxproj | 18 ++++-------------- Sources/Configuration/CocoaPodHeader/Sentry.h | 6 ------ .../Sentry/Public/{SentryObjc.h => Sentry.h} | 0 Sources/Sentry/SentryObjc.modulemap | 2 +- Tests/SentryTests/Networking/SentryDsnTests.m | 2 +- .../Protocol/SentryAttachment+Equality.h | 2 +- Tests/SentryTests/SentryInterfacesTests.m | 2 +- .../SentryKSCrashReportConverterTests.m | 2 +- Tests/SentryTests/SentryScope+Properties.h | 2 +- Tests/SentryTests/SentryTests.m | 2 +- 11 files changed, 11 insertions(+), 28 deletions(-) delete mode 100644 Sources/Configuration/CocoaPodHeader/Sentry.h rename Sources/Sentry/Public/{SentryObjc.h => Sentry.h} (100%) diff --git a/Sentry.podspec b/Sentry.podspec index 14d0a50eeb6..e9a03a52341 100644 --- a/Sentry.podspec +++ b/Sentry.podspec @@ -24,7 +24,6 @@ Pod::Spec.new do |s| } s.default_subspecs = ['Sentry', 'SentryObjc'] - s.source_files = "Sources/Configuration/CocoaPodHeader/Sentry.h" s.subspec 'Sentry' do |sp| sp.source_files = "Sources/SentrySwift/**/*.{swift}" diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index 25eafa579cb..69a33456f59 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -130,7 +130,7 @@ 63AA766A1EB8CB2F00D153DE /* SentryObjc.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63AA759B1EB8AEF500D153DE /* SentryObjc.framework */; settings = {ATTRIBUTES = (Required, ); }; }; 63AA76701EB8CB4B00D153DE /* SentryTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 63AA75951EB8AEDB00D153DE /* SentryTests.m */; }; 63AA767A1EB8D20500D153DE /* SentryLog.m in Sources */ = {isa = PBXBuildFile; fileRef = 63AA76781EB8D20500D153DE /* SentryLog.m */; }; - 63AA76971EB9C1C200D153DE /* SentryObjc.h in Headers */ = {isa = PBXBuildFile; fileRef = 63AA76931EB9C1C200D153DE /* SentryObjc.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 63AA76971EB9C1C200D153DE /* Sentry.h in Headers */ = {isa = PBXBuildFile; fileRef = 63AA76931EB9C1C200D153DE /* Sentry.h */; settings = {ATTRIBUTES = (Public, ); }; }; 63AA76981EB9C1C200D153DE /* SentryClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 63AA76941EB9C1C200D153DE /* SentryClient.h */; settings = {ATTRIBUTES = (Public, ); }; }; 63AA76991EB9C1C200D153DE /* SentryDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 63AA76951EB9C1C200D153DE /* SentryDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; 63AA769A1EB9C1C200D153DE /* SentryLog.h in Headers */ = {isa = PBXBuildFile; fileRef = 63AA76961EB9C1C200D153DE /* SentryLog.h */; settings = {ATTRIBUTES = (Private, ); }; }; @@ -869,7 +869,7 @@ 63AA75ED1EB8B3C400D153DE /* SentryClient.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SentryClient.m; sourceTree = ""; }; 63AA76651EB8CB2F00D153DE /* SentryTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SentryTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 63AA76781EB8D20500D153DE /* SentryLog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SentryLog.m; sourceTree = ""; }; - 63AA76931EB9C1C200D153DE /* SentryObjc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryObjc.h; path = Public/SentryObjc.h; sourceTree = ""; }; + 63AA76931EB9C1C200D153DE /* Sentry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Sentry.h; path = Public/Sentry.h; sourceTree = ""; }; 63AA76941EB9C1C200D153DE /* SentryClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryClient.h; path = Public/SentryClient.h; sourceTree = ""; }; 63AA76951EB9C1C200D153DE /* SentryDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryDefines.h; path = Public/SentryDefines.h; sourceTree = ""; }; 63AA76961EB9C1C200D153DE /* SentryLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryLog.h; path = include/SentryLog.h; sourceTree = ""; }; @@ -1469,7 +1469,6 @@ D859696D27BECDA20036A46E /* SentryCoreDataTracker.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryCoreDataTracker.m; sourceTree = ""; }; D859697127BECDD20036A46E /* SentryCoreDataSwizzling.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryCoreDataSwizzling.m; sourceTree = ""; }; D85D3BE9278DF63D001B2889 /* SentryByteCountFormatterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryByteCountFormatterTests.swift; sourceTree = ""; }; - D85F8AAA28EAD7BC00503E1A /* Sentry.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Sentry.h; sourceTree = ""; }; D8603DD4284F8497000E1227 /* SentryBaggage.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryBaggage.m; sourceTree = ""; }; D8603DD7284F894C000E1227 /* SentryBaggage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryBaggage.h; path = include/SentryBaggage.h; sourceTree = ""; }; D867063A27C3BC2400048851 /* SentryCoreDataTrackingIntegration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryCoreDataTrackingIntegration.h; path = include/SentryCoreDataTrackingIntegration.h; sourceTree = ""; }; @@ -1934,7 +1933,6 @@ 63AA75A31EB8AFDF00D153DE /* Configuration */ = { isa = PBXGroup; children = ( - D85F8AA928EAD7A300503E1A /* CocoaPodHeader */, 63AA75C51EB8B00100D153DE /* SentryObjc.xcconfig */, D8145C1928DC616D00494277 /* Sentry.xcconfig */, ); @@ -1955,7 +1953,7 @@ 630436011EBCB8CA00C4D3FA /* Protocol */, 8ECC673625C23936000E2BF6 /* Transaction */, 8E25C94F25F836AB00DC215B /* Tools */, - 63AA76931EB9C1C200D153DE /* SentryObjc.h */, + 63AA76931EB9C1C200D153DE /* Sentry.h */, D847D37528E6D9D5006795F9 /* SentryObjc.modulemap */, 7B6D125E265F778500C9BE4B /* PrivateSentrySDKOnly.h */, 7B6D1260265F784000C9BE4B /* PrivateSentrySDKOnly.m */, @@ -2860,14 +2858,6 @@ name = CoreData; sourceTree = ""; }; - D85F8AA928EAD7A300503E1A /* CocoaPodHeader */ = { - isa = PBXGroup; - children = ( - D85F8AAA28EAD7BC00503E1A /* Sentry.h */, - ); - path = CocoaPodHeader; - sourceTree = ""; - }; D875ED09276CC83200422FAC /* IO */ = { isa = PBXGroup; children = ( @@ -3025,7 +3015,7 @@ 63FE710320DA4C1000CDBAE8 /* SentryCrashMachineContext_Apple.h in Headers */, D8479328278873A100BE8E99 /* SentryByteCountFormatter.h in Headers */, 63AA76981EB9C1C200D153DE /* SentryClient.h in Headers */, - 63AA76971EB9C1C200D153DE /* SentryObjc.h in Headers */, + 63AA76971EB9C1C200D153DE /* Sentry.h in Headers */, 0A9E917128DC7E7000FB4182 /* SentryInternalDefines.h in Headers */, 63FE711F20DA4C1000CDBAE8 /* SentryCrashObjC.h in Headers */, 7BC3936825B1AB3E004F03D3 /* SentryLevelMapper.h in Headers */, diff --git a/Sources/Configuration/CocoaPodHeader/Sentry.h b/Sources/Configuration/CocoaPodHeader/Sentry.h deleted file mode 100644 index df13f1d8965..00000000000 --- a/Sources/Configuration/CocoaPodHeader/Sentry.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef Sentry_h -#define Sentry_h - -#import "Sentry-umbrella.h" - -#endif diff --git a/Sources/Sentry/Public/SentryObjc.h b/Sources/Sentry/Public/Sentry.h similarity index 100% rename from Sources/Sentry/Public/SentryObjc.h rename to Sources/Sentry/Public/Sentry.h diff --git a/Sources/Sentry/SentryObjc.modulemap b/Sources/Sentry/SentryObjc.modulemap index 87c26884bfd..6d6d5fd2920 100644 --- a/Sources/Sentry/SentryObjc.modulemap +++ b/Sources/Sentry/SentryObjc.modulemap @@ -1,5 +1,5 @@ framework module SentryObjc { - umbrella header "SentryObjc.h" + umbrella header "Sentry.h" export * module * { export * } diff --git a/Tests/SentryTests/Networking/SentryDsnTests.m b/Tests/SentryTests/Networking/SentryDsnTests.m index 7aa6b753d40..6cd93319123 100644 --- a/Tests/SentryTests/Networking/SentryDsnTests.m +++ b/Tests/SentryTests/Networking/SentryDsnTests.m @@ -2,7 +2,7 @@ #import "SentryError.h" #import "SentryMeta.h" #import "SentryNSURLRequest.h" -#import +#import #import @interface SentryDsnTests : XCTestCase diff --git a/Tests/SentryTests/Protocol/SentryAttachment+Equality.h b/Tests/SentryTests/Protocol/SentryAttachment+Equality.h index 5a75d9c5390..1920fa2ba36 100644 --- a/Tests/SentryTests/Protocol/SentryAttachment+Equality.h +++ b/Tests/SentryTests/Protocol/SentryAttachment+Equality.h @@ -1,4 +1,4 @@ -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/Tests/SentryTests/SentryInterfacesTests.m b/Tests/SentryTests/SentryInterfacesTests.m index 64237804eff..bba629d5b00 100644 --- a/Tests/SentryTests/SentryInterfacesTests.m +++ b/Tests/SentryTests/SentryInterfacesTests.m @@ -3,7 +3,7 @@ #import "SentryFileManager.h" #import "SentryId.h" #import "SentryMeta.h" -#import +#import #import @interface SentryInterfacesTests : XCTestCase diff --git a/Tests/SentryTests/SentryKSCrashReportConverterTests.m b/Tests/SentryTests/SentryKSCrashReportConverterTests.m index 22114d25667..a3065fa79a7 100644 --- a/Tests/SentryTests/SentryKSCrashReportConverterTests.m +++ b/Tests/SentryTests/SentryKSCrashReportConverterTests.m @@ -2,7 +2,7 @@ #import "SentryCrashReportConverter.h" #import "SentryInAppLogic.h" #import "SentryMechanismMeta.h" -#import +#import #import @interface SentryCrashReportConverterTests : XCTestCase diff --git a/Tests/SentryTests/SentryScope+Properties.h b/Tests/SentryTests/SentryScope+Properties.h index 85dae41ef1d..83fd2a6f5ef 100644 --- a/Tests/SentryTests/SentryScope+Properties.h +++ b/Tests/SentryTests/SentryScope+Properties.h @@ -1,4 +1,4 @@ -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/Tests/SentryTests/SentryTests.m b/Tests/SentryTests/SentryTests.m index d1ff1d5b528..1594374feb0 100644 --- a/Tests/SentryTests/SentryTests.m +++ b/Tests/SentryTests/SentryTests.m @@ -5,7 +5,7 @@ #import "SentryMessage.h" #import "SentryMeta.h" #import "SentrySDK+Private.h" -#import +#import #import @interface From d4ebaed263c923ab39791b234aac75fe9a828be9 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Mon, 3 Oct 2022 12:06:32 +0200 Subject: [PATCH 31/58] Yeap, we need SentryObjc --- Sentry.podspec | 1 + Sentry.xcodeproj/project.pbxproj | 18 ++++++++++++++---- Sources/Configuration/PodHeader/Sentry.h | 6 ++++++ .../Sentry/Public/{Sentry.h => SentryObjc.h} | 0 Sources/Sentry/SentryObjc.modulemap | 2 +- 5 files changed, 22 insertions(+), 5 deletions(-) create mode 100644 Sources/Configuration/PodHeader/Sentry.h rename Sources/Sentry/Public/{Sentry.h => SentryObjc.h} (100%) diff --git a/Sentry.podspec b/Sentry.podspec index e9a03a52341..8102be0e152 100644 --- a/Sentry.podspec +++ b/Sentry.podspec @@ -24,6 +24,7 @@ Pod::Spec.new do |s| } s.default_subspecs = ['Sentry', 'SentryObjc'] + s.source_files = "Sources/Configuration/PodHeader/Sentry.h" s.subspec 'Sentry' do |sp| sp.source_files = "Sources/SentrySwift/**/*.{swift}" diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index 69a33456f59..67c2171723a 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -130,7 +130,7 @@ 63AA766A1EB8CB2F00D153DE /* SentryObjc.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63AA759B1EB8AEF500D153DE /* SentryObjc.framework */; settings = {ATTRIBUTES = (Required, ); }; }; 63AA76701EB8CB4B00D153DE /* SentryTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 63AA75951EB8AEDB00D153DE /* SentryTests.m */; }; 63AA767A1EB8D20500D153DE /* SentryLog.m in Sources */ = {isa = PBXBuildFile; fileRef = 63AA76781EB8D20500D153DE /* SentryLog.m */; }; - 63AA76971EB9C1C200D153DE /* Sentry.h in Headers */ = {isa = PBXBuildFile; fileRef = 63AA76931EB9C1C200D153DE /* Sentry.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 63AA76971EB9C1C200D153DE /* SentryObjc.h in Headers */ = {isa = PBXBuildFile; fileRef = 63AA76931EB9C1C200D153DE /* SentryObjc.h */; settings = {ATTRIBUTES = (Public, ); }; }; 63AA76981EB9C1C200D153DE /* SentryClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 63AA76941EB9C1C200D153DE /* SentryClient.h */; settings = {ATTRIBUTES = (Public, ); }; }; 63AA76991EB9C1C200D153DE /* SentryDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 63AA76951EB9C1C200D153DE /* SentryDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; 63AA769A1EB9C1C200D153DE /* SentryLog.h in Headers */ = {isa = PBXBuildFile; fileRef = 63AA76961EB9C1C200D153DE /* SentryLog.h */; settings = {ATTRIBUTES = (Private, ); }; }; @@ -869,7 +869,7 @@ 63AA75ED1EB8B3C400D153DE /* SentryClient.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SentryClient.m; sourceTree = ""; }; 63AA76651EB8CB2F00D153DE /* SentryTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SentryTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 63AA76781EB8D20500D153DE /* SentryLog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SentryLog.m; sourceTree = ""; }; - 63AA76931EB9C1C200D153DE /* Sentry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Sentry.h; path = Public/Sentry.h; sourceTree = ""; }; + 63AA76931EB9C1C200D153DE /* SentryObjc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryObjc.h; path = Public/SentryObjc.h; sourceTree = ""; }; 63AA76941EB9C1C200D153DE /* SentryClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryClient.h; path = Public/SentryClient.h; sourceTree = ""; }; 63AA76951EB9C1C200D153DE /* SentryDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryDefines.h; path = Public/SentryDefines.h; sourceTree = ""; }; 63AA76961EB9C1C200D153DE /* SentryLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryLog.h; path = include/SentryLog.h; sourceTree = ""; }; @@ -1469,6 +1469,7 @@ D859696D27BECDA20036A46E /* SentryCoreDataTracker.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryCoreDataTracker.m; sourceTree = ""; }; D859697127BECDD20036A46E /* SentryCoreDataSwizzling.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryCoreDataSwizzling.m; sourceTree = ""; }; D85D3BE9278DF63D001B2889 /* SentryByteCountFormatterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryByteCountFormatterTests.swift; sourceTree = ""; }; + D85F8AB528EAEB3200503E1A /* Sentry.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Sentry.h; sourceTree = ""; }; D8603DD4284F8497000E1227 /* SentryBaggage.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryBaggage.m; sourceTree = ""; }; D8603DD7284F894C000E1227 /* SentryBaggage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryBaggage.h; path = include/SentryBaggage.h; sourceTree = ""; }; D867063A27C3BC2400048851 /* SentryCoreDataTrackingIntegration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryCoreDataTrackingIntegration.h; path = include/SentryCoreDataTrackingIntegration.h; sourceTree = ""; }; @@ -1933,6 +1934,7 @@ 63AA75A31EB8AFDF00D153DE /* Configuration */ = { isa = PBXGroup; children = ( + D85F8AB428EAEB2700503E1A /* PodHeader */, 63AA75C51EB8B00100D153DE /* SentryObjc.xcconfig */, D8145C1928DC616D00494277 /* Sentry.xcconfig */, ); @@ -1953,7 +1955,7 @@ 630436011EBCB8CA00C4D3FA /* Protocol */, 8ECC673625C23936000E2BF6 /* Transaction */, 8E25C94F25F836AB00DC215B /* Tools */, - 63AA76931EB9C1C200D153DE /* Sentry.h */, + 63AA76931EB9C1C200D153DE /* SentryObjc.h */, D847D37528E6D9D5006795F9 /* SentryObjc.modulemap */, 7B6D125E265F778500C9BE4B /* PrivateSentrySDKOnly.h */, 7B6D1260265F784000C9BE4B /* PrivateSentrySDKOnly.m */, @@ -2858,6 +2860,14 @@ name = CoreData; sourceTree = ""; }; + D85F8AB428EAEB2700503E1A /* PodHeader */ = { + isa = PBXGroup; + children = ( + D85F8AB528EAEB3200503E1A /* Sentry.h */, + ); + path = PodHeader; + sourceTree = ""; + }; D875ED09276CC83200422FAC /* IO */ = { isa = PBXGroup; children = ( @@ -3015,7 +3025,7 @@ 63FE710320DA4C1000CDBAE8 /* SentryCrashMachineContext_Apple.h in Headers */, D8479328278873A100BE8E99 /* SentryByteCountFormatter.h in Headers */, 63AA76981EB9C1C200D153DE /* SentryClient.h in Headers */, - 63AA76971EB9C1C200D153DE /* Sentry.h in Headers */, + 63AA76971EB9C1C200D153DE /* SentryObjc.h in Headers */, 0A9E917128DC7E7000FB4182 /* SentryInternalDefines.h in Headers */, 63FE711F20DA4C1000CDBAE8 /* SentryCrashObjC.h in Headers */, 7BC3936825B1AB3E004F03D3 /* SentryLevelMapper.h in Headers */, diff --git a/Sources/Configuration/PodHeader/Sentry.h b/Sources/Configuration/PodHeader/Sentry.h new file mode 100644 index 00000000000..d111a8c4159 --- /dev/null +++ b/Sources/Configuration/PodHeader/Sentry.h @@ -0,0 +1,6 @@ +#ifndef Sentry_POD_h +#define Sentry_POD_h + +#import "SentryObjc.h" + +#endif diff --git a/Sources/Sentry/Public/Sentry.h b/Sources/Sentry/Public/SentryObjc.h similarity index 100% rename from Sources/Sentry/Public/Sentry.h rename to Sources/Sentry/Public/SentryObjc.h diff --git a/Sources/Sentry/SentryObjc.modulemap b/Sources/Sentry/SentryObjc.modulemap index 6d6d5fd2920..87c26884bfd 100644 --- a/Sources/Sentry/SentryObjc.modulemap +++ b/Sources/Sentry/SentryObjc.modulemap @@ -1,5 +1,5 @@ framework module SentryObjc { - umbrella header "Sentry.h" + umbrella header "SentryObjc.h" export * module * { export * } From 516fdfd689f5cb70a9d4fbfc5ccd7b735d87cc45 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Mon, 3 Oct 2022 12:53:03 +0200 Subject: [PATCH 32/58] tests --- Tests/SentryTests/Networking/SentryDsnTests.m | 2 +- Tests/SentryTests/Protocol/SentryAttachment+Equality.h | 2 +- Tests/SentryTests/SentryInterfacesTests.m | 2 +- Tests/SentryTests/SentryKSCrashReportConverterTests.m | 2 +- Tests/SentryTests/SentryScope+Properties.h | 2 +- Tests/SentryTests/SentryTests.m | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/Tests/SentryTests/Networking/SentryDsnTests.m b/Tests/SentryTests/Networking/SentryDsnTests.m index 6cd93319123..7aa6b753d40 100644 --- a/Tests/SentryTests/Networking/SentryDsnTests.m +++ b/Tests/SentryTests/Networking/SentryDsnTests.m @@ -2,7 +2,7 @@ #import "SentryError.h" #import "SentryMeta.h" #import "SentryNSURLRequest.h" -#import +#import #import @interface SentryDsnTests : XCTestCase diff --git a/Tests/SentryTests/Protocol/SentryAttachment+Equality.h b/Tests/SentryTests/Protocol/SentryAttachment+Equality.h index 1920fa2ba36..5a75d9c5390 100644 --- a/Tests/SentryTests/Protocol/SentryAttachment+Equality.h +++ b/Tests/SentryTests/Protocol/SentryAttachment+Equality.h @@ -1,4 +1,4 @@ -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/Tests/SentryTests/SentryInterfacesTests.m b/Tests/SentryTests/SentryInterfacesTests.m index bba629d5b00..64237804eff 100644 --- a/Tests/SentryTests/SentryInterfacesTests.m +++ b/Tests/SentryTests/SentryInterfacesTests.m @@ -3,7 +3,7 @@ #import "SentryFileManager.h" #import "SentryId.h" #import "SentryMeta.h" -#import +#import #import @interface SentryInterfacesTests : XCTestCase diff --git a/Tests/SentryTests/SentryKSCrashReportConverterTests.m b/Tests/SentryTests/SentryKSCrashReportConverterTests.m index a3065fa79a7..22114d25667 100644 --- a/Tests/SentryTests/SentryKSCrashReportConverterTests.m +++ b/Tests/SentryTests/SentryKSCrashReportConverterTests.m @@ -2,7 +2,7 @@ #import "SentryCrashReportConverter.h" #import "SentryInAppLogic.h" #import "SentryMechanismMeta.h" -#import +#import #import @interface SentryCrashReportConverterTests : XCTestCase diff --git a/Tests/SentryTests/SentryScope+Properties.h b/Tests/SentryTests/SentryScope+Properties.h index 83fd2a6f5ef..85dae41ef1d 100644 --- a/Tests/SentryTests/SentryScope+Properties.h +++ b/Tests/SentryTests/SentryScope+Properties.h @@ -1,4 +1,4 @@ -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/Tests/SentryTests/SentryTests.m b/Tests/SentryTests/SentryTests.m index 1594374feb0..d1ff1d5b528 100644 --- a/Tests/SentryTests/SentryTests.m +++ b/Tests/SentryTests/SentryTests.m @@ -5,7 +5,7 @@ #import "SentryMessage.h" #import "SentryMeta.h" #import "SentrySDK+Private.h" -#import +#import #import @interface From e9cc7931b3cf4c2a8930d60e7c828f7997f09a0e Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Mon, 3 Oct 2022 13:43:17 +0200 Subject: [PATCH 33/58] Define Sentry.modulemap --- Sentry.xcodeproj/project.pbxproj | 14 ++++++++++---- Sources/SentrySwift/Sentry.modulemap | 4 ++++ 2 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 Sources/SentrySwift/Sentry.modulemap diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index 67c2171723a..40dee21359a 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -1470,6 +1470,7 @@ D859697127BECDD20036A46E /* SentryCoreDataSwizzling.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryCoreDataSwizzling.m; sourceTree = ""; }; D85D3BE9278DF63D001B2889 /* SentryByteCountFormatterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryByteCountFormatterTests.swift; sourceTree = ""; }; D85F8AB528EAEB3200503E1A /* Sentry.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Sentry.h; sourceTree = ""; }; + D85F8AB628EB002400503E1A /* Sentry.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; path = Sentry.modulemap; sourceTree = ""; }; D8603DD4284F8497000E1227 /* SentryBaggage.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryBaggage.m; sourceTree = ""; }; D8603DD7284F894C000E1227 /* SentryBaggage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryBaggage.h; path = include/SentryBaggage.h; sourceTree = ""; }; D867063A27C3BC2400048851 /* SentryCoreDataTrackingIntegration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryCoreDataTrackingIntegration.h; path = include/SentryCoreDataTrackingIntegration.h; sourceTree = ""; }; @@ -2896,6 +2897,7 @@ D804D4CB28DAF226005CECD1 /* Sentry.h */, D89468AD28D223440006C83D /* TypeAlias.swift */, D847D38A28E719C9006795F9 /* Sentry.swift */, + D85F8AB628EB002400503E1A /* Sentry.modulemap */, ); path = SentrySwift; sourceTree = ""; @@ -4214,7 +4216,7 @@ baseConfigurationReference = D8145C1928DC616D00494277 /* Sentry.xcconfig */; buildSettings = { ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; - BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = NO; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_ENABLE_OBJC_WEAK = YES; @@ -4236,6 +4238,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MARKETING_VERSION = 1.0; + MODULEMAP_FILE = "$(SRCROOT)/Sources/SentrySwift/Sentry.modulemap"; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; @@ -4256,7 +4259,7 @@ baseConfigurationReference = D8145C1928DC616D00494277 /* Sentry.xcconfig */; buildSettings = { ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; - BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = NO; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_ENABLE_OBJC_WEAK = YES; @@ -4278,6 +4281,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MARKETING_VERSION = 1.0; + MODULEMAP_FILE = "$(SRCROOT)/Sources/SentrySwift/Sentry.modulemap"; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; @@ -4295,7 +4299,7 @@ baseConfigurationReference = D8145C1928DC616D00494277 /* Sentry.xcconfig */; buildSettings = { ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; - BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = NO; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_ENABLE_OBJC_WEAK = YES; @@ -4317,6 +4321,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MARKETING_VERSION = 1.0; + MODULEMAP_FILE = "$(SRCROOT)/Sources/SentrySwift/Sentry.modulemap"; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; @@ -4334,7 +4339,7 @@ baseConfigurationReference = D8145C1928DC616D00494277 /* Sentry.xcconfig */; buildSettings = { ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; - BUILD_LIBRARY_FOR_DISTRIBUTION = YES; + BUILD_LIBRARY_FOR_DISTRIBUTION = NO; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; CLANG_ENABLE_OBJC_WEAK = YES; @@ -4356,6 +4361,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MARKETING_VERSION = 1.0; + MODULEMAP_FILE = "$(SRCROOT)/Sources/SentrySwift/Sentry.modulemap"; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; diff --git a/Sources/SentrySwift/Sentry.modulemap b/Sources/SentrySwift/Sentry.modulemap new file mode 100644 index 00000000000..8ae906fb3c5 --- /dev/null +++ b/Sources/SentrySwift/Sentry.modulemap @@ -0,0 +1,4 @@ +framework module Sentry { +header "Sentry.h" +export * +} From 3479fe19a2722df19500bd0629e63b734cf76aab Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Thu, 13 Oct 2022 13:30:24 +0200 Subject: [PATCH 34/58] revert --- Brewfile.lock.json | 74 +-- CHANGELOG.md | 5 +- Gemfile.lock | 26 +- Makefile | 3 +- Package.swift | 10 +- .../Framework.xcodeproj/project.pbxproj | 8 - .../Framework/input.xcfilelist | 1 - .../Framework/output.xcfilelist | 1 - .../XCFramework.xcodeproj/project.pbxproj | 22 +- .../ProfileDataGeneratorUITest.m | 19 +- .../TrendingMovies.xcodeproj/project.pbxproj | 21 +- .../xcschemes/TrendingMovies.xcscheme | 6 + .../Movies/MovieCollectionViewCell.swift | 21 +- .../TrendingMovies/Utilities/Tracer.swift | 1 + .../iOS-ObjectiveC.xcodeproj/project.pbxproj | 258 +++++++- .../iOS-ObjectiveC/AppDelegate.m | 1 + .../iOS-ObjectiveC/ViewController.m | 3 +- .../iOS-Swift.xcodeproj/project.pbxproj | 569 ++++++++++++++++-- .../xcshareddata/xcschemes/iOS-Swift.xcscheme | 5 + .../iOS-SwiftUI.xcodeproj/project.pbxproj | 336 ++++++++++- .../iOS15-SwiftUI.xcodeproj/project.pbxproj | 16 +- .../macOS-Swift.xcodeproj/project.pbxproj | 43 +- .../tvOS-Swift.xcodeproj/project.pbxproj | 376 +++++++++++- .../watchOS-Swift.xcodeproj/project.pbxproj | 35 +- Sentry.podspec | 24 +- Sentry.xcodeproj/project.pbxproj | 392 ++---------- .../xcshareddata/xcschemes/Sentry.xcscheme | 52 +- Sentry.xcworkspace/contents.xcworkspacedata | 3 - Sources/Configuration/PodHeader/Sentry.h | 6 - Sources/Configuration/Sentry.xcconfig | 3 +- Sources/Configuration/SentryObjc.xcconfig | 66 -- Sources/Sentry/PrivateSentrySDKOnly.m | 1 - Sources/Sentry/Public/PrivateSentrySDKOnly.h | 2 - .../Sentry/Public/{SentryObjc.h => Sentry.h} | 0 Sources/Sentry/Public/SentryClient.h | 2 - Sources/Sentry/Public/SentryError.h | 1 - Sources/Sentry/Public/SentrySDK.h | 2 - Sources/Sentry/Public/SentryThread.h | 1 + Sources/Sentry/Public/SentryTraceHeader.h | 1 - Sources/Sentry/Sentry.modulemap | 6 + Sources/Sentry/SentryANRTrackingIntegration.m | 4 - Sources/Sentry/SentryAppStartTracker.m | 10 +- Sources/Sentry/SentryAppState.m | 1 - Sources/Sentry/SentryAppStateManager.m | 149 ++++- Sources/Sentry/SentryBacktrace.cpp | 3 - Sources/Sentry/SentryDependencyContainer.m | 12 +- Sources/Sentry/SentryFileContents.m | 1 - Sources/Sentry/SentryFileManager.m | 68 ++- Sources/Sentry/SentryFramesTracker.m | 52 +- Sources/Sentry/SentryMeta.m | 2 +- Sources/Sentry/SentryMigrateSessionInit.m | 1 - Sources/Sentry/SentryObjc.modulemap | 6 - Sources/Sentry/SentryOutOfMemoryLogic.m | 2 +- Sources/Sentry/SentryOutOfMemoryTracker.m | 96 +-- .../SentryOutOfMemoryTrackingIntegration.m | 3 - Sources/Sentry/SentrySDK.m | 3 + Sources/Sentry/SentrySessionTracker.m | 4 + Sources/Sentry/SentrySwizzleWrapper.m | 1 - Sources/Sentry/SentrySystemEventBreadcrumbs.m | 2 - Sources/Sentry/SentryTracer.m | 12 +- .../Sentry/include/SentryAppStateManager.h | 13 +- Sources/Sentry/include/SentryClient+Private.h | 1 - .../include/SentryDependencyContainer.h | 1 - Sources/Sentry/include/SentryDiscardedEvent.h | 1 - Sources/Sentry/include/SentryFileManager.h | 4 +- Sources/Sentry/include/SentryLevelMapper.h | 1 - Sources/Sentry/include/SentryLog.h | 1 - .../Sentry/include/SentryMigrateSessionInit.h | 1 - Sources/Sentry/include/SentryScreenshot.h | 1 - Sources/Sentry/include/SentrySerialization.h | 2 - .../include/SentrySystemEventBreadcrumbs.h | 2 +- Sources/Sentry/include/SentryTraceContext.h | 1 - Sources/Sentry/include/SentryTracesSampler.h | 1 - Sources/Sentry/include/SentryUIApplication.h | 1 - Sources/Sentry/include/SentryViewHierarchy.h | 1 - .../Installations/SentryCrashInstallation.h | 1 - .../Monitors/SentryCrashMonitor_NSException.m | 1 - Sources/SentryCrash/Recording/SentryCrash.h | 2 - Sources/SentrySwift/Sentry.h | 12 - Sources/SentrySwift/Sentry.modulemap | 4 - Sources/SentrySwift/Sentry.swift | 1 - .../UIViewRecursiveDescriptionTests.swift | 2 +- Tests/SentryTests/ClearTestState.swift | 2 +- .../Helper/SentryAppStateManagerTests.swift | 115 ++++ .../Helper/SentryCurrentDateTests.swift | 2 +- .../Helper/SentryFileManager+TestProperties.h | 1 + .../Helper/SentryFileManagerTests.swift | 20 +- Tests/SentryTests/Helper/SentryLog+TestInit.h | 1 + .../Helper/SentrySerializationNilTests.m | 2 +- Tests/SentryTests/Helper/SentrySwizzleTests.m | 2 +- .../SentryANRTrackingIntegrationTests.swift | 8 +- ...toBreadcrumbTrackingIntegrationTests.swift | 2 +- .../SentrySystemEventBreadcrumbsTest.swift | 4 +- .../SentryOutOfMemoryLogicTests.swift | 2 +- .../SentryOutOfMemoryTrackerTests.swift | 18 +- .../SentryAppStartTrackerTests.swift | 23 +- .../SentryFramesTrackerTests.swift | 67 ++- ...SentryFileIOTrackingIntegrationTests.swift | 6 +- .../IO/SentryFileIoTrackingUnitTests.swift | 2 +- ...SentryNetworkTrackerIntegrationTests.swift | 2 +- ...SentryUIViewControllerSwizzlingTests.swift | 6 +- .../SentryScreenshotIntegrationTests.swift | 2 +- .../SentryBaseIntegrationTests.swift | 2 +- .../SentryCrashIntegrationTests.swift | 6 +- .../Session/SentrySessionGeneratorTests.swift | 2 +- .../Session/SentrySessionTrackerTests.swift | 2 +- .../UIEvents/SentryUIEventTrackerTests.swift | 2 +- ...entryUIEventTrackingIntegrationTests.swift | 2 +- .../SentryViewHierarchyIntegrationTests.swift | 2 +- .../SentryDefaultRateLimitsTests.swift | 2 +- .../SentryRateLimitsParserTests.swift | 2 +- .../SentryRetryAfterHeaderParserTests.swift | 2 +- .../SentryDataCategoryMapperTests.swift | 2 +- Tests/SentryTests/Networking/SentryDsnTests.m | 2 +- .../SentryHttpDateParserTests.swift | 2 +- .../Networking/SentryHttpTransportTests.swift | 2 +- .../SentryTransportAdapterTests.swift | 2 +- .../SentryTransportFactoryTests.swift | 2 +- .../SentryTransportInitializerTests.swift | 2 +- .../Performance/SentryTracerTests.swift | 51 +- .../Protocol/SentryAttachment+Equality.h | 2 +- .../Protocol/SentryClientReportTests.swift | 2 +- .../Protocol/SentryEventTests.swift | 2 +- .../SentryTests/Protocol/SentryIdTests.swift | 2 +- .../Protocol/SentryThreadEquality.swift | 12 +- Tests/SentryTests/Protocol/TestData.swift | 5 +- Tests/SentryTests/SentryClient+TestInit.h | 1 + Tests/SentryTests/SentryClientTests.swift | 8 +- ...CrashDefaultBinaryImageProviderTests.swift | 2 +- ...SentryCrashInstallationReporterTests.swift | 2 +- .../SentryCrashStackEntryMapperTests.swift | 2 +- .../SentryCrashUUIDConversionTests.swift | 2 +- .../SentryDebugImageProviderTests.swift | 11 +- .../SentryStacktraceBuilderTests.swift | 4 +- .../TestSentryPermissionsObserver.swift | 2 +- .../SentryCrash/TestThreadInspector.swift | 6 +- Tests/SentryTests/SentryHubTests.swift | 2 +- Tests/SentryTests/SentryInstallationTests.m | 2 +- Tests/SentryTests/SentryInterfacesTests.m | 4 +- .../SentryKSCrashReportConverterTests.m | 2 +- Tests/SentryTests/SentryMetaTests.swift | 2 +- .../SentryNSDataCompressionTests.m | 2 +- .../SentryTests/SentryNSURLRequestTests.swift | 2 +- Tests/SentryTests/SentrySDK+Tests.h | 2 + Tests/SentryTests/SentrySDKTests.swift | 2 +- Tests/SentryTests/SentryScope+Equality.h | 1 + Tests/SentryTests/SentryScope+Properties.h | 2 +- Tests/SentryTests/SentryTests.m | 5 +- Tests/SentryTests/State/SentryHub+TestInit.h | 1 + Tests/SentryTests/TestClient.swift | 6 + .../Transaction/SentryBaggageTests.swift | 2 +- .../Transaction/SentryNoOpSpanTests.swift | 2 +- .../Transaction/SentrySpanTests.swift | 2 +- fastlane/Fastfile | 13 +- scripts/xcode-test.sh | 48 +- 155 files changed, 2343 insertions(+), 1109 deletions(-) delete mode 100644 Sources/Configuration/PodHeader/Sentry.h delete mode 100644 Sources/Configuration/SentryObjc.xcconfig rename Sources/Sentry/Public/{SentryObjc.h => Sentry.h} (100%) create mode 100644 Sources/Sentry/Sentry.modulemap delete mode 100644 Sources/Sentry/SentryObjc.modulemap delete mode 100644 Sources/SentrySwift/Sentry.h delete mode 100644 Sources/SentrySwift/Sentry.modulemap delete mode 100644 Sources/SentrySwift/Sentry.swift create mode 100644 Tests/SentryTests/Helper/SentryAppStateManagerTests.swift diff --git a/Brewfile.lock.json b/Brewfile.lock.json index 35bedb0562c..59d43636514 100644 --- a/Brewfile.lock.json +++ b/Brewfile.lock.json @@ -55,35 +55,25 @@ } }, "swiftlint": { - "version": "0.47.1", + "version": "0.49.1", "bottle": { "rebuild": 0, "root_url": "https://ghcr.io/v2/homebrew/core", "files": { "arm64_monterey": { "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/swiftlint/blobs/sha256:13b6b6d881b6cfa3f5399c14150ef6da0f1d1cec2b58fd24c6dcbc432c462106", - "sha256": "13b6b6d881b6cfa3f5399c14150ef6da0f1d1cec2b58fd24c6dcbc432c462106" - }, - "arm64_big_sur": { - "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/swiftlint/blobs/sha256:406fb7b019a5b7f0c052a7d4738f6cda5eaf15ef9c1bc1f89bdc3dc2efc719b6", - "sha256": "406fb7b019a5b7f0c052a7d4738f6cda5eaf15ef9c1bc1f89bdc3dc2efc719b6" + "url": "https://ghcr.io/v2/homebrew/core/swiftlint/blobs/sha256:d983879e2d9ea075bf80e223da5adb258f01d9fab4fc6f71f83c4add80490290", + "sha256": "d983879e2d9ea075bf80e223da5adb258f01d9fab4fc6f71f83c4add80490290" }, "monterey": { "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/swiftlint/blobs/sha256:3c02d2875bef6dbd474c60a4ce42cce5f9e1da64580c00c351753adeaece5700", - "sha256": "3c02d2875bef6dbd474c60a4ce42cce5f9e1da64580c00c351753adeaece5700" - }, - "big_sur": { - "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/swiftlint/blobs/sha256:775d4db3c21549bb18384be86ee82a43c92af12b74f9135e7b44f448cd6e0eff", - "sha256": "775d4db3c21549bb18384be86ee82a43c92af12b74f9135e7b44f448cd6e0eff" + "url": "https://ghcr.io/v2/homebrew/core/swiftlint/blobs/sha256:73a9664d8a62c7b5d506a70bf100e0289795df04ece6df12f0b77651e497d42b", + "sha256": "73a9664d8a62c7b5d506a70bf100e0289795df04ece6df12f0b77651e497d42b" }, "x86_64_linux": { "cellar": "/home/linuxbrew/.linuxbrew/Cellar", - "url": "https://ghcr.io/v2/homebrew/core/swiftlint/blobs/sha256:f00160b4eb1d370d6baf4341341f813af80ba2fcfa2e65657f96153713d1c774", - "sha256": "f00160b4eb1d370d6baf4341341f813af80ba2fcfa2e65657f96153713d1c774" + "url": "https://ghcr.io/v2/homebrew/core/swiftlint/blobs/sha256:705904346a73422be8f053d7b1c413e5d18623bd7244cb33d188d921a072e600", + "sha256": "705904346a73422be8f053d7b1c413e5d18623bd7244cb33d188d921a072e600" } } } @@ -172,40 +162,40 @@ } }, "pre-commit": { - "version": "2.19.0", + "version": "2.20.0", "bottle": { - "rebuild": 0, + "rebuild": 1, "root_url": "https://ghcr.io/v2/homebrew/core", "files": { "arm64_monterey": { - "cellar": ":any", - "url": "https://ghcr.io/v2/homebrew/core/pre-commit/blobs/sha256:35830ae8dc83700b547c078a43e0cae5b99c69d820e6a70b7dd43872105cc075", - "sha256": "35830ae8dc83700b547c078a43e0cae5b99c69d820e6a70b7dd43872105cc075" + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/pre-commit/blobs/sha256:4a480973522d0180cfd1414ec3d31f8aa284f26243a89036098dd3343ace6a96", + "sha256": "4a480973522d0180cfd1414ec3d31f8aa284f26243a89036098dd3343ace6a96" }, "arm64_big_sur": { - "cellar": ":any", - "url": "https://ghcr.io/v2/homebrew/core/pre-commit/blobs/sha256:ae925eb818c247559e36558216c63a5298653d65ecd528383340a0ee8b92c07e", - "sha256": "ae925eb818c247559e36558216c63a5298653d65ecd528383340a0ee8b92c07e" + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/pre-commit/blobs/sha256:cb061bc7f86b3149975d8bee8a209410c786d11ffa4091ad7769d6810a37ef5a", + "sha256": "cb061bc7f86b3149975d8bee8a209410c786d11ffa4091ad7769d6810a37ef5a" }, "monterey": { - "cellar": ":any", - "url": "https://ghcr.io/v2/homebrew/core/pre-commit/blobs/sha256:fa8795f2fc5231708ac69b3447732d3342ac77084c75d4cd92636e4cb3306918", - "sha256": "fa8795f2fc5231708ac69b3447732d3342ac77084c75d4cd92636e4cb3306918" + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/pre-commit/blobs/sha256:b822f396ca2e6523195d6c17ac8bf41eb6aee2e7ceac2ac0c18fbfd708c6a3ab", + "sha256": "b822f396ca2e6523195d6c17ac8bf41eb6aee2e7ceac2ac0c18fbfd708c6a3ab" }, "big_sur": { - "cellar": ":any", - "url": "https://ghcr.io/v2/homebrew/core/pre-commit/blobs/sha256:1eb31671ec49ce4703bdf821c46238a541ef5972f462174f4765dac8a2cf72c3", - "sha256": "1eb31671ec49ce4703bdf821c46238a541ef5972f462174f4765dac8a2cf72c3" + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/pre-commit/blobs/sha256:40508e1e583f42c3581c2488d8fcb4b88e4138bfb775e88041166ae8385f25a3", + "sha256": "40508e1e583f42c3581c2488d8fcb4b88e4138bfb775e88041166ae8385f25a3" }, "catalina": { - "cellar": ":any", - "url": "https://ghcr.io/v2/homebrew/core/pre-commit/blobs/sha256:4852270ec8f9249be28101899cfc2f5718b8b5ac79432089484af3e754a075cf", - "sha256": "4852270ec8f9249be28101899cfc2f5718b8b5ac79432089484af3e754a075cf" + "cellar": ":any_skip_relocation", + "url": "https://ghcr.io/v2/homebrew/core/pre-commit/blobs/sha256:4bd415259c3ca8fe8255c8116865d88e5841cd618d9e75ddfdf04ce79c19e53d", + "sha256": "4bd415259c3ca8fe8255c8116865d88e5841cd618d9e75ddfdf04ce79c19e53d" }, "x86_64_linux": { "cellar": ":any_skip_relocation", - "url": "https://ghcr.io/v2/homebrew/core/pre-commit/blobs/sha256:6376d63fa6a158bd89dcf23bf75c6b684c542ca933c4c47e434287f92649cd17", - "sha256": "6376d63fa6a158bd89dcf23bf75c6b684c542ca933c4c47e434287f92649cd17" + "url": "https://ghcr.io/v2/homebrew/core/pre-commit/blobs/sha256:95bb496c02885d65a8db70ad434fda479a99a146e0244308c9be91322b0a2dd3", + "sha256": "95bb496c02885d65a8db70ad434fda479a99a146e0244308c9be91322b0a2dd3" } } } @@ -215,12 +205,12 @@ "system": { "macos": { "monterey": { - "HOMEBREW_VERSION": "3.5.4", - "HOMEBREW_PREFIX": "/usr/local", - "Homebrew/homebrew-core": "5d8199d4653c34f7d06d716c762e23b19c27ffe3", - "CLT": "13.0.0.0.1.1627064638", - "Xcode": "13.4.1", - "macOS": "12.4" + "HOMEBREW_VERSION": "3.6.5", + "HOMEBREW_PREFIX": "/opt/homebrew", + "Homebrew/homebrew-core": "8953dee9c8266b88d45b1697cc931bdf0112342d", + "CLT": "14.0.0.0.1.1661618636", + "Xcode": "14.0", + "macOS": "12.6" } } } diff --git a/CHANGELOG.md b/CHANGELOG.md index 4bf0f9939d3..e9e2ec4d81c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,12 @@ # Changelog -## Unreleased +## 7.27.1 ### Fixes +- Add app start measurement to first finished transaction (#2252) - Return SentryNoOpSpan when starting a child on a finished transaction (#2239) +- Fix profiling timestamps for slow/frozen frames (#2226) ## 7.27.0 @@ -25,7 +27,6 @@ - [Core Data Tracking](https://docs.sentry.io/platforms/apple/performance/instrumentation/automatic-instrumentation/#core-data-tracking) is stable (#2213) - [File I/O Tracking](https://docs.sentry.io/platforms/apple/performance/instrumentation/automatic-instrumentation/#file-io-tracking) is stable (#2212) - Add flush (#2140) -- Create Sentry swift module (#2162) - Add more device context (#2190) ### Fixes diff --git a/Gemfile.lock b/Gemfile.lock index 3672cac1952..f5ba5b055eb 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -3,7 +3,7 @@ GEM specs: CFPropertyList (3.0.5) rexml - activesupport (6.1.6.1) + activesupport (6.1.7) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) @@ -17,8 +17,8 @@ GEM artifactory (3.0.15) atomos (0.1.3) aws-eventstream (1.2.0) - aws-partitions (1.636.0) - aws-sdk-core (3.154.0) + aws-partitions (1.644.0) + aws-sdk-core (3.159.0) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.525.0) aws-sigv4 (~> 1.1) @@ -30,7 +30,7 @@ GEM aws-sdk-core (~> 3, >= 3.127.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.4) - aws-sigv4 (1.5.1) + aws-sigv4 (1.5.2) aws-eventstream (~> 1, >= 1.0.2) babosa (1.0.4) claide (1.1.0) @@ -86,7 +86,7 @@ GEM escape (0.0.4) ethon (0.15.0) ffi (>= 1.15.0) - excon (0.92.5) + excon (0.93.0) faraday (1.10.2) faraday-em_http (~> 1.0) faraday-em_synchrony (~> 1.0) @@ -155,13 +155,13 @@ GEM xcodeproj (>= 1.13.0, < 2.0.0) xcpretty (~> 0.3.0) xcpretty-travis-formatter (>= 0.0.3) - fastlane-plugin-sentry (1.13.0) + fastlane-plugin-sentry (1.14.0) os (~> 1.1, >= 1.1.4) ffi (1.15.5) fourflusher (2.3.1) fuzzy_match (2.0.4) gh_inspector (1.1.3) - google-apis-androidpublisher_v3 (0.28.0) + google-apis-androidpublisher_v3 (0.29.0) google-apis-core (>= 0.9.0, < 2.a) google-apis-core (0.9.0) addressable (~> 2.5, >= 2.5.1) @@ -176,19 +176,19 @@ GEM google-apis-core (>= 0.9.0, < 2.a) google-apis-playcustomapp_v1 (0.11.0) google-apis-core (>= 0.9.0, < 2.a) - google-apis-storage_v1 (0.17.0) - google-apis-core (>= 0.7, < 2.a) + google-apis-storage_v1 (0.19.0) + google-apis-core (>= 0.9.0, < 2.a) google-cloud-core (1.6.0) google-cloud-env (~> 1.0) google-cloud-errors (~> 1.0) google-cloud-env (1.6.0) faraday (>= 0.17.3, < 3.0) google-cloud-errors (1.3.0) - google-cloud-storage (1.42.0) + google-cloud-storage (1.43.0) addressable (~> 2.8) digest-crc (~> 0.4) google-apis-iamcredentials_v1 (~> 0.1) - google-apis-storage_v1 (~> 0.17.0) + google-apis-storage_v1 (~> 0.19.0) google-cloud-core (~> 1.6) googleauth (>= 0.16.2, < 2.a) mini_mime (~> 1.0) @@ -282,7 +282,7 @@ GEM rouge (~> 2.0.7) xcpretty-travis-formatter (1.0.1) xcpretty (~> 0.2, >= 0.0.7) - zeitwerk (2.6.0) + zeitwerk (2.6.1) PLATFORMS ruby @@ -296,4 +296,4 @@ DEPENDENCIES xcpretty BUNDLED WITH - 2.3.21 + 2.3.23 diff --git a/Makefile b/Makefile index 201b4405099..11c6df993a4 100644 --- a/Makefile +++ b/Makefile @@ -63,7 +63,7 @@ build-xcframework-sample: build-framework: @echo "--> Carthage: creating Sentry framework" ./scripts/carthage-xcode12-workaround.sh build --no-skip-current - ./scripts/carthage-xcode12-workaround.sh archive Sentry SentryObjc --output Sentry.framework.zip + ./scripts/carthage-xcode12-workaround.sh archive Sentry --output Sentry.framework.zip build-framework-sample: ./scripts/create-carthage-json.sh @@ -79,7 +79,6 @@ build-for-watchos: xcodebuild archive -scheme Sentry -destination="watchOS" -archivePath ${watchOSLibPath}/watchos.xcarchive -sdk watchos SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES xcodebuild archive -scheme Sentry -destination="watch Simulator" -archivePath ${watchOSLibPath}//watchsimulator.xcarchive -sdk watchsimulator SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES xcodebuild -create-xcframework -allow-internal-distribution -framework ${watchOSLibPath}/watchos.xcarchive/Products/Library/Frameworks/Sentry.framework -framework ${watchOSLibPath}/watchsimulator.xcarchive/Products/Library/Frameworks/Sentry.framework -output ${watchOSLibPath}//Sentry.xcframework - xcodebuild -create-xcframework -allow-internal-distribution -framework ${watchOSLibPath}/watchos.xcarchive/Products/Library/Frameworks/SentryObjc.framework -framework ${watchOSLibPath}/watchsimulator.xcarchive/Products/Library/Frameworks/SentryObjc.framework -output ${watchOSLibPath}//SentryObjc.xcframework # call this like `make bump-version TO=5.0.0-rc.0` bump-version: clean-version-bump diff --git a/Package.swift b/Package.swift index acb1c837140..1fde2484238 100644 --- a/Package.swift +++ b/Package.swift @@ -9,16 +9,8 @@ let package = Package( .library(name: "Sentry-Dynamic", type: .dynamic, targets: ["Sentry"]) ], targets: [ - .target( name: "Sentry", - dependencies: ["SentryObjc"], - path: "Sources", - sources: [ - "SentrySwift" - ], - publicHeadersPath: "SentrySwift" - ), .target( - name: "SentryObjc", + name: "Sentry", path: "Sources", sources: [ "Sentry/", diff --git a/Samples/Carthage-Validation/Framework/Framework.xcodeproj/project.pbxproj b/Samples/Carthage-Validation/Framework/Framework.xcodeproj/project.pbxproj index decc5a2c57e..92fe2aa4783 100644 --- a/Samples/Carthage-Validation/Framework/Framework.xcodeproj/project.pbxproj +++ b/Samples/Carthage-Validation/Framework/Framework.xcodeproj/project.pbxproj @@ -14,7 +14,6 @@ 7BA13E60267B851D00DEE308 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7BA13E5F267B851D00DEE308 /* Preview Assets.xcassets */; }; 7BA13E63267B851D00DEE308 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7BA13E61267B851D00DEE308 /* LaunchScreen.storyboard */; }; 7BA13E74267B85A300DEE308 /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7BA13E71267B859500DEE308 /* Sentry.framework */; }; - D8145C2C28DCBE4100494277 /* SentryObjc.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8145C2B28DCBE4100494277 /* SentryObjc.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -31,8 +30,6 @@ 7BA13E71267B859500DEE308 /* Sentry.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = Sentry.framework; sourceTree = ""; }; 7BA13E72267B859500DEE308 /* Sentry.framework.dSYM */ = {isa = PBXFileReference; lastKnownFileType = wrapper.dsym; path = Sentry.framework.dSYM; sourceTree = ""; }; 7BA13E73267B859500DEE308 /* EEC56027-C176-3ABE-8012-00961E008F29.bcsymbolmap */ = {isa = PBXFileReference; lastKnownFileType = text; path = "EEC56027-C176-3ABE-8012-00961E008F29.bcsymbolmap"; sourceTree = ""; }; - D8145C2728DCBCBD00494277 /* SentryObjc.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SentryObjc.framework; path = Carthage/Build/SentryObjc.framework; sourceTree = ""; }; - D8145C2B28DCBE4100494277 /* SentryObjc.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = SentryObjc.framework; path = Carthage/Build/iOS/SentryObjc.framework; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -41,7 +38,6 @@ buildActionMask = 2147483647; files = ( 7BA13E74267B85A300DEE308 /* Sentry.framework in Frameworks */, - D8145C2C28DCBE4100494277 /* SentryObjc.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -90,8 +86,6 @@ 7BA13E6A267B856B00DEE308 /* Frameworks */ = { isa = PBXGroup; children = ( - D8145C2728DCBCBD00494277 /* SentryObjc.framework */, - D8145C2B28DCBE4100494277 /* SentryObjc.framework */, 7BA13E6F267B859500DEE308 /* iOS */, 7BA13E6B267B856B00DEE308 /* Sentry.framework */, ); @@ -351,7 +345,6 @@ FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/iOS", - "$(PROJECT_DIR)/Carthage/Build", ); INFOPLIST_FILE = Framework/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( @@ -377,7 +370,6 @@ FRAMEWORK_SEARCH_PATHS = ( "$(inherited)", "$(PROJECT_DIR)/Carthage/Build/iOS", - "$(PROJECT_DIR)/Carthage/Build", ); INFOPLIST_FILE = Framework/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( diff --git a/Samples/Carthage-Validation/Framework/input.xcfilelist b/Samples/Carthage-Validation/Framework/input.xcfilelist index 7b76fef4b6d..38c98e5185f 100644 --- a/Samples/Carthage-Validation/Framework/input.xcfilelist +++ b/Samples/Carthage-Validation/Framework/input.xcfilelist @@ -1,2 +1 @@ $(SRCROOT)/Carthage/Build/iOS/Sentry.framework -$(SRCROOT)/Carthage/Build/iOS/SentryObjc.framework diff --git a/Samples/Carthage-Validation/Framework/output.xcfilelist b/Samples/Carthage-Validation/Framework/output.xcfilelist index 5eb9e9d58e6..d9ab7a67be9 100644 --- a/Samples/Carthage-Validation/Framework/output.xcfilelist +++ b/Samples/Carthage-Validation/Framework/output.xcfilelist @@ -1,2 +1 @@ $(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/Sentry.framework -$(BUILT_PRODUCTS_DIR)/$(FRAMEWORKS_FOLDER_PATH)/SentryObjc.framework diff --git a/Samples/Carthage-Validation/XCFramework/XCFramework.xcodeproj/project.pbxproj b/Samples/Carthage-Validation/XCFramework/XCFramework.xcodeproj/project.pbxproj index 2bb383a4784..b5c2a6e6b35 100644 --- a/Samples/Carthage-Validation/XCFramework/XCFramework.xcodeproj/project.pbxproj +++ b/Samples/Carthage-Validation/XCFramework/XCFramework.xcodeproj/project.pbxproj @@ -13,21 +13,18 @@ 7BA13E38267B3F5400DEE308 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7BA13E37267B3F5400DEE308 /* Assets.xcassets */; }; 7BA13E3B267B3F5400DEE308 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7BA13E3A267B3F5400DEE308 /* Preview Assets.xcassets */; }; 7BA13E3E267B3F5400DEE308 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7BA13E3C267B3F5400DEE308 /* LaunchScreen.storyboard */; }; - D8145C1A28DC9C8A00494277 /* Sentry.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7BA13E46267B4A2D00DEE308 /* Sentry.xcframework */; }; - D8145C1B28DC9C8A00494277 /* Sentry.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 7BA13E46267B4A2D00DEE308 /* Sentry.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - D8145C2528DCB4E300494277 /* SentryObjc.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8145C2428DCB4E200494277 /* SentryObjc.xcframework */; }; - D8145C2628DCB4E300494277 /* SentryObjc.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D8145C2428DCB4E200494277 /* SentryObjc.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 7BA13E47267B4A2D00DEE308 /* Sentry.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7BA13E46267B4A2D00DEE308 /* Sentry.xcframework */; }; + 7BA13E48267B4A2D00DEE308 /* Sentry.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 7BA13E46267B4A2D00DEE308 /* Sentry.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ - D8145C1C28DC9C8A00494277 /* Embed Frameworks */ = { + 7BA13E49267B4A2D00DEE308 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - D8145C2628DCB4E300494277 /* SentryObjc.xcframework in Embed Frameworks */, - D8145C1B28DC9C8A00494277 /* Sentry.xcframework in Embed Frameworks */, + 7BA13E48267B4A2D00DEE308 /* Sentry.xcframework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -44,7 +41,6 @@ 7BA13E3D267B3F5400DEE308 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 7BA13E3F267B3F5400DEE308 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 7BA13E46267B4A2D00DEE308 /* Sentry.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Sentry.xcframework; path = Carthage/Build/Sentry.xcframework; sourceTree = ""; }; - D8145C2428DCB4E200494277 /* SentryObjc.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = SentryObjc.xcframework; path = Carthage/Build/SentryObjc.xcframework; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -52,8 +48,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D8145C2528DCB4E300494277 /* SentryObjc.xcframework in Frameworks */, - D8145C1A28DC9C8A00494277 /* Sentry.xcframework in Frameworks */, + 7BA13E47267B4A2D00DEE308 /* Sentry.xcframework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -102,7 +97,6 @@ 7BA13E45267B4A2D00DEE308 /* Frameworks */ = { isa = PBXGroup; children = ( - D8145C2428DCB4E200494277 /* SentryObjc.xcframework */, 7BA13E46267B4A2D00DEE308 /* Sentry.xcframework */, ); name = Frameworks; @@ -118,7 +112,7 @@ 7BA13E2A267B3F5200DEE308 /* Sources */, 7BA13E2B267B3F5200DEE308 /* Frameworks */, 7BA13E2C267B3F5200DEE308 /* Resources */, - D8145C1C28DC9C8A00494277 /* Embed Frameworks */, + 7BA13E49267B4A2D00DEE308 /* Embed Frameworks */, ); buildRules = ( ); @@ -324,12 +318,10 @@ DEVELOPMENT_ASSET_PATHS = "\"XCFramework/Preview Content\""; DEVELOPMENT_TEAM = 97JCY7859U; ENABLE_PREVIEWS = YES; - FRAMEWORK_SEARCH_PATHS = ""; INFOPLIST_FILE = XCFramework/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", - "$(PROJECT_DIR)/Carthage/Build/", ); PRODUCT_BUNDLE_IDENTIFIER = io.sentry.carthage.XCFramework; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -347,12 +339,10 @@ DEVELOPMENT_ASSET_PATHS = "\"XCFramework/Preview Content\""; DEVELOPMENT_TEAM = 97JCY7859U; ENABLE_PREVIEWS = YES; - FRAMEWORK_SEARCH_PATHS = ""; INFOPLIST_FILE = XCFramework/Info.plist; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", - "$(PROJECT_DIR)/Carthage/Build/", ); PRODUCT_BUNDLE_IDENTIFIER = io.sentry.carthage.XCFramework; PRODUCT_NAME = "$(TARGET_NAME)"; diff --git a/Samples/TrendingMovies/ProfileDataGeneratorUITest/ProfileDataGeneratorUITest.m b/Samples/TrendingMovies/ProfileDataGeneratorUITest/ProfileDataGeneratorUITest.m index 0b106827a21..987cd6dbc9e 100644 --- a/Samples/TrendingMovies/ProfileDataGeneratorUITest/ProfileDataGeneratorUITest.m +++ b/Samples/TrendingMovies/ProfileDataGeneratorUITest/ProfileDataGeneratorUITest.m @@ -20,12 +20,14 @@ - (void)testGenerateProfileData { CFTimeInterval const startTime = CACurrentMediaTime(); CFTimeInterval const runDuration_seconds = 3.0 * 60.0; - generateProfileData(5 /* nCellsPerTab */, YES /* clearState */); + BOOL efficiently = NO; + generateProfileData(5 /* nCellsPerTab */, YES /* clearState */, efficiently); while (true) { if ((CACurrentMediaTime() - startTime) >= runDuration_seconds) { break; } - if (!generateProfileData(5 /* nCellsPerTab */, NO /* clearState */)) { + efficiently = !efficiently; + if (!generateProfileData(5 /* nCellsPerTab */, NO /* clearState */, efficiently)) { break; } } @@ -36,15 +38,24 @@ - (void)testGenerateProfileData * Sentry transaction with profiling enabled. * @param nCellsPerTab The number of cells to tap on, per tab. * @param clearState Whether to clear filesystem state when the app starts. + * @param efficiently Whether to perform certain operations in TrendingMovies using an efficient + * method or not, to help us demonstrate how to identify such issues in the profiling areas of the + * Sentry dashboard. * @return Whether the operation was successful or not. */ BOOL -generateProfileData(NSUInteger nCellsPerTab, BOOL clearState) +generateProfileData(NSUInteger nCellsPerTab, BOOL clearState, BOOL efficiently) { XCUIApplication *app = [[XCUIApplication alloc] init]; + NSMutableArray *launchArguments = app.launchArguments.mutableCopy; if (clearState) { - app.launchArguments = @[ @"--clear" ]; + [launchArguments addObject:@"--clear"]; } + if (efficiently) { + [launchArguments + addObject:@"--io.sentry.sample.trending-movies.launch-arg.blur-images-on-bg-thread"]; + } + app.launchArguments = launchArguments; [app launch]; if (![app waitForState:XCUIApplicationStateRunningForeground timeout:kWaitForAppStateTimeout]) { XCTFail("App failed to transition to Foreground state"); diff --git a/Samples/TrendingMovies/TrendingMovies.xcodeproj/project.pbxproj b/Samples/TrendingMovies/TrendingMovies.xcodeproj/project.pbxproj index d7a9da6dc39..9264de4293a 100644 --- a/Samples/TrendingMovies/TrendingMovies.xcodeproj/project.pbxproj +++ b/Samples/TrendingMovies/TrendingMovies.xcodeproj/project.pbxproj @@ -64,8 +64,9 @@ 844A3579282B4B6500C6D1DF /* Kingfisher.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 844A3572282B4B6500C6D1DF /* Kingfisher.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 844A357A282B4B6500C6D1DF /* KingfisherSwiftUI.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 844A3573282B4B6500C6D1DF /* KingfisherSwiftUI.xcframework */; }; 844A357B282B4B6500C6D1DF /* KingfisherSwiftUI.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 844A3573282B4B6500C6D1DF /* KingfisherSwiftUI.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 844A359C282DAA6100C6D1DF /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 844A356B282B3E4500C6D1DF /* Sentry.framework */; }; + 844A359D282DAA6100C6D1DF /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 844A356B282B3E4500C6D1DF /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 847EA5542852F7E800F65FE4 /* ProfileDataGeneratorUITest.m in Sources */ = {isa = PBXBuildFile; fileRef = 847EA5532852F7E800F65FE4 /* ProfileDataGeneratorUITest.m */; }; - D8C5645C28D89A880018E2FB /* Sentry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D8C5645B28D89A830018E2FB /* Sentry.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -90,13 +91,6 @@ remoteGlobalIDString = 844A34D4282B2B6100C6D1DF; remoteInfo = TrendingMovies; }; - D8C5645A28D89A830018E2FB /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 844A3565282B3E4500C6D1DF /* Sentry.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = D894688728D1D67C0006C83D; - remoteInfo = Sentry; - }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -109,6 +103,7 @@ 844A3579282B4B6500C6D1DF /* Kingfisher.xcframework in Embed Frameworks */, 844A357B282B4B6500C6D1DF /* KingfisherSwiftUI.xcframework in Embed Frameworks */, 844A3575282B4B6500C6D1DF /* TUSafariActivity.xcframework in Embed Frameworks */, + 844A359D282DAA6100C6D1DF /* Sentry.framework in Embed Frameworks */, 844A3577282B4B6500C6D1DF /* FaceAware.xcframework in Embed Frameworks */, ); name = "Embed Frameworks"; @@ -187,8 +182,8 @@ 844A3578282B4B6500C6D1DF /* Kingfisher.xcframework in Frameworks */, 844A357A282B4B6500C6D1DF /* KingfisherSwiftUI.xcframework in Frameworks */, 844A3574282B4B6500C6D1DF /* TUSafariActivity.xcframework in Frameworks */, + 844A359C282DAA6100C6D1DF /* Sentry.framework in Frameworks */, 844A3576282B4B6500C6D1DF /* FaceAware.xcframework in Frameworks */, - D8C5645C28D89A880018E2FB /* Sentry.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -395,7 +390,6 @@ children = ( 844A356B282B3E4500C6D1DF /* Sentry.framework */, 844A356D282B3E4500C6D1DF /* SentryTests.xctest */, - D8C5645B28D89A830018E2FB /* Sentry.a */, ); name = Products; sourceTree = ""; @@ -518,13 +512,6 @@ remoteRef = 844A356C282B3E4500C6D1DF /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - D8C5645B28D89A830018E2FB /* Sentry.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = Sentry.a; - remoteRef = D8C5645A28D89A830018E2FB /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ diff --git a/Samples/TrendingMovies/TrendingMovies.xcodeproj/xcshareddata/xcschemes/TrendingMovies.xcscheme b/Samples/TrendingMovies/TrendingMovies.xcodeproj/xcshareddata/xcschemes/TrendingMovies.xcscheme index 67c14f5de77..5dc59c560e2 100644 --- a/Samples/TrendingMovies/TrendingMovies.xcodeproj/xcshareddata/xcschemes/TrendingMovies.xcscheme +++ b/Samples/TrendingMovies/TrendingMovies.xcodeproj/xcshareddata/xcschemes/TrendingMovies.xcscheme @@ -60,6 +60,12 @@ ReferencedContainer = "container:TrendingMovies.xcodeproj"> + + + + Void) { - let blurredImage = ImageEffects.createBlurredBackdrop(image: image, downsamplingFactor: 1.0, blurRadius: 20.0, tintColor: nil, saturationDeltaFactor: 2.0) - completion(blurredImage) + let efficiently = ProcessInfo.processInfo.arguments.contains("--io.sentry.sample.trending-movies.launch-arg.blur-images-on-bg-thread") + func performBlur() { + let blurredImage = ImageEffects.createBlurredBackdrop(image: image, downsamplingFactor: 1.0, blurRadius: 20.0, tintColor: nil, saturationDeltaFactor: 2.0) + if efficiently { + DispatchQueue.main.async { + completion(blurredImage) + } + } else { + completion(blurredImage) + } + } + if efficiently { + MovieCollectionViewCell.blurWorkQueue.async { + performBlur() + } + } else { + performBlur() + } } diff --git a/Samples/TrendingMovies/TrendingMovies/Utilities/Tracer.swift b/Samples/TrendingMovies/TrendingMovies/Utilities/Tracer.swift index 27569860f10..2b0a04bcd61 100644 --- a/Samples/TrendingMovies/TrendingMovies/Utilities/Tracer.swift +++ b/Samples/TrendingMovies/TrendingMovies/Utilities/Tracer.swift @@ -43,6 +43,7 @@ extension Tracer { SentrySDK.configureScope { scope in scope.setTag(value: setUpInDidFinishLaunching ? "didFinishLaunching" : "willFinishLaunching", key: "launch-method") + scope.setTag(value: "\(ProcessInfo.processInfo.arguments.contains("--io.sentry.sample.trending-movies.launch-arg.blur-images-on-bg-thread"))", key: "efficient-implementation") } } } diff --git a/Samples/iOS-ObjectiveC/iOS-ObjectiveC.xcodeproj/project.pbxproj b/Samples/iOS-ObjectiveC/iOS-ObjectiveC.xcodeproj/project.pbxproj index 83e47e3520a..7a23119d6b7 100644 --- a/Samples/iOS-ObjectiveC/iOS-ObjectiveC.xcodeproj/project.pbxproj +++ b/Samples/iOS-ObjectiveC/iOS-ObjectiveC.xcodeproj/project.pbxproj @@ -7,6 +7,8 @@ objects = { /* Begin PBXBuildFile section */ + 630853492440C46E00DDE4CE /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 6308533B2440C45500DDE4CE /* Sentry.framework */; }; + 6308534A2440C46E00DDE4CE /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 6308533B2440C45500DDE4CE /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 637AFDCB243B036B0034958B /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 637AFDCA243B036B0034958B /* AppDelegate.m */; }; 637AFDD1243B036B0034958B /* ViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 637AFDD0243B036B0034958B /* ViewController.m */; }; 637AFDD4243B036B0034958B /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 637AFDD2243B036B0034958B /* Main.storyboard */; }; @@ -16,7 +18,6 @@ 7B3427FB25876DDC00056519 /* Tongariro.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 7B3427F925876DDB00056519 /* Tongariro.jpg */; }; 7B64387A26A6C69F000D0F65 /* LaunchUITests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B64387926A6C69F000D0F65 /* LaunchUITests.swift */; }; 7B8A5C9E2715B5DE008ACD3B /* InitializerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B8A5C9D2715B5DE008ACD3B /* InitializerViewController.m */; }; - D8C5644F28D899B20018E2FB /* Sentry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D8C5644E28D899AA0018E2FB /* Sentry.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -34,6 +35,13 @@ remoteGlobalIDString = 63AA76651EB8CB2F00D153DE; remoteInfo = SentryTests; }; + 630853472440C46300DDE4CE /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 630853352440C45500DDE4CE /* Sentry.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 63AA759A1EB8AEF500D153DE; + remoteInfo = Sentry; + }; 7B64387C26A6C69F000D0F65 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 637AFDBE243B036B0034958B /* Project object */; @@ -41,15 +49,22 @@ remoteGlobalIDString = 637AFDC5243B036B0034958B; remoteInfo = "iOS-ObjectiveC"; }; - D8C5644D28D899AA0018E2FB /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 630853352440C45500DDE4CE /* Sentry.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = D894688728D1D67C0006C83D; - remoteInfo = Sentry; - }; /* End PBXContainerItemProxy section */ +/* Begin PBXCopyFilesBuildPhase section */ + 6308534B2440C46E00DDE4CE /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 6308534A2440C46E00DDE4CE /* Sentry.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ 630853352440C45500DDE4CE /* Sentry.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Sentry.xcodeproj; path = ../../Sentry.xcodeproj; sourceTree = ""; }; 634C7EC724406A4900AFDE9F /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -76,7 +91,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D8C5644F28D899B20018E2FB /* Sentry.a in Frameworks */, + 630853492440C46E00DDE4CE /* Sentry.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -95,7 +110,6 @@ children = ( 6308533B2440C45500DDE4CE /* Sentry.framework */, 6308533D2440C45500DDE4CE /* SentryTests.xctest */, - D8C5644E28D899AA0018E2FB /* Sentry.a */, ); name = Products; sourceTree = ""; @@ -166,10 +180,12 @@ 637AFDC2243B036B0034958B /* Sources */, 637AFDC3243B036B0034958B /* Frameworks */, 637AFDC4243B036B0034958B /* Resources */, + 6308534B2440C46E00DDE4CE /* Embed Frameworks */, ); buildRules = ( ); dependencies = ( + 630853482440C46300DDE4CE /* PBXTargetDependency */, ); name = "iOS-ObjectiveC"; productName = "iOS-ObjectiveC"; @@ -242,7 +258,7 @@ 6308533B2440C45500DDE4CE /* Sentry.framework */ = { isa = PBXReferenceProxy; fileType = wrapper.framework; - path = SentryObjc.framework; + path = Sentry.framework; remoteRef = 6308533A2440C45500DDE4CE /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -253,13 +269,6 @@ remoteRef = 6308533C2440C45500DDE4CE /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - D8C5644E28D899AA0018E2FB /* Sentry.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = Sentry.a; - remoteRef = D8C5644D28D899AA0018E2FB /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ @@ -306,6 +315,11 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ + 630853482440C46300DDE4CE /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Sentry; + targetProxy = 630853472440C46300DDE4CE /* PBXContainerItemProxy */; + }; 7B64387D26A6C69F000D0F65 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 637AFDC5243B036B0034958B /* iOS-ObjectiveC */; @@ -454,7 +468,7 @@ CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = "iOS-ObjectiveC/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -476,7 +490,7 @@ CODE_SIGN_STYLE = Automatic; DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = "iOS-ObjectiveC/Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 11.0; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_RUNPATH_SEARCH_PATHS = ( "$(inherited)", "@executable_path/Frameworks", @@ -533,6 +547,204 @@ }; name = Release; }; + 84D4FE9928ECD21F00EDAAFE /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "c++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = "TEST=1"; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.4; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = Test; + }; + 84D4FE9A28ECD21F00EDAAFE /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = NO; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = ""; + INFOPLIST_FILE = "iOS-ObjectiveC/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-ObjectiveC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + TARGETED_DEVICE_FAMILY = "1,2"; + USER_HEADER_SEARCH_PATHS = ""; + }; + name = Test; + }; + 84D4FE9B28ECD21F00EDAAFE /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = 97JCY7859U; + INFOPLIST_FILE = "iOS-ObjectiveCUITests/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-ObjectiveCUITests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = "iOS-ObjectiveC"; + }; + name = Test; + }; + 84D4FE9D28ECD22300EDAAFE /* TestCI */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "c++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = "TESTCI=1"; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.4; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + VALIDATE_PRODUCT = YES; + }; + name = TestCI; + }; + 84D4FE9E28ECD22300EDAAFE /* TestCI */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES = NO; + CODE_SIGN_IDENTITY = "Apple Development"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = ""; + INFOPLIST_FILE = "iOS-ObjectiveC/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-ObjectiveC"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + TARGETED_DEVICE_FAMILY = "1,2"; + USER_HEADER_SEARCH_PATHS = ""; + }; + name = TestCI; + }; + 84D4FE9F28ECD22300EDAAFE /* TestCI */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = 97JCY7859U; + INFOPLIST_FILE = "iOS-ObjectiveCUITests/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-ObjectiveCUITests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = "iOS-ObjectiveC"; + }; + name = TestCI; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -541,6 +753,8 @@ buildConfigurations = ( 637AFDDD243B036D0034958B /* Debug */, 637AFDDE243B036D0034958B /* Release */, + 84D4FE9D28ECD22300EDAAFE /* TestCI */, + 84D4FE9928ECD21F00EDAAFE /* Test */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -550,6 +764,8 @@ buildConfigurations = ( 637AFDE0243B036D0034958B /* Debug */, 637AFDE1243B036D0034958B /* Release */, + 84D4FE9E28ECD22300EDAAFE /* TestCI */, + 84D4FE9A28ECD21F00EDAAFE /* Test */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -559,6 +775,8 @@ buildConfigurations = ( 7B64387E26A6C69F000D0F65 /* Debug */, 7B64387F26A6C69F000D0F65 /* Release */, + 84D4FE9F28ECD22300EDAAFE /* TestCI */, + 84D4FE9B28ECD21F00EDAAFE /* Test */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Samples/iOS-ObjectiveC/iOS-ObjectiveC/AppDelegate.m b/Samples/iOS-ObjectiveC/iOS-ObjectiveC/AppDelegate.m index de97cde304e..75a80bbe089 100644 --- a/Samples/iOS-ObjectiveC/iOS-ObjectiveC/AppDelegate.m +++ b/Samples/iOS-ObjectiveC/iOS-ObjectiveC/AppDelegate.m @@ -13,6 +13,7 @@ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. + [SentrySDK startWithConfigureOptions:^(SentryOptions *options) { options.dsn = @"https://a92d50327ac74b8b9aa4ea80eccfb267@o447951.ingest.sentry.io/5428557"; options.debug = YES; diff --git a/Samples/iOS-ObjectiveC/iOS-ObjectiveC/ViewController.m b/Samples/iOS-ObjectiveC/iOS-ObjectiveC/ViewController.m index ea8a403cf93..d2405d68421 100644 --- a/Samples/iOS-ObjectiveC/iOS-ObjectiveC/ViewController.m +++ b/Samples/iOS-ObjectiveC/iOS-ObjectiveC/ViewController.m @@ -1,5 +1,6 @@ #import "ViewController.h" -@import SentryObjc; + +@import Sentry; @interface ViewController () diff --git a/Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj b/Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj index 7fb6c53339d..b8f2cc0e2d9 100644 --- a/Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj +++ b/Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj @@ -9,6 +9,7 @@ /* Begin PBXBuildFile section */ 0AAAB8572887F7C60011845C /* PermissionsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AABE2E928855FF80057ED69 /* PermissionsViewController.swift */; }; 0AABE2EA28855FF80057ED69 /* PermissionsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AABE2E928855FF80057ED69 /* PermissionsViewController.swift */; }; + 630853532440C60F00DDE4CE /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* Sentry.framework */; }; 637AFDAA243B02760034958B /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 637AFDA9243B02760034958B /* AppDelegate.swift */; }; 637AFDAE243B02760034958B /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 637AFDAD243B02760034958B /* ViewController.swift */; }; 637AFDB1243B02760034958B /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 637AFDAF243B02760034958B /* Main.storyboard */; }; @@ -19,9 +20,9 @@ 7BFC8B0626D4D24B000D3504 /* LoremIpsum.txt in Resources */ = {isa = PBXBuildFile; fileRef = 7BFC8B0526D4D24B000D3504 /* LoremIpsum.txt */; }; 844DA821282584C300E6B62E /* CoreDataViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8F57BC427BBD787000D09D4 /* CoreDataViewController.swift */; }; 844DA822282584F700E6B62E /* SentryData.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = D845F35927BAD4CC00A4D7A2 /* SentryData.xcdatamodeld */; }; - 848A256B286E3351008A8858 /* SentryObjc.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* SentryObjc.framework */; }; + 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 /* SentryObjc.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* SentryObjc.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; + 848A256F286E3351008A8858 /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; 84BE546F287503F100ACC735 /* SentrySDKPerformanceBenchmarkTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 84BE546E287503F100ACC735 /* SentrySDKPerformanceBenchmarkTests.m */; }; 84BE547E287645B900ACC735 /* SentryProcessInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 84BE54792876451D00ACC735 /* SentryProcessInfo.m */; }; 84FB8120283EEDB900F3A94A /* PerformanceViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84FB811F283EEDB900F3A94A /* PerformanceViewController.swift */; }; @@ -40,9 +41,12 @@ D8269A56274C0F9E00BD5BD5 /* NibViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = D890CD3B26CEE2FA001246CF /* NibViewController.xib */; }; D8269A57274C0FA100BD5BD5 /* NibViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D890CD3E26CEE31B001246CF /* NibViewController.swift */; }; D8269A58274C0FC700BD5BD5 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 637AFDAD243B02760034958B /* ViewController.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, ); }; }; D83A30C8279EFD6E00372D0A /* ClearTestState.swift in Sources */ = {isa = PBXBuildFile; fileRef = D83A30C7279EFD6E00372D0A /* ClearTestState.swift */; }; - D83A30D1279F0A7C00372D0A /* SentryObjc.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* SentryObjc.framework */; }; - D83A30DC279F16BA00372D0A /* SentryObjc.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* SentryObjc.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; + D83A30D1279F0A7C00372D0A /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* Sentry.framework */; }; + 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 */; }; D83A30E6279FE21F00372D0A /* SentryFileIOTrackingIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D83A30E5279FE21F00372D0A /* SentryFileIOTrackingIntegrationTests.swift */; }; D840D523273A07F400CDF142 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D840D522273A07F400CDF142 /* AppDelegate.swift */; }; @@ -64,9 +68,8 @@ D88E666828732AE000153425 /* PerformanceViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84FB811F283EEDB900F3A94A /* PerformanceViewController.swift */; }; D890CD3C26CEE2FA001246CF /* NibViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = D890CD3B26CEE2FA001246CF /* NibViewController.xib */; }; D890CD3F26CEE31B001246CF /* NibViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D890CD3E26CEE31B001246CF /* NibViewController.swift */; }; - D8C5644828D899460018E2FB /* Sentry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D8C5644728D8993F0018E2FB /* Sentry.a */; }; - D8C5644928D899740018E2FB /* Sentry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D8C5644728D8993F0018E2FB /* Sentry.a */; }; - D8C5644A28D899810018E2FB /* Sentry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D8C5644728D8993F0018E2FB /* Sentry.a */; }; + 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, ); }; }; D8D7BB4A2750067900044146 /* UIAssert.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8D7BB492750067900044146 /* UIAssert.swift */; }; D8D7BB4C2750095800044146 /* UIViewExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8D7BB4B2750095800044146 /* UIViewExtension.swift */; }; D8D7BB4E27501B9400044146 /* SpanObserver.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8D7BB4D27501B9400044146 /* SpanObserver.swift */; }; @@ -98,6 +101,13 @@ 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 */; @@ -140,23 +150,27 @@ remoteGlobalIDString = D8269A38274C095E00BD5BD5; remoteInfo = "iOS13-Swift"; }; - D8C5644628D8993F0018E2FB /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6308532C2440C44F00DDE4CE /* Sentry.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = D894688728D1D67C0006C83D; - remoteInfo = Sentry; - }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ + 630853552440C60F00DDE4CE /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + D83A30D8279F159D00372D0A /* Sentry.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; 630853552440C60F00DDE4CF /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - D83A30DC279F16BA00372D0A /* SentryObjc.framework in Embed Frameworks */, + D83A30DC279F16BA00372D0A /* Sentry.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -167,7 +181,18 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 848A256F286E3351008A8858 /* SentryObjc.framework in Embed Frameworks */, + 848A256F286E3351008A8858 /* Sentry.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; + D8269A5B274C100300BD5BD5 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + D8269A5A274C100300BD5BD5 /* Sentry.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -183,6 +208,17 @@ name = "Embed App Clips"; runOnlyForDeploymentPostprocessing = 0; }; + D8B56CF2273A8D97004DF238 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + D8B56CF1273A8D97004DF238 /* Sentry.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ @@ -256,7 +292,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D8C5644928D899740018E2FB /* Sentry.a in Frameworks */, + 630853532440C60F00DDE4CE /* Sentry.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -264,7 +300,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D83A30D1279F0A7C00372D0A /* SentryObjc.framework in Frameworks */, + D83A30D1279F0A7C00372D0A /* Sentry.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -272,7 +308,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 848A256B286E3351008A8858 /* SentryObjc.framework in Frameworks */, + 848A256B286E3351008A8858 /* Sentry.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -280,7 +316,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D8C5644A28D899810018E2FB /* Sentry.a in Frameworks */, + D8269A59274C100300BD5BD5 /* Sentry.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -288,7 +324,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D8C5644828D899460018E2FB /* Sentry.a in Frameworks */, + D8B56CF0273A8D97004DF238 /* Sentry.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -305,9 +341,8 @@ 6308532D2440C44F00DDE4CE /* Products */ = { isa = PBXGroup; children = ( - 630853322440C44F00DDE4CE /* SentryObjc.framework */, + 630853322440C44F00DDE4CE /* Sentry.framework */, 630853342440C44F00DDE4CE /* SentryTests.xctest */, - D8C5644728D8993F0018E2FB /* Sentry.a */, ); name = Products; sourceTree = ""; @@ -489,11 +524,13 @@ 637AFDA2243B02760034958B /* Sources */, 637AFDA3243B02760034958B /* Frameworks */, 637AFDA4243B02760034958B /* Resources */, + 630853552440C60F00DDE4CE /* Embed Frameworks */, D840D535273A07F600CDF142 /* Embed App Clips */, ); buildRules = ( ); dependencies = ( + 630853522440C60800DDE4CE /* PBXTargetDependency */, D840D533273A07F600CDF142 /* PBXTargetDependency */, ); name = "iOS-Swift"; @@ -548,6 +585,7 @@ D8269A35274C095E00BD5BD5 /* Sources */, D8269A36274C095E00BD5BD5 /* Frameworks */, D8269A37274C095E00BD5BD5 /* Resources */, + D8269A5B274C100300BD5BD5 /* Embed Frameworks */, ); buildRules = ( ); @@ -565,6 +603,7 @@ D840D51C273A07F400CDF142 /* Sources */, D840D51D273A07F400CDF142 /* Frameworks */, D840D51E273A07F400CDF142 /* Resources */, + D8B56CF2273A8D97004DF238 /* Embed Frameworks */, ); buildRules = ( ); @@ -656,10 +695,10 @@ /* End PBXProject section */ /* Begin PBXReferenceProxy section */ - 630853322440C44F00DDE4CE /* SentryObjc.framework */ = { + 630853322440C44F00DDE4CE /* Sentry.framework */ = { isa = PBXReferenceProxy; fileType = wrapper.framework; - path = SentryObjc.framework; + path = Sentry.framework; remoteRef = 630853312440C44F00DDE4CE /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -670,13 +709,6 @@ remoteRef = 630853332440C44F00DDE4CE /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - D8C5644728D8993F0018E2FB /* Sentry.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = Sentry.a; - remoteRef = D8C5644628D8993F0018E2FB /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ @@ -836,6 +868,11 @@ /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ + 630853522440C60800DDE4CE /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Sentry; + targetProxy = 630853512440C60800DDE4CE /* PBXContainerItemProxy */; + }; 7B64386E26A6C544000D0F65 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 637AFDA5243B02760034958B /* iOS-Swift */; @@ -1045,7 +1082,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 7.27.0; + MARKETING_VERSION = 7.27.1; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.sample.iOS-Swift"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = "match Development io.sentry.sample.iOS-Swift"; @@ -1074,7 +1111,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 7.27.0; + MARKETING_VERSION = 7.27.1; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.sample.iOS-Swift"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = "match AppStore io.sentry.sample.iOS-Swift"; @@ -1184,6 +1221,452 @@ }; name = Release; }; + 84D4FE8028ECD1EA00EDAAFE /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "c++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = "TEST=1"; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.4; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Test; + }; + 84D4FE8128ECD1EA00EDAAFE /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_ENTITLEMENTS = "iOS-Swift/iOS-Swift.entitlements"; + CODE_SIGN_IDENTITY = "iPhone Distribution"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Distribution"; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 97JCY7859U; + INFOPLIST_FILE = "iOS-Swift/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 7.27.0; + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.sample.iOS-Swift"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = "match AppStore io.sentry.sample.iOS-Swift"; + "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = ""; + SUPPORTS_MACCATALYST = YES; + SWIFT_OBJC_BRIDGING_HEADER = "iOS-Swift/Tools/iOS-Swift-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Test; + }; + 84D4FE8228ECD1EA00EDAAFE /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Distribution"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = 97JCY7859U; + INFOPLIST_FILE = "iOS-SwiftUITests/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-SwiftUITests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = "match AppStore io.sentry.iOS-SwiftUITests.xctrunner"; + "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = ""; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = "iOS-Swift"; + }; + name = Test; + }; + 84D4FE8328ECD1EA00EDAAFE /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = "iPhone Distribution"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = 97JCY7859U; + INFOPLIST_FILE = "PerformanceBenchmarks/PerformanceBenchmarks-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-Benchmarking"; + PRODUCT_NAME = "$(TARGET_NAME)"; + "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = ""; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = "iOS-Swift"; + }; + name = Test; + }; + 84D4FE8428ECD1EA00EDAAFE /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = "iOS-SwiftClip/iOS_SwiftClip.entitlements"; + CODE_SIGN_IDENTITY = "iPhone Distribution"; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 97JCY7859U; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = "iOS-SwiftClip/Info.plist"; + INFOPLIST_KEY_CFBundleDisplayName = "iOS-Swift"; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UIRequiresFullScreen = YES; + INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 7.27.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"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Test; + }; + 84D4FE8528ECD1EA00EDAAFE /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = "iOS13-Swift/iOS13-Swift.entitlements"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = "iOS13-Swift/Info.plist"; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations = ""; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.Sentry.iOS13-Swift"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTS_MACCATALYST = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OBJC_BRIDGING_HEADER = "iOS13-Swift/iOS13-Swift-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Test; + }; + 84D4FE8628ECD1EA00EDAAFE /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.Sentry.iOS13-SwiftTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = "iOS13-Swift"; + }; + name = Test; + }; + 84D4FE8828ECD1ED00EDAAFE /* TestCI */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "c++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = "TESTCI=1"; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.4; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = TestCI; + }; + 84D4FE8928ECD1ED00EDAAFE /* TestCI */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_ENTITLEMENTS = "iOS-Swift/iOS-Swift.entitlements"; + CODE_SIGN_IDENTITY = "iPhone Distribution"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Distribution"; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 97JCY7859U; + INFOPLIST_FILE = "iOS-Swift/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 7.27.0; + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.sample.iOS-Swift"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = "match AppStore io.sentry.sample.iOS-Swift"; + "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = ""; + SUPPORTS_MACCATALYST = YES; + SWIFT_OBJC_BRIDGING_HEADER = "iOS-Swift/Tools/iOS-Swift-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = TestCI; + }; + 84D4FE8A28ECD1ED00EDAAFE /* TestCI */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_IDENTITY = "iPhone Distribution"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = 97JCY7859U; + INFOPLIST_FILE = "iOS-SwiftUITests/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-SwiftUITests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = "match AppStore io.sentry.iOS-SwiftUITests.xctrunner"; + "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = ""; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = "iOS-Swift"; + }; + name = TestCI; + }; + 84D4FE8B28ECD1ED00EDAAFE /* TestCI */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = "iPhone Distribution"; + "CODE_SIGN_IDENTITY[sdk=macosx*]" = "Apple Development"; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_TEAM = 97JCY7859U; + INFOPLIST_FILE = "PerformanceBenchmarks/PerformanceBenchmarks-Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-Benchmarking"; + PRODUCT_NAME = "$(TARGET_NAME)"; + "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = ""; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = "iOS-Swift"; + }; + name = TestCI; + }; + 84D4FE8C28ECD1ED00EDAAFE /* TestCI */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = "iOS-SwiftClip/iOS_SwiftClip.entitlements"; + CODE_SIGN_IDENTITY = "iPhone Distribution"; + CODE_SIGN_STYLE = Manual; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_TEAM = 97JCY7859U; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = "iOS-SwiftClip/Info.plist"; + INFOPLIST_KEY_CFBundleDisplayName = "iOS-Swift"; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UIRequiresFullScreen = YES; + INFOPLIST_KEY_UISupportedInterfaceOrientations = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 7.27.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"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = TestCI; + }; + 84D4FE8D28ECD1ED00EDAAFE /* TestCI */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = "iOS13-Swift/iOS13-Swift.entitlements"; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_FILE = "iOS13-Swift/Info.plist"; + INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UISupportedInterfaceOrientations = ""; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPad = "UIInterfaceOrientationPortrait UIInterfaceOrientationPortraitUpsideDown UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + INFOPLIST_KEY_UISupportedInterfaceOrientations_iPhone = "UIInterfaceOrientationPortrait UIInterfaceOrientationLandscapeLeft UIInterfaceOrientationLandscapeRight"; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.Sentry.iOS13-Swift"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SUPPORTS_MACCATALYST = YES; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OBJC_BRIDGING_HEADER = "iOS13-Swift/iOS13-Swift-Bridging-Header.h"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = TestCI; + }; + 84D4FE8E28ECD1ED00EDAAFE /* TestCI */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 13.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.Sentry.iOS13-SwiftTests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = "iOS13-Swift"; + }; + name = TestCI; + }; D8269A4A274C096000BD5BD5 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -1273,7 +1756,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 7.27.0; + MARKETING_VERSION = 7.27.1; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.sample.iOS-Swift.Clip"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = "match Development io.sentry.sample.iOS-Swift.Clip"; @@ -1308,7 +1791,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 7.27.0; + MARKETING_VERSION = 7.27.1; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.sample.iOS-Swift.Clip"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = "match AppStore io.sentry.sample.iOS-Swift.Clip"; @@ -1370,6 +1853,8 @@ buildConfigurations = ( 637AFDB8243B02770034958B /* Debug */, 637AFDB9243B02770034958B /* Release */, + 84D4FE8828ECD1ED00EDAAFE /* TestCI */, + 84D4FE8028ECD1EA00EDAAFE /* Test */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1379,6 +1864,8 @@ buildConfigurations = ( 637AFDBB243B02770034958B /* Debug */, 637AFDBC243B02770034958B /* Release */, + 84D4FE8928ECD1ED00EDAAFE /* TestCI */, + 84D4FE8128ECD1EA00EDAAFE /* Test */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1388,6 +1875,8 @@ buildConfigurations = ( 7B64386F26A6C544000D0F65 /* Debug */, 7B64387026A6C544000D0F65 /* Release */, + 84D4FE8A28ECD1ED00EDAAFE /* TestCI */, + 84D4FE8228ECD1EA00EDAAFE /* Test */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1397,6 +1886,8 @@ buildConfigurations = ( 848A2571286E3351008A8858 /* Debug */, 848A2572286E3351008A8858 /* Release */, + 84D4FE8B28ECD1ED00EDAAFE /* TestCI */, + 84D4FE8328ECD1EA00EDAAFE /* Test */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1406,6 +1897,8 @@ buildConfigurations = ( D8269A4A274C096000BD5BD5 /* Debug */, D8269A4B274C096000BD5BD5 /* Release */, + 84D4FE8D28ECD1ED00EDAAFE /* TestCI */, + 84D4FE8528ECD1EA00EDAAFE /* Test */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1415,6 +1908,8 @@ buildConfigurations = ( D840D536273A07F600CDF142 /* Debug */, D840D537273A07F600CDF142 /* Release */, + 84D4FE8C28ECD1ED00EDAAFE /* TestCI */, + 84D4FE8428ECD1EA00EDAAFE /* Test */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1424,6 +1919,8 @@ buildConfigurations = ( D85DAA52274C244F004DF43C /* Debug */, D85DAA53274C244F004DF43C /* Release */, + 84D4FE8E28ECD1ED00EDAAFE /* TestCI */, + 84D4FE8628ECD1EA00EDAAFE /* Test */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; 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 85036ca1718..19ea1dabdc1 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 @@ -37,6 +37,11 @@ BlueprintName = "iOS-SwiftUITests" ReferencedContainer = "container:iOS-Swift.xcodeproj"> + + + + diff --git a/Samples/iOS-SwiftUI/iOS-SwiftUI.xcodeproj/project.pbxproj b/Samples/iOS-SwiftUI/iOS-SwiftUI.xcodeproj/project.pbxproj index 7b5d3e7e374..62ed0d3c93f 100644 --- a/Samples/iOS-SwiftUI/iOS-SwiftUI.xcodeproj/project.pbxproj +++ b/Samples/iOS-SwiftUI/iOS-SwiftUI.xcodeproj/project.pbxproj @@ -14,11 +14,25 @@ 7BB6224F26A56C4E00D0E75E /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BB6224E26A56C4E00D0E75E /* ContentView.swift */; }; 7BB6225126A56C5000D0E75E /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7BB6225026A56C5000D0E75E /* Assets.xcassets */; }; 7BB6225426A56C5000D0E75E /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7BB6225326A56C5000D0E75E /* Preview Assets.xcassets */; }; - D8145C0928DB610400494277 /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8145C0828DB610400494277 /* Sentry.framework */; }; - D8145C0A28DB610400494277 /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D8145C0828DB610400494277 /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 7BB6225E26A56CB600D0E75E /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 7BB6225C26A56CB600D0E75E /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 84D4FEB528ECD53500EDAAFE /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84D4FEB228ECD52E00EDAAFE /* Sentry.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ + 0A94157D28F6B893006A5DD1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84D4FEA828ECD52700EDAAFE /* Sentry.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 63AA759B1EB8AEF500D153DE; + remoteInfo = Sentry; + }; + 0A94157F28F6B893006A5DD1 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84D4FEA828ECD52700EDAAFE /* Sentry.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 63AA76651EB8CB2F00D153DE; + remoteInfo = SentryTests; + }; 7B64385C26A6C0A6000D0F65 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 7BB6224126A56C4E00D0E75E /* Project object */; @@ -26,16 +40,37 @@ remoteGlobalIDString = 7BB6224826A56C4E00D0E75E; remoteInfo = "iOS-SwiftUI"; }; + 84D4FEAD28ECD52E00EDAAFE /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84D4FEAA28ECD52E00EDAAFE /* Sentry.xcodeproj */; + proxyType = 1; + remoteGlobalIDString = 63AA759A1EB8AEF500D153DE; + remoteInfo = Sentry; + }; + 84D4FEB128ECD52E00EDAAFE /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84D4FEAA28ECD52E00EDAAFE /* Sentry.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 63AA759B1EB8AEF500D153DE; + remoteInfo = Sentry; + }; + 84D4FEB328ECD52E00EDAAFE /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84D4FEAA28ECD52E00EDAAFE /* Sentry.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 63AA76651EB8CB2F00D153DE; + remoteInfo = SentryTests; + }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ - D8145C0B28DB610400494277 /* Embed Frameworks */ = { + 7BB6225F26A56CB600D0E75E /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - D8145C0A28DB610400494277 /* Sentry.framework in Embed Frameworks */, + 7BB6225E26A56CB600D0E75E /* Sentry.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -56,10 +91,9 @@ 7BB6225526A56C5000D0E75E /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 7BB6225C26A56CB600D0E75E /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7BB6226026A56E1E00D0E75E /* iOS-SwiftUI.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "iOS-SwiftUI.entitlements"; sourceTree = ""; }; - D8145C0828DB610400494277 /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D894689328D1D6B30006C83D /* libSentrySwift.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = libSentrySwift.a; sourceTree = BUILT_PRODUCTS_DIR; }; - D894689528D1D7990006C83D /* SentrySwift.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = SentrySwift.a; sourceTree = BUILT_PRODUCTS_DIR; }; - D89468AF28D225640006C83D /* Sentry.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = Sentry.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 84D4FEA628ECD51800EDAAFE /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 84D4FEA828ECD52700EDAAFE /* Sentry.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Sentry.xcodeproj; path = ../../Sentry.xcodeproj; sourceTree = ""; }; + 84D4FEAA28ECD52E00EDAAFE /* Sentry.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Sentry.xcodeproj; path = "/Users/andrewmcknight/Code/organization/getsentry/repos/public/sentry-cocoa/Sentry.xcodeproj"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -74,13 +108,22 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D8145C0928DB610400494277 /* Sentry.framework in Frameworks */, + 84D4FEB528ECD53500EDAAFE /* Sentry.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 0A94157928F6B893006A5DD1 /* Products */ = { + isa = PBXGroup; + children = ( + 0A94157E28F6B893006A5DD1 /* Sentry.framework */, + 0A94158028F6B893006A5DD1 /* SentryTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; 7B64385826A6C0A6000D0F65 /* iOS-SwiftUI-UITests */ = { isa = PBXGroup; children = ( @@ -97,6 +140,7 @@ 7B64385826A6C0A6000D0F65 /* iOS-SwiftUI-UITests */, 7BB6224A26A56C4E00D0E75E /* Products */, 7BB6225B26A56CB600D0E75E /* Frameworks */, + 84D4FEAA28ECD52E00EDAAFE /* Sentry.xcodeproj */, ); sourceTree = ""; }; @@ -135,15 +179,22 @@ 7BB6225B26A56CB600D0E75E /* Frameworks */ = { isa = PBXGroup; children = ( - D8145C0828DB610400494277 /* Sentry.framework */, - D89468AF28D225640006C83D /* Sentry.a */, - D894689528D1D7990006C83D /* SentrySwift.a */, - D894689328D1D6B30006C83D /* libSentrySwift.a */, + 84D4FEA628ECD51800EDAAFE /* Sentry.framework */, + 84D4FEA828ECD52700EDAAFE /* Sentry.xcodeproj */, 7BB6225C26A56CB600D0E75E /* Sentry.framework */, ); name = Frameworks; sourceTree = ""; }; + 84D4FEAB28ECD52E00EDAAFE /* Products */ = { + isa = PBXGroup; + children = ( + 84D4FEB228ECD52E00EDAAFE /* Sentry.framework */, + 84D4FEB428ECD52E00EDAAFE /* SentryTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -172,11 +223,12 @@ 7BB6224526A56C4E00D0E75E /* Sources */, 7BB6224626A56C4E00D0E75E /* Frameworks */, 7BB6224726A56C4E00D0E75E /* Resources */, - D8145C0B28DB610400494277 /* Embed Frameworks */, + 7BB6225F26A56CB600D0E75E /* Embed Frameworks */, ); buildRules = ( ); dependencies = ( + 84D4FEAE28ECD52E00EDAAFE /* PBXTargetDependency */, ); name = "iOS-SwiftUI"; productName = "iOS-SwiftUI"; @@ -212,6 +264,16 @@ mainGroup = 7BB6224026A56C4E00D0E75E; productRefGroup = 7BB6224A26A56C4E00D0E75E /* Products */; projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 0A94157928F6B893006A5DD1 /* Products */; + ProjectRef = 84D4FEA828ECD52700EDAAFE /* Sentry.xcodeproj */; + }, + { + ProductGroup = 84D4FEAB28ECD52E00EDAAFE /* Products */; + ProjectRef = 84D4FEAA28ECD52E00EDAAFE /* Sentry.xcodeproj */; + }, + ); projectRoot = ""; targets = ( 7BB6224826A56C4E00D0E75E /* iOS-SwiftUI */, @@ -220,6 +282,37 @@ }; /* End PBXProject section */ +/* Begin PBXReferenceProxy section */ + 0A94157E28F6B893006A5DD1 /* Sentry.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = Sentry.framework; + remoteRef = 0A94157D28F6B893006A5DD1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 0A94158028F6B893006A5DD1 /* SentryTests.xctest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = SentryTests.xctest; + remoteRef = 0A94157F28F6B893006A5DD1 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 84D4FEB228ECD52E00EDAAFE /* Sentry.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = Sentry.framework; + remoteRef = 84D4FEB128ECD52E00EDAAFE /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 84D4FEB428ECD52E00EDAAFE /* SentryTests.xctest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = SentryTests.xctest; + remoteRef = 84D4FEB328ECD52E00EDAAFE /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + /* Begin PBXResourcesBuildPhase section */ 7B64385526A6C0A6000D0F65 /* Resources */ = { isa = PBXResourcesBuildPhase; @@ -267,6 +360,11 @@ target = 7BB6224826A56C4E00D0E75E /* iOS-SwiftUI */; targetProxy = 7B64385C26A6C0A6000D0F65 /* PBXContainerItemProxy */; }; + 84D4FEAE28ECD52E00EDAAFE /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Sentry; + targetProxy = 84D4FEAD28ECD52E00EDAAFE /* PBXContainerItemProxy */; + }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ @@ -476,6 +574,210 @@ }; name = Release; }; + 84D4FEA028ECD23400EDAAFE /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "c++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = "TEST=1"; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = Test; + }; + 84D4FEA128ECD23400EDAAFE /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = "iOS-SwiftUI/iOS-SwiftUI.entitlements"; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_ASSET_PATHS = "\"iOS-SwiftUI/Preview Content\""; + DEVELOPMENT_TEAM = ""; + ENABLE_PREVIEWS = YES; + INFOPLIST_FILE = "iOS-SwiftUI/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-SwiftUI"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = ""; + SUPPORTS_MACCATALYST = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Test; + }; + 84D4FEA228ECD23400EDAAFE /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = 97JCY7859U; + INFOPLIST_FILE = "iOS-SwiftUI-UITests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-SwiftUI-UITests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = "iOS-SwiftUI"; + }; + name = Test; + }; + 84D4FEA328ECD23800EDAAFE /* TestCI */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "c++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = "TESTCI=1"; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + VALIDATE_PRODUCT = YES; + }; + name = TestCI; + }; + 84D4FEA428ECD23800EDAAFE /* TestCI */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_ENTITLEMENTS = "iOS-SwiftUI/iOS-SwiftUI.entitlements"; + CODE_SIGN_STYLE = Manual; + DEVELOPMENT_ASSET_PATHS = "\"iOS-SwiftUI/Preview Content\""; + DEVELOPMENT_TEAM = ""; + ENABLE_PREVIEWS = YES; + INFOPLIST_FILE = "iOS-SwiftUI/Info.plist"; + IPHONEOS_DEPLOYMENT_TARGET = 14.0; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-SwiftUI"; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + "PROVISIONING_PROFILE_SPECIFIER[sdk=macosx*]" = ""; + SUPPORTS_MACCATALYST = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = TestCI; + }; + 84D4FEA528ECD23800EDAAFE /* TestCI */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = 97JCY7859U; + INFOPLIST_FILE = "iOS-SwiftUI-UITests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-SwiftUI-UITests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = "1,2"; + TEST_TARGET_NAME = "iOS-SwiftUI"; + }; + name = TestCI; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -484,6 +786,8 @@ buildConfigurations = ( 7B64385E26A6C0A6000D0F65 /* Debug */, 7B64385F26A6C0A6000D0F65 /* Release */, + 84D4FEA528ECD23800EDAAFE /* TestCI */, + 84D4FEA228ECD23400EDAAFE /* Test */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -493,6 +797,8 @@ buildConfigurations = ( 7BB6225626A56C5000D0E75E /* Debug */, 7BB6225726A56C5000D0E75E /* Release */, + 84D4FEA328ECD23800EDAAFE /* TestCI */, + 84D4FEA028ECD23400EDAAFE /* Test */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -502,6 +808,8 @@ buildConfigurations = ( 7BB6225926A56C5000D0E75E /* Debug */, 7BB6225A26A56C5000D0E75E /* Release */, + 84D4FEA428ECD23800EDAAFE /* TestCI */, + 84D4FEA128ECD23400EDAAFE /* Test */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Samples/iOS15-SwiftUI/iOS15-SwiftUI.xcodeproj/project.pbxproj b/Samples/iOS15-SwiftUI/iOS15-SwiftUI.xcodeproj/project.pbxproj index a5369e0d681..2f60dda6e70 100644 --- a/Samples/iOS15-SwiftUI/iOS15-SwiftUI.xcodeproj/project.pbxproj +++ b/Samples/iOS15-SwiftUI/iOS15-SwiftUI.xcodeproj/project.pbxproj @@ -11,18 +11,18 @@ 7B51664E2758C6F000C0A720 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B51664D2758C6F000C0A720 /* ContentView.swift */; }; 7B5166502758C6F400C0A720 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7B51664F2758C6F400C0A720 /* Assets.xcassets */; }; 7B5166532758C6F400C0A720 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7B5166522758C6F400C0A720 /* Preview Assets.xcassets */; }; - D8145C0D28DB611600494277 /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8145C0C28DB611600494277 /* Sentry.framework */; }; - D8145C0E28DB611600494277 /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D8145C0C28DB611600494277 /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 7B5166772758C72600C0A720 /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B5166762758C72600C0A720 /* Sentry.framework */; }; + 7B5166782758C72600C0A720 /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 7B5166762758C72600C0A720 /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ - D8145C0F28DB611600494277 /* Embed Frameworks */ = { + 7B5166792758C72600C0A720 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - D8145C0E28DB611600494277 /* Sentry.framework in Embed Frameworks */, + 7B5166782758C72600C0A720 /* Sentry.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -36,8 +36,6 @@ 7B51664F2758C6F400C0A720 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 7B5166522758C6F400C0A720 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; 7B5166762758C72600C0A720 /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D8145C0C28DB611600494277 /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D8C5645528D89A6F0018E2FB /* Sentry.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = Sentry.a; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -45,7 +43,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D8145C0D28DB611600494277 /* Sentry.framework in Frameworks */, + 7B5166772758C72600C0A720 /* Sentry.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -91,8 +89,6 @@ 7B5166752758C72600C0A720 /* Frameworks */ = { isa = PBXGroup; children = ( - D8145C0C28DB611600494277 /* Sentry.framework */, - D8C5645528D89A6F0018E2FB /* Sentry.a */, 7B5166762758C72600C0A720 /* Sentry.framework */, ); name = Frameworks; @@ -108,7 +104,7 @@ 7B5166442758C6F000C0A720 /* Sources */, 7B5166452758C6F000C0A720 /* Frameworks */, 7B5166462758C6F000C0A720 /* Resources */, - D8145C0F28DB611600494277 /* Embed Frameworks */, + 7B5166792758C72600C0A720 /* Embed Frameworks */, ); buildRules = ( ); diff --git a/Samples/macOS-Swift/macOS-Swift.xcodeproj/project.pbxproj b/Samples/macOS-Swift/macOS-Swift.xcodeproj/project.pbxproj index 10ffb12b310..a71f6d33dfe 100644 --- a/Samples/macOS-Swift/macOS-Swift.xcodeproj/project.pbxproj +++ b/Samples/macOS-Swift/macOS-Swift.xcodeproj/project.pbxproj @@ -7,6 +7,8 @@ objects = { /* Begin PBXBuildFile section */ + 6308534E2440C5FB00DDE4CE /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 630853442440C45A00DDE4CE /* Sentry.framework */; }; + 6308534F2440C5FB00DDE4CE /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 630853442440C45A00DDE4CE /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 637AFDEF243B04320034958B /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 637AFDEE243B04320034958B /* AppDelegate.swift */; }; 637AFDF1243B04320034958B /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 637AFDF0243B04320034958B /* ViewController.swift */; }; 637AFDF3243B04340034958B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 637AFDF2243B04340034958B /* Assets.xcassets */; }; @@ -14,7 +16,6 @@ 7B3427FE25876DE700056519 /* Tongariro.jpg in Resources */ = {isa = PBXBuildFile; fileRef = 7B3427FC25876DE700056519 /* Tongariro.jpg */; }; 7B948A06275E459C00F04173 /* CppSample.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 7B948A04275E459C00F04173 /* CppSample.cpp */; }; 7B948A0A275E4A9900F04173 /* CppWrapper.m in Sources */ = {isa = PBXBuildFile; fileRef = 7B948A09275E4A9900F04173 /* CppWrapper.m */; }; - D8C5645428D899BC0018E2FB /* Sentry.a in Frameworks */ = {isa = PBXBuildFile; fileRef = D8C5645328D899B80018E2FB /* Sentry.a */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -32,15 +33,29 @@ remoteGlobalIDString = 63AA76651EB8CB2F00D153DE; remoteInfo = SentryTests; }; - D8C5645228D899B80018E2FB /* PBXContainerItemProxy */ = { + 6308534C2440C5F500DDE4CE /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 6308533E2440C45A00DDE4CE /* Sentry.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = D894688728D1D67C0006C83D; + proxyType = 1; + remoteGlobalIDString = 63AA759A1EB8AEF500D153DE; remoteInfo = Sentry; }; /* End PBXContainerItemProxy section */ +/* Begin PBXCopyFilesBuildPhase section */ + 630853502440C5FB00DDE4CE /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 6308534F2440C5FB00DDE4CE /* Sentry.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ 6308533E2440C45A00DDE4CE /* Sentry.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Sentry.xcodeproj; path = ../../Sentry.xcodeproj; sourceTree = ""; }; 637AFDEB243B04320034958B /* macOS-Swift.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "macOS-Swift.app"; sourceTree = BUILT_PRODUCTS_DIR; }; @@ -64,7 +79,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D8C5645428D899BC0018E2FB /* Sentry.a in Frameworks */, + 6308534E2440C5FB00DDE4CE /* Sentry.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -76,7 +91,6 @@ children = ( 630853442440C45A00DDE4CE /* Sentry.framework */, 630853462440C45A00DDE4CE /* SentryTests.xctest */, - D8C5645328D899B80018E2FB /* Sentry.a */, ); name = Products; sourceTree = ""; @@ -136,10 +150,12 @@ 637AFDE7243B04320034958B /* Sources */, 637AFDE8243B04320034958B /* Frameworks */, 637AFDE9243B04320034958B /* Resources */, + 630853502440C5FB00DDE4CE /* Embed Frameworks */, ); buildRules = ( ); dependencies = ( + 6308534D2440C5F500DDE4CE /* PBXTargetDependency */, ); name = "macOS-Swift"; productName = "macOS-Swift"; @@ -201,13 +217,6 @@ remoteRef = 630853452440C45A00DDE4CE /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; - D8C5645328D899B80018E2FB /* Sentry.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = Sentry.a; - remoteRef = D8C5645228D899B80018E2FB /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ @@ -237,6 +246,14 @@ }; /* End PBXSourcesBuildPhase section */ +/* Begin PBXTargetDependency section */ + 6308534D2440C5F500DDE4CE /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Sentry; + targetProxy = 6308534C2440C5F500DDE4CE /* PBXContainerItemProxy */; + }; +/* End PBXTargetDependency section */ + /* Begin PBXVariantGroup section */ 637AFDF4243B04340034958B /* Main.storyboard */ = { isa = PBXVariantGroup; diff --git a/Samples/tvOS-Swift/tvOS-Swift.xcodeproj/project.pbxproj b/Samples/tvOS-Swift/tvOS-Swift.xcodeproj/project.pbxproj index f6880a66c8e..81a4e018119 100644 --- a/Samples/tvOS-Swift/tvOS-Swift.xcodeproj/project.pbxproj +++ b/Samples/tvOS-Swift/tvOS-Swift.xcodeproj/project.pbxproj @@ -13,15 +13,15 @@ 7BA61D68247FA32600C130A8 /* ContentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BA61D67247FA32600C130A8 /* ContentView.swift */; }; 7BA61D6A247FA32600C130A8 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7BA61D69247FA32600C130A8 /* Assets.xcassets */; }; 7BA61D70247FA32600C130A8 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 7BA61D6E247FA32600C130A8 /* LaunchScreen.storyboard */; }; - D8145C0128DB60BF00494277 /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8145C0028DB60BF00494277 /* Sentry.framework */; }; - D8145C0228DB60BF00494277 /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D8145C0028DB60BF00494277 /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - D8145C0528DB60D700494277 /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8145C0428DB60D700494277 /* Sentry.framework */; }; - D8145C0628DB60D700494277 /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D8145C0428DB60D700494277 /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 7BA61D7A247FA35500C130A8 /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 7BA61D78247FA35500C130A8 /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 84D4FEBF28ECD8A800EDAAFE /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84D4FEBC28ECD8A100EDAAFE /* Sentry.framework */; }; + 84D4FEC028ECD8AF00EDAAFE /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84D4FEBC28ECD8A100EDAAFE /* Sentry.framework */; }; D822A4232760D15000E7B241 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D822A4222760D15000E7B241 /* AppDelegate.swift */; }; D822A4252760D15000E7B241 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D822A4242760D15000E7B241 /* ViewController.swift */; }; D822A4282760D15000E7B241 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D822A4262760D15000E7B241 /* Main.storyboard */; }; D822A42A2760D15100E7B241 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D822A4292760D15100E7B241 /* Assets.xcassets */; }; D822A42D2760D15100E7B241 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D822A42B2760D15100E7B241 /* LaunchScreen.storyboard */; }; + D822A4332760D7E100E7B241 /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D822A4312760D7E100E7B241 /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; D822A4362760DB1900E7B241 /* ActionCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = D822A4352760DB1900E7B241 /* ActionCell.swift */; }; D822A4392760E90B00E7B241 /* TableViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D822A4382760E90B00E7B241 /* TableViewController.swift */; }; D822A43B2760EA1000E7B241 /* NibViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = D822A43A2760EA1000E7B241 /* NibViewController.xib */; }; @@ -38,6 +38,20 @@ remoteGlobalIDString = 7BA61D61247FA32600C130A8; remoteInfo = "tvOS-Swift"; }; + 84D4FEBB28ECD8A100EDAAFE /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84D4FEB628ECD8A100EDAAFE /* Sentry.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 63AA759B1EB8AEF500D153DE; + remoteInfo = Sentry; + }; + 84D4FEBD28ECD8A100EDAAFE /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 84D4FEB628ECD8A100EDAAFE /* Sentry.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = 63AA76651EB8CB2F00D153DE; + remoteInfo = SentryTests; + }; D822A44A2760ED7100E7B241 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 7BA61D5A247FA32600C130A8 /* Project object */; @@ -48,24 +62,24 @@ /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ - D8145C0328DB60C000494277 /* Embed Frameworks */ = { + 7BA61D7B247FA35500C130A8 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - D8145C0228DB60BF00494277 /* Sentry.framework in Embed Frameworks */, + 7BA61D7A247FA35500C130A8 /* Sentry.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; }; - D8145C0728DB60D700494277 /* Embed Frameworks */ = { + D822A4342760D7E100E7B241 /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; dstPath = ""; dstSubfolderSpec = 10; files = ( - D8145C0628DB60D700494277 /* Sentry.framework in Embed Frameworks */, + D822A4332760D7E100E7B241 /* Sentry.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -84,8 +98,7 @@ 7BA61D6F247FA32600C130A8 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; 7BA61D71247FA32600C130A8 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 7BA61D78247FA35500C130A8 /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D8145C0028DB60BF00494277 /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D8145C0428DB60D700494277 /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 84D4FEB628ECD8A100EDAAFE /* Sentry.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Sentry.xcodeproj; path = ../../Sentry.xcodeproj; sourceTree = ""; }; D822A4202760D15000E7B241 /* tvOS-SBSwift.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "tvOS-SBSwift.app"; sourceTree = BUILT_PRODUCTS_DIR; }; D822A4222760D15000E7B241 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; D822A4242760D15000E7B241 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; @@ -100,8 +113,6 @@ D822A43E2760EB9700E7B241 /* SplitViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SplitViewController.swift; sourceTree = ""; }; D822A4442760ED7100E7B241 /* tvOS-SBSwiftUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "tvOS-SBSwiftUITests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; D822A4462760ED7100E7B241 /* LaunchUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LaunchUITests.swift; sourceTree = ""; }; - D88CDDFE28D9EFED00B84733 /* Sentry.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = Sentry.a; sourceTree = BUILT_PRODUCTS_DIR; }; - D88CDE0028D9F00D00B84733 /* Sentry.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = Sentry.a; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -116,7 +127,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D8145C0128DB60BF00494277 /* Sentry.framework in Frameworks */, + 84D4FEBF28ECD8A800EDAAFE /* Sentry.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -124,7 +135,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D8145C0528DB60D700494277 /* Sentry.framework in Frameworks */, + 84D4FEC028ECD8AF00EDAAFE /* Sentry.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -150,6 +161,7 @@ 7BA61D59247FA32600C130A8 = { isa = PBXGroup; children = ( + 84D4FEB628ECD8A100EDAAFE /* Sentry.xcodeproj */, 7BA61D64247FA32600C130A8 /* tvOS-Swift */, 7B64388726A6C71A000D0F65 /* tvOS-SwiftUITests */, D822A4212760D15000E7B241 /* tvOS-SBSwift */, @@ -186,16 +198,21 @@ 7BA61D77247FA35500C130A8 /* Frameworks */ = { isa = PBXGroup; children = ( - D8145C0428DB60D700494277 /* Sentry.framework */, - D8145C0028DB60BF00494277 /* Sentry.framework */, - D88CDE0028D9F00D00B84733 /* Sentry.a */, - D88CDDFE28D9EFED00B84733 /* Sentry.a */, D822A4312760D7E100E7B241 /* Sentry.framework */, 7BA61D78247FA35500C130A8 /* Sentry.framework */, ); name = Frameworks; sourceTree = ""; }; + 84D4FEB728ECD8A100EDAAFE /* Products */ = { + isa = PBXGroup; + children = ( + 84D4FEBC28ECD8A100EDAAFE /* Sentry.framework */, + 84D4FEBE28ECD8A100EDAAFE /* SentryTests.xctest */, + ); + name = Products; + sourceTree = ""; + }; D822A4212760D15000E7B241 /* tvOS-SBSwift */ = { isa = PBXGroup; children = ( @@ -257,7 +274,7 @@ 7BA61D5E247FA32600C130A8 /* Sources */, 7BA61D5F247FA32600C130A8 /* Frameworks */, 7BA61D60247FA32600C130A8 /* Resources */, - D8145C0328DB60C000494277 /* Embed Frameworks */, + 7BA61D7B247FA35500C130A8 /* Embed Frameworks */, ); buildRules = ( ); @@ -275,7 +292,7 @@ D822A41C2760D15000E7B241 /* Sources */, D822A41D2760D15000E7B241 /* Frameworks */, D822A41E2760D15000E7B241 /* Resources */, - D8145C0728DB60D700494277 /* Embed Frameworks */, + D822A4342760D7E100E7B241 /* Embed Frameworks */, ); buildRules = ( ); @@ -341,6 +358,12 @@ mainGroup = 7BA61D59247FA32600C130A8; productRefGroup = 7BA61D63247FA32600C130A8 /* Products */; projectDirPath = ""; + projectReferences = ( + { + ProductGroup = 84D4FEB728ECD8A100EDAAFE /* Products */; + ProjectRef = 84D4FEB628ECD8A100EDAAFE /* Sentry.xcodeproj */; + }, + ); projectRoot = ""; targets = ( 7BA61D61247FA32600C130A8 /* tvOS-Swift */, @@ -351,6 +374,23 @@ }; /* End PBXProject section */ +/* Begin PBXReferenceProxy section */ + 84D4FEBC28ECD8A100EDAAFE /* Sentry.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = Sentry.framework; + remoteRef = 84D4FEBB28ECD8A100EDAAFE /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; + 84D4FEBE28ECD8A100EDAAFE /* SentryTests.xctest */ = { + isa = PBXReferenceProxy; + fileType = wrapper.cfbundle; + path = SentryTests.xctest; + remoteRef = 84D4FEBD28ECD8A100EDAAFE /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; +/* End PBXReferenceProxy section */ + /* Begin PBXResourcesBuildPhase section */ 7B64388426A6C71A000D0F65 /* Resources */ = { isa = PBXResourcesBuildPhase; @@ -665,6 +705,292 @@ }; name = Release; }; + 84D4FE8F28ECD1FD00EDAAFE /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "c++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = "TEST=1"; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = appletvos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TVOS_DEPLOYMENT_TARGET = 13.0; + VALIDATE_PRODUCT = YES; + }; + name = Test; + }; + 84D4FE9028ECD1FD00EDAAFE /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_ASSET_PATHS = ""; + DEVELOPMENT_TEAM = ""; + ENABLE_PREVIEWS = YES; + INFOPLIST_FILE = "tvOS-Swift/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.tvOS-Swift"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 3; + }; + name = Test; + }; + 84D4FE9128ECD1FD00EDAAFE /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = 97JCY7859U; + INFOPLIST_FILE = "tvOS-SwiftUITests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.tvOS-SwiftUITests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 3; + TEST_TARGET_NAME = "tvOS-Swift"; + }; + name = Test; + }; + 84D4FE9228ECD1FD00EDAAFE /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UIUserInterfaceStyle = Automatic; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.tvOS-SBSwift"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 15.0; + }; + name = Test; + }; + 84D4FE9328ECD1FD00EDAAFE /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.tvOS-SBSwiftUITests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 3; + TEST_TARGET_NAME = "tvOS-SBSwift"; + TVOS_DEPLOYMENT_TARGET = 15.0; + }; + name = Test; + }; + 84D4FE9428ECD20000EDAAFE /* TestCI */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "c++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; + GCC_PREPROCESSOR_DEFINITIONS = "TESTCI=1"; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = appletvos; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + TVOS_DEPLOYMENT_TARGET = 13.0; + VALIDATE_PRODUCT = YES; + }; + name = TestCI; + }; + 84D4FE9528ECD20000EDAAFE /* TestCI */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_ASSET_PATHS = ""; + DEVELOPMENT_TEAM = ""; + ENABLE_PREVIEWS = YES; + INFOPLIST_FILE = "tvOS-Swift/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.tvOS-Swift"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 3; + }; + name = TestCI; + }; + 84D4FE9628ECD20000EDAAFE /* TestCI */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + DEVELOPMENT_TEAM = 97JCY7859U; + INFOPLIST_FILE = "tvOS-SwiftUITests/Info.plist"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.tvOS-SwiftUITests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 3; + TEST_TARGET_NAME = "tvOS-Swift"; + }; + name = TestCI; + }; + 84D4FE9728ECD20000EDAAFE /* TestCI */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = "App Icon & Top Shelf Image"; + ASSETCATALOG_COMPILER_GLOBAL_ACCENT_COLOR_NAME = AccentColor; + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; + INFOPLIST_KEY_UIMainStoryboardFile = Main; + INFOPLIST_KEY_UIUserInterfaceStyle = Automatic; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.tvOS-SBSwift"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 3; + TVOS_DEPLOYMENT_TARGET = 15.0; + }; + name = TestCI; + }; + 84D4FE9828ECD20000EDAAFE /* TestCI */ = { + isa = XCBuildConfiguration; + buildSettings = { + CODE_SIGN_STYLE = Automatic; + CURRENT_PROJECT_VERSION = 1; + GENERATE_INFOPLIST_FILE = YES; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MARKETING_VERSION = 1.0; + PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.tvOS-SBSwiftUITests"; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_EMIT_LOC_STRINGS = NO; + SWIFT_VERSION = 5.0; + TARGETED_DEVICE_FAMILY = 3; + TEST_TARGET_NAME = "tvOS-SBSwift"; + TVOS_DEPLOYMENT_TARGET = 15.0; + }; + name = TestCI; + }; D822A42E2760D15100E7B241 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -767,6 +1093,8 @@ buildConfigurations = ( 7B64388D26A6C71A000D0F65 /* Debug */, 7B64388E26A6C71A000D0F65 /* Release */, + 84D4FE9628ECD20000EDAAFE /* TestCI */, + 84D4FE9128ECD1FD00EDAAFE /* Test */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -776,6 +1104,8 @@ buildConfigurations = ( 7BA61D72247FA32600C130A8 /* Debug */, 7BA61D73247FA32600C130A8 /* Release */, + 84D4FE9428ECD20000EDAAFE /* TestCI */, + 84D4FE8F28ECD1FD00EDAAFE /* Test */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -785,6 +1115,8 @@ buildConfigurations = ( 7BA61D75247FA32600C130A8 /* Debug */, 7BA61D76247FA32600C130A8 /* Release */, + 84D4FE9528ECD20000EDAAFE /* TestCI */, + 84D4FE9028ECD1FD00EDAAFE /* Test */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -794,6 +1126,8 @@ buildConfigurations = ( D822A42E2760D15100E7B241 /* Debug */, D822A42F2760D15100E7B241 /* Release */, + 84D4FE9728ECD20000EDAAFE /* TestCI */, + 84D4FE9228ECD1FD00EDAAFE /* Test */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -803,6 +1137,8 @@ buildConfigurations = ( D822A44D2760ED7100E7B241 /* Debug */, D822A44E2760ED7100E7B241 /* Release */, + 84D4FE9828ECD20000EDAAFE /* TestCI */, + 84D4FE9328ECD1FD00EDAAFE /* Test */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Samples/watchOS-Swift/watchOS-Swift.xcodeproj/project.pbxproj b/Samples/watchOS-Swift/watchOS-Swift.xcodeproj/project.pbxproj index 6a6300d7b92..06fa6f06b1d 100644 --- a/Samples/watchOS-Swift/watchOS-Swift.xcodeproj/project.pbxproj +++ b/Samples/watchOS-Swift/watchOS-Swift.xcodeproj/project.pbxproj @@ -19,8 +19,8 @@ 7B82C4A024C98A95002CA6D1 /* NotificationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7B82C49F24C98A95002CA6D1 /* NotificationView.swift */; }; 7B82C4A224C98A96002CA6D1 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7B82C4A124C98A96002CA6D1 /* Assets.xcassets */; }; 7B82C4A524C98A96002CA6D1 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 7B82C4A424C98A96002CA6D1 /* Preview Assets.xcassets */; }; - D8145BFB28DB4DC600494277 /* Sentry.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8145BFA28DB4DC600494277 /* Sentry.xcframework */; }; - D8145BFE28DB548600494277 /* SentryObjc.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8145BFD28DB548500494277 /* SentryObjc.xcframework */; }; + 7B82C4C624C993E6002CA6D1 /* Sentry.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 7B82C4BA24C98CFC002CA6D1 /* Sentry.xcframework */; }; + 7B82C4C724C993E6002CA6D1 /* Sentry.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 7B82C4BA24C98CFC002CA6D1 /* Sentry.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -63,6 +63,17 @@ name = "Embed Watch Content"; runOnlyForDeploymentPostprocessing = 0; }; + 7B82C4C824C993E6002CA6D1 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 7B82C4C724C993E6002CA6D1 /* Sentry.xcframework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ @@ -82,10 +93,10 @@ 7B82C4A424C98A96002CA6D1 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = ""; }; 7B82C4A624C98A96002CA6D1 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 7B82C4A724C98A96002CA6D1 /* PushNotificationPayload.apns */ = {isa = PBXFileReference; lastKnownFileType = text; path = PushNotificationPayload.apns; sourceTree = ""; }; - D8145BFA28DB4DC600494277 /* Sentry.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Sentry.xcframework; path = libs/Sentry.xcframework; sourceTree = ""; }; - D8145BFD28DB548500494277 /* SentryObjc.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = SentryObjc.xcframework; path = libs/SentryObjc.xcframework; sourceTree = ""; }; - D8C5645D28D8A1810018E2FB /* Sentry.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; path = Sentry.a; sourceTree = BUILT_PRODUCTS_DIR; }; - D8C5645F28D8A1FA0018E2FB /* SentryObjc.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = SentryObjc.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 7B82C4B624C98AF4002CA6D1 /* Sentry.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Sentry.xcframework; path = ../../tmp/Sentry.xcframework; sourceTree = ""; }; + 7B82C4BA24C98CFC002CA6D1 /* Sentry.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Sentry.xcframework; path = libs/Sentry.xcframework; sourceTree = ""; }; + 7B82C4BF24C99340002CA6D1 /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 7B82C4C224C9939A002CA6D1 /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -93,8 +104,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - D8145BFE28DB548600494277 /* SentryObjc.xcframework in Frameworks */, - D8145BFB28DB4DC600494277 /* Sentry.xcframework in Frameworks */, + 7B82C4C624C993E6002CA6D1 /* Sentry.xcframework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -159,10 +169,10 @@ 7B82C4B524C98AF4002CA6D1 /* Frameworks */ = { isa = PBXGroup; children = ( - D8145BFD28DB548500494277 /* SentryObjc.xcframework */, - D8145BFA28DB4DC600494277 /* Sentry.xcframework */, - D8C5645F28D8A1FA0018E2FB /* SentryObjc.framework */, - D8C5645D28D8A1810018E2FB /* Sentry.a */, + 7B82C4C224C9939A002CA6D1 /* Sentry.framework */, + 7B82C4BF24C99340002CA6D1 /* Sentry.framework */, + 7B82C4BA24C98CFC002CA6D1 /* Sentry.xcframework */, + 7B82C4B624C98AF4002CA6D1 /* Sentry.xcframework */, ); name = Frameworks; sourceTree = ""; @@ -211,6 +221,7 @@ 7B82C48E24C98A95002CA6D1 /* Sources */, 7B82C48F24C98A95002CA6D1 /* Frameworks */, 7B82C49024C98A95002CA6D1 /* Resources */, + 7B82C4C824C993E6002CA6D1 /* Embed Frameworks */, ); buildRules = ( ); diff --git a/Sentry.podspec b/Sentry.podspec index 8102be0e152..deba1824aec 100644 --- a/Sentry.podspec +++ b/Sentry.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "Sentry" - s.version = "7.27.0" + s.version = "7.27.1" s.summary = "Sentry client for cocoa" s.homepage = "https://github.com/getsentry/sentry-cocoa" s.license = "mit" @@ -14,7 +14,6 @@ Pod::Spec.new do |s| s.watchos.deployment_target = "2.0" s.module_name = "Sentry" s.requires_arc = true - s.swift_versions = "5.0" s.frameworks = 'Foundation' s.libraries = 'z', 'c++' s.pod_target_xcconfig = { @@ -22,22 +21,15 @@ Pod::Spec.new do |s| 'CLANG_CXX_LANGUAGE_STANDARD' => 'c++14', 'CLANG_CXX_LIBRARY' => 'libc++' } - - s.default_subspecs = ['Sentry', 'SentryObjc'] - s.source_files = "Sources/Configuration/PodHeader/Sentry.h" - - s.subspec 'Sentry' do |sp| - sp.source_files = "Sources/SentrySwift/**/*.{swift}" - sp.exclude_files = "Sources/SentrySwift/TypeAlias.swift" - end - - s.subspec 'SentryObjc' do |sp| - sp.source_files = "Sources/Sentry/**/*.{h,hpp,m,mm,c,cpp}", "Sources/SentryCrash/**/*.{h,hpp,m,mm,c,cpp}" + + s.default_subspecs = ['Core'] + + s.subspec 'Core' do |sp| + sp.source_files = "Sources/Sentry/**/*.{h,hpp,m,mm,c,cpp}", + "Sources/SentryCrash/**/*.{h,hpp,m,mm,c,cpp}" sp.public_header_files = "Sources/Sentry/Public/*.h" - + end - - end diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index 5e5fcb6d7eb..5f225cfca8b 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -52,6 +52,7 @@ 0A56DA5F28ABA01B00C400D5 /* SentryTransactionContext+Private.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A56DA5E28ABA01B00C400D5 /* SentryTransactionContext+Private.h */; }; 0A6EEADD28A657970076B469 /* UIViewRecursiveDescriptionTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A6EEADC28A657970076B469 /* UIViewRecursiveDescriptionTests.swift */; }; 0A8F0A392886CC70000B15F6 /* SentryPermissionsObserver.h in Headers */ = {isa = PBXBuildFile; fileRef = 0AABE2EE288592750057ED69 /* SentryPermissionsObserver.h */; }; + 0A94158228F6C4C2006A5DD1 /* SentryAppStateManagerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A94158128F6C4C2006A5DD1 /* SentryAppStateManagerTests.swift */; }; 0A9BF4E228A114940068D266 /* SentryViewHierarchyIntegration.m in Sources */ = {isa = PBXBuildFile; fileRef = 0A9BF4E128A114940068D266 /* SentryViewHierarchyIntegration.m */; }; 0A9BF4E428A114B50068D266 /* SentryViewHierarchyIntegration.h in Headers */ = {isa = PBXBuildFile; fileRef = 0A9BF4E328A114B50068D266 /* SentryViewHierarchyIntegration.h */; }; 0A9BF4E928A125390068D266 /* TestSentryViewHierarchy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0A9BF4E628A123270068D266 /* TestSentryViewHierarchy.swift */; }; @@ -128,10 +129,10 @@ 639FCFAC1EBC811400778193 /* SentryUser.h in Headers */ = {isa = PBXBuildFile; fileRef = 639FCFAA1EBC811400778193 /* SentryUser.h */; settings = {ATTRIBUTES = (Public, ); }; }; 639FCFAD1EBC811400778193 /* SentryUser.m in Sources */ = {isa = PBXBuildFile; fileRef = 639FCFAB1EBC811400778193 /* SentryUser.m */; }; 63AA75EF1EB8B3C400D153DE /* SentryClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 63AA75ED1EB8B3C400D153DE /* SentryClient.m */; }; - 63AA766A1EB8CB2F00D153DE /* SentryObjc.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63AA759B1EB8AEF500D153DE /* SentryObjc.framework */; settings = {ATTRIBUTES = (Required, ); }; }; + 63AA766A1EB8CB2F00D153DE /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63AA759B1EB8AEF500D153DE /* Sentry.framework */; settings = {ATTRIBUTES = (Required, ); }; }; 63AA76701EB8CB4B00D153DE /* SentryTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 63AA75951EB8AEDB00D153DE /* SentryTests.m */; }; 63AA767A1EB8D20500D153DE /* SentryLog.m in Sources */ = {isa = PBXBuildFile; fileRef = 63AA76781EB8D20500D153DE /* SentryLog.m */; }; - 63AA76971EB9C1C200D153DE /* SentryObjc.h in Headers */ = {isa = PBXBuildFile; fileRef = 63AA76931EB9C1C200D153DE /* SentryObjc.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 63AA76971EB9C1C200D153DE /* Sentry.h in Headers */ = {isa = PBXBuildFile; fileRef = 63AA76931EB9C1C200D153DE /* Sentry.h */; settings = {ATTRIBUTES = (Public, ); }; }; 63AA76981EB9C1C200D153DE /* SentryClient.h in Headers */ = {isa = PBXBuildFile; fileRef = 63AA76941EB9C1C200D153DE /* SentryClient.h */; settings = {ATTRIBUTES = (Public, ); }; }; 63AA76991EB9C1C200D153DE /* SentryDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 63AA76951EB9C1C200D153DE /* SentryDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; 63AA769A1EB9C1C200D153DE /* SentryLog.h in Headers */ = {isa = PBXBuildFile; fileRef = 63AA76961EB9C1C200D153DE /* SentryLog.h */; settings = {ATTRIBUTES = (Private, ); }; }; @@ -650,19 +651,15 @@ A839D89824864B80003B7AFD /* SentrySystemEventBreadcrumbs.h in Headers */ = {isa = PBXBuildFile; fileRef = A839D89724864B80003B7AFD /* SentrySystemEventBreadcrumbs.h */; }; A839D89A24864BA8003B7AFD /* SentrySystemEventBreadcrumbs.m in Sources */ = {isa = PBXBuildFile; fileRef = A839D89924864BA8003B7AFD /* SentrySystemEventBreadcrumbs.m */; }; D8019910286B089000C277F0 /* SentryCrashReportSinkTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D801990F286B089000C277F0 /* SentryCrashReportSinkTest.swift */; }; - D804D4CC28DAF226005CECD1 /* Sentry.h in Headers */ = {isa = PBXBuildFile; fileRef = D804D4CB28DAF226005CECD1 /* Sentry.h */; settings = {ATTRIBUTES = (Public, ); }; }; D808FB88281AB33C009A2A33 /* SentryUIEventTrackerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D808FB86281AB31D009A2A33 /* SentryUIEventTrackerTests.swift */; }; D808FB8B281BCE96009A2A33 /* TestSentrySwizzleWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = D808FB89281BCE46009A2A33 /* TestSentrySwizzleWrapper.swift */; }; D808FB92281BF6EC009A2A33 /* SentryUIEventTrackingIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D808FB90281BF6E9009A2A33 /* SentryUIEventTrackingIntegrationTests.swift */; }; D8137D54272B53070082656C /* TestSentrySpan.m in Sources */ = {isa = PBXBuildFile; fileRef = D8137D53272B53070082656C /* TestSentrySpan.m */; }; - D8145C2028DC9CC000494277 /* SentryObjc.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 63AA759B1EB8AEF500D153DE /* SentryObjc.framework */; }; - D8145C2128DC9CC000494277 /* SentryObjc.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 63AA759B1EB8AEF500D153DE /* SentryObjc.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; D81FDF12280EA1060045E0E4 /* SentryScreenShotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D81FDF10280EA0080045E0E4 /* SentryScreenShotTests.swift */; }; D8370B6A273DF1E900F66E2D /* SentryNSURLSessionTaskSearch.m in Sources */ = {isa = PBXBuildFile; fileRef = D8370B68273DF1E900F66E2D /* SentryNSURLSessionTaskSearch.m */; }; D8370B6C273DF20F00F66E2D /* SentryNSURLSessionTaskSearch.h in Headers */ = {isa = PBXBuildFile; fileRef = D8370B6B273DF20F00F66E2D /* SentryNSURLSessionTaskSearch.h */; }; D84793262788737D00BE8E99 /* SentryByteCountFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = D84793242788737D00BE8E99 /* SentryByteCountFormatter.m */; }; D8479328278873A100BE8E99 /* SentryByteCountFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = D8479327278873A100BE8E99 /* SentryByteCountFormatter.h */; }; - D847D38B28E719D6006795F9 /* Sentry.swift in Sources */ = {isa = PBXBuildFile; fileRef = D847D38A28E719C9006795F9 /* Sentry.swift */; }; D85596F3280580F10041FF8B /* SentryScreenshotIntegration.m in Sources */ = {isa = PBXBuildFile; fileRef = D85596F1280580F10041FF8B /* SentryScreenshotIntegration.m */; }; D855AD62286ED6A4002573E1 /* SentryCrashTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D855AD61286ED6A4002573E1 /* SentryCrashTests.m */; }; D855B3E827D652AF00BCED76 /* SentryCoreDataTrackingIntegrationTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D855B3E727D652AF00BCED76 /* SentryCoreDataTrackingIntegrationTest.swift */; }; @@ -715,29 +712,8 @@ remoteGlobalIDString = 63AA759A1EB8AEF500D153DE; remoteInfo = "Sentry-iOS"; }; - D804D4D428DAF242005CECD1 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 6327C5CA1EB8A783004E799B /* Project object */; - proxyType = 1; - remoteGlobalIDString = 63AA759A1EB8AEF500D153DE; - remoteInfo = SentryObjc; - }; /* End PBXContainerItemProxy section */ -/* Begin PBXCopyFilesBuildPhase section */ - D804D4D628DAF242005CECD1 /* Embed Frameworks */ = { - isa = PBXCopyFilesBuildPhase; - buildActionMask = 2147483647; - dstPath = ""; - dstSubfolderSpec = 10; - files = ( - D8145C2128DC9CC000494277 /* SentryObjc.framework in Embed Frameworks */, - ); - name = "Embed Frameworks"; - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXCopyFilesBuildPhase section */ - /* Begin PBXFileReference section */ 0356A56E288B4612008BF593 /* SentryProfilesSampler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SentryProfilesSampler.h; path = Sources/Sentry/SentryProfilesSampler.h; sourceTree = SOURCE_ROOT; }; 0356A56F288B4612008BF593 /* SentryProfilesSampler.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SentryProfilesSampler.m; path = Sources/Sentry/SentryProfilesSampler.m; sourceTree = SOURCE_ROOT; }; @@ -782,6 +758,7 @@ 0A5370A028A3EC2400B2DCDE /* SentryViewHierarchyTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryViewHierarchyTests.swift; sourceTree = ""; }; 0A56DA5E28ABA01B00C400D5 /* SentryTransactionContext+Private.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "SentryTransactionContext+Private.h"; path = "include/SentryTransactionContext+Private.h"; sourceTree = ""; }; 0A6EEADC28A657970076B469 /* UIViewRecursiveDescriptionTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = UIViewRecursiveDescriptionTests.swift; sourceTree = ""; }; + 0A94158128F6C4C2006A5DD1 /* SentryAppStateManagerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryAppStateManagerTests.swift; sourceTree = ""; }; 0A9BF4E128A114940068D266 /* SentryViewHierarchyIntegration.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryViewHierarchyIntegration.m; sourceTree = ""; }; 0A9BF4E328A114B50068D266 /* SentryViewHierarchyIntegration.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SentryViewHierarchyIntegration.h; path = include/SentryViewHierarchyIntegration.h; sourceTree = ""; }; 0A9BF4E628A123270068D266 /* TestSentryViewHierarchy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestSentryViewHierarchy.swift; sourceTree = ""; }; @@ -865,13 +842,13 @@ 639FCFAB1EBC811400778193 /* SentryUser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SentryUser.m; sourceTree = ""; }; 63AA75941EB8AEDB00D153DE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 63AA75951EB8AEDB00D153DE /* SentryTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryTests.m; sourceTree = ""; }; - 63AA759B1EB8AEF500D153DE /* SentryObjc.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SentryObjc.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 63AA75C51EB8B00100D153DE /* SentryObjc.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = SentryObjc.xcconfig; sourceTree = ""; }; + 63AA759B1EB8AEF500D153DE /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 63AA75C51EB8B00100D153DE /* Sentry.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Sentry.xcconfig; sourceTree = ""; }; 63AA75C71EB8B06100D153DE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 63AA75ED1EB8B3C400D153DE /* SentryClient.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SentryClient.m; sourceTree = ""; }; 63AA76651EB8CB2F00D153DE /* SentryTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = SentryTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 63AA76781EB8D20500D153DE /* SentryLog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SentryLog.m; sourceTree = ""; }; - 63AA76931EB9C1C200D153DE /* SentryObjc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryObjc.h; path = Public/SentryObjc.h; sourceTree = ""; }; + 63AA76931EB9C1C200D153DE /* Sentry.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Sentry.h; path = Public/Sentry.h; sourceTree = ""; }; 63AA76941EB9C1C200D153DE /* SentryClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryClient.h; path = Public/SentryClient.h; sourceTree = ""; }; 63AA76951EB9C1C200D153DE /* SentryDefines.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryDefines.h; path = Public/SentryDefines.h; sourceTree = ""; }; 63AA76961EB9C1C200D153DE /* SentryLog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryLog.h; path = include/SentryLog.h; sourceTree = ""; }; @@ -1359,7 +1336,7 @@ 844DA7F6282435CD00E6B62E /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; 844DA80328246D5000E6B62E /* .oclint */ = {isa = PBXFileReference; lastKnownFileType = text; path = .oclint; sourceTree = ""; }; 844DA80428246D5000E6B62E /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; - 844DA80528246D5000E6B62E /* Sentry.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; path = Sentry.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 844DA80528246D5000E6B62E /* Sentry.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; path = Sentry.podspec; sourceTree = ""; }; 844DA80628246D5000E6B62E /* .craft.yml */ = {isa = PBXFileReference; lastKnownFileType = text.yaml; path = .craft.yml; sourceTree = ""; }; 844DA80728246D5000E6B62E /* Gemfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; path = Gemfile; sourceTree = ""; }; 844DA80828246D5000E6B62E /* .gitmodules */ = {isa = PBXFileReference; lastKnownFileType = text; path = .gitmodules; sourceTree = ""; }; @@ -1446,21 +1423,16 @@ A839D89724864B80003B7AFD /* SentrySystemEventBreadcrumbs.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SentrySystemEventBreadcrumbs.h; path = include/SentrySystemEventBreadcrumbs.h; sourceTree = ""; }; A839D89924864BA8003B7AFD /* SentrySystemEventBreadcrumbs.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentrySystemEventBreadcrumbs.m; sourceTree = ""; }; D801990F286B089000C277F0 /* SentryCrashReportSinkTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryCrashReportSinkTest.swift; sourceTree = ""; }; - D804D4C928DAF226005CECD1 /* Sentry.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Sentry.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - D804D4CB28DAF226005CECD1 /* Sentry.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Sentry.h; sourceTree = ""; }; D808FB86281AB31D009A2A33 /* SentryUIEventTrackerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryUIEventTrackerTests.swift; sourceTree = ""; }; D808FB89281BCE46009A2A33 /* TestSentrySwizzleWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestSentrySwizzleWrapper.swift; sourceTree = ""; }; D808FB90281BF6E9009A2A33 /* SentryUIEventTrackingIntegrationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryUIEventTrackingIntegrationTests.swift; sourceTree = ""; }; D8137D52272B53070082656C /* TestSentrySpan.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TestSentrySpan.h; sourceTree = ""; }; D8137D53272B53070082656C /* TestSentrySpan.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TestSentrySpan.m; sourceTree = ""; }; - D8145C1928DC616D00494277 /* Sentry.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Sentry.xcconfig; sourceTree = ""; }; D81FDF10280EA0080045E0E4 /* SentryScreenShotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryScreenShotTests.swift; sourceTree = ""; }; D8370B68273DF1E900F66E2D /* SentryNSURLSessionTaskSearch.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryNSURLSessionTaskSearch.m; sourceTree = ""; }; D8370B6B273DF20F00F66E2D /* SentryNSURLSessionTaskSearch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryNSURLSessionTaskSearch.h; path = include/SentryNSURLSessionTaskSearch.h; sourceTree = ""; }; D84793242788737D00BE8E99 /* SentryByteCountFormatter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryByteCountFormatter.m; sourceTree = ""; }; D8479327278873A100BE8E99 /* SentryByteCountFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryByteCountFormatter.h; path = include/SentryByteCountFormatter.h; sourceTree = ""; }; - D847D37528E6D9D5006795F9 /* SentryObjc.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; path = SentryObjc.modulemap; sourceTree = ""; }; - D847D38A28E719C9006795F9 /* Sentry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Sentry.swift; sourceTree = ""; }; D85596F1280580F10041FF8B /* SentryScreenshotIntegration.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryScreenshotIntegration.m; sourceTree = ""; }; D855AD61286ED6A4002573E1 /* SentryCrashTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryCrashTests.m; sourceTree = ""; }; D855B3E727D652AF00BCED76 /* SentryCoreDataTrackingIntegrationTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryCoreDataTrackingIntegrationTest.swift; sourceTree = ""; }; @@ -1471,8 +1443,6 @@ D859696D27BECDA20036A46E /* SentryCoreDataTracker.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryCoreDataTracker.m; sourceTree = ""; }; D859697127BECDD20036A46E /* SentryCoreDataSwizzling.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryCoreDataSwizzling.m; sourceTree = ""; }; D85D3BE9278DF63D001B2889 /* SentryByteCountFormatterTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryByteCountFormatterTests.swift; sourceTree = ""; }; - D85F8AB528EAEB3200503E1A /* Sentry.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Sentry.h; sourceTree = ""; }; - D85F8AB628EB002400503E1A /* Sentry.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; path = Sentry.modulemap; sourceTree = ""; }; D8603DD4284F8497000E1227 /* SentryBaggage.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryBaggage.m; sourceTree = ""; }; D8603DD7284F894C000E1227 /* SentryBaggage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryBaggage.h; path = include/SentryBaggage.h; sourceTree = ""; }; D867063A27C3BC2400048851 /* SentryCoreDataTrackingIntegration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryCoreDataTrackingIntegration.h; path = include/SentryCoreDataTrackingIntegration.h; sourceTree = ""; }; @@ -1489,7 +1459,6 @@ D88817D926D72AB800BF2251 /* SentryTraceContext.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryTraceContext.h; path = include/SentryTraceContext.h; sourceTree = ""; }; D88817DB26D72B7B00BF2251 /* SentryTraceStateTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryTraceStateTests.swift; sourceTree = ""; }; D8918B212849FA6D00701F9A /* SentrySDKIntegrationTestsBase.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentrySDKIntegrationTestsBase.swift; sourceTree = ""; }; - D89468AD28D223440006C83D /* TypeAlias.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TypeAlias.swift; sourceTree = ""; }; D8AB40DA2806EC1900E5E9F7 /* SentryScreenshotIntegration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryScreenshotIntegration.h; path = include/SentryScreenshotIntegration.h; sourceTree = ""; }; D8ACE3C42762187200F5A213 /* SentryNSDataSwizzling.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SentryNSDataSwizzling.m; sourceTree = ""; }; D8ACE3C52762187200F5A213 /* SentryNSDataTracker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SentryNSDataTracker.m; sourceTree = ""; }; @@ -1521,15 +1490,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 63AA766A1EB8CB2F00D153DE /* SentryObjc.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - D804D4C628DAF226005CECD1 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - D8145C2028DC9CC000494277 /* SentryObjc.framework in Frameworks */, + 63AA766A1EB8CB2F00D153DE /* Sentry.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1727,9 +1688,8 @@ 6327C5D41EB8A783004E799B /* Products */ = { isa = PBXGroup; children = ( - 63AA759B1EB8AEF500D153DE /* SentryObjc.framework */, + 63AA759B1EB8AEF500D153DE /* Sentry.framework */, 63AA76651EB8CB2F00D153DE /* SentryTests.xctest */, - D804D4C928DAF226005CECD1 /* Sentry.framework */, ); name = Products; sourceTree = ""; @@ -1845,6 +1805,8 @@ 7BD729972463E93500EA3610 /* SentryDateUtil.m */, 7B98D7E325FB7A7200C5A389 /* SentryAppState.h */, 7B98D7E725FB7BCD00C5A389 /* SentryAppState.m */, + 7B8ECBF926498906005FE2EF /* SentryAppStateManager.h */, + 7B8ECBFB26498958005FE2EF /* SentryAppStateManager.m */, 7BD86EC4264A63F6005439DB /* SentrySysctl.h */, 7BD86EC6264A641D005439DB /* SentrySysctl.m */, 7BF9EF832722D07B00B5BBEF /* SentryObjCRuntimeWrapper.h */, @@ -1864,7 +1826,6 @@ 63AA756E1EB8AEDB00D153DE /* Sources */ = { isa = PBXGroup; children = ( - D894689728D1D9940006C83D /* SentrySwift */, 63AA75A31EB8AFDF00D153DE /* Configuration */, 63FE6FB920DA4C1000CDBAE8 /* SentryCrash */, 63AA75C61EB8B06100D153DE /* Sentry */, @@ -1938,9 +1899,7 @@ 63AA75A31EB8AFDF00D153DE /* Configuration */ = { isa = PBXGroup; children = ( - D85F8AB428EAEB2700503E1A /* PodHeader */, - 63AA75C51EB8B00100D153DE /* SentryObjc.xcconfig */, - D8145C1928DC616D00494277 /* Sentry.xcconfig */, + 63AA75C51EB8B00100D153DE /* Sentry.xcconfig */, ); path = Configuration; sourceTree = ""; @@ -1959,8 +1918,7 @@ 630436011EBCB8CA00C4D3FA /* Protocol */, 8ECC673625C23936000E2BF6 /* Transaction */, 8E25C94F25F836AB00DC215B /* Tools */, - 63AA76931EB9C1C200D153DE /* SentryObjc.h */, - D847D37528E6D9D5006795F9 /* SentryObjc.modulemap */, + 63AA76931EB9C1C200D153DE /* Sentry.h */, 7B6D125E265F778500C9BE4B /* PrivateSentrySDKOnly.h */, 7B6D1260265F784000C9BE4B /* PrivateSentrySDKOnly.m */, 63AA76941EB9C1C200D153DE /* SentryClient.h */, @@ -2444,6 +2402,7 @@ 7B85BD8D24C5C3A6000A4225 /* SentryFileManagerTestExtension.swift */, 7B4C817124D1BC2B0076ACE4 /* SentryFileManager+TestProperties.h */, 7B98D7EB25FB7C4900C5A389 /* SentryAppStateTests.swift */, + 0A94158128F6C4C2006A5DD1 /* SentryAppStateManagerTests.swift */, 69BEE6F62620729E006DF9DF /* UrlSessionDelegateSpy.swift */, 7BD86ECA264A6DB5005439DB /* TestSysctl.swift */, 7B16FD012654F86B008177D3 /* SentrySysctlTests.swift */, @@ -2516,8 +2475,6 @@ 7B8713AF26415B22006D6004 /* SentryAppStartTrackingIntegration.m */, 7B8713B126415B7A006D6004 /* SentryAppStartTracker.h */, 7B8713B326415BAA006D6004 /* SentryAppStartTracker.m */, - 7B8ECBF926498906005FE2EF /* SentryAppStateManager.h */, - 7B8ECBFB26498958005FE2EF /* SentryAppStateManager.m */, 7BD86ECE264A7C77005439DB /* SentryAppStartMeasurement.h */, 7BD86ED0264A7CF6005439DB /* SentryAppStartMeasurement.m */, ); @@ -2864,14 +2821,6 @@ name = CoreData; sourceTree = ""; }; - D85F8AB428EAEB2700503E1A /* PodHeader */ = { - isa = PBXGroup; - children = ( - D85F8AB528EAEB3200503E1A /* Sentry.h */, - ); - path = PodHeader; - sourceTree = ""; - }; D875ED09276CC83200422FAC /* IO */ = { isa = PBXGroup; children = ( @@ -2894,17 +2843,6 @@ path = CoreData; sourceTree = ""; }; - D894689728D1D9940006C83D /* SentrySwift */ = { - isa = PBXGroup; - children = ( - D804D4CB28DAF226005CECD1 /* Sentry.h */, - D89468AD28D223440006C83D /* TypeAlias.swift */, - D847D38A28E719C9006795F9 /* Sentry.swift */, - D85F8AB628EB002400503E1A /* Sentry.modulemap */, - ); - path = SentrySwift; - sourceTree = ""; - }; D8AB40D92806EBDC00E5E9F7 /* Screenshot */ = { isa = PBXGroup; children = ( @@ -3030,7 +2968,7 @@ 63FE710320DA4C1000CDBAE8 /* SentryCrashMachineContext_Apple.h in Headers */, D8479328278873A100BE8E99 /* SentryByteCountFormatter.h in Headers */, 63AA76981EB9C1C200D153DE /* SentryClient.h in Headers */, - 63AA76971EB9C1C200D153DE /* SentryObjc.h in Headers */, + 63AA76971EB9C1C200D153DE /* Sentry.h in Headers */, 0A9E917128DC7E7000FB4182 /* SentryInternalDefines.h in Headers */, 63FE711F20DA4C1000CDBAE8 /* SentryCrashObjC.h in Headers */, 7BC3936825B1AB3E004F03D3 /* SentryLevelMapper.h in Headers */, @@ -3195,20 +3133,12 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - D804D4C428DAF226005CECD1 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - D804D4CC28DAF226005CECD1 /* Sentry.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 63AA759A1EB8AEF500D153DE /* SentryObjc */ = { + 63AA759A1EB8AEF500D153DE /* Sentry */ = { isa = PBXNativeTarget; - buildConfigurationList = 63AA75A01EB8AEF500D153DE /* Build configuration list for PBXNativeTarget "SentryObjc" */; + buildConfigurationList = 63AA75A01EB8AEF500D153DE /* Build configuration list for PBXNativeTarget "Sentry" */; buildPhases = ( 63AA75961EB8AEF500D153DE /* Sources */, 63AA75971EB8AEF500D153DE /* Frameworks */, @@ -3219,9 +3149,9 @@ ); dependencies = ( ); - name = SentryObjc; + name = Sentry; productName = "Sentry-iOS"; - productReference = 63AA759B1EB8AEF500D153DE /* SentryObjc.framework */; + productReference = 63AA759B1EB8AEF500D153DE /* Sentry.framework */; productType = "com.apple.product-type.framework"; }; 63AA76641EB8CB2F00D153DE /* SentryTests */ = { @@ -3242,50 +3172,26 @@ productReference = 63AA76651EB8CB2F00D153DE /* SentryTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; - D804D4C828DAF226005CECD1 /* Sentry */ = { - isa = PBXNativeTarget; - buildConfigurationList = D804D4CD28DAF226005CECD1 /* Build configuration list for PBXNativeTarget "Sentry" */; - buildPhases = ( - D804D4C428DAF226005CECD1 /* Headers */, - D804D4C528DAF226005CECD1 /* Sources */, - D804D4C628DAF226005CECD1 /* Frameworks */, - D804D4C728DAF226005CECD1 /* Resources */, - D804D4D628DAF242005CECD1 /* Embed Frameworks */, - ); - buildRules = ( - ); - dependencies = ( - D804D4D528DAF242005CECD1 /* PBXTargetDependency */, - ); - name = Sentry; - productName = Sentry; - productReference = D804D4C928DAF226005CECD1 /* Sentry.framework */; - productType = "com.apple.product-type.framework"; - }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 6327C5CA1EB8A783004E799B /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 1400; + LastSwiftUpdateCheck = 1250; LastUpgradeCheck = 1200; ORGANIZATIONNAME = Sentry; TargetAttributes = { 63AA759A1EB8AEF500D153DE = { CreatedOnToolsVersion = 8.3.2; LastSwiftMigration = 1400; - ProvisioningStyle = Automatic; + ProvisioningStyle = Manual; }; 63AA76641EB8CB2F00D153DE = { CreatedOnToolsVersion = 8.3.2; LastSwiftMigration = 1120; ProvisioningStyle = Manual; }; - D804D4C828DAF226005CECD1 = { - CreatedOnToolsVersion = 14.0; - ProvisioningStyle = Automatic; - }; }; }; buildConfigurationList = 6327C5CD1EB8A783004E799B /* Build configuration list for PBXProject "Sentry" */; @@ -3301,9 +3207,8 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 63AA759A1EB8AEF500D153DE /* SentryObjc */, + 63AA759A1EB8AEF500D153DE /* Sentry */, 63AA76641EB8CB2F00D153DE /* SentryTests */, - D804D4C828DAF226005CECD1 /* Sentry */, ); }; /* End PBXProject section */ @@ -3324,13 +3229,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - D804D4C728DAF226005CECD1 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -3717,6 +3615,7 @@ 7B88F30224BC5C6D00ADF90A /* SentrySdkInfoTests.swift in Sources */, 7BC8523B2458849E005A70F0 /* SentryDataCategoryMapperTests.swift in Sources */, 63FE721220DA66EC00CDBAE8 /* SentryCrashMach_Tests.m in Sources */, + 0A94158228F6C4C2006A5DD1 /* SentryAppStateManagerTests.swift in Sources */, 7B6D98E924C6D336005502FA /* SentrySdkInfo+Equality.m in Sources */, 7BDB03BF25136A7D00BAE198 /* TestSentryDispatchQueueWrapper.swift in Sources */, 7B6438A726A70DDB000D0F65 /* UIViewControllerSentryTests.swift in Sources */, @@ -3781,27 +3680,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - D804D4C528DAF226005CECD1 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - D847D38B28E719D6006795F9 /* Sentry.swift in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ 63AA766C1EB8CB2F00D153DE /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 63AA759A1EB8AEF500D153DE /* SentryObjc */; + target = 63AA759A1EB8AEF500D153DE /* Sentry */; targetProxy = 63AA766B1EB8CB2F00D153DE /* PBXContainerItemProxy */; }; - D804D4D528DAF242005CECD1 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 63AA759A1EB8AEF500D153DE /* SentryObjc */; - targetProxy = D804D4D428DAF242005CECD1 /* PBXContainerItemProxy */; - }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ @@ -3936,18 +3822,17 @@ }; 63AA75A11EB8AEF500D153DE /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63AA75C51EB8B00100D153DE /* SentryObjc.xcconfig */; + baseConfigurationReference = 63AA75C51EB8B00100D153DE /* Sentry.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; - BUILD_LIBRARY_FOR_DISTRIBUTION = YES; CLANG_ENABLE_MODULES = YES; CLANG_WARN_ASSIGN_ENUM = NO; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_FLOAT_CONVERSION = YES; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; COPY_PHASE_STRIP = YES; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; @@ -3961,13 +3846,11 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = mh_dylib; MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "$(SRCROOT)/Sources/Sentry/SentryObjc.modulemap"; ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = ""; - PRODUCT_BUNDLE_IDENTIFIER = io.sentry.SentryObjc; - PRODUCT_NAME = SentryObjc; + PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; + PRODUCT_NAME = Sentry; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; @@ -3977,18 +3860,17 @@ }; 63AA75A21EB8AEF500D153DE /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63AA75C51EB8B00100D153DE /* SentryObjc.xcconfig */; + baseConfigurationReference = 63AA75C51EB8B00100D153DE /* Sentry.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; - BUILD_LIBRARY_FOR_DISTRIBUTION = YES; CLANG_ENABLE_MODULES = YES; CLANG_WARN_ASSIGN_ENUM = NO; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_FLOAT_CONVERSION = YES; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; COPY_PHASE_STRIP = YES; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; @@ -4003,13 +3885,11 @@ IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = mh_dylib; MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "$(SRCROOT)/Sources/Sentry/SentryObjc.modulemap"; ONLY_ACTIVE_ARCH = NO; OTHER_LDFLAGS = ""; - PRODUCT_BUNDLE_IDENTIFIER = io.sentry.SentryObjc; - PRODUCT_NAME = SentryObjc; + PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; + PRODUCT_NAME = Sentry; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_VERSION = 5.0; USE_HEADERMAP = YES; @@ -4142,18 +4022,17 @@ }; 7BFC80A9282B736400E83A05 /* TestCI */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63AA75C51EB8B00100D153DE /* SentryObjc.xcconfig */; + baseConfigurationReference = 63AA75C51EB8B00100D153DE /* Sentry.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; - BUILD_LIBRARY_FOR_DISTRIBUTION = YES; CLANG_ENABLE_MODULES = YES; CLANG_WARN_ASSIGN_ENUM = NO; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_FLOAT_CONVERSION = YES; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; COPY_PHASE_STRIP = YES; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; @@ -4173,13 +4052,11 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = mh_dylib; MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "$(SRCROOT)/Sources/Sentry/SentryObjc.modulemap"; ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = ""; - PRODUCT_BUNDLE_IDENTIFIER = io.sentry.SentryObjc; - PRODUCT_NAME = SentryObjc; + PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; + PRODUCT_NAME = Sentry; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; @@ -4215,169 +4092,6 @@ }; name = TestCI; }; - D804D4CE28DAF226005CECD1 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = D8145C1928DC616D00494277 /* Sentry.xcconfig */; - buildSettings = { - ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; - BUILD_LIBRARY_FOR_DISTRIBUTION = NO; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_C_LANGUAGE_STANDARD = gnu11; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Sentry. All rights reserved."; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MARKETING_VERSION = 1.0; - MODULEMAP_FILE = "$(SRCROOT)/Sources/SentrySwift/Sentry.modulemap"; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SUPPORTS_MACCATALYST = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2,3,4"; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Debug; - }; - D804D4CF28DAF226005CECD1 /* Test */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = D8145C1928DC616D00494277 /* Sentry.xcconfig */; - buildSettings = { - ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; - BUILD_LIBRARY_FOR_DISTRIBUTION = NO; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_C_LANGUAGE_STANDARD = gnu11; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Sentry. All rights reserved."; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MARKETING_VERSION = 1.0; - MODULEMAP_FILE = "$(SRCROOT)/Sources/SentrySwift/Sentry.modulemap"; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SUPPORTS_MACCATALYST = YES; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2,3,4"; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Test; - }; - D804D4D028DAF226005CECD1 /* TestCI */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = D8145C1928DC616D00494277 /* Sentry.xcconfig */; - buildSettings = { - ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; - BUILD_LIBRARY_FOR_DISTRIBUTION = NO; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_C_LANGUAGE_STANDARD = gnu11; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Sentry. All rights reserved."; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MARKETING_VERSION = 1.0; - MODULEMAP_FILE = "$(SRCROOT)/Sources/SentrySwift/Sentry.modulemap"; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SUPPORTS_MACCATALYST = YES; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2,3,4"; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = TestCI; - }; - D804D4D128DAF226005CECD1 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = D8145C1928DC616D00494277 /* Sentry.xcconfig */; - buildSettings = { - ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; - BUILD_LIBRARY_FOR_DISTRIBUTION = NO; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++20"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_C_LANGUAGE_STANDARD = gnu11; - GENERATE_INFOPLIST_FILE = YES; - INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Sentry. All rights reserved."; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MARKETING_VERSION = 1.0; - MODULEMAP_FILE = "$(SRCROOT)/Sources/SentrySwift/Sentry.modulemap"; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SKIP_INSTALL = YES; - SUPPORTS_MACCATALYST = YES; - SWIFT_EMIT_LOC_STRINGS = YES; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2,3,4"; - VERSIONING_SYSTEM = "apple-generic"; - }; - name = Release; - }; D8079A6727178911004B0F61 /* Test */ = { isa = XCBuildConfiguration; buildSettings = { @@ -4448,18 +4162,17 @@ }; D8079A6827178911004B0F61 /* Test */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 63AA75C51EB8B00100D153DE /* SentryObjc.xcconfig */; + baseConfigurationReference = 63AA75C51EB8B00100D153DE /* Sentry.xcconfig */; buildSettings = { APPLICATION_EXTENSION_API_ONLY = YES; - BUILD_LIBRARY_FOR_DISTRIBUTION = YES; CLANG_ENABLE_MODULES = YES; CLANG_WARN_ASSIGN_ENUM = NO; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_FLOAT_CONVERSION = YES; - CODE_SIGN_IDENTITY = "Apple Development"; - CODE_SIGN_STYLE = Automatic; + CODE_SIGN_IDENTITY = ""; + CODE_SIGN_STYLE = Manual; COPY_PHASE_STRIP = YES; DEFINES_MODULE = YES; DEVELOPMENT_TEAM = ""; @@ -4473,13 +4186,11 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = mh_dylib; MACOSX_DEPLOYMENT_TARGET = 10.10; - MODULEMAP_FILE = "$(SRCROOT)/Sources/Sentry/SentryObjc.modulemap"; ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = ""; - PRODUCT_BUNDLE_IDENTIFIER = io.sentry.SentryObjc; - PRODUCT_NAME = SentryObjc; + PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; + PRODUCT_NAME = Sentry; PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_VERSION = 5.0; @@ -4529,7 +4240,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 63AA75A01EB8AEF500D153DE /* Build configuration list for PBXNativeTarget "SentryObjc" */ = { + 63AA75A01EB8AEF500D153DE /* Build configuration list for PBXNativeTarget "Sentry" */ = { isa = XCConfigurationList; buildConfigurations = ( 63AA75A11EB8AEF500D153DE /* Debug */, @@ -4551,17 +4262,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - D804D4CD28DAF226005CECD1 /* Build configuration list for PBXNativeTarget "Sentry" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - D804D4CE28DAF226005CECD1 /* Debug */, - D804D4CF28DAF226005CECD1 /* Test */, - D804D4D028DAF226005CECD1 /* TestCI */, - D804D4D128DAF226005CECD1 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; /* End XCConfigurationList section */ }; rootObject = 6327C5CA1EB8A783004E799B /* Project object */; diff --git a/Sentry.xcodeproj/xcshareddata/xcschemes/Sentry.xcscheme b/Sentry.xcodeproj/xcshareddata/xcschemes/Sentry.xcscheme index 99d56c486a9..e2e8db46043 100644 --- a/Sentry.xcodeproj/xcshareddata/xcschemes/Sentry.xcscheme +++ b/Sentry.xcodeproj/xcshareddata/xcschemes/Sentry.xcscheme @@ -15,20 +15,6 @@ - - - - @@ -42,6 +28,15 @@ selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" shouldUseLaunchSchemeArgsEnv = "NO" codeCoverageEnabled = "YES"> + + + + + + + + + + + + + + + + @@ -80,6 +93,15 @@ debugDocumentVersioning = "YES" debugServiceExtension = "internal" allowLocationSimulation = "YES"> + + + + diff --git a/Sentry.xcworkspace/contents.xcworkspacedata b/Sentry.xcworkspace/contents.xcworkspacedata index ceff7f7f211..6145ea0f3dd 100644 --- a/Sentry.xcworkspace/contents.xcworkspacedata +++ b/Sentry.xcworkspace/contents.xcworkspacedata @@ -16,9 +16,6 @@ - - diff --git a/Sources/Configuration/PodHeader/Sentry.h b/Sources/Configuration/PodHeader/Sentry.h deleted file mode 100644 index d111a8c4159..00000000000 --- a/Sources/Configuration/PodHeader/Sentry.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef Sentry_POD_h -#define Sentry_POD_h - -#import "SentryObjc.h" - -#endif diff --git a/Sources/Configuration/Sentry.xcconfig b/Sources/Configuration/Sentry.xcconfig index 99cc5f50868..c70747b54c4 100644 --- a/Sources/Configuration/Sentry.xcconfig +++ b/Sources/Configuration/Sentry.xcconfig @@ -29,7 +29,7 @@ MACH_O_TYPE = mh_dylib FRAMEWORK_VERSION = A PRODUCT_NAME = Sentry -CURRENT_PROJECT_VERSION = 7.25.1 +CURRENT_PROJECT_VERSION = 7.27.1 INFOPLIST_FILE = Sources/Sentry/Info.plist PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry ALWAYS_SEARCH_USER_PATHS = NO @@ -51,6 +51,7 @@ LD_RUNPATH_SEARCH_PATHS[sdk=iphone*] = $(inherited) @executable_path/Frameworks LD_RUNPATH_SEARCH_PATHS[sdk=watch*] = $(inherited) @executable_path/Frameworks @loader_path/Frameworks; LD_RUNPATH_SEARCH_PATHS[sdk=appletv*] = $(inherited) @executable_path/Frameworks @loader_path/Frameworks; +MODULEMAP_FILE = $(SRCROOT)/Sources/Sentry/Sentry.modulemap //SWIFT_INCLUDE_PATHS = $(SRCROOT)/Sources/Sentry // SWIFT_VERSION is only recognized by Xcode 8 and higher. diff --git a/Sources/Configuration/SentryObjc.xcconfig b/Sources/Configuration/SentryObjc.xcconfig deleted file mode 100644 index ae2619e2c93..00000000000 --- a/Sources/Configuration/SentryObjc.xcconfig +++ /dev/null @@ -1,66 +0,0 @@ -SDKROOT = $(SDKROOT__CARTHAGE_$(CARTHAGE)) // basically, iphoneos (unless «CARTHAGE» == «YES») -// Carthage relies on this assumption, years standing — that SDKROOT is default or explicitly -// set to `macosx` (or equivalent) under the ‘single target, multiple platform’ paradigm -// because of a xcodebuild bug involving the sdk flag and implicit dependency: see «Carthage/Carthage#347». -SDKROOT__CARTHAGE_YES = macosx -// Importantly, the below two lines appease «Xcode.app», and get the UI to show Mac Catalyst destinations. -SDKROOT__CARTHAGE_NO = iphoneos -SDKROOT__CARTHAGE_ = iphoneos -// …in order for ‘single target, multiple platform’ extrapolations to hold true, -// all the above relies on the ability of Xcode GUI, xcodebuild, and Carthage via xcodebuild to -// override «SDKROOT» based on selected destination (particularly for appletv* and watchos* platforms.) -// …if the override behavior ever breaks, expect weird output and the probable need to migrate away from -// the ‘single target, multiple platform’ paradigm. - -// …`SUPPORTED_PLATFORMS`, in service of ‘single target, multiple platform’ extrapolation, must never -// engage in dollar-parentheses syntax — unless that dollar-parentheses basis is -// entirely non-platform–derived, e.g. based upon `XCODE_VERSION_MAJOR`. -// Note: Carthage, unfortunately, as current of v0.34.0 queries rather harshly on the platform values below -// ⋯ quite early in the process, queried values not compiled into Carthage will cause hard errors. -SUPPORTED_PLATFORMS = macosx iphoneos iphonesimulator watchos watchsimulator appletvos appletvsimulator -TARGETED_DEVICE_FAMILY = 1,2,3,4 -SKIP_INSTALL = YES - -DEFINES_MODULE = YES -DYLIB_COMPATIBILITY_VERSION = 1 -DYLIB_CURRENT_VERSION = 1 -DYLIB_INSTALL_NAME_BASE = @rpath -MACH_O_TYPE = mh_dylib -FRAMEWORK_VERSION = A - -PRODUCT_NAME = Sentry -CURRENT_PROJECT_VERSION = 7.25.1 -INFOPLIST_FILE = Sources/Sentry/Info.plist -PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry -ALWAYS_SEARCH_USER_PATHS = NO -CLANG_ENABLE_OBJC_ARC = YES -CLANG_ENABLE_MODULES = YES -//OTHER_CFLAGS = -Wall -Wextra -Wpedantic -Wno-gnu-conditional-omitted-operand - -ONLY_ACTIVE_ARCH[config=Debug] = YES -GCC_OPTIMIZATION_LEVEL[config=Debug] = 0 -COPY_PHASE_STRIP[config=Debug] = NO - -MACOSX_DEPLOYMENT_TARGET = 10.9 -IPHONEOS_DEPLOYMENT_TARGET = 9.0 -WATCHOS_DEPLOYMENT_TARGET = 2.0 -TVOS_DEPLOYMENT_TARGET = 9.0 - -LD_RUNPATH_SEARCH_PATHS[sdk=macosx*] = $(inherited) @executable_path/../Frameworks @loader_path/../Frameworks; -LD_RUNPATH_SEARCH_PATHS[sdk=iphone*] = $(inherited) @executable_path/Frameworks @loader_path/Frameworks; -LD_RUNPATH_SEARCH_PATHS[sdk=watch*] = $(inherited) @executable_path/Frameworks @loader_path/Frameworks; -LD_RUNPATH_SEARCH_PATHS[sdk=appletv*] = $(inherited) @executable_path/Frameworks @loader_path/Frameworks; - -MODULEMAP_FILE = $(SRCROOT)/Sources/Sentry/Sentry.modulemap -//SWIFT_INCLUDE_PATHS = $(SRCROOT)/Sources/Sentry - -// SWIFT_VERSION is only recognized by Xcode 8 and higher. -// Prior versions of Xcode support only one Swift version. -// SWIFT_VERSION = 3.1 - -// Although `YES` is the default for iOS targets, command-line output via `xcodebuild -showBuildSettings` -// will not emit this value unless it is explicitly set. -SUPPORTS_MACCATALYST = YES - -CLANG_CXX_LANGUAGE_STANDARD = c++14 -CLANG_CXX_LIBRARY = libc++ diff --git a/Sources/Sentry/PrivateSentrySDKOnly.m b/Sources/Sentry/PrivateSentrySDKOnly.m index 2f32ebf2532..30a62ab1a2a 100644 --- a/Sources/Sentry/PrivateSentrySDKOnly.m +++ b/Sources/Sentry/PrivateSentrySDKOnly.m @@ -6,7 +6,6 @@ #import "SentryMeta.h" #import "SentrySDK+Private.h" #import "SentrySerialization.h" -#import #import #import diff --git a/Sources/Sentry/Public/PrivateSentrySDKOnly.h b/Sources/Sentry/Public/PrivateSentrySDKOnly.h index 61d278ae2a9..5cbbe17096d 100644 --- a/Sources/Sentry/Public/PrivateSentrySDKOnly.h +++ b/Sources/Sentry/Public/PrivateSentrySDKOnly.h @@ -1,5 +1,3 @@ -#import - #import "SentryDefines.h" @class SentryEnvelope, SentryDebugMeta, SentryAppStartMeasurement, SentryScreenFrames, diff --git a/Sources/Sentry/Public/SentryObjc.h b/Sources/Sentry/Public/Sentry.h similarity index 100% rename from Sources/Sentry/Public/SentryObjc.h rename to Sources/Sentry/Public/Sentry.h diff --git a/Sources/Sentry/Public/SentryClient.h b/Sources/Sentry/Public/SentryClient.h index 28935314765..405256f464b 100644 --- a/Sources/Sentry/Public/SentryClient.h +++ b/Sources/Sentry/Public/SentryClient.h @@ -1,5 +1,3 @@ -#import - #import "SentryDefines.h" @class SentryOptions, SentrySession, SentryEvent, SentryEnvelope, SentryScope, SentryFileManager, diff --git a/Sources/Sentry/Public/SentryError.h b/Sources/Sentry/Public/SentryError.h index 22b6605dda7..d1f508f276e 100644 --- a/Sources/Sentry/Public/SentryError.h +++ b/Sources/Sentry/Public/SentryError.h @@ -1,5 +1,4 @@ #import "SentryDefines.h" -#import NS_ASSUME_NONNULL_BEGIN diff --git a/Sources/Sentry/Public/SentrySDK.h b/Sources/Sentry/Public/SentrySDK.h index 41b8f0f02ce..88846ff4d3b 100644 --- a/Sources/Sentry/Public/SentrySDK.h +++ b/Sources/Sentry/Public/SentrySDK.h @@ -1,5 +1,3 @@ -#import - #import "SentryDefines.h" @protocol SentrySpan; diff --git a/Sources/Sentry/Public/SentryThread.h b/Sources/Sentry/Public/SentryThread.h index ecca3e03e06..7546e419ea0 100644 --- a/Sources/Sentry/Public/SentryThread.h +++ b/Sources/Sentry/Public/SentryThread.h @@ -5,6 +5,7 @@ NS_ASSUME_NONNULL_BEGIN @class SentryStacktrace; +NS_SWIFT_NAME(Thread) @interface SentryThread : NSObject SENTRY_NO_INIT diff --git a/Sources/Sentry/Public/SentryTraceHeader.h b/Sources/Sentry/Public/SentryTraceHeader.h index 9cd4195b6c4..92f3d200cdb 100644 --- a/Sources/Sentry/Public/SentryTraceHeader.h +++ b/Sources/Sentry/Public/SentryTraceHeader.h @@ -1,6 +1,5 @@ #import "SentryDefines.h" #import "SentrySampleDecision.h" -#import @class SentryId, SentrySpanId; diff --git a/Sources/Sentry/Sentry.modulemap b/Sources/Sentry/Sentry.modulemap new file mode 100644 index 00000000000..5434aa9350a --- /dev/null +++ b/Sources/Sentry/Sentry.modulemap @@ -0,0 +1,6 @@ +framework module Sentry { + umbrella header "Sentry.h" + + export * + module * { export * } +} diff --git a/Sources/Sentry/SentryANRTrackingIntegration.m b/Sources/Sentry/SentryANRTrackingIntegration.m index 78d32daff95..9b947eb567e 100644 --- a/Sources/Sentry/SentryANRTrackingIntegration.m +++ b/Sources/Sentry/SentryANRTrackingIntegration.m @@ -8,15 +8,11 @@ #import "SentryEvent.h" #import "SentryException.h" #import "SentryHub+Private.h" -#import "SentryLog.h" #import "SentryMechanism.h" #import "SentrySDK+Private.h" #import "SentryThread.h" #import "SentryThreadInspector.h" #import "SentryThreadWrapper.h" -#import -#import -#import #import #import diff --git a/Sources/Sentry/SentryAppStartTracker.m b/Sources/Sentry/SentryAppStartTracker.m index 59292d739b2..cc9927c0f69 100644 --- a/Sources/Sentry/SentryAppStartTracker.m +++ b/Sources/Sentry/SentryAppStartTracker.m @@ -61,7 +61,7 @@ - (instancetype)initWithCurrentDateProvider:(id)curre self.dispatchQueue = dispatchQueueWrapper; self.appStateManager = appStateManager; self.sysctl = sysctl; - self.previousAppState = [self.appStateManager loadCurrentAppState]; + self.previousAppState = [self.appStateManager loadPreviousAppState]; self.wasInBackground = NO; self.didFinishLaunchingTimestamp = [currentDateProvider date]; } @@ -109,6 +109,10 @@ - (void)start if (PrivateSentrySDKOnly.appStartMeasurementHybridSDKMode) { [self buildAppStartMeasurement]; } + +# if SENTRY_HAS_UIKIT + [self.appStateManager start]; +# endif } - (void)buildAppStartMeasurement @@ -259,6 +263,10 @@ - (void)stop [NSNotificationCenter.defaultCenter removeObserver:self name:UIApplicationDidEnterBackgroundNotification object:nil]; + +# if SENTRY_HAS_UIKIT + [self.appStateManager stop]; +# endif } - (void)dealloc diff --git a/Sources/Sentry/SentryAppState.m b/Sources/Sentry/SentryAppState.m index 7b5daa4eef1..9c339e9a3ba 100644 --- a/Sources/Sentry/SentryAppState.m +++ b/Sources/Sentry/SentryAppState.m @@ -1,4 +1,3 @@ -#import #import #import diff --git a/Sources/Sentry/SentryAppStateManager.m b/Sources/Sentry/SentryAppStateManager.m index 0459c7a8a96..23889da8f66 100644 --- a/Sources/Sentry/SentryAppStateManager.m +++ b/Sources/Sentry/SentryAppStateManager.m @@ -5,10 +5,13 @@ #import #import #import +#import #import #import #if SENTRY_HAS_UIKIT +# import +# import # import #endif @@ -20,6 +23,8 @@ @property (nonatomic, strong) SentryFileManager *fileManager; @property (nonatomic, strong) id currentDate; @property (nonatomic, strong) SentrySysctl *sysctl; +@property (nonatomic, strong) SentryDispatchQueueWrapper *dispatchQueue; +@property (nonatomic) NSInteger startCount; @end @@ -30,6 +35,7 @@ - (instancetype)initWithOptions:(SentryOptions *)options fileManager:(SentryFileManager *)fileManager currentDateProvider:(id)currentDateProvider sysctl:(SentrySysctl *)sysctl + dispatchQueueWrapper:(SentryDispatchQueueWrapper *)dispatchQueueWrapper { if (self = [super init]) { self.options = options; @@ -37,12 +43,138 @@ - (instancetype)initWithOptions:(SentryOptions *)options self.fileManager = fileManager; self.currentDate = currentDateProvider; self.sysctl = sysctl; + self.dispatchQueue = dispatchQueueWrapper; + self.startCount = 0; } return self; } #if SENTRY_HAS_UIKIT +- (void)start +{ + if (self.startCount == 0) { + [NSNotificationCenter.defaultCenter + addObserver:self + selector:@selector(didBecomeActive) + name:SentryNSNotificationCenterWrapper.didBecomeActiveNotificationName + object:nil]; + + [NSNotificationCenter.defaultCenter + addObserver:self + selector:@selector(didBecomeActive) + name:SentryHybridSdkDidBecomeActiveNotificationName + object:nil]; + + [NSNotificationCenter.defaultCenter + addObserver:self + selector:@selector(willResignActive) + name:SentryNSNotificationCenterWrapper.willResignActiveNotificationName + object:nil]; + + [NSNotificationCenter.defaultCenter + addObserver:self + selector:@selector(willTerminate) + name:SentryNSNotificationCenterWrapper.willTerminateNotificationName + object:nil]; + + [self storeCurrentAppState]; + } + + self.startCount += 1; +} + +- (void)stop +{ + if (self.startCount <= 0) { + return; + } + + self.startCount -= 1; + + if (self.startCount == 0) { + // Remove the observers with the most specific detail possible, see + // https://developer.apple.com/documentation/foundation/nsnotificationcenter/1413994-removeobserver + [NSNotificationCenter.defaultCenter + removeObserver:self + name:SentryNSNotificationCenterWrapper.didBecomeActiveNotificationName + object:nil]; + + [NSNotificationCenter.defaultCenter + removeObserver:self + name:SentryHybridSdkDidBecomeActiveNotificationName + object:nil]; + + [NSNotificationCenter.defaultCenter + removeObserver:self + name:SentryNSNotificationCenterWrapper.willResignActiveNotificationName + object:nil]; + + [NSNotificationCenter.defaultCenter + removeObserver:self + name:SentryNSNotificationCenterWrapper.willTerminateNotificationName + object:nil]; + + [self deleteAppState]; + } +} + +- (void)dealloc +{ + // In dealloc it's safe to unsubscribe for all, see + // https://developer.apple.com/documentation/foundation/nsnotificationcenter/1413994-removeobserver + [NSNotificationCenter.defaultCenter removeObserver:self]; + [self deleteAppState]; +} + +/** + * It is called when an app is receiving events / it is in the foreground and when we receive a + * SentryHybridSdkDidBecomeActiveNotification. + * + * This also works when using SwiftUI or Scenes, as UIKit posts a didBecomeActiveNotification + * regardless of whether your app uses scenes, see + * https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1622956-applicationdidbecomeactive. + */ +- (void)didBecomeActive +{ + [self updateAppStateInBackground:^(SentryAppState *appState) { appState.isActive = YES; }]; +} + +/** + * The app is about to lose focus / going to the background. This is only called when an app was + * receiving events / was is in the foreground. + */ +- (void)willResignActive +{ + [self updateAppStateInBackground:^(SentryAppState *appState) { appState.isActive = NO; }]; +} + +- (void)willTerminate +{ + // The app is terminating so it is fine to do this on the main thread. + // Furthermore, so users can manually post UIApplicationWillTerminateNotification and then call + // exit(0), to avoid getting false OOM when using exit(0), see GH-1252. + [self updateAppState:^(SentryAppState *appState) { appState.wasTerminated = YES; }]; +} + +- (void)updateAppStateInBackground:(void (^)(SentryAppState *))block +{ + // We accept the tradeoff that the app state might not be 100% up to date over blocking the main + // thread. + [self.dispatchQueue dispatchAsyncWithBlock:^{ [self updateAppState:block]; }]; +} + +- (void)updateAppState:(void (^)(SentryAppState *))block +{ + @synchronized(self) { + SentryAppState *appState = [self.fileManager readAppState]; + if (nil != appState) { + block(appState); + [self.fileManager storeAppState:appState]; + } + } +} + - (SentryAppState *)buildCurrentAppState { // Is the current process being traced or not? If it is a debugger is attached. @@ -57,9 +189,9 @@ - (SentryAppState *)buildCurrentAppState systemBootTimestamp:self.sysctl.systemBootTimestamp]; } -- (SentryAppState *)loadCurrentAppState +- (SentryAppState *)loadPreviousAppState { - return [self.fileManager readAppState]; + return [self.fileManager readPreviousAppState]; } - (void)storeCurrentAppState @@ -67,22 +199,11 @@ - (void)storeCurrentAppState [self.fileManager storeAppState:[self buildCurrentAppState]]; } -- (void)removeCurrentAppState +- (void)deleteAppState { [self.fileManager deleteAppState]; } -- (void)updateAppState:(void (^)(SentryAppState *))block -{ - @synchronized(self) { - SentryAppState *appState = [self.fileManager readAppState]; - if (nil != appState) { - block(appState); - [self.fileManager storeAppState:appState]; - } - } -} - #endif @end diff --git a/Sources/Sentry/SentryBacktrace.cpp b/Sources/Sentry/SentryBacktrace.cpp index 401285c7d49..dc0c557f58a 100644 --- a/Sources/Sentry/SentryBacktrace.cpp +++ b/Sources/Sentry/SentryBacktrace.cpp @@ -19,9 +19,6 @@ using namespace sentry::profiling; using namespace sentry::profiling::thread; -# define LIKELY(x) __builtin_expect(!!(x), 1) -# define UNLIKELY(x) __builtin_expect(!!(x), 0) - namespace { ALWAYS_INLINE bool isValidFrame(std::uintptr_t frame, const StackBounds &bounds) diff --git a/Sources/Sentry/SentryDependencyContainer.m b/Sources/Sentry/SentryDependencyContainer.m index d81ec2040b2..17df37182b1 100644 --- a/Sources/Sentry/SentryDependencyContainer.m +++ b/Sources/Sentry/SentryDependencyContainer.m @@ -2,7 +2,6 @@ #import "SentryDefaultCurrentDateProvider.h" #import "SentryDispatchQueueWrapper.h" #import "SentryUIApplication.h" -#import #import #import #import @@ -64,11 +63,12 @@ - (SentryAppStateManager *)appStateManager if (_appStateManager == nil) { SentryOptions *options = [[[SentrySDK currentHub] getClient] options]; _appStateManager = [[SentryAppStateManager alloc] - initWithOptions:options - crashWrapper:self.crashWrapper - fileManager:self.fileManager - currentDateProvider:[SentryDefaultCurrentDateProvider sharedInstance] - sysctl:[[SentrySysctl alloc] init]]; + initWithOptions:options + crashWrapper:self.crashWrapper + fileManager:self.fileManager + currentDateProvider:[SentryDefaultCurrentDateProvider sharedInstance] + sysctl:[[SentrySysctl alloc] init] + dispatchQueueWrapper:self.dispatchQueueWrapper]; } return _appStateManager; } diff --git a/Sources/Sentry/SentryFileContents.m b/Sources/Sentry/SentryFileContents.m index f18bb61d38f..9fae5da2b13 100644 --- a/Sources/Sentry/SentryFileContents.m +++ b/Sources/Sentry/SentryFileContents.m @@ -1,5 +1,4 @@ #import "SentryFileContents.h" -#import @interface SentryFileContents () diff --git a/Sources/Sentry/SentryFileManager.m b/Sources/Sentry/SentryFileManager.m index 98a8f055ed8..96676404fb1 100644 --- a/Sources/Sentry/SentryFileManager.m +++ b/Sources/Sentry/SentryFileManager.m @@ -23,6 +23,7 @@ @property (nonatomic, copy) NSString *currentSessionFilePath; @property (nonatomic, copy) NSString *crashedSessionFilePath; @property (nonatomic, copy) NSString *lastInForegroundFilePath; +@property (nonatomic, copy) NSString *previousAppStateFilePath; @property (nonatomic, copy) NSString *appStateFilePath; @property (nonatomic, copy) NSString *timezoneOffsetFilePath; @property (nonatomic, assign) NSUInteger currentFileCounter; @@ -65,6 +66,8 @@ - (nullable instancetype)initWithOptions:(SentryOptions *)options self.lastInForegroundFilePath = [self.sentryPath stringByAppendingPathComponent:@"lastInForeground.timestamp"]; + self.previousAppStateFilePath = + [self.sentryPath stringByAppendingPathComponent:@"previous.app.state"]; self.appStateFilePath = [self.sentryPath stringByAppendingPathComponent:@"app.state"]; self.timezoneOffsetFilePath = [self.sentryPath stringByAppendingPathComponent:@"timezone.offset"]; @@ -395,32 +398,71 @@ - (void)storeAppState:(SentryAppState *)appState } } +- (void)moveAppStateToPreviousAppState +{ + @synchronized(self.appStateFilePath) { + NSFileManager *fileManager = [NSFileManager defaultManager]; + NSError *error = nil; + [fileManager moveItemAtPath:self.appStateFilePath + toPath:self.previousAppStateFilePath + error:&error]; + + // We don't want to log an error if the file doesn't exist. + if (nil != error && error.code != NSFileNoSuchFileError) { + [SentryLog + logWithMessage:[NSString + stringWithFormat: + @"Failed to move app state to previous app state: %@", error] + andLevel:kSentryLevelError]; + } + } +} + - (SentryAppState *_Nullable)readAppState +{ + @synchronized(self.appStateFilePath) { + return [self readAppStateFrom:self.appStateFilePath]; + } +} + +- (SentryAppState *_Nullable)readPreviousAppState +{ + @synchronized(self.previousAppStateFilePath) { + return [self readAppStateFrom:self.previousAppStateFilePath]; + } +} + +- (SentryAppState *_Nullable)readAppStateFrom:(NSString *)path { NSFileManager *fileManager = [NSFileManager defaultManager]; NSData *currentData = nil; - @synchronized(self.appStateFilePath) { - currentData = [fileManager contentsAtPath:self.appStateFilePath]; - if (nil == currentData) { - return nil; - } + currentData = [fileManager contentsAtPath:path]; + if (nil == currentData) { + return nil; } return [SentrySerialization appStateWithData:currentData]; } - (void)deleteAppState +{ + @synchronized(self.appStateFilePath) { + [self deleteAppStateFrom:self.appStateFilePath]; + [self deleteAppStateFrom:self.previousAppStateFilePath]; + } +} + +- (void)deleteAppStateFrom:(NSString *)path { NSError *error = nil; NSFileManager *fileManager = [NSFileManager defaultManager]; - @synchronized(self.appStateFilePath) { - [fileManager removeItemAtPath:self.appStateFilePath error:&error]; + [fileManager removeItemAtPath:path error:&error]; - // We don't want to log an error if the file doesn't exist. - if (nil != error && error.code != NSFileNoSuchFileError) { - [SentryLog - logWithMessage:[NSString stringWithFormat:@"Failed to delete app state %@", error] - andLevel:kSentryLevelError]; - } + // We don't want to log an error if the file doesn't exist. + if (nil != error && error.code != NSFileNoSuchFileError) { + [SentryLog + logWithMessage:[NSString stringWithFormat:@"Failed to delete app state from %@: %@", + path, error] + andLevel:kSentryLevelError]; } } diff --git a/Sources/Sentry/SentryFramesTracker.m b/Sources/Sentry/SentryFramesTracker.m index b7fbebce0f5..0bb56ce673d 100644 --- a/Sources/Sentry/SentryFramesTracker.m +++ b/Sources/Sentry/SentryFramesTracker.m @@ -1,4 +1,5 @@ #import "SentryFramesTracker.h" +#import "SentryCompiler.h" #import "SentryDisplayLinkWrapper.h" #import "SentryProfilingConditionals.h" #import "SentryTracer.h" @@ -102,10 +103,10 @@ - (void)start - (void)displayLinkCallback { - CFTimeInterval lastFrameTimestamp = self.displayLinkWrapper.timestamp; + CFTimeInterval thisFrameTimestamp = self.displayLinkWrapper.timestamp; if (self.previousFrameTimestamp == SentryPreviousFrameInitialValue) { - self.previousFrameTimestamp = lastFrameTimestamp; + self.previousFrameTimestamp = thisFrameTimestamp; return; } @@ -118,15 +119,30 @@ - (void)displayLinkCallback // 60 fps. double actualFramesPerSecond = 60.0; if (@available(iOS 10.0, tvOS 10.0, *)) { - actualFramesPerSecond - = 1 / (self.displayLinkWrapper.targetTimestamp - self.displayLinkWrapper.timestamp); + if (UNLIKELY( + (self.displayLinkWrapper.targetTimestamp == self.displayLinkWrapper.timestamp))) { + actualFramesPerSecond = 60.0; + } else { + actualFramesPerSecond + = 1 / (self.displayLinkWrapper.targetTimestamp - self.displayLinkWrapper.timestamp); + } } # if SENTRY_TARGET_PROFILING_SUPPORTED - if (self.currentTracer.isProfiling - && (self.frameRateTimestamps.count == 0 - || self.frameRateTimestamps.lastObject[@"frame_rate"].doubleValue - != actualFramesPerSecond)) { +# if defined(TEST) || defined(TESTCI) + BOOL shouldRecordFrameRates = YES; +# else + BOOL shouldRecordFrameRates = self.currentTracer.isProfiling; +# endif // defined(TEST) || defined(TESTCI) + BOOL hasNoFrameRatesYet = self.frameRateTimestamps.count == 0; + BOOL frameRateSignificantlyChanged + = fabs(self.frameRateTimestamps.lastObject[@"frame_rate"].doubleValue + - actualFramesPerSecond) + > 1e-10f; // these may be a small fraction off of a whole number of frames per second, so + // allow some small epsilon difference + BOOL shouldRecordNewFrameRate + = shouldRecordFrameRates && (hasNoFrameRatesYet || frameRateSignificantlyChanged); + if (shouldRecordNewFrameRate) { [self.frameRateTimestamps addObject:@{ @"timestamp" : @(self.displayLinkWrapper.timestamp), @"frame_rate" : @(actualFramesPerSecond), @@ -134,34 +150,36 @@ - (void)displayLinkCallback } # endif // SENTRY_TARGET_PROFILING_SUPPORTED - // Most frames take just a few microseconds longer than the optimal caculated duration. - // Therefore we substract one, because otherwise almost all frames would be slow. + // Most frames take just a few microseconds longer than the optimal calculated duration. + // Therefore we subtract one, because otherwise almost all frames would be slow. CFTimeInterval slowFrameThreshold = 1 / (actualFramesPerSecond - 1); - CFTimeInterval frameDuration = lastFrameTimestamp - self.previousFrameTimestamp; - self.previousFrameTimestamp = lastFrameTimestamp; + CFTimeInterval frameDuration = thisFrameTimestamp - self.previousFrameTimestamp; if (frameDuration > slowFrameThreshold && frameDuration <= SentryFrozenFrameThreshold) { atomic_fetch_add_explicit(&_slowFrames, 1, SentryFramesMemoryOrder); # if SENTRY_TARGET_PROFILING_SUPPORTED - [self recordTimestampStart:@(self.previousFrameTimestamp) end:@(lastFrameTimestamp)]; + [self recordTimestampStart:@(self.previousFrameTimestamp) end:@(thisFrameTimestamp)]; # endif // SENTRY_TARGET_PROFILING_SUPPORTED } else if (frameDuration > SentryFrozenFrameThreshold) { atomic_fetch_add_explicit(&_frozenFrames, 1, SentryFramesMemoryOrder); # if SENTRY_TARGET_PROFILING_SUPPORTED - [self recordTimestampStart:@(self.previousFrameTimestamp) end:@(lastFrameTimestamp)]; + [self recordTimestampStart:@(self.previousFrameTimestamp) end:@(thisFrameTimestamp)]; # endif // SENTRY_TARGET_PROFILING_SUPPORTED } atomic_fetch_add_explicit(&_totalFrames, 1, SentryFramesMemoryOrder); - - self.previousFrameTimestamp = lastFrameTimestamp; + self.previousFrameTimestamp = thisFrameTimestamp; } # if SENTRY_TARGET_PROFILING_SUPPORTED - (void)recordTimestampStart:(NSNumber *)start end:(NSNumber *)end { - if (self.currentTracer.isProfiling) { + BOOL shouldRecord = self.currentTracer.isProfiling; +# if defined(TEST) || defined(TESTCI) + shouldRecord = YES; +# endif + if (shouldRecord) { [self.frameTimestamps addObject:@{ @"start_timestamp" : start, @"end_timestamp" : end }]; } } diff --git a/Sources/Sentry/SentryMeta.m b/Sources/Sentry/SentryMeta.m index 6a7380bbdc2..a9aedc4605e 100644 --- a/Sources/Sentry/SentryMeta.m +++ b/Sources/Sentry/SentryMeta.m @@ -5,7 +5,7 @@ @implementation SentryMeta // Don't remove the static keyword. If you do the compiler adds the constant name to the global // symbol table and it might clash with other constants. When keeping the static keyword the // compiler replaces all occurrences with the value. -static NSString *versionString = @"7.27.0"; +static NSString *versionString = @"7.27.1"; static NSString *sdkName = @"sentry.cocoa"; + (NSString *)versionString diff --git a/Sources/Sentry/SentryMigrateSessionInit.m b/Sources/Sentry/SentryMigrateSessionInit.m index e9aa074d7d7..2661cb6a283 100644 --- a/Sources/Sentry/SentryMigrateSessionInit.m +++ b/Sources/Sentry/SentryMigrateSessionInit.m @@ -4,7 +4,6 @@ #import "SentryLog.h" #import "SentrySerialization.h" #import "SentrySession+Private.h" -#import NS_ASSUME_NONNULL_BEGIN diff --git a/Sources/Sentry/SentryObjc.modulemap b/Sources/Sentry/SentryObjc.modulemap deleted file mode 100644 index 87c26884bfd..00000000000 --- a/Sources/Sentry/SentryObjc.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module SentryObjc { - umbrella header "SentryObjc.h" - - export * - module * { export * } -} diff --git a/Sources/Sentry/SentryOutOfMemoryLogic.m b/Sources/Sentry/SentryOutOfMemoryLogic.m index 7994dcd3938..95fa5a4c1cc 100644 --- a/Sources/Sentry/SentryOutOfMemoryLogic.m +++ b/Sources/Sentry/SentryOutOfMemoryLogic.m @@ -40,7 +40,7 @@ - (BOOL)isOOM } #if SENTRY_HAS_UIKIT - SentryAppState *previousAppState = [self.appStateManager loadCurrentAppState]; + SentryAppState *previousAppState = [self.appStateManager loadPreviousAppState]; SentryAppState *currentAppState = [self.appStateManager buildCurrentAppState]; // If there is no previous app state, we can't do anything. diff --git a/Sources/Sentry/SentryOutOfMemoryTracker.m b/Sources/Sentry/SentryOutOfMemoryTracker.m index 2b30ad7a93d..65b9b372774 100644 --- a/Sources/Sentry/SentryOutOfMemoryTracker.m +++ b/Sources/Sentry/SentryOutOfMemoryTracker.m @@ -7,11 +7,9 @@ #import #import #import -#import #import #import #import -#import #import #import #import @@ -53,28 +51,7 @@ - (instancetype)initWithOptions:(SentryOptions *)options - (void)start { #if SENTRY_HAS_UIKIT - [NSNotificationCenter.defaultCenter - addObserver:self - selector:@selector(didBecomeActive) - name:SentryNSNotificationCenterWrapper.didBecomeActiveNotificationName - object:nil]; - - [NSNotificationCenter.defaultCenter addObserver:self - selector:@selector(didBecomeActive) - name:SentryHybridSdkDidBecomeActiveNotificationName - object:nil]; - - [NSNotificationCenter.defaultCenter - addObserver:self - selector:@selector(willResignActive) - name:SentryNSNotificationCenterWrapper.willResignActiveNotificationName - object:nil]; - - [NSNotificationCenter.defaultCenter - addObserver:self - selector:@selector(willTerminate) - name:SentryNSNotificationCenterWrapper.willTerminateNotificationName - object:nil]; + [self.appStateManager start]; [self.dispatchQueue dispatchAsyncWithBlock:^{ if ([self.outOfMemoryLogic isOOM]) { @@ -95,10 +72,7 @@ - (void)start // assume it's not an OOM when the releaseName changed between app starts. [SentrySDK captureCrashEvent:event]; } - - [self.appStateManager storeCurrentAppState]; }]; - #else SENTRY_LOG_INFO(@"NO UIKit -> SentryOutOfMemoryTracker will not track OOM."); return; @@ -108,74 +82,8 @@ - (void)start - (void)stop { #if SENTRY_HAS_UIKIT - // Remove the observers with the most specific detail possible, see - // https://developer.apple.com/documentation/foundation/nsnotificationcenter/1413994-removeobserver - [NSNotificationCenter.defaultCenter - removeObserver:self - name:SentryNSNotificationCenterWrapper.didBecomeActiveNotificationName - object:nil]; - - [NSNotificationCenter.defaultCenter - removeObserver:self - name:SentryHybridSdkDidBecomeActiveNotificationName - object:nil]; - - [NSNotificationCenter.defaultCenter - removeObserver:self - name:SentryNSNotificationCenterWrapper.willResignActiveNotificationName - object:nil]; - - [NSNotificationCenter.defaultCenter - removeObserver:self - name:SentryNSNotificationCenterWrapper.willTerminateNotificationName - object:nil]; - [self.appStateManager removeCurrentAppState]; + [self.appStateManager stop]; #endif } -#if SENTRY_HAS_UIKIT -- (void)dealloc -{ - [self stop]; - // In dealloc it's safe to unsubscribe for all, see - // https://developer.apple.com/documentation/foundation/nsnotificationcenter/1413994-removeobserver - [NSNotificationCenter.defaultCenter removeObserver:self]; -} - -/** - * It is called when an App. is receiving events / It is in the foreground and when we receive a - * SentryHybridSdkDidBecomeActiveNotification. - */ -- (void)didBecomeActive -{ - [self updateAppState:^(SentryAppState *appState) { appState.isActive = YES; }]; -} - -/** - * The app is about to lose focus / going to the background. This is only called when an app was - * receiving events / was is in the foreground. - */ -- (void)willResignActive -{ - [self updateAppState:^(SentryAppState *appState) { appState.isActive = NO; }]; -} - -- (void)willTerminate -{ - // The app is terminating so it is fine to do this on the main thread. - // Furthermore, so users can manually post UIApplicationWillTerminateNotification and then call - // exit(0), to avoid getting false OOM when using exit(0), see GH-1252. - [self.appStateManager - updateAppState:^(SentryAppState *appState) { appState.wasTerminated = YES; }]; -} - -- (void)updateAppState:(void (^)(SentryAppState *))block -{ - // We accept the tradeoff that the app state might not be 100% up to date over blocking the main - // thread. - [self.dispatchQueue dispatchAsyncWithBlock:^{ [self.appStateManager updateAppState:block]; }]; -} - -#endif - @end diff --git a/Sources/Sentry/SentryOutOfMemoryTrackingIntegration.m b/Sources/Sentry/SentryOutOfMemoryTrackingIntegration.m index 102c5f66c45..d83de13656d 100644 --- a/Sources/Sentry/SentryOutOfMemoryTrackingIntegration.m +++ b/Sources/Sentry/SentryOutOfMemoryTrackingIntegration.m @@ -1,14 +1,11 @@ #import "SentryDefines.h" -#import #import #import #import #import -#import #import #import #import -#import #import #import #import diff --git a/Sources/Sentry/SentrySDK.m b/Sources/Sentry/SentrySDK.m index 0aaef686538..ad9b925b709 100644 --- a/Sources/Sentry/SentrySDK.m +++ b/Sources/Sentry/SentrySDK.m @@ -146,7 +146,10 @@ + (void)startWithOptionsObject:(SentryOptions *)options startInvocations++; [SentryLog configure:options.debug diagnosticLevel:options.diagnosticLevel]; + SentryClient *newClient = [[SentryClient alloc] initWithOptions:options]; + [newClient.fileManager moveAppStateToPreviousAppState]; + // The Hub needs to be initialized with a client so that closing a session // can happen. [SentrySDK setCurrentHub:[[SentryHub alloc] initWithClient:newClient andScope:nil]]; diff --git a/Sources/Sentry/SentrySessionTracker.m b/Sources/Sentry/SentrySessionTracker.m index 313badc2ecb..f881a110b44 100644 --- a/Sources/Sentry/SentrySessionTracker.m +++ b/Sources/Sentry/SentrySessionTracker.m @@ -135,6 +135,10 @@ - (void)endCachedSession * SentryHybridSdkDidBecomeActiveNotification. There is no guarantee that this method is called once * or twice. We need to ensure that we execute it only once. * + * This also works when using SwiftUI or Scenes, as UIKit posts a didBecomeActiveNotification + * regardless of whether your app uses scenes, see + * https://developer.apple.com/documentation/uikit/uiapplicationdelegate/1622956-applicationdidbecomeactive. + * * We can't start the session in this method because we don't know if a background task or a hybrid * SDK initialized the SDK. Hybrid SDKs must only post this notification if they are running in the * foreground because the auto session tracking logic doesn't support background tasks. Posting the diff --git a/Sources/Sentry/SentrySwizzleWrapper.m b/Sources/Sentry/SentrySwizzleWrapper.m index 7d98ecc5a0c..889f01c78e1 100644 --- a/Sources/Sentry/SentrySwizzleWrapper.m +++ b/Sources/Sentry/SentrySwizzleWrapper.m @@ -1,6 +1,5 @@ #import "SentrySwizzleWrapper.h" #import "SentrySwizzle.h" -#import NS_ASSUME_NONNULL_BEGIN diff --git a/Sources/Sentry/SentrySystemEventBreadcrumbs.m b/Sources/Sentry/SentrySystemEventBreadcrumbs.m index f1ec4a6274e..6deb12d6d3c 100644 --- a/Sources/Sentry/SentrySystemEventBreadcrumbs.m +++ b/Sources/Sentry/SentrySystemEventBreadcrumbs.m @@ -1,6 +1,4 @@ #import "SentrySystemEventBreadcrumbs.h" -#import "SentryAppState.h" -#import "SentryAppStateManager.h" #import "SentryBreadcrumb.h" #import "SentryCurrentDateProvider.h" #import "SentryDependencyContainer.h" diff --git a/Sources/Sentry/SentryTracer.m b/Sources/Sentry/SentryTracer.m index 29baa07c68f..167363dc263 100644 --- a/Sources/Sentry/SentryTracer.m +++ b/Sources/Sentry/SentryTracer.m @@ -58,6 +58,7 @@ @implementation SentryTracer { BOOL _waitForChildren; SentryTraceContext *_traceContext; SentryProfilesSamplerDecision *_profilesSamplerDecision; + SentryAppStartMeasurement *appStartMeasurement; NSMutableDictionary *_tags; NSMutableDictionary *_data; dispatch_block_t _idleTimeoutBlock; @@ -162,6 +163,7 @@ - (instancetype)initWithTransactionContext:(SentryTransactionContext *)transacti self.finishStatus = kSentrySpanStatusUndefined; self.idleTimeout = idleTimeout; self.dispatchQueueWrapper = dispatchQueueWrapper; + appStartMeasurement = [self getAppStartMeasurement]; if ([self hasIdleTimeout]) { [self dispatchIdleTimeout]; @@ -557,9 +559,7 @@ - (void)trimEndTimestamp - (SentryTransaction *)toTransaction { - SentryAppStartMeasurement *appStartMeasurement = [self getAppStartMeasurement]; - - NSArray> *appStartSpans = [self buildAppStartSpans:appStartMeasurement]; + NSArray> *appStartSpans = [self buildAppStartSpans]; NSArray> *spans; @synchronized(_children) { @@ -573,7 +573,7 @@ - (SentryTransaction *)toTransaction SentryTransaction *transaction = [[SentryTransaction alloc] initWithTrace:self children:spans]; transaction.transaction = self.transactionContext.name; - [self addMeasurements:transaction appStartMeasurement:appStartMeasurement]; + [self addMeasurements:transaction]; return transaction; } @@ -626,8 +626,7 @@ - (nullable SentryAppStartMeasurement *)getAppStartMeasurement return measurement; } -- (NSArray *)buildAppStartSpans: - (nullable SentryAppStartMeasurement *)appStartMeasurement +- (NSArray *)buildAppStartSpans { if (appStartMeasurement == nil) { return @[]; @@ -687,7 +686,6 @@ - (nullable SentryAppStartMeasurement *)getAppStartMeasurement } - (void)addMeasurements:(SentryTransaction *)transaction - appStartMeasurement:(nullable SentryAppStartMeasurement *)appStartMeasurement { NSString *valueKey = @"value"; diff --git a/Sources/Sentry/include/SentryAppStateManager.h b/Sources/Sentry/include/SentryAppStateManager.h index c2e9822f899..3b9e9ac4efc 100644 --- a/Sources/Sentry/include/SentryAppStateManager.h +++ b/Sources/Sentry/include/SentryAppStateManager.h @@ -1,7 +1,8 @@ #import "SentryCurrentDateProvider.h" #import "SentryDefines.h" -@class SentryOptions, SentryCrashWrapper, SentryAppState, SentryFileManager, SentrySysctl; +@class SentryOptions, SentryCrashWrapper, SentryAppState, SentryFileManager, SentrySysctl, + SentryDispatchQueueWrapper; NS_ASSUME_NONNULL_BEGIN @@ -12,10 +13,14 @@ SENTRY_NO_INIT crashWrapper:(SentryCrashWrapper *)crashWrapper fileManager:(SentryFileManager *)fileManager currentDateProvider:(id)currentDateProvider - sysctl:(SentrySysctl *)sysctl; + sysctl:(SentrySysctl *)sysctl + dispatchQueueWrapper:(SentryDispatchQueueWrapper *)dispatchQueueWrapper; #if SENTRY_HAS_UIKIT +- (void)start; +- (void)stop; + /** * Builds the current app state. * @@ -26,11 +31,11 @@ SENTRY_NO_INIT */ - (SentryAppState *)buildCurrentAppState; -- (SentryAppState *)loadCurrentAppState; +- (SentryAppState *)loadPreviousAppState; - (void)storeCurrentAppState; -- (void)removeCurrentAppState; +- (void)deleteAppState; - (void)updateAppState:(void (^)(SentryAppState *))block; diff --git a/Sources/Sentry/include/SentryClient+Private.h b/Sources/Sentry/include/SentryClient+Private.h index c5478a2b8d3..dc71e7e3c6c 100644 --- a/Sources/Sentry/include/SentryClient+Private.h +++ b/Sources/Sentry/include/SentryClient+Private.h @@ -1,7 +1,6 @@ #import "SentryClient.h" #import "SentryDataCategory.h" #import "SentryDiscardReason.h" -#import @class SentryEnvelopeItem, SentryId, SentryAttachment, SentryThreadInspector; diff --git a/Sources/Sentry/include/SentryDependencyContainer.h b/Sources/Sentry/include/SentryDependencyContainer.h index aa8e3bd9507..140f75e3de8 100644 --- a/Sources/Sentry/include/SentryDependencyContainer.h +++ b/Sources/Sentry/include/SentryDependencyContainer.h @@ -1,7 +1,6 @@ #import "SentryDefines.h" #import "SentryFileManager.h" #import "SentryRandom.h" -#import @class SentryAppStateManager, SentryCrashWrapper, SentryThreadWrapper, SentrySwizzleWrapper, SentryDispatchQueueWrapper, SentryDebugImageProvider, SentryANRTracker, diff --git a/Sources/Sentry/include/SentryDiscardedEvent.h b/Sources/Sentry/include/SentryDiscardedEvent.h index 969469836d8..f2c0b85a4d4 100644 --- a/Sources/Sentry/include/SentryDiscardedEvent.h +++ b/Sources/Sentry/include/SentryDiscardedEvent.h @@ -1,7 +1,6 @@ #import "SentryDataCategory.h" #import "SentryDiscardReason.h" #import "SentrySerializable.h" -#import NS_ASSUME_NONNULL_BEGIN diff --git a/Sources/Sentry/include/SentryFileManager.h b/Sources/Sentry/include/SentryFileManager.h index 7542dbb5520..fd72e185d5e 100644 --- a/Sources/Sentry/include/SentryFileManager.h +++ b/Sources/Sentry/include/SentryFileManager.h @@ -1,5 +1,3 @@ -#import - #import "SentryCurrentDateProvider.h" #import "SentryDataCategory.h" #import "SentryDefines.h" @@ -62,7 +60,9 @@ SENTRY_NO_INIT - (NSString *)storeDictionary:(NSDictionary *)dictionary toPath:(NSString *)path; - (void)storeAppState:(SentryAppState *)appState; +- (void)moveAppStateToPreviousAppState; - (SentryAppState *_Nullable)readAppState; +- (SentryAppState *_Nullable)readPreviousAppState; - (void)deleteAppState; - (NSNumber *_Nullable)readTimezoneOffset; diff --git a/Sources/Sentry/include/SentryLevelMapper.h b/Sources/Sentry/include/SentryLevelMapper.h index 0ec74108f6a..5304f38491d 100644 --- a/Sources/Sentry/include/SentryLevelMapper.h +++ b/Sources/Sentry/include/SentryLevelMapper.h @@ -1,5 +1,4 @@ #import "SentryDefines.h" -#import NS_ASSUME_NONNULL_BEGIN diff --git a/Sources/Sentry/include/SentryLog.h b/Sources/Sentry/include/SentryLog.h index 237e036f4a5..310301c07dc 100644 --- a/Sources/Sentry/include/SentryLog.h +++ b/Sources/Sentry/include/SentryLog.h @@ -1,5 +1,4 @@ #import "SentryDefines.h" -#import @class SentryLogOutput; diff --git a/Sources/Sentry/include/SentryMigrateSessionInit.h b/Sources/Sentry/include/SentryMigrateSessionInit.h index e4e49eaae79..e6d2e23ae3f 100644 --- a/Sources/Sentry/include/SentryMigrateSessionInit.h +++ b/Sources/Sentry/include/SentryMigrateSessionInit.h @@ -1,5 +1,4 @@ #import "SentryDefines.h" -#import @class SentryEnvelope; diff --git a/Sources/Sentry/include/SentryScreenshot.h b/Sources/Sentry/include/SentryScreenshot.h index fe7609ee19a..84afd494836 100644 --- a/Sources/Sentry/include/SentryScreenshot.h +++ b/Sources/Sentry/include/SentryScreenshot.h @@ -1,5 +1,4 @@ #import "SentryDefines.h" -#import #if SENTRY_HAS_UIKIT diff --git a/Sources/Sentry/include/SentrySerialization.h b/Sources/Sentry/include/SentrySerialization.h index 56307731d0a..4946fadddb5 100644 --- a/Sources/Sentry/include/SentrySerialization.h +++ b/Sources/Sentry/include/SentrySerialization.h @@ -1,5 +1,3 @@ -#import - #import "SentryDefines.h" @class SentrySession, SentryEnvelope, SentryAppState; diff --git a/Sources/Sentry/include/SentrySystemEventBreadcrumbs.h b/Sources/Sentry/include/SentrySystemEventBreadcrumbs.h index be9f48f82b0..2392279359c 100644 --- a/Sources/Sentry/include/SentrySystemEventBreadcrumbs.h +++ b/Sources/Sentry/include/SentrySystemEventBreadcrumbs.h @@ -1,5 +1,5 @@ -#import "SentryAppStateManager.h" #import "SentryCurrentDateProvider.h" +#import "SentryFileManager.h" #import #if TARGET_OS_IOS diff --git a/Sources/Sentry/include/SentryTraceContext.h b/Sources/Sentry/include/SentryTraceContext.h index 818ea29c696..0958e406ac6 100644 --- a/Sources/Sentry/include/SentryTraceContext.h +++ b/Sources/Sentry/include/SentryTraceContext.h @@ -1,6 +1,5 @@ #import "SentryId.h" #import "SentrySerializable.h" -#import NS_ASSUME_NONNULL_BEGIN diff --git a/Sources/Sentry/include/SentryTracesSampler.h b/Sources/Sentry/include/SentryTracesSampler.h index 8f005170db9..5d8dfa06397 100644 --- a/Sources/Sentry/include/SentryTracesSampler.h +++ b/Sources/Sentry/include/SentryTracesSampler.h @@ -1,6 +1,5 @@ #import "SentryRandom.h" #import "SentrySampleDecision.h" -#import NS_ASSUME_NONNULL_BEGIN diff --git a/Sources/Sentry/include/SentryUIApplication.h b/Sources/Sentry/include/SentryUIApplication.h index 51013b2a7f0..2195d220243 100644 --- a/Sources/Sentry/include/SentryUIApplication.h +++ b/Sources/Sentry/include/SentryUIApplication.h @@ -1,5 +1,4 @@ #import "SentryDefines.h" -#import #if SENTRY_HAS_UIKIT # import diff --git a/Sources/Sentry/include/SentryViewHierarchy.h b/Sources/Sentry/include/SentryViewHierarchy.h index 8d597339758..cda7447d91d 100644 --- a/Sources/Sentry/include/SentryViewHierarchy.h +++ b/Sources/Sentry/include/SentryViewHierarchy.h @@ -1,5 +1,4 @@ #import "SentryDefines.h" -#import #if SENTRY_HAS_UIKIT diff --git a/Sources/SentryCrash/Installations/SentryCrashInstallation.h b/Sources/SentryCrash/Installations/SentryCrashInstallation.h index 98f786b9165..32b8bf7b098 100644 --- a/Sources/SentryCrash/Installations/SentryCrashInstallation.h +++ b/Sources/SentryCrash/Installations/SentryCrashInstallation.h @@ -26,7 +26,6 @@ #import "SentryCrashReportFilter.h" #import "SentryCrashReportWriter.h" -#import /** * Crash system installation which handles backend-specific details. diff --git a/Sources/SentryCrash/Recording/Monitors/SentryCrashMonitor_NSException.m b/Sources/SentryCrash/Recording/Monitors/SentryCrashMonitor_NSException.m index cf619c7720d..a6f6168d734 100644 --- a/Sources/SentryCrash/Recording/Monitors/SentryCrashMonitor_NSException.m +++ b/Sources/SentryCrash/Recording/Monitors/SentryCrashMonitor_NSException.m @@ -30,7 +30,6 @@ #include "SentryCrashMonitorContext.h" #import "SentryCrashStackCursor_Backtrace.h" #include "SentryCrashThread.h" -#import //#define SentryCrashLogger_LocalLevel TRACE #import "SentryCrashLogger.h" diff --git a/Sources/SentryCrash/Recording/SentryCrash.h b/Sources/SentryCrash/Recording/SentryCrash.h index 0bddb878c0a..55b022c3441 100644 --- a/Sources/SentryCrash/Recording/SentryCrash.h +++ b/Sources/SentryCrash/Recording/SentryCrash.h @@ -24,8 +24,6 @@ // THE SOFTWARE. // -#import - #import "SentryCrashMonitorType.h" #import "SentryCrashReportFilter.h" #import "SentryCrashReportWriter.h" diff --git a/Sources/SentrySwift/Sentry.h b/Sources/SentrySwift/Sentry.h deleted file mode 100644 index f54ce8b1e6e..00000000000 --- a/Sources/SentrySwift/Sentry.h +++ /dev/null @@ -1,12 +0,0 @@ -#import - -@import SentryObjc; - -//! Project version number for Sentry. -FOUNDATION_EXPORT double SentryVersionNumber; - -//! Project version string for Sentry. -FOUNDATION_EXPORT const unsigned char SentryVersionString[]; - -// In this header, you should import all the public headers of your framework using statements like -// #import diff --git a/Sources/SentrySwift/Sentry.modulemap b/Sources/SentrySwift/Sentry.modulemap deleted file mode 100644 index 8ae906fb3c5..00000000000 --- a/Sources/SentrySwift/Sentry.modulemap +++ /dev/null @@ -1,4 +0,0 @@ -framework module Sentry { -header "Sentry.h" -export * -} diff --git a/Sources/SentrySwift/Sentry.swift b/Sources/SentrySwift/Sentry.swift deleted file mode 100644 index fecc4ab4499..00000000000 --- a/Sources/SentrySwift/Sentry.swift +++ /dev/null @@ -1 +0,0 @@ -import Foundation diff --git a/Tests/SentryTests/Categories/UIViewRecursiveDescriptionTests.swift b/Tests/SentryTests/Categories/UIViewRecursiveDescriptionTests.swift index 60deca56b28..d7eaec6b1ef 100644 --- a/Tests/SentryTests/Categories/UIViewRecursiveDescriptionTests.swift +++ b/Tests/SentryTests/Categories/UIViewRecursiveDescriptionTests.swift @@ -1,4 +1,4 @@ -@testable import SentryObjc +@testable import Sentry import XCTest #if os(iOS) || os(tvOS) || targetEnvironment(macCatalyst) diff --git a/Tests/SentryTests/ClearTestState.swift b/Tests/SentryTests/ClearTestState.swift index 8f4137e7ccb..02db84e1294 100644 --- a/Tests/SentryTests/ClearTestState.swift +++ b/Tests/SentryTests/ClearTestState.swift @@ -1,5 +1,5 @@ import Foundation -import SentryObjc +import Sentry func clearTestState() { SentrySDK.close() diff --git a/Tests/SentryTests/Helper/SentryAppStateManagerTests.swift b/Tests/SentryTests/Helper/SentryAppStateManagerTests.swift new file mode 100644 index 00000000000..98b5f854aa6 --- /dev/null +++ b/Tests/SentryTests/Helper/SentryAppStateManagerTests.swift @@ -0,0 +1,115 @@ +import XCTest + +#if os(iOS) || os(tvOS) || targetEnvironment(macCatalyst) +class SentryAppStateManagerTests: XCTestCase { + private static let dsnAsString = TestConstants.dsnAsString(username: "SentryOutOfMemoryTrackerTests") + private static let dsn = TestConstants.dsn(username: "SentryOutOfMemoryTrackerTests") + + private class Fixture { + + let options: Options + let fileManager: SentryFileManager + let currentDate = TestCurrentDateProvider() + + init() { + options = Options() + options.dsn = SentryAppStateManagerTests.dsnAsString + options.releaseName = TestData.appState.releaseName + + fileManager = try! SentryFileManager(options: options, andCurrentDateProvider: currentDate) + } + + func getSut() -> SentryAppStateManager { + return SentryAppStateManager( + options: options, + crashWrapper: TestSentryCrashWrapper.sharedInstance(), + fileManager: fileManager, + currentDateProvider: currentDate, + sysctl: TestSysctl(), + dispatchQueueWrapper: TestSentryDispatchQueueWrapper() + ) + } + } + + private var fixture: Fixture! + private var sut: SentryAppStateManager! + + override func setUp() { + super.setUp() + + fixture = Fixture() + sut = fixture.getSut() + } + + override func tearDown() { + super.tearDown() + fixture.fileManager.deleteAppState() + } + + func testStartStoresAppState() { + XCTAssertNil(fixture.fileManager.readAppState()) + + sut.start() + XCTAssertNotNil(fixture.fileManager.readAppState()) + } + + func testStartOnlyRunsLogicWhenStartCountBecomesOne() { + XCTAssertNil(fixture.fileManager.readAppState()) + + sut.start() + XCTAssertNotNil(fixture.fileManager.readAppState()) + + fixture.fileManager.deleteAppState() + + sut.start() + XCTAssertNil(fixture.fileManager.readAppState()) + } + + func testStopDeletesAppState() { + XCTAssertNil(fixture.fileManager.readAppState()) + + sut.start() + XCTAssertNotNil(fixture.fileManager.readAppState()) + + sut.stop() + XCTAssertNil(fixture.fileManager.readAppState()) + } + + func testStopOnlyRunsLogicWhenStartCountBecomesZero() { + XCTAssertNil(fixture.fileManager.readAppState()) + + sut.start() + XCTAssertNotNil(fixture.fileManager.readAppState()) + + sut.start() + + sut.stop() + XCTAssertNotNil(fixture.fileManager.readAppState()) + + sut.stop() + XCTAssertNil(fixture.fileManager.readAppState()) + } + + func testStoreAndDeleteAppState() { + XCTAssertNil(fixture.fileManager.readAppState()) + + sut.storeCurrentAppState() + XCTAssertNotNil(fixture.fileManager.readAppState()) + + sut.deleteAppState() + XCTAssertNil(fixture.fileManager.readAppState()) + } + + func testUpdateAppState() { + sut.storeCurrentAppState() + + XCTAssertEqual(fixture.fileManager.readAppState()!.wasTerminated, false) + + sut.updateAppState { state in + state.wasTerminated = true + } + + XCTAssertEqual(fixture.fileManager.readAppState()!.wasTerminated, true) + } +} +#endif diff --git a/Tests/SentryTests/Helper/SentryCurrentDateTests.swift b/Tests/SentryTests/Helper/SentryCurrentDateTests.swift index 42d520d1f9a..49981a81a22 100644 --- a/Tests/SentryTests/Helper/SentryCurrentDateTests.swift +++ b/Tests/SentryTests/Helper/SentryCurrentDateTests.swift @@ -1,4 +1,4 @@ -@testable import SentryObjc +@testable import Sentry import XCTest class SentryCurrentDateTests: XCTestCase { diff --git a/Tests/SentryTests/Helper/SentryFileManager+TestProperties.h b/Tests/SentryTests/Helper/SentryFileManager+TestProperties.h index d36a02021bd..ce46181eb27 100644 --- a/Tests/SentryTests/Helper/SentryFileManager+TestProperties.h +++ b/Tests/SentryTests/Helper/SentryFileManager+TestProperties.h @@ -1,4 +1,5 @@ #import "SentryFileManager.h" +#import NS_ASSUME_NONNULL_BEGIN diff --git a/Tests/SentryTests/Helper/SentryFileManagerTests.swift b/Tests/SentryTests/Helper/SentryFileManagerTests.swift index aa423925129..5e6e895db25 100644 --- a/Tests/SentryTests/Helper/SentryFileManagerTests.swift +++ b/Tests/SentryTests/Helper/SentryFileManagerTests.swift @@ -1,4 +1,4 @@ -import SentryObjc +import Sentry import XCTest // Even if we don't run this test below OSX 10.12 we expect the actual @@ -439,6 +439,15 @@ class SentryFileManagerTests: XCTestCase { sut.deleteAppState() XCTAssertNil(sut.readAppState()) } + + func testDeletePreviousAppState() { + sut.store(TestData.appState) + sut.moveAppStateToPreviousAppState() + sut.deleteAppState() + + XCTAssertNil(sut.readAppState()) + XCTAssertNil(sut.readPreviousAppState()) + } func testStore_WhenFileImmutable_AppStateIsNotOverwritten() { sut.store(TestData.appState) @@ -471,6 +480,14 @@ class SentryFileManagerTests: XCTestCase { XCTAssertNotNil(sut.readAppState()) } + func testMoveAppStateAndReadPreviousAppState() { + sut.store(TestData.appState) + sut.moveAppStateToPreviousAppState() + + let actual = sut.readPreviousAppState() + XCTAssertEqual(TestData.appState, actual) + } + func testStoreAndReadTimezoneOffset() { sut.storeTimezoneOffset(7_200) XCTAssertEqual(sut.readTimezoneOffset(), 7_200) @@ -600,7 +617,6 @@ class SentryFileManagerTests: XCTestCase { private func assertValidAppStateStored() { let actual = sut.readAppState() XCTAssertEqual(TestData.appState, actual) - } private func advanceTime(bySeconds: TimeInterval) { diff --git a/Tests/SentryTests/Helper/SentryLog+TestInit.h b/Tests/SentryTests/Helper/SentryLog+TestInit.h index ea6e3c9a6de..38a89f25007 100644 --- a/Tests/SentryTests/Helper/SentryLog+TestInit.h +++ b/Tests/SentryTests/Helper/SentryLog+TestInit.h @@ -1,4 +1,5 @@ #import "SentryLog.h" +#import NS_ASSUME_NONNULL_BEGIN diff --git a/Tests/SentryTests/Helper/SentrySerializationNilTests.m b/Tests/SentryTests/Helper/SentrySerializationNilTests.m index f89aac0d5b5..b2f6854f47b 100644 --- a/Tests/SentryTests/Helper/SentrySerializationNilTests.m +++ b/Tests/SentryTests/Helper/SentrySerializationNilTests.m @@ -1,5 +1,5 @@ #import "SentrySerialization.h" - +#import #import @interface SentrySerializationNilTests : XCTestCase diff --git a/Tests/SentryTests/Helper/SentrySwizzleTests.m b/Tests/SentryTests/Helper/SentrySwizzleTests.m index cdd552b0c49..3af6ab1edb3 100644 --- a/Tests/SentryTests/Helper/SentrySwizzleTests.m +++ b/Tests/SentryTests/Helper/SentrySwizzleTests.m @@ -1,5 +1,5 @@ #import "SentrySwizzle.h" - +#import #import #pragma mark - HELPER CLASSES - diff --git a/Tests/SentryTests/Integrations/ANR/SentryANRTrackingIntegrationTests.swift b/Tests/SentryTests/Integrations/ANR/SentryANRTrackingIntegrationTests.swift index d8b92a1dac7..2dde33b2e80 100644 --- a/Tests/SentryTests/Integrations/ANR/SentryANRTrackingIntegrationTests.swift +++ b/Tests/SentryTests/Integrations/ANR/SentryANRTrackingIntegrationTests.swift @@ -108,17 +108,17 @@ class SentryANRTrackingIntegrationTests: SentrySDKIntegrationTestsBase { private func setUpThreadInspector() { let threadInspector = TestThreadInspector.instance - let frame1 = Frame() + let frame1 = Sentry.Frame() frame1.function = "Second_frame_function" - let thread1 = SentryThread(threadId: 0) + let thread1 = Sentry.Thread(threadId: 0) thread1.stacktrace = Stacktrace(frames: [frame1], registers: [:]) thread1.current = true - let frame2 = Frame() + let frame2 = Sentry.Frame() frame2.function = "main" - let thread2 = SentryThread(threadId: 1) + let thread2 = Sentry.Thread(threadId: 1) thread2.stacktrace = Stacktrace(frames: [frame2], registers: [:]) thread2.current = false diff --git a/Tests/SentryTests/Integrations/Breadcrumbs/SentryAutoBreadcrumbTrackingIntegrationTests.swift b/Tests/SentryTests/Integrations/Breadcrumbs/SentryAutoBreadcrumbTrackingIntegrationTests.swift index 56c67eec029..764569b60b2 100644 --- a/Tests/SentryTests/Integrations/Breadcrumbs/SentryAutoBreadcrumbTrackingIntegrationTests.swift +++ b/Tests/SentryTests/Integrations/Breadcrumbs/SentryAutoBreadcrumbTrackingIntegrationTests.swift @@ -1,4 +1,4 @@ -import SentryObjc +import Sentry import XCTest class SentryAutoBreadcrumbTrackingIntegrationTests: XCTestCase { diff --git a/Tests/SentryTests/Integrations/Breadcrumbs/SentrySystemEventBreadcrumbsTest.swift b/Tests/SentryTests/Integrations/Breadcrumbs/SentrySystemEventBreadcrumbsTest.swift index b47c29983b4..6d21fd29507 100644 --- a/Tests/SentryTests/Integrations/Breadcrumbs/SentrySystemEventBreadcrumbsTest.swift +++ b/Tests/SentryTests/Integrations/Breadcrumbs/SentrySystemEventBreadcrumbsTest.swift @@ -1,4 +1,4 @@ -@testable import SentryObjc +@testable import Sentry import XCTest class SentrySystemEventBreadcrumbsTest: XCTestCase { @@ -252,7 +252,7 @@ class SentrySystemEventBreadcrumbsTest: XCTestCase { } } - func testTimezoneChangeNotificationBreadcrumb() { + func testTimezoneChangeNotificationBreadcrumb_disabled() { let scope = Scope() sut = fixture.getSut(scope: scope, currentDevice: nil) diff --git a/Tests/SentryTests/Integrations/OutOfMemory/SentryOutOfMemoryLogicTests.swift b/Tests/SentryTests/Integrations/OutOfMemory/SentryOutOfMemoryLogicTests.swift index 1035741cacd..f34f3cdb6d4 100644 --- a/Tests/SentryTests/Integrations/OutOfMemory/SentryOutOfMemoryLogicTests.swift +++ b/Tests/SentryTests/Integrations/OutOfMemory/SentryOutOfMemoryLogicTests.swift @@ -28,7 +28,7 @@ class SentryOutOfMemoryLogicTests: XCTestCase { } func getSut() -> SentryOutOfMemoryLogic { - let appStateManager = SentryAppStateManager(options: options, crashWrapper: crashWrapper, fileManager: fileManager, currentDateProvider: currentDate, sysctl: sysctl) + let appStateManager = SentryAppStateManager(options: options, crashWrapper: crashWrapper, fileManager: fileManager, currentDateProvider: currentDate, sysctl: sysctl, dispatchQueueWrapper: self.dispatchQueue) return SentryOutOfMemoryLogic(options: options, crashAdapter: crashWrapper, appStateManager: appStateManager) } } diff --git a/Tests/SentryTests/Integrations/OutOfMemory/SentryOutOfMemoryTrackerTests.swift b/Tests/SentryTests/Integrations/OutOfMemory/SentryOutOfMemoryTrackerTests.swift index bb3dc82abd3..fa72aeacfaf 100644 --- a/Tests/SentryTests/Integrations/OutOfMemory/SentryOutOfMemoryTrackerTests.swift +++ b/Tests/SentryTests/Integrations/OutOfMemory/SentryOutOfMemoryTrackerTests.swift @@ -36,7 +36,7 @@ class SentryOutOfMemoryTrackerTests: NotificationCenterTestCase { } func getSut(fileManager: SentryFileManager) -> SentryOutOfMemoryTracker { - let appStateManager = SentryAppStateManager(options: options, crashWrapper: crashWrapper, fileManager: fileManager, currentDateProvider: currentDate, sysctl: sysctl) + let appStateManager = SentryAppStateManager(options: options, crashWrapper: crashWrapper, fileManager: fileManager, currentDateProvider: currentDate, sysctl: sysctl, dispatchQueueWrapper: self.dispatchQueue) let logic = SentryOutOfMemoryLogic(options: options, crashAdapter: crashWrapper, appStateManager: appStateManager) return SentryOutOfMemoryTracker(options: options, outOfMemoryLogic: logic, appStateManager: appStateManager, dispatchQueueWrapper: dispatchQueue, fileManager: fileManager) } @@ -62,6 +62,8 @@ class SentryOutOfMemoryTrackerTests: NotificationCenterTestCase { } func testStart_StoresAppState() { + XCTAssertNil(fixture.fileManager.readAppState()) + sut.start() let actual = fixture.fileManager.readAppState() @@ -189,6 +191,7 @@ class SentryOutOfMemoryTrackerTests: NotificationCenterTestCase { sut.start() goToForeground() + fixture.fileManager.moveAppStateToPreviousAppState() sut.start() assertOOMEventSent() } @@ -208,7 +211,8 @@ class SentryOutOfMemoryTrackerTests: NotificationCenterTestCase { func testAppOOM_WithOnlyHybridSdkDidBecomeActive() { sut.start() hybridSdkDidBecomeActive() - + + fixture.fileManager.moveAppStateToPreviousAppState() sut.start() assertOOMEventSent() } @@ -217,7 +221,8 @@ class SentryOutOfMemoryTrackerTests: NotificationCenterTestCase { sut.start() goToForeground() hybridSdkDidBecomeActive() - + + fixture.fileManager.moveAppStateToPreviousAppState() sut.start() assertOOMEventSent() } @@ -226,7 +231,8 @@ class SentryOutOfMemoryTrackerTests: NotificationCenterTestCase { sut.start() hybridSdkDidBecomeActive() goToForeground() - + + fixture.fileManager.moveAppStateToPreviousAppState() sut.start() assertOOMEventSent() } @@ -253,7 +259,7 @@ class SentryOutOfMemoryTrackerTests: NotificationCenterTestCase { func testStop_StopsObserving_NoMoreFileManagerInvocations() throws { let fileManager = try TestFileManager(options: Options(), andCurrentDateProvider: TestCurrentDateProvider()) sut = fixture.getSut(fileManager: fileManager) - + sut.start() sut.stop() @@ -261,7 +267,7 @@ class SentryOutOfMemoryTrackerTests: NotificationCenterTestCase { goToForeground() terminateApp() - XCTAssertEqual(1, fileManager.readAppStateInvocations.count) + XCTAssertEqual(1, fileManager.readPreviousAppStateInvocations.count) } private func givenPreviousAppState(appState: SentryAppState) { diff --git a/Tests/SentryTests/Integrations/Performance/AppStartTracking/SentryAppStartTrackerTests.swift b/Tests/SentryTests/Integrations/Performance/AppStartTracking/SentryAppStartTrackerTests.swift index e2719265850..5616a5f7e1c 100644 --- a/Tests/SentryTests/Integrations/Performance/AppStartTracking/SentryAppStartTrackerTests.swift +++ b/Tests/SentryTests/Integrations/Performance/AppStartTracking/SentryAppStartTrackerTests.swift @@ -14,6 +14,7 @@ class SentryAppStartTrackerTests: NotificationCenterTestCase { let fileManager: SentryFileManager let crashWrapper = TestSentryCrashWrapper.sharedInstance() let appStateManager: SentryAppStateManager + let dispatchQueue = TestSentryDispatchQueueWrapper() let appStartDuration: TimeInterval = 0.4 var runtimeInitTimestamp: Date @@ -26,7 +27,7 @@ class SentryAppStartTrackerTests: NotificationCenterTestCase { fileManager = try! SentryFileManager(options: options, andCurrentDateProvider: currentDate) - appStateManager = SentryAppStateManager(options: options, crashWrapper: crashWrapper, fileManager: fileManager, currentDateProvider: currentDate, sysctl: sysctl) + appStateManager = SentryAppStateManager(options: options, crashWrapper: crashWrapper, fileManager: fileManager, currentDateProvider: currentDate, sysctl: sysctl, dispatchQueueWrapper: dispatchQueue) runtimeInitTimestamp = currentDate.date().addingTimeInterval(0.2) didFinishLaunchingTimestamp = currentDate.date().addingTimeInterval(0.3) @@ -55,7 +56,7 @@ class SentryAppStartTrackerTests: NotificationCenterTestCase { fixture.fileManager.deleteAllFolders() clearTestState() } - + func testFirstStart_IsColdStart() { startApp() @@ -74,7 +75,8 @@ class SentryAppStartTrackerTests: NotificationCenterTestCase { func testSecondStart_SystemNotRebooted_IsWarmStart() { givenSystemNotRebooted() - + + fixture.fileManager.moveAppStateToPreviousAppState() startApp() assertValidStart(type: .warm) @@ -109,7 +111,8 @@ class SentryAppStartTrackerTests: NotificationCenterTestCase { let appState = SentryAppState(releaseName: "1.0.0", osVersion: "14.4.1", vendorId: TestData.someUUID, isDebugging: false, systemBootTimestamp: self.fixture.currentDate.date()) givenPreviousAppState(appState: appState) - + + fixture.fileManager.moveAppStateToPreviousAppState() startApp() assertValidStart(type: .warm) @@ -121,7 +124,8 @@ class SentryAppStartTrackerTests: NotificationCenterTestCase { func testAppLaunches_PreviousBootTimeInFuture_NoAppStartUp() { let appState = SentryAppState(releaseName: TestData.appState.releaseName, osVersion: UIDevice.current.systemVersion, vendorId: TestData.someUUID, isDebugging: false, systemBootTimestamp: fixture.currentDate.date().addingTimeInterval(1)) givenPreviousAppState(appState: appState) - + + fixture.fileManager.moveAppStateToPreviousAppState() startApp() assertNoAppStartUp() @@ -131,7 +135,8 @@ class SentryAppStartTrackerTests: NotificationCenterTestCase { setenv("ActivePrewarm", "1", 1) SentryAppStartTracker.load() givenSystemNotRebooted() - + + fixture.fileManager.moveAppStateToPreviousAppState() startApp() #if os(iOS) @@ -149,7 +154,8 @@ class SentryAppStartTrackerTests: NotificationCenterTestCase { setenv("ActivePrewarm", "0", 1) SentryAppStartTracker.load() givenSystemNotRebooted() - + + fixture.fileManager.moveAppStateToPreviousAppState() startApp() assertValidStart(type: .warm) @@ -220,7 +226,8 @@ class SentryAppStartTrackerTests: NotificationCenterTestCase { func testHybridSDKs_SecondStart_SystemNotRebooted_IsWarmStart() { givenSystemNotRebooted() - + + fixture.fileManager.moveAppStateToPreviousAppState() hybridAppStart() assertValidHybridStart(type: .warm) diff --git a/Tests/SentryTests/Integrations/Performance/FramesTracking/SentryFramesTrackerTests.swift b/Tests/SentryTests/Integrations/Performance/FramesTracking/SentryFramesTrackerTests.swift index 0557fe43471..98a44962196 100644 --- a/Tests/SentryTests/Integrations/Performance/FramesTracking/SentryFramesTrackerTests.swift +++ b/Tests/SentryTests/Integrations/Performance/FramesTracking/SentryFramesTrackerTests.swift @@ -13,9 +13,9 @@ class SentryFramesTrackerTests: XCTestCase { queue = DispatchQueue(label: "SentryFramesTrackerTests", qos: .background, attributes: [.concurrent]) } - var sut: SentryFramesTracker { + lazy var sut: SentryFramesTracker = { return SentryFramesTracker(displayLinkWrapper: displayLinkWrapper) - } + }() } private var fixture: Fixture! @@ -50,11 +50,8 @@ class SentryFramesTrackerTests: XCTestCase { fixture.displayLinkWrapper.slowFrame() fixture.displayLinkWrapper.normalFrame() fixture.displayLinkWrapper.almostFrozenFrame() - - let currentFrames = sut.currentFrames - XCTAssertEqual(2, currentFrames.slow) - XCTAssertEqual(3, currentFrames.total) - XCTAssertEqual(0, currentFrames.frozen) + + assert(slow: 2, frozen: 0, total: 3) } func testFrozenFrame() { @@ -64,11 +61,8 @@ class SentryFramesTrackerTests: XCTestCase { fixture.displayLinkWrapper.call() fixture.displayLinkWrapper.slowFrame() fixture.displayLinkWrapper.frozenFrame() - - let currentFrames = sut.currentFrames - XCTAssertEqual(1, currentFrames.slow) - XCTAssertEqual(2, currentFrames.total) - XCTAssertEqual(1, currentFrames.frozen) + + assert(slow: 1, frozen: 1, total: 2) } func testAllFrames_ConcurrentRead() { @@ -76,11 +70,11 @@ class SentryFramesTrackerTests: XCTestCase { sut.start() let group = DispatchGroup() - - var currentFrames = sut.currentFrames - assertPreviousCountBiggerThanCurrent(group) { return currentFrames.frozen } - assertPreviousCountBiggerThanCurrent(group) { return currentFrames.slow } - assertPreviousCountBiggerThanCurrent(group) { return currentFrames.total } + + let currentFrames = sut.currentFrames + assertPreviousCountLesserThanCurrent(group) { return currentFrames.frozen } + assertPreviousCountLesserThanCurrent(group) { return currentFrames.slow } + assertPreviousCountLesserThanCurrent(group) { return currentFrames.total } fixture.displayLinkWrapper.call() @@ -92,10 +86,7 @@ class SentryFramesTrackerTests: XCTestCase { } group.wait() - currentFrames = sut.currentFrames - XCTAssertEqual(3 * frames, currentFrames.total) - XCTAssertEqual(frames, currentFrames.slow) - XCTAssertEqual(frames, currentFrames.frozen) + assert(slow: frames, frozen: frames, total: 3 * frames) } func testPerformanceOfTrackingFrames() { @@ -108,12 +99,35 @@ class SentryFramesTrackerTests: XCTestCase { fixture.displayLinkWrapper.normalFrame() } } - - XCTAssertEqual(0, sut.currentFrames.slow) - XCTAssertEqual(0, sut.currentFrames.frozen) + + assert(slow: 0, frozen: 0) } - - private func assertPreviousCountBiggerThanCurrent(_ group: DispatchGroup, count: @escaping () -> UInt) { +} + +private extension SentryFramesTrackerTests { + func assert(slow: UInt? = nil, frozen: UInt? = nil, total: UInt? = nil) { + let currentFrames = fixture.sut.currentFrames + if let total = total { + XCTAssertEqual(total, currentFrames.total) + } + if let slow = slow { + XCTAssertEqual(slow, currentFrames.slow) + } + if let frozen = frozen { + XCTAssertEqual(frozen, currentFrames.frozen) + } +#if SENTRY_TARGET_PROFILING_SUPPORTED + if ((slow ?? 0) + (frozen ?? 0)) > 0 { + XCTAssertGreaterThan(currentFrames.frameTimestamps.count, 0) + for frame in currentFrames.frameTimestamps { + XCTAssertFalse(frame["start_timestamp"] == frame["end_timestamp"]) + } + } + XCTAssertGreaterThan(currentFrames.frameRateTimestamps.count, 0) +#endif + } + + private func assertPreviousCountLesserThanCurrent(_ group: DispatchGroup, count: @escaping () -> UInt) { group.enter() fixture.queue.async { var previousCount: UInt = 0 @@ -125,7 +139,6 @@ class SentryFramesTrackerTests: XCTestCase { group.leave() } } - } #endif diff --git a/Tests/SentryTests/Integrations/Performance/IO/SentryFileIOTrackingIntegrationTests.swift b/Tests/SentryTests/Integrations/Performance/IO/SentryFileIOTrackingIntegrationTests.swift index fb3605680a1..f19ca2e3a7f 100644 --- a/Tests/SentryTests/Integrations/Performance/IO/SentryFileIOTrackingIntegrationTests.swift +++ b/Tests/SentryTests/Integrations/Performance/IO/SentryFileIOTrackingIntegrationTests.swift @@ -1,5 +1,5 @@ import Foundation -import SentryObjc +import Sentry import XCTest // This test is also executed under iOS-SwiftUITests, because @@ -191,7 +191,7 @@ class SentryFileIOTrackingIntegrationTests: XCTestCase { ?? bundle.path(forResource: "fatal-error-binary-images-message2", ofType: "json") } - func test_DataConsistency_readUrl() { + func test_DataConsistency_readUrl_disabled() { SentrySDK.start(options: fixture.getOptions()) let randomValue = UUID().uuidString @@ -205,7 +205,7 @@ class SentryFileIOTrackingIntegrationTests: XCTestCase { XCTAssertEqual(randomValue, readValue) } - func test_DataConsistency_readPath() { + func test_DataConsistency_readPath_disabled() { SentrySDK.start(options: fixture.getOptions()) let randomValue = UUID().uuidString diff --git a/Tests/SentryTests/Integrations/Performance/IO/SentryFileIoTrackingUnitTests.swift b/Tests/SentryTests/Integrations/Performance/IO/SentryFileIoTrackingUnitTests.swift index e36f633848a..9049366a888 100644 --- a/Tests/SentryTests/Integrations/Performance/IO/SentryFileIoTrackingUnitTests.swift +++ b/Tests/SentryTests/Integrations/Performance/IO/SentryFileIoTrackingUnitTests.swift @@ -1,4 +1,4 @@ -import SentryObjc +import Sentry import XCTest class SentryFileIoTrackingUnitTests: XCTestCase { diff --git a/Tests/SentryTests/Integrations/Performance/Network/SentryNetworkTrackerIntegrationTests.swift b/Tests/SentryTests/Integrations/Performance/Network/SentryNetworkTrackerIntegrationTests.swift index c2aaad466a5..bd17eabb444 100644 --- a/Tests/SentryTests/Integrations/Performance/Network/SentryNetworkTrackerIntegrationTests.swift +++ b/Tests/SentryTests/Integrations/Performance/Network/SentryNetworkTrackerIntegrationTests.swift @@ -1,4 +1,4 @@ -import SentryObjc +import Sentry import SwiftUI import XCTest diff --git a/Tests/SentryTests/Integrations/Performance/UIViewController/SentryUIViewControllerSwizzlingTests.swift b/Tests/SentryTests/Integrations/Performance/UIViewController/SentryUIViewControllerSwizzlingTests.swift index dcd2d184a34..c820ce4325d 100644 --- a/Tests/SentryTests/Integrations/Performance/UIViewController/SentryUIViewControllerSwizzlingTests.swift +++ b/Tests/SentryTests/Integrations/Performance/UIViewController/SentryUIViewControllerSwizzlingTests.swift @@ -1,4 +1,4 @@ -import SentryObjc +import Sentry import XCTest #if os(iOS) || os(tvOS) || targetEnvironment(macCatalyst) @@ -157,7 +157,7 @@ class SentryUIViewControllerSwizzlingTests: XCTestCase { func testSwizzle_fromApplication_noDelegate() { XCTAssertFalse(fixture.sut.swizzleRootViewController(from: MockApplication())) } - /* + func testSwizzle_fromApplication_noWindowMethod() { let mockApplicationDelegate = MockApplication.MockApplicationDelegateNoWindow() let mockApplication = MockApplication(mockApplicationDelegate) @@ -175,7 +175,7 @@ class SentryUIViewControllerSwizzlingTests: XCTestCase { let mockApplication = MockApplication(mockApplicationDelegate) XCTAssertFalse(fixture.sut.swizzleRootViewController(from: mockApplication)) } - */ + func testSwizzle_fromApplication() { // We must keep one strong reference to the delegate. The mock has only a weak. let delegate = fixture.delegate diff --git a/Tests/SentryTests/Integrations/Screenshot/SentryScreenshotIntegrationTests.swift b/Tests/SentryTests/Integrations/Screenshot/SentryScreenshotIntegrationTests.swift index b03d190965b..508c31ae7a7 100644 --- a/Tests/SentryTests/Integrations/Screenshot/SentryScreenshotIntegrationTests.swift +++ b/Tests/SentryTests/Integrations/Screenshot/SentryScreenshotIntegrationTests.swift @@ -1,4 +1,4 @@ -import SentryObjc +import Sentry import XCTest #if os(iOS) || os(tvOS) || targetEnvironment(macCatalyst) diff --git a/Tests/SentryTests/Integrations/SentryBaseIntegrationTests.swift b/Tests/SentryTests/Integrations/SentryBaseIntegrationTests.swift index 67500ec1826..3089f4976fd 100644 --- a/Tests/SentryTests/Integrations/SentryBaseIntegrationTests.swift +++ b/Tests/SentryTests/Integrations/SentryBaseIntegrationTests.swift @@ -1,4 +1,4 @@ -import SentryObjc +import Sentry import XCTest class MyTestIntegration: SentryBaseIntegration { diff --git a/Tests/SentryTests/Integrations/SentryCrash/SentryCrashIntegrationTests.swift b/Tests/SentryTests/Integrations/SentryCrash/SentryCrashIntegrationTests.swift index f639cfbd52e..1e531017325 100644 --- a/Tests/SentryTests/Integrations/SentryCrash/SentryCrashIntegrationTests.swift +++ b/Tests/SentryTests/Integrations/SentryCrash/SentryCrashIntegrationTests.swift @@ -264,8 +264,9 @@ class SentryCrashIntegrationTests: NotificationCenterTestCase { assertLocaleOnHub(locale: Locale.autoupdatingCurrent.identifier, hub: hub) } - - func testStartUpCrash_CallsFlush() throws { + + // !!!: Disabled until flakiness can be fixed + func testStartUpCrash_CallsFlush_disabled() throws { let (sut, hub) = givenSutWithGlobalHubAndCrashWrapper() sut.install(with: Options()) @@ -319,6 +320,7 @@ class SentryCrashIntegrationTests: NotificationCenterTestCase { let appState = SentryAppState(releaseName: TestData.appState.releaseName, osVersion: UIDevice.current.systemVersion, vendorId: UIDevice.current.identifierForVendor?.uuidString ?? "", isDebugging: false, systemBootTimestamp: fixture.currentDateProvider.date()) appState.isActive = true fixture.fileManager.store(appState) + fixture.fileManager.moveAppStateToPreviousAppState() } #endif diff --git a/Tests/SentryTests/Integrations/Session/SentrySessionGeneratorTests.swift b/Tests/SentryTests/Integrations/Session/SentrySessionGeneratorTests.swift index 8f208bd031c..4b9fa796445 100644 --- a/Tests/SentryTests/Integrations/Session/SentrySessionGeneratorTests.swift +++ b/Tests/SentryTests/Integrations/Session/SentrySessionGeneratorTests.swift @@ -1,4 +1,4 @@ -@testable import SentryObjc +@testable import Sentry import XCTest /** diff --git a/Tests/SentryTests/Integrations/Session/SentrySessionTrackerTests.swift b/Tests/SentryTests/Integrations/Session/SentrySessionTrackerTests.swift index 8d7678d7050..ff041db64c0 100644 --- a/Tests/SentryTests/Integrations/Session/SentrySessionTrackerTests.swift +++ b/Tests/SentryTests/Integrations/Session/SentrySessionTrackerTests.swift @@ -1,4 +1,4 @@ -@testable import SentryObjc +@testable import Sentry import XCTest class SentrySessionTrackerTests: XCTestCase { diff --git a/Tests/SentryTests/Integrations/UIEvents/SentryUIEventTrackerTests.swift b/Tests/SentryTests/Integrations/UIEvents/SentryUIEventTrackerTests.swift index 6f2460bb743..cf13ad5c361 100644 --- a/Tests/SentryTests/Integrations/UIEvents/SentryUIEventTrackerTests.swift +++ b/Tests/SentryTests/Integrations/UIEvents/SentryUIEventTrackerTests.swift @@ -1,4 +1,4 @@ -import SentryObjc +import Sentry import XCTest #if os(iOS) || os(tvOS) || targetEnvironment(macCatalyst) diff --git a/Tests/SentryTests/Integrations/UIEvents/SentryUIEventTrackingIntegrationTests.swift b/Tests/SentryTests/Integrations/UIEvents/SentryUIEventTrackingIntegrationTests.swift index 03b38b35c4e..2ab8642f456 100644 --- a/Tests/SentryTests/Integrations/UIEvents/SentryUIEventTrackingIntegrationTests.swift +++ b/Tests/SentryTests/Integrations/UIEvents/SentryUIEventTrackingIntegrationTests.swift @@ -1,4 +1,4 @@ -import SentryObjc +import Sentry import XCTest #if os(iOS) || os(tvOS) || targetEnvironment(macCatalyst) diff --git a/Tests/SentryTests/Integrations/ViewHierarchy/SentryViewHierarchyIntegrationTests.swift b/Tests/SentryTests/Integrations/ViewHierarchy/SentryViewHierarchyIntegrationTests.swift index c5e0e8d01a5..fb8c18e65e1 100644 --- a/Tests/SentryTests/Integrations/ViewHierarchy/SentryViewHierarchyIntegrationTests.swift +++ b/Tests/SentryTests/Integrations/ViewHierarchy/SentryViewHierarchyIntegrationTests.swift @@ -1,4 +1,4 @@ -import SentryObjc +import Sentry import XCTest #if os(iOS) || os(tvOS) || targetEnvironment(macCatalyst) diff --git a/Tests/SentryTests/Networking/RateLimits/SentryDefaultRateLimitsTests.swift b/Tests/SentryTests/Networking/RateLimits/SentryDefaultRateLimitsTests.swift index 9214092011b..6322cfe2a4d 100644 --- a/Tests/SentryTests/Networking/RateLimits/SentryDefaultRateLimitsTests.swift +++ b/Tests/SentryTests/Networking/RateLimits/SentryDefaultRateLimitsTests.swift @@ -1,4 +1,4 @@ -@testable import SentryObjc +@testable import Sentry import XCTest class SentryDefaultRateLimitsTests: XCTestCase { diff --git a/Tests/SentryTests/Networking/RateLimits/SentryRateLimitsParserTests.swift b/Tests/SentryTests/Networking/RateLimits/SentryRateLimitsParserTests.swift index 16d7aacbba2..253ffe8723e 100644 --- a/Tests/SentryTests/Networking/RateLimits/SentryRateLimitsParserTests.swift +++ b/Tests/SentryTests/Networking/RateLimits/SentryRateLimitsParserTests.swift @@ -1,4 +1,4 @@ -@testable import SentryObjc +@testable import Sentry import XCTest class SentryRateLimitsParserTests: XCTestCase { diff --git a/Tests/SentryTests/Networking/RateLimits/SentryRetryAfterHeaderParserTests.swift b/Tests/SentryTests/Networking/RateLimits/SentryRetryAfterHeaderParserTests.swift index 355bc4cf04e..8cb8668e6a3 100644 --- a/Tests/SentryTests/Networking/RateLimits/SentryRetryAfterHeaderParserTests.swift +++ b/Tests/SentryTests/Networking/RateLimits/SentryRetryAfterHeaderParserTests.swift @@ -1,4 +1,4 @@ -@testable import SentryObjc +@testable import Sentry import XCTest class SentryRetryAfterHeaderParserTests: XCTestCase { diff --git a/Tests/SentryTests/Networking/SentryDataCategoryMapperTests.swift b/Tests/SentryTests/Networking/SentryDataCategoryMapperTests.swift index 1682836ebea..40df5a07408 100644 --- a/Tests/SentryTests/Networking/SentryDataCategoryMapperTests.swift +++ b/Tests/SentryTests/Networking/SentryDataCategoryMapperTests.swift @@ -1,4 +1,4 @@ -@testable import SentryObjc +@testable import Sentry import XCTest class SentryDataCategoryMapperTests: XCTestCase { diff --git a/Tests/SentryTests/Networking/SentryDsnTests.m b/Tests/SentryTests/Networking/SentryDsnTests.m index 7aa6b753d40..bd6f7b4d4e5 100644 --- a/Tests/SentryTests/Networking/SentryDsnTests.m +++ b/Tests/SentryTests/Networking/SentryDsnTests.m @@ -2,7 +2,7 @@ #import "SentryError.h" #import "SentryMeta.h" #import "SentryNSURLRequest.h" -#import +#import #import @interface SentryDsnTests : XCTestCase diff --git a/Tests/SentryTests/Networking/SentryHttpDateParserTests.swift b/Tests/SentryTests/Networking/SentryHttpDateParserTests.swift index 844c80125c0..f559ba65036 100644 --- a/Tests/SentryTests/Networking/SentryHttpDateParserTests.swift +++ b/Tests/SentryTests/Networking/SentryHttpDateParserTests.swift @@ -1,4 +1,4 @@ -@testable import SentryObjc +@testable import Sentry import XCTest class SentryHttpDateParserTests: XCTestCase { diff --git a/Tests/SentryTests/Networking/SentryHttpTransportTests.swift b/Tests/SentryTests/Networking/SentryHttpTransportTests.swift index 0b2e7fb560e..4975dd2a2fb 100644 --- a/Tests/SentryTests/Networking/SentryHttpTransportTests.swift +++ b/Tests/SentryTests/Networking/SentryHttpTransportTests.swift @@ -1,4 +1,4 @@ -import SentryObjc +import Sentry import XCTest // Although we only run this test above the below specified versions, we expect the diff --git a/Tests/SentryTests/Networking/SentryTransportAdapterTests.swift b/Tests/SentryTests/Networking/SentryTransportAdapterTests.swift index 0e9808a9dc4..826d184da46 100644 --- a/Tests/SentryTests/Networking/SentryTransportAdapterTests.swift +++ b/Tests/SentryTests/Networking/SentryTransportAdapterTests.swift @@ -1,4 +1,4 @@ -import SentryObjc +import Sentry import XCTest class SentryTransportAdapterTests: XCTestCase { diff --git a/Tests/SentryTests/Networking/SentryTransportFactoryTests.swift b/Tests/SentryTests/Networking/SentryTransportFactoryTests.swift index 010a6ad47b0..6931fa8d664 100644 --- a/Tests/SentryTests/Networking/SentryTransportFactoryTests.swift +++ b/Tests/SentryTests/Networking/SentryTransportFactoryTests.swift @@ -1,4 +1,4 @@ -import SentryObjc +import Sentry import XCTest class SentryTransportFactoryTests: XCTestCase { diff --git a/Tests/SentryTests/Networking/SentryTransportInitializerTests.swift b/Tests/SentryTests/Networking/SentryTransportInitializerTests.swift index 751bd6aa10e..6651dcc3e64 100644 --- a/Tests/SentryTests/Networking/SentryTransportInitializerTests.swift +++ b/Tests/SentryTests/Networking/SentryTransportInitializerTests.swift @@ -1,4 +1,4 @@ -@testable import SentryObjc +@testable import Sentry import XCTest class SentryTransportInitializerTests: XCTestCase { diff --git a/Tests/SentryTests/Performance/SentryTracerTests.swift b/Tests/SentryTests/Performance/SentryTracerTests.swift index 0bc3295d991..c42763268ff 100644 --- a/Tests/SentryTests/Performance/SentryTracerTests.swift +++ b/Tests/SentryTests/Performance/SentryTracerTests.swift @@ -432,19 +432,41 @@ class SentryTracerTests: XCTestCase { let appStartMeasurement = fixture.getAppStartMeasurement(type: .warm) SentrySDK.setAppStartMeasurement(appStartMeasurement) + advanceTime(bySeconds: -(fixture.appStartDuration + 4)) + let sut = fixture.getSut() - sut.startTimestamp = fixture.appStartEnd.addingTimeInterval(-5) + advanceTime(bySeconds: 1) sut.finish() fixture.hub.group.wait() XCTAssertEqual(1, fixture.hub.capturedEventsWithScopes.count) - let serializedTransaction = fixture.hub.capturedEventsWithScopes.first!.event.serialize() - let measurements = serializedTransaction["measurements"] as? [String: [String: Int]] - XCTAssertEqual(["app_start_warm": ["value": 500]], measurements) + assertAppStartMeasurementOn(transaction: fixture.hub.capturedEventsWithScopes.first!.event as! Transaction, appStartMeasurement: appStartMeasurement) + } + + func testAddColdStartMeasurement_PutOnFirstStartedTransaction() { + let appStartMeasurement = fixture.getAppStartMeasurement(type: .warm) + SentrySDK.setAppStartMeasurement(appStartMeasurement) - let transaction = fixture.hub.capturedEventsWithScopes.first!.event as! Transaction - assertAppStartsSpanAdded(transaction: transaction, startType: "Warm Start", operation: fixture.appStartWarmOperation, appStartMeasurement: appStartMeasurement) + advanceTime(bySeconds: 0.5) + + let firstTransaction = fixture.getSut() + advanceTime(bySeconds: 0.5) + + let secondTransaction = fixture.getSut() + advanceTime(bySeconds: 0.5) + secondTransaction.finish() + + fixture.hub.group.wait() + XCTAssertEqual(1, fixture.hub.capturedEventsWithScopes.count) + let serializedSecondTransaction = fixture.hub.capturedEventsWithScopes.first!.event.serialize() + XCTAssertNil(serializedSecondTransaction["measurements"]) + + firstTransaction.finish() + fixture.hub.group.wait() + + XCTAssertEqual(2, fixture.hub.capturedEventsWithScopes.count) + assertAppStartMeasurementOn(transaction: fixture.hub.capturedEventsWithScopes[1].event as! Transaction, appStartMeasurement: appStartMeasurement) } func testAddUnknownAppStartMeasurement_NotPutOnNextTransaction() { @@ -488,8 +510,10 @@ class SentryTracerTests: XCTestCase { let appStartMeasurement = fixture.getAppStartMeasurement(type: .warm) SentrySDK.setAppStartMeasurement(appStartMeasurement) + advanceTime(bySeconds: fixture.appStartDuration + 5.01) + let sut = fixture.getSut() - sut.startTimestamp = fixture.appStartEnd.addingTimeInterval(5.1) + advanceTime(bySeconds: 1.0) sut.finish() fixture.hub.group.wait() @@ -500,8 +524,10 @@ class SentryTracerTests: XCTestCase { let appStartMeasurement = fixture.getAppStartMeasurement(type: .warm) SentrySDK.setAppStartMeasurement(appStartMeasurement) + advanceTime(bySeconds: -(fixture.appStartDuration + 4.01)) + let sut = fixture.getSut() - sut.startTimestamp = fixture.appStartEnd.addingTimeInterval(-5.1) + advanceTime(bySeconds: 1.0) sut.finish() fixture.hub.group.wait() @@ -821,6 +847,15 @@ class SentryTracerTests: XCTestCase { assertSpan("Initial Frame Render", appStartMeasurement.didFinishLaunchingTimestamp, fixture.appStartEnd) } + private func assertAppStartMeasurementOn(transaction: Transaction, appStartMeasurement: SentryAppStartMeasurement) { + let serializedTransaction = transaction.serialize() + let measurements = serializedTransaction["measurements"] as? [String: [String: Int]] + + XCTAssertEqual(["app_start_warm": ["value": 500]], measurements) + + assertAppStartsSpanAdded(transaction: transaction, startType: "Warm Start", operation: fixture.appStartWarmOperation, appStartMeasurement: appStartMeasurement) + } + private func assertAppStartMeasurementNotPutOnTransaction() { XCTAssertEqual(1, fixture.hub.capturedEventsWithScopes.count) let serializedTransaction = fixture.hub.capturedEventsWithScopes.first!.event.serialize() diff --git a/Tests/SentryTests/Protocol/SentryAttachment+Equality.h b/Tests/SentryTests/Protocol/SentryAttachment+Equality.h index 5a75d9c5390..614cbc1692f 100644 --- a/Tests/SentryTests/Protocol/SentryAttachment+Equality.h +++ b/Tests/SentryTests/Protocol/SentryAttachment+Equality.h @@ -1,4 +1,4 @@ -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/Tests/SentryTests/Protocol/SentryClientReportTests.swift b/Tests/SentryTests/Protocol/SentryClientReportTests.swift index fc9507420ee..3b38bac0e1c 100644 --- a/Tests/SentryTests/Protocol/SentryClientReportTests.swift +++ b/Tests/SentryTests/Protocol/SentryClientReportTests.swift @@ -1,4 +1,4 @@ -import SentryObjc +import Sentry import XCTest class SentryClientReportTests: XCTestCase { diff --git a/Tests/SentryTests/Protocol/SentryEventTests.swift b/Tests/SentryTests/Protocol/SentryEventTests.swift index 46081a58fcc..00980fddffc 100644 --- a/Tests/SentryTests/Protocol/SentryEventTests.swift +++ b/Tests/SentryTests/Protocol/SentryEventTests.swift @@ -1,4 +1,4 @@ -import SentryObjc +import Sentry import XCTest class SentryEventTests: XCTestCase { diff --git a/Tests/SentryTests/Protocol/SentryIdTests.swift b/Tests/SentryTests/Protocol/SentryIdTests.swift index 5ffcd18b04d..8341dde9237 100644 --- a/Tests/SentryTests/Protocol/SentryIdTests.swift +++ b/Tests/SentryTests/Protocol/SentryIdTests.swift @@ -1,4 +1,4 @@ -@testable import SentryObjc +@testable import Sentry import XCTest class SentryIdTests: XCTestCase { diff --git a/Tests/SentryTests/Protocol/SentryThreadEquality.swift b/Tests/SentryTests/Protocol/SentryThreadEquality.swift index f37be57152b..9731009056d 100644 --- a/Tests/SentryTests/Protocol/SentryThreadEquality.swift +++ b/Tests/SentryTests/Protocol/SentryThreadEquality.swift @@ -1,8 +1,8 @@ import Foundation -extension SentryThread { +extension Sentry.Thread { open override func isEqual(_ object: Any?) -> Bool { - if let other = object as? SentryThread { + if let other = object as? Sentry.Thread { return threadId == other.threadId && name == other.name && stacktrace == other.stacktrace && @@ -17,9 +17,9 @@ extension SentryThread { } } -extension Stacktrace { +extension Sentry.Stacktrace { open override func isEqual(_ object: Any?) -> Bool { - if let other = object as? Stacktrace { + if let other = object as? Sentry.Stacktrace { return frames == other.frames && registers == other.registers } else { @@ -32,9 +32,9 @@ extension Stacktrace { } } -extension Frame { +extension Sentry.Frame { open override func isEqual(_ object: Any?) -> Bool { - if let other = object as? Frame { + if let other = object as? Sentry.Frame { return symbolAddress == other.symbolAddress && fileName == other.fileName && function == other.function && diff --git a/Tests/SentryTests/Protocol/TestData.swift b/Tests/SentryTests/Protocol/TestData.swift index 21a0826fcfd..68cc36a0648 100644 --- a/Tests/SentryTests/Protocol/TestData.swift +++ b/Tests/SentryTests/Protocol/TestData.swift @@ -1,4 +1,5 @@ #if os(iOS) || os(tvOS) || targetEnvironment(macCatalyst) +import Sentry import UIKit #endif @@ -118,8 +119,8 @@ class TestData { return mechanismMeta } - static var thread: SentryThread { - let thread = SentryThread(threadId: 10) + static var thread: Sentry.Thread { + let thread = Sentry.Thread(threadId: 10) thread.crashed = false thread.current = true thread.name = "main" diff --git a/Tests/SentryTests/SentryClient+TestInit.h b/Tests/SentryTests/SentryClient+TestInit.h index f7b80674f6d..f9202228a7c 100644 --- a/Tests/SentryTests/SentryClient+TestInit.h +++ b/Tests/SentryTests/SentryClient+TestInit.h @@ -1,6 +1,7 @@ #import "SentryPermissionsObserver.h" #import "SentryRandom.h" #import "SentryTransport.h" +#import @class SentryCrashWrapper, SentryThreadInspector, SentryTransportAdapter, SentryUIDeviceWrapper; diff --git a/Tests/SentryTests/SentryClientTests.swift b/Tests/SentryTests/SentryClientTests.swift index 02789b4dbd8..8f169d9a579 100644 --- a/Tests/SentryTests/SentryClientTests.swift +++ b/Tests/SentryTests/SentryClientTests.swift @@ -1,4 +1,4 @@ -import SentryObjc +import Sentry import XCTest // swiftlint:disable file_length @@ -1245,7 +1245,7 @@ class SentryClientTest: XCTestCase { private func givenEventWithThreads() -> Event { let event = Event(level: SentryLevel.fatal) - let thread = SentryThread(threadId: 1) + let thread = Sentry.Thread(threadId: 1) thread.crashed = true let threads = [thread] event.threads = threads @@ -1344,13 +1344,13 @@ class SentryClientTest: XCTestCase { } } - private func assertValidDebugMeta(actual: [DebugMeta]?, forThreads threads: [SentryThread]?) { + private func assertValidDebugMeta(actual: [DebugMeta]?, forThreads threads: [Sentry.Thread]?) { let debugMetas = fixture.debugImageBuilder.getDebugImages(for: threads ?? []) XCTAssertEqual(debugMetas, actual ?? []) } - private func assertValidThreads(actual: [SentryThread]?) { + private func assertValidThreads(actual: [Sentry.Thread]?) { let expected = fixture.threadInspector.getCurrentThreads() XCTAssertEqual(expected.count, actual?.count) XCTAssertEqual(expected, actual) diff --git a/Tests/SentryTests/SentryCrash/SentryCrashDefaultBinaryImageProviderTests.swift b/Tests/SentryTests/SentryCrash/SentryCrashDefaultBinaryImageProviderTests.swift index 115f087637f..2d8308a93eb 100644 --- a/Tests/SentryTests/SentryCrash/SentryCrashDefaultBinaryImageProviderTests.swift +++ b/Tests/SentryTests/SentryCrash/SentryCrashDefaultBinaryImageProviderTests.swift @@ -1,4 +1,4 @@ -@testable import SentryObjc +@testable import Sentry import XCTest /** The tests are basically a duplication of the implementation of the actual class. diff --git a/Tests/SentryTests/SentryCrash/SentryCrashInstallationReporterTests.swift b/Tests/SentryTests/SentryCrash/SentryCrashInstallationReporterTests.swift index d7dcf63a654..0ead723a73e 100644 --- a/Tests/SentryTests/SentryCrash/SentryCrashInstallationReporterTests.swift +++ b/Tests/SentryTests/SentryCrash/SentryCrashInstallationReporterTests.swift @@ -1,4 +1,4 @@ -@testable import SentryObjc +@testable import Sentry import XCTest @available(OSX 10.10, *) diff --git a/Tests/SentryTests/SentryCrash/SentryCrashStackEntryMapperTests.swift b/Tests/SentryTests/SentryCrash/SentryCrashStackEntryMapperTests.swift index 53cbcbd0885..cd522f429e3 100644 --- a/Tests/SentryTests/SentryCrash/SentryCrashStackEntryMapperTests.swift +++ b/Tests/SentryTests/SentryCrash/SentryCrashStackEntryMapperTests.swift @@ -1,4 +1,4 @@ -@testable import SentryObjc +@testable import Sentry import XCTest /** Some of the test parameters are copied during debbuging a working implementation. diff --git a/Tests/SentryTests/SentryCrash/SentryCrashUUIDConversionTests.swift b/Tests/SentryTests/SentryCrash/SentryCrashUUIDConversionTests.swift index a1c20ef93e8..ea6f1122f0c 100644 --- a/Tests/SentryTests/SentryCrash/SentryCrashUUIDConversionTests.swift +++ b/Tests/SentryTests/SentryCrash/SentryCrashUUIDConversionTests.swift @@ -1,4 +1,4 @@ -@testable import SentryObjc +@testable import Sentry import XCTest class SentryCrashUUIDConversionTests: XCTestCase { diff --git a/Tests/SentryTests/SentryCrash/SentryDebugImageProviderTests.swift b/Tests/SentryTests/SentryCrash/SentryDebugImageProviderTests.swift index 4c8bdf3c73c..9d0f45efe30 100644 --- a/Tests/SentryTests/SentryCrash/SentryDebugImageProviderTests.swift +++ b/Tests/SentryTests/SentryCrash/SentryDebugImageProviderTests.swift @@ -1,3 +1,4 @@ +@testable import Sentry import XCTest /** @@ -121,8 +122,8 @@ class SentryDebugImageProviderTests: XCTestCase { func testImagesForThreads() { let sut = fixture.getSut(images: fixture.getTestImages()) - let thread = SentryThread(threadId: NSNumber(value: 1)) - let frame = Frame() + let thread = Sentry.Thread(threadId: NSNumber(value: 1)) + let frame = Sentry.Frame() frame.imageAddress = "0x0000000105705000" thread.stacktrace = Stacktrace(frames: [frame], registers: [:]) @@ -132,9 +133,9 @@ class SentryDebugImageProviderTests: XCTestCase { XCTAssertEqual(actual[0].name, "dyld_sim") XCTAssertEqual(actual[0].imageAddress, "0x0000000105705000") - let frame2 = Frame() + let frame2 = Sentry.Frame() frame2.imageAddress = "0x00000001410b1a00" - let frame3 = Frame() + let frame3 = Sentry.Frame() frame3.imageAddress = "0x000000017ca5e400" thread.stacktrace = Stacktrace(frames: [frame2, frame3], registers: [:]) @@ -150,7 +151,7 @@ class SentryDebugImageProviderTests: XCTestCase { func test_NoImage_ForThread_WithoutStackTrace() { let sut = fixture.getSut(images: fixture.getTestImages()) - let thread = SentryThread(threadId: NSNumber(value: 1)) + let thread = Sentry.Thread(threadId: NSNumber(value: 1)) let actual = sut.getDebugImages(for: [thread]) XCTAssertEqual(actual.count, 0) diff --git a/Tests/SentryTests/SentryCrash/SentryStacktraceBuilderTests.swift b/Tests/SentryTests/SentryCrash/SentryStacktraceBuilderTests.swift index 36ec09157bd..c65beeb9c79 100644 --- a/Tests/SentryTests/SentryCrash/SentryStacktraceBuilderTests.swift +++ b/Tests/SentryTests/SentryCrash/SentryStacktraceBuilderTests.swift @@ -1,4 +1,4 @@ -@testable import SentryObjc +@testable import Sentry import XCTest class SentryStacktraceBuilderTests: XCTestCase { @@ -67,7 +67,7 @@ class SentryStacktraceBuilderTests: XCTestCase { XCTAssertTrue(filteredFrames.count == 1, "The frames must be ordered from caller to callee, or oldest to youngest.") } - func testAsyncStacktraces() throws { + func testAsyncStacktraces_disabled() throws { SentrySDK.start { options in options.dsn = TestConstants.dsnAsString(username: "SentryStacktraceBuilderTests") options.stitchAsyncCode = true diff --git a/Tests/SentryTests/SentryCrash/TestSentryPermissionsObserver.swift b/Tests/SentryTests/SentryCrash/TestSentryPermissionsObserver.swift index 5919ab31226..3dfada9c794 100644 --- a/Tests/SentryTests/SentryCrash/TestSentryPermissionsObserver.swift +++ b/Tests/SentryTests/SentryCrash/TestSentryPermissionsObserver.swift @@ -1,4 +1,4 @@ -import SentryObjc +import Sentry class TestSentryPermissionsObserver: SentryPermissionsObserver { var internalPushPermissionStatus = SentryPermissionStatus.unknown diff --git a/Tests/SentryTests/SentryCrash/TestThreadInspector.swift b/Tests/SentryTests/SentryCrash/TestThreadInspector.swift index 3996ed7b93a..6dc623e7091 100644 --- a/Tests/SentryTests/SentryCrash/TestThreadInspector.swift +++ b/Tests/SentryTests/SentryCrash/TestThreadInspector.swift @@ -2,7 +2,7 @@ import Foundation class TestThreadInspector: SentryThreadInspector { - var allThreads: [SentryThread]? + var allThreads: [Sentry.Thread]? static var instance: TestThreadInspector { // We need something to pass to the super initializer, because the empty initializer has been marked unavailable. @@ -12,11 +12,11 @@ class TestThreadInspector: SentryThreadInspector { return TestThreadInspector(stacktraceBuilder: stacktraceBuilder, andMachineContextWrapper: SentryCrashDefaultMachineContextWrapper()) } - override func getCurrentThreads() -> [SentryThread] { + override func getCurrentThreads() -> [Sentry.Thread] { return allThreads ?? [TestData.thread] } - override func getCurrentThreadsWithStackTrace() -> [SentryThread] { + override func getCurrentThreadsWithStackTrace() -> [Sentry.Thread] { return allThreads ?? [TestData.thread] } diff --git a/Tests/SentryTests/SentryHubTests.swift b/Tests/SentryTests/SentryHubTests.swift index 46940dac949..549becaadf1 100644 --- a/Tests/SentryTests/SentryHubTests.swift +++ b/Tests/SentryTests/SentryHubTests.swift @@ -1,4 +1,4 @@ -import SentryObjc +import Sentry import XCTest // swiftlint:disable file_length diff --git a/Tests/SentryTests/SentryInstallationTests.m b/Tests/SentryTests/SentryInstallationTests.m index 411c708c9e8..ecae42be2eb 100644 --- a/Tests/SentryTests/SentryInstallationTests.m +++ b/Tests/SentryTests/SentryInstallationTests.m @@ -1,6 +1,6 @@ #import "SentryInstallation.h" #import - +#import #import @interface SentryInstallationTests : XCTestCase diff --git a/Tests/SentryTests/SentryInterfacesTests.m b/Tests/SentryTests/SentryInterfacesTests.m index 64237804eff..31079c86e32 100644 --- a/Tests/SentryTests/SentryInterfacesTests.m +++ b/Tests/SentryTests/SentryInterfacesTests.m @@ -1,10 +1,10 @@ +#import +#import #import "NSDate+SentryExtras.h" #import "SentryFileManager.h" #import "SentryId.h" #import "SentryMeta.h" -#import -#import @interface SentryInterfacesTests : XCTestCase diff --git a/Tests/SentryTests/SentryKSCrashReportConverterTests.m b/Tests/SentryTests/SentryKSCrashReportConverterTests.m index 22114d25667..fc5e0b782aa 100644 --- a/Tests/SentryTests/SentryKSCrashReportConverterTests.m +++ b/Tests/SentryTests/SentryKSCrashReportConverterTests.m @@ -2,7 +2,7 @@ #import "SentryCrashReportConverter.h" #import "SentryInAppLogic.h" #import "SentryMechanismMeta.h" -#import +#import #import @interface SentryCrashReportConverterTests : XCTestCase diff --git a/Tests/SentryTests/SentryMetaTests.swift b/Tests/SentryTests/SentryMetaTests.swift index 0110f65b81e..6150f240060 100644 --- a/Tests/SentryTests/SentryMetaTests.swift +++ b/Tests/SentryTests/SentryMetaTests.swift @@ -1,4 +1,4 @@ -import SentryObjc +import Sentry import XCTest class SentryMetaTest: XCTestCase { diff --git a/Tests/SentryTests/SentryNSDataCompressionTests.m b/Tests/SentryTests/SentryNSDataCompressionTests.m index 6b1e1865694..13ea93759c6 100644 --- a/Tests/SentryTests/SentryNSDataCompressionTests.m +++ b/Tests/SentryTests/SentryNSDataCompressionTests.m @@ -1,5 +1,5 @@ #import "NSData+SentryCompression.h" - +#import #import @interface SentryNSDataCompressionTests : XCTestCase diff --git a/Tests/SentryTests/SentryNSURLRequestTests.swift b/Tests/SentryTests/SentryNSURLRequestTests.swift index f01b6771ade..7abd7a54320 100644 --- a/Tests/SentryTests/SentryNSURLRequestTests.swift +++ b/Tests/SentryTests/SentryNSURLRequestTests.swift @@ -1,4 +1,4 @@ -@testable import SentryObjc +@testable import Sentry import XCTest class SentryNSURLRequestTests: XCTestCase { diff --git a/Tests/SentryTests/SentrySDK+Tests.h b/Tests/SentryTests/SentrySDK+Tests.h index 159ab4e7841..af003260e51 100644 --- a/Tests/SentryTests/SentrySDK+Tests.h +++ b/Tests/SentryTests/SentrySDK+Tests.h @@ -1,3 +1,5 @@ +#import + NS_ASSUME_NONNULL_BEGIN @interface diff --git a/Tests/SentryTests/SentrySDKTests.swift b/Tests/SentryTests/SentrySDKTests.swift index 6e28e806b9f..47fdc84948a 100644 --- a/Tests/SentryTests/SentrySDKTests.swift +++ b/Tests/SentryTests/SentrySDKTests.swift @@ -1,4 +1,4 @@ -@testable import SentryObjc +@testable import Sentry import XCTest class SentrySDKTests: XCTestCase { diff --git a/Tests/SentryTests/SentryScope+Equality.h b/Tests/SentryTests/SentryScope+Equality.h index b2e31d24982..fbd1a7f5bf5 100644 --- a/Tests/SentryTests/SentryScope+Equality.h +++ b/Tests/SentryTests/SentryScope+Equality.h @@ -1,4 +1,5 @@ #import "SentryScope+Properties.h" +#import NS_ASSUME_NONNULL_BEGIN diff --git a/Tests/SentryTests/SentryScope+Properties.h b/Tests/SentryTests/SentryScope+Properties.h index 85dae41ef1d..995b7aeaea2 100644 --- a/Tests/SentryTests/SentryScope+Properties.h +++ b/Tests/SentryTests/SentryScope+Properties.h @@ -1,4 +1,4 @@ -#import +#import NS_ASSUME_NONNULL_BEGIN diff --git a/Tests/SentryTests/SentryTests.m b/Tests/SentryTests/SentryTests.m index d1ff1d5b528..c3116499191 100644 --- a/Tests/SentryTests/SentryTests.m +++ b/Tests/SentryTests/SentryTests.m @@ -1,13 +1,14 @@ #import "NSDate+SentryExtras.h" #import "SentryBreadcrumbTracker.h" -#import "SentryDataCategory.h" #import "SentryLevelMapper.h" #import "SentryMessage.h" #import "SentryMeta.h" #import "SentrySDK+Private.h" -#import +#import #import +#import "SentryDataCategory.h" + @interface SentryBreadcrumbTracker (Private) diff --git a/Tests/SentryTests/State/SentryHub+TestInit.h b/Tests/SentryTests/State/SentryHub+TestInit.h index b0aa0ff245c..302f048b28c 100644 --- a/Tests/SentryTests/State/SentryHub+TestInit.h +++ b/Tests/SentryTests/State/SentryHub+TestInit.h @@ -1,3 +1,4 @@ +#import NS_ASSUME_NONNULL_BEGIN diff --git a/Tests/SentryTests/TestClient.swift b/Tests/SentryTests/TestClient.swift index e76c3f73ad5..70ff760a87e 100644 --- a/Tests/SentryTests/TestClient.swift +++ b/Tests/SentryTests/TestClient.swift @@ -161,4 +161,10 @@ class TestFileManager: SentryFileManager { readAppStateInvocations.record(Void()) return nil } + + var readPreviousAppStateInvocations = Invocations() + override func readPreviousAppState() -> SentryAppState? { + readPreviousAppStateInvocations.record(Void()) + return nil + } } diff --git a/Tests/SentryTests/Transaction/SentryBaggageTests.swift b/Tests/SentryTests/Transaction/SentryBaggageTests.swift index c03ca5cfb6a..2d1ea0e91f4 100644 --- a/Tests/SentryTests/Transaction/SentryBaggageTests.swift +++ b/Tests/SentryTests/Transaction/SentryBaggageTests.swift @@ -1,5 +1,5 @@ import Foundation -import SentryObjc +import Sentry import XCTest class SentryBaggageTests: XCTestCase { diff --git a/Tests/SentryTests/Transaction/SentryNoOpSpanTests.swift b/Tests/SentryTests/Transaction/SentryNoOpSpanTests.swift index 5b959e6cf2f..db1d0600cf0 100644 --- a/Tests/SentryTests/Transaction/SentryNoOpSpanTests.swift +++ b/Tests/SentryTests/Transaction/SentryNoOpSpanTests.swift @@ -1,4 +1,4 @@ -import SentryObjc +import Sentry import XCTest class SentryNoOpSpanTests: XCTestCase { diff --git a/Tests/SentryTests/Transaction/SentrySpanTests.swift b/Tests/SentryTests/Transaction/SentrySpanTests.swift index 0d922d91beb..ed0b0ce1ab3 100644 --- a/Tests/SentryTests/Transaction/SentrySpanTests.swift +++ b/Tests/SentryTests/Transaction/SentrySpanTests.swift @@ -1,4 +1,4 @@ -import SentryObjc +import Sentry import XCTest class SentrySpanTests: XCTestCase { diff --git a/fastlane/Fastfile b/fastlane/Fastfile index 3a9063b012b..14ce22952df 100644 --- a/fastlane/Fastfile +++ b/fastlane/Fastfile @@ -3,6 +3,7 @@ default_platform(:ios) platform :ios do ios_swift_infoplist_path = "./Samples/iOS-Swift/iOS-Swift/Info.plist" ios_swift_clip_infoplist_path = "./Samples/iOS-Swift/iOS-SwiftClip/Info.plist" + configuration = if is_ci then 'TestCI' else 'Test' end lane :bump_build_number do increment_build_number( @@ -198,14 +199,16 @@ platform :ios do lane :ui_tests_ios_swiftui do run_tests( workspace: "Sentry.xcworkspace", - scheme: "iOS-SwiftUI" + scheme: "iOS-SwiftUI", + configuration: configuration ) end lane :ui_tests_ios_objc do run_tests( workspace: "Sentry.xcworkspace", - scheme: "iOS-ObjectiveC" + scheme: "iOS-ObjectiveC", + configuration: configuration ) end @@ -214,14 +217,16 @@ platform :ios do workspace: "Sentry.xcworkspace", scheme: "iOS-Swift", device: options[:device], - address_sanitizer: options[:address_sanitizer] + address_sanitizer: options[:address_sanitizer], + configuration: configuration ) end lane :ui_tests_tvos_swift do run_tests( workspace: "Sentry.xcworkspace", - scheme: "tvOS-Swift" + scheme: "tvOS-Swift", + configuration: configuration ) end diff --git a/scripts/xcode-test.sh b/scripts/xcode-test.sh index ee75c9e3834..b157b5918aa 100755 --- a/scripts/xcode-test.sh +++ b/scripts/xcode-test.sh @@ -53,8 +53,6 @@ esac echo "CONFIGURATION: $CONFIGURATION" -XCODE_MAJOR_VERSION=$(echo $XCODE | sed -E 's/([0-9]*)\.[0-9]*\.?[0-9]+/\1/g') - if [ $PLATFORM == "iOS" -a $OS == "12.4" ]; then # Skip some tests that fail on iOS 12.4. env NSUnbufferedIO=YES xcodebuild -workspace Sentry.xcworkspace \ @@ -63,51 +61,9 @@ if [ $PLATFORM == "iOS" -a $OS == "12.4" ]; then -skip-testing:"SentryTests/SentrySDKTests/testMemoryFootprintOfAddingBreadcrumbs" \ -skip-testing:"SentryTests/SentrySDKTests/testMemoryFootprintOfTransactions" \ test | tee raw-test-output.log | xcpretty -t && exit ${PIPESTATUS[0]} -elif [ $XCODE_MAJOR_VERSION == "13" ] || [ $XCODE_MAJOR_VERSION == "14" ]; then - # We can retry flaky tests that fail with the -retry-tests-on-failure option introduced in Xcode 13. - env NSUnbufferedIO=YES xcodebuild -retry-tests-on-failure -test-iterations 3 -workspace Sentry.xcworkspace \ - -scheme Sentry -configuration $CONFIGURATION \ - GCC_GENERATE_TEST_COVERAGE_FILES=YES GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES -destination "$DESTINATION" \ - test | tee raw-test-output.log | xcpretty -t && exit ${PIPESTATUS[0]} -elif [ $XCODE_MAJOR_VERSION == "12" ]; then - # To retry flaky tests in Xcode <13, Run the suite normally without them, then run the suite with just the known flaky tests up to 3 times in a bash loop because xcodebuild didn't get the -retry-tests-on-failure option until version 13. - env NSUnbufferedIO=YES xcodebuild -workspace Sentry.xcworkspace \ - -scheme Sentry -configuration $CONFIGURATION \ - GCC_GENERATE_TEST_COVERAGE_FILES=YES GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES -destination "$DESTINATION" \ - -skip-testing:"SentryTests/SentrySessionTrackerTests" \ - test | tee raw-test-output.log | xcpretty -t - nonflaky_test_status=${PIPESTATUS[0]} - - # try the flaky tests once. if they pass, exit with the combined status of flaky and nonflaky tests. - # if they fail, retry them twice more. - +else env NSUnbufferedIO=YES xcodebuild -workspace Sentry.xcworkspace \ -scheme Sentry -configuration $CONFIGURATION \ GCC_GENERATE_TEST_COVERAGE_FILES=YES GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES -destination "$DESTINATION" \ - -only-testing:"SentryTests/SentrySessionTrackerTests" \ - test | tee raw-test-output.log | xcpretty -t - flaky_test_status=${PIPESTATUS[0]} - if [ $flaky_test_status -eq 0 ]; then - exit $nonflaky_test_status - else - for i in {1..2}; do - bash -c "env NSUnbufferedIO=YES xcodebuild -workspace Sentry.xcworkspace \ - -scheme Sentry -configuration $CONFIGURATION \ - GCC_GENERATE_TEST_COVERAGE_FILES=YES GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES -destination '$DESTINATION' \ - -only-testing:'SentryTests/SentrySessionTrackerTests' \ - test-without-building | tee raw-test-output.log | xcpretty -t && exit ${PIPESTATUS[0]}" - flaky_test_status=$? - if [ $flaky_test_status -eq 0 ]; then - exit $nonflaky_test_status - fi - done - - # combine flaky/nonflaky statuses for the exit status of this script so that if either have failed, the script will fail - all_test_status=$nonflaky_test_status - let 'all_test_status|=flaky_test_status' - exit $all_test_status - fi -else - # The branches above are exhaustive at the time they were written. This will help us catch unexpected deviations with future changes. - exit 1 + test | tee raw-test-output.log | xcpretty -t && exit ${PIPESTATUS[0]} fi From 25386e43f53c179a171cc9d17ae4d172cc7446cb Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Fri, 14 Oct 2022 09:48:40 +0200 Subject: [PATCH 35/58] All over again --- Package.swift | 9 ++++ Sentry.xcodeproj/project.pbxproj | 46 +++++++++++++++++++ .../Sentry/BridgingHeaders/SPM/SentrySwift.h | 6 +++ .../BridgingHeaders/Xcode/SentrySwift.h | 6 +++ Sources/Sentry/Public/SentryStacktrace.h | 1 - Sources/Sentry/Public/SentryThread.h | 1 - .../Sentry/SentryUIViewControllerSanitizer.m | 25 +--------- Sources/SentrySwift/SwiftDescriptor.swift | 14 ++++++ Sources/SentrySwift/TypeAlias.swift | 41 ----------------- .../SentryANRTrackingIntegrationTests.swift | 8 ++-- .../Protocol/SentryThreadEquality.swift | 8 ++-- Tests/SentryTests/Protocol/TestData.swift | 8 ++-- Tests/SentryTests/SentryClientTests.swift | 6 +-- .../SentryDebugImageProviderTests.swift | 8 ++-- .../SentryThreadInspectorTests.swift | 6 +-- .../SentryCrash/TestThreadInspector.swift | 6 +-- 16 files changed, 108 insertions(+), 91 deletions(-) create mode 100644 Sources/Sentry/BridgingHeaders/SPM/SentrySwift.h create mode 100644 Sources/Sentry/BridgingHeaders/Xcode/SentrySwift.h create mode 100644 Sources/SentrySwift/SwiftDescriptor.swift delete mode 100644 Sources/SentrySwift/TypeAlias.swift diff --git a/Package.swift b/Package.swift index 1fde2484238..5f0c087df44 100644 --- a/Package.swift +++ b/Package.swift @@ -9,8 +9,16 @@ let package = Package( .library(name: "Sentry-Dynamic", type: .dynamic, targets: ["Sentry"]) ], targets: [ + .target( name: "SentrySwift", + path: "Sources", + sources: [ + "SentrySwift" + ], + publicHeadersPath: "SentrySwift" + ), .target( name: "Sentry", + dependencies: ["SentrySwift"], path: "Sources", sources: [ "Sentry/", @@ -21,6 +29,7 @@ let package = Package( .define("GCC_ENABLE_CPP_EXCEPTIONS", to: "YES"), .headerSearchPath("Sentry/include"), .headerSearchPath("Sentry/Public"), + .headerSearchPath("Sentry/BridgingHeaders/SPM"), .headerSearchPath("SentryCrash/Installations"), .headerSearchPath("SentryCrash/Recording"), .headerSearchPath("SentryCrash/Recording/Monitors"), diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index 5f225cfca8b..1e3ef5ed101 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -650,6 +650,8 @@ A811D867248E2770008A41EA /* SentrySystemEventBreadcrumbsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = A811D866248E2770008A41EA /* SentrySystemEventBreadcrumbsTest.swift */; }; A839D89824864B80003B7AFD /* SentrySystemEventBreadcrumbs.h in Headers */ = {isa = PBXBuildFile; fileRef = A839D89724864B80003B7AFD /* SentrySystemEventBreadcrumbs.h */; }; A839D89A24864BA8003B7AFD /* SentrySystemEventBreadcrumbs.m in Sources */ = {isa = PBXBuildFile; fileRef = A839D89924864BA8003B7AFD /* SentrySystemEventBreadcrumbs.m */; }; + D800942728F82F3A005D3943 /* SwiftDescriptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D800942628F82F3A005D3943 /* SwiftDescriptor.swift */; }; + D800943128F94572005D3943 /* SentrySwift.h in Headers */ = {isa = PBXBuildFile; fileRef = D800942E28F94572005D3943 /* SentrySwift.h */; }; D8019910286B089000C277F0 /* SentryCrashReportSinkTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D801990F286B089000C277F0 /* SentryCrashReportSinkTest.swift */; }; D808FB88281AB33C009A2A33 /* SentryUIEventTrackerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D808FB86281AB31D009A2A33 /* SentryUIEventTrackerTests.swift */; }; D808FB8B281BCE96009A2A33 /* TestSentrySwizzleWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = D808FB89281BCE46009A2A33 /* TestSentrySwizzleWrapper.swift */; }; @@ -1422,6 +1424,9 @@ A811D866248E2770008A41EA /* SentrySystemEventBreadcrumbsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentrySystemEventBreadcrumbsTest.swift; sourceTree = ""; }; A839D89724864B80003B7AFD /* SentrySystemEventBreadcrumbs.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SentrySystemEventBreadcrumbs.h; path = include/SentrySystemEventBreadcrumbs.h; sourceTree = ""; }; A839D89924864BA8003B7AFD /* SentrySystemEventBreadcrumbs.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentrySystemEventBreadcrumbs.m; sourceTree = ""; }; + D800942628F82F3A005D3943 /* SwiftDescriptor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftDescriptor.swift; sourceTree = ""; }; + D800942E28F94572005D3943 /* SentrySwift.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SentrySwift.h; sourceTree = ""; }; + D800943028F94572005D3943 /* SentrySwift.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SentrySwift.h; sourceTree = ""; }; D801990F286B089000C277F0 /* SentryCrashReportSinkTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryCrashReportSinkTest.swift; sourceTree = ""; }; D808FB86281AB31D009A2A33 /* SentryUIEventTrackerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryUIEventTrackerTests.swift; sourceTree = ""; }; D808FB89281BCE46009A2A33 /* TestSentrySwizzleWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestSentrySwizzleWrapper.swift; sourceTree = ""; }; @@ -1826,6 +1831,7 @@ 63AA756E1EB8AEDB00D153DE /* Sources */ = { isa = PBXGroup; children = ( + D800942328F82E8D005D3943 /* SentrySwift */, 63AA75A31EB8AFDF00D153DE /* Configuration */, 63FE6FB920DA4C1000CDBAE8 /* SentryCrash */, 63AA75C61EB8B06100D153DE /* Sentry */, @@ -1907,6 +1913,7 @@ 63AA75C61EB8B06100D153DE /* Sentry */ = { isa = PBXGroup; children = ( + D800942C28F94572005D3943 /* BridgingHeaders */, 630436031EC058FA00C4D3FA /* Categories */, 639889D51EDF10BE00EA7442 /* Helper */, 630436001EBCB87500C4D3FA /* Networking */, @@ -2780,6 +2787,39 @@ name = Transaction; sourceTree = ""; }; + D800942328F82E8D005D3943 /* SentrySwift */ = { + isa = PBXGroup; + children = ( + D800942628F82F3A005D3943 /* SwiftDescriptor.swift */, + ); + path = SentrySwift; + sourceTree = ""; + }; + D800942C28F94572005D3943 /* BridgingHeaders */ = { + isa = PBXGroup; + children = ( + D800942D28F94572005D3943 /* Xcode */, + D800942F28F94572005D3943 /* SPM */, + ); + path = BridgingHeaders; + sourceTree = ""; + }; + D800942D28F94572005D3943 /* Xcode */ = { + isa = PBXGroup; + children = ( + D800942E28F94572005D3943 /* SentrySwift.h */, + ); + path = Xcode; + sourceTree = ""; + }; + D800942F28F94572005D3943 /* SPM */ = { + isa = PBXGroup; + children = ( + D800943028F94572005D3943 /* SentrySwift.h */, + ); + path = SPM; + sourceTree = ""; + }; D808FB85281AB2EF009A2A33 /* UIEvents */ = { isa = PBXGroup; children = ( @@ -2997,6 +3037,7 @@ 7BAF3DB9243C9777008A5414 /* SentryTransport.h in Headers */, 6383953623ABA42C000C1594 /* SentryHttpTransport.h in Headers */, 8E564AEF267AF24400FE117D /* SentryNetworkTracker.h in Headers */, + D800943128F94572005D3943 /* SentrySwift.h in Headers */, 63FE715120DA4C1100CDBAE8 /* SentryCrashDebug.h in Headers */, 63FE70F520DA4C1000CDBAE8 /* SentryCrashMonitor_System.h in Headers */, 7BE3C7672445C0CA00A38442 /* SentryCurrentDate.h in Headers */, @@ -3444,6 +3485,7 @@ 632F43521F581D5400A18A36 /* SentryCrashExceptionApplication.m in Sources */, 0AABE2ED2885924A0057ED69 /* SentryPermissionsObserver.m in Sources */, 7B77BE3727EC8460003C9020 /* SentryDiscardReasonMapper.m in Sources */, + D800942728F82F3A005D3943 /* SwiftDescriptor.swift in Sources */, 63FE712520DA4C1000CDBAE8 /* SentryCrashSignalInfo.c in Sources */, 63FE70F320DA4C1000CDBAE8 /* SentryCrashMonitor_Signal.c in Sources */, D859696F27BECDA20036A46E /* SentryCoreDataTracker.m in Sources */, @@ -3900,6 +3942,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = 63AA76AE1EB9D5CD00D153DE /* SentryTests.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_ENABLE_MODULES = YES; CLANG_WARN_BOOL_CONVERSION = YES; @@ -3928,6 +3971,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = 63AA76AE1EB9D5CD00D153DE /* SentryTests.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_ENABLE_MODULES = YES; CLANG_WARN_BOOL_CONVERSION = YES; @@ -4068,6 +4112,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = 63AA76AE1EB9D5CD00D153DE /* SentryTests.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_ENABLE_MODULES = YES; CLANG_WARN_BOOL_CONVERSION = YES; @@ -4202,6 +4247,7 @@ isa = XCBuildConfiguration; baseConfigurationReference = 63AA76AE1EB9D5CD00D153DE /* SentryTests.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_ENABLE_MODULES = YES; CLANG_WARN_BOOL_CONVERSION = YES; diff --git a/Sources/Sentry/BridgingHeaders/SPM/SentrySwift.h b/Sources/Sentry/BridgingHeaders/SPM/SentrySwift.h new file mode 100644 index 00000000000..ad1873961fb --- /dev/null +++ b/Sources/Sentry/BridgingHeaders/SPM/SentrySwift.h @@ -0,0 +1,6 @@ +#ifndef SentrySwift_h +#define SentrySwift_h + +@import SentrySwift; + +#endif diff --git a/Sources/Sentry/BridgingHeaders/Xcode/SentrySwift.h b/Sources/Sentry/BridgingHeaders/Xcode/SentrySwift.h new file mode 100644 index 00000000000..35e927420e2 --- /dev/null +++ b/Sources/Sentry/BridgingHeaders/Xcode/SentrySwift.h @@ -0,0 +1,6 @@ +#ifndef SentrySwift_h +#define SentrySwift_h + +#import + +#endif diff --git a/Sources/Sentry/Public/SentryStacktrace.h b/Sources/Sentry/Public/SentryStacktrace.h index e8c67d83f41..f151c539527 100644 --- a/Sources/Sentry/Public/SentryStacktrace.h +++ b/Sources/Sentry/Public/SentryStacktrace.h @@ -7,7 +7,6 @@ NS_ASSUME_NONNULL_BEGIN @class SentryFrame; -NS_SWIFT_NAME(Stacktrace) @interface SentryStacktrace : NSObject SENTRY_NO_INIT diff --git a/Sources/Sentry/Public/SentryThread.h b/Sources/Sentry/Public/SentryThread.h index 7546e419ea0..ecca3e03e06 100644 --- a/Sources/Sentry/Public/SentryThread.h +++ b/Sources/Sentry/Public/SentryThread.h @@ -5,7 +5,6 @@ NS_ASSUME_NONNULL_BEGIN @class SentryStacktrace; -NS_SWIFT_NAME(Thread) @interface SentryThread : NSObject SENTRY_NO_INIT diff --git a/Sources/Sentry/SentryUIViewControllerSanitizer.m b/Sources/Sentry/SentryUIViewControllerSanitizer.m index bbf608e93be..92b4a85d7ae 100644 --- a/Sources/Sentry/SentryUIViewControllerSanitizer.m +++ b/Sources/Sentry/SentryUIViewControllerSanitizer.m @@ -1,34 +1,13 @@ #import "SentryUIViewControllerSanitizer.h" +#import "SentrySwift.h" @implementation SentryUIViewControllerSanitizer -+ (NSRegularExpression *)viewControllerRegex -{ - static dispatch_once_t onceTokenRegex; - static NSRegularExpression *regex = nil; - dispatch_once(&onceTokenRegex, ^{ - NSString *pattern = @"[<.](\\w+)"; - regex = [NSRegularExpression regularExpressionWithPattern:pattern options:0 error:nil]; - }); - return regex; -} - + (NSString *)sanitizeViewControllerName:(id)controller { NSString *description = [NSString stringWithFormat:@"%@", controller]; - NSRange searchedRange = NSMakeRange(0, [description length]); - NSArray *matches = [[self.class viewControllerRegex] matchesInString:description - options:0 - range:searchedRange]; - NSMutableArray *strings = [NSMutableArray array]; - for (NSTextCheckingResult *match in matches) { - [strings addObject:[description substringWithRange:[match rangeAtIndex:1]]]; - } - if ([strings count] > 0) { - return [strings componentsJoinedByString:@"."]; - } - return description; + return [SwiftDescriptor getDescription:description]; } @end diff --git a/Sources/SentrySwift/SwiftDescriptor.swift b/Sources/SentrySwift/SwiftDescriptor.swift new file mode 100644 index 00000000000..509e9d4b9c2 --- /dev/null +++ b/Sources/SentrySwift/SwiftDescriptor.swift @@ -0,0 +1,14 @@ +import Foundation + +@objc +public class SwiftDescriptor: NSObject { + + @objc + public static func getDescription(_ object: AnyObject) -> String { + if let objClass = object as? AnyClass { + return String(describing: objClass) + } + return String(describing: object) + } + +} diff --git a/Sources/SentrySwift/TypeAlias.swift b/Sources/SentrySwift/TypeAlias.swift deleted file mode 100644 index 7b95a61dec8..00000000000 --- a/Sources/SentrySwift/TypeAlias.swift +++ /dev/null @@ -1,41 +0,0 @@ -import Foundation -import SentryObjc - -public typealias SentrySDK = SentryObjc.SentrySDK -public typealias Breadcrumb = SentryObjc.Breadcrumb -public typealias UserFeedback = SentryObjc.UserFeedback -public typealias Scope = SentryObjc.Scope -public typealias Event = SentryObjc.Event -public typealias SentryLevel = SentryObjc.SentryLevel -public typealias Attachment = SentryObjc.Attachment -public typealias Client = SentryObjc.Client -public typealias SentryCrashExceptionApplication = SentryObjc.SentryCrashExceptionApplication -public typealias SentryDsn = SentryObjc.SentryDsn -public typealias SentryEnvelope = SentryObjc.SentryEnvelope -public typealias SentryEnvelopeItem = SentryObjc.SentryEnvelopeItem -public typealias SentryError = SentryObjc.SentryError -public typealias Exception = SentryObjc.Exception -public typealias Frame = SentryObjc.Frame -public typealias SentryHub = SentryObjc.SentryHub -public typealias SentryId = SentryObjc.SentryId -public typealias SentryIntegrationProtocol = SentryObjc.SentryIntegrationProtocol -public typealias Mechanism = SentryObjc.Mechanism -public typealias MechanismMeta = SentryObjc.MechanismMeta -public typealias SentryMessage = SentryObjc.SentryMessage -public typealias SentryNSError = SentryObjc.SentryNSError -public typealias Options = SentryObjc.Options -public typealias SentrySampleDecision = SentryObjc.SentrySampleDecision -public typealias SamplingContext = SentryObjc.SamplingContext -public typealias SentrySdkInfo = SentryObjc.SentrySdkInfo -public typealias SentrySerializable = SentryObjc.SentrySerializable -public typealias SentrySession = SentryObjc.SentrySession -public typealias SpanContext = SentryObjc.SpanContext -public typealias SpanId = SentryObjc.SpanId -public typealias Span = SentryObjc.Span -public typealias SentrySpanStatus = SentryObjc.SentrySpanStatus -public typealias Stacktrace = SentryObjc.Stacktrace -public typealias Thread = SentryObjc.Thread -public typealias TraceHeader = SentryObjc.TraceHeader -public typealias TransactionContext = SentryObjc.TransactionContext -public typealias User = SentryObjc.User -public typealias PrivateSentrySDKOnly = SentryObjc.PrivateSentrySDKOnly diff --git a/Tests/SentryTests/Integrations/ANR/SentryANRTrackingIntegrationTests.swift b/Tests/SentryTests/Integrations/ANR/SentryANRTrackingIntegrationTests.swift index 2dde33b2e80..15d81d40ba5 100644 --- a/Tests/SentryTests/Integrations/ANR/SentryANRTrackingIntegrationTests.swift +++ b/Tests/SentryTests/Integrations/ANR/SentryANRTrackingIntegrationTests.swift @@ -111,15 +111,15 @@ class SentryANRTrackingIntegrationTests: SentrySDKIntegrationTestsBase { let frame1 = Sentry.Frame() frame1.function = "Second_frame_function" - let thread1 = Sentry.Thread(threadId: 0) - thread1.stacktrace = Stacktrace(frames: [frame1], registers: [:]) + let thread1 = SentryThread(threadId: 0) + thread1.stacktrace = SentryStacktrace(frames: [frame1], registers: [:]) thread1.current = true let frame2 = Sentry.Frame() frame2.function = "main" - let thread2 = Sentry.Thread(threadId: 1) - thread2.stacktrace = Stacktrace(frames: [frame2], registers: [:]) + let thread2 = SentryThread(threadId: 1) + thread2.stacktrace = SentryStacktrace(frames: [frame2], registers: [:]) thread2.current = false threadInspector.allThreads = [ diff --git a/Tests/SentryTests/Protocol/SentryThreadEquality.swift b/Tests/SentryTests/Protocol/SentryThreadEquality.swift index 9731009056d..9e4414c22cd 100644 --- a/Tests/SentryTests/Protocol/SentryThreadEquality.swift +++ b/Tests/SentryTests/Protocol/SentryThreadEquality.swift @@ -1,8 +1,8 @@ import Foundation -extension Sentry.Thread { +extension SentryThread { open override func isEqual(_ object: Any?) -> Bool { - if let other = object as? Sentry.Thread { + if let other = object as? SentryThread { return threadId == other.threadId && name == other.name && stacktrace == other.stacktrace && @@ -17,9 +17,9 @@ extension Sentry.Thread { } } -extension Sentry.Stacktrace { +extension SentryStacktrace { open override func isEqual(_ object: Any?) -> Bool { - if let other = object as? Sentry.Stacktrace { + if let other = object as? SentryStacktrace { return frames == other.frames && registers == other.registers } else { diff --git a/Tests/SentryTests/Protocol/TestData.swift b/Tests/SentryTests/Protocol/TestData.swift index 68cc36a0648..2f64560ce16 100644 --- a/Tests/SentryTests/Protocol/TestData.swift +++ b/Tests/SentryTests/Protocol/TestData.swift @@ -119,8 +119,8 @@ class TestData { return mechanismMeta } - static var thread: Sentry.Thread { - let thread = Sentry.Thread(threadId: 10) + static var thread: SentryThread { + let thread = SentryThread(threadId: 10) thread.crashed = false thread.current = true thread.name = "main" @@ -129,8 +129,8 @@ class TestData { return thread } - static var stacktrace: Stacktrace { - let stacktrace = Stacktrace(frames: [frame], registers: ["register": "one"]) + static var stacktrace: SentryStacktrace { + let stacktrace = SentryStacktrace(frames: [frame], registers: ["register": "one"]) return stacktrace } diff --git a/Tests/SentryTests/SentryClientTests.swift b/Tests/SentryTests/SentryClientTests.swift index 8f169d9a579..36c1fd57a67 100644 --- a/Tests/SentryTests/SentryClientTests.swift +++ b/Tests/SentryTests/SentryClientTests.swift @@ -1245,7 +1245,7 @@ class SentryClientTest: XCTestCase { private func givenEventWithThreads() -> Event { let event = Event(level: SentryLevel.fatal) - let thread = Sentry.Thread(threadId: 1) + let thread = SentryThread(threadId: 1) thread.crashed = true let threads = [thread] event.threads = threads @@ -1344,13 +1344,13 @@ class SentryClientTest: XCTestCase { } } - private func assertValidDebugMeta(actual: [DebugMeta]?, forThreads threads: [Sentry.Thread]?) { + private func assertValidDebugMeta(actual: [DebugMeta]?, forThreads threads: [SentryThread]?) { let debugMetas = fixture.debugImageBuilder.getDebugImages(for: threads ?? []) XCTAssertEqual(debugMetas, actual ?? []) } - private func assertValidThreads(actual: [Sentry.Thread]?) { + private func assertValidThreads(actual: [SentryThread]?) { let expected = fixture.threadInspector.getCurrentThreads() XCTAssertEqual(expected.count, actual?.count) XCTAssertEqual(expected, actual) diff --git a/Tests/SentryTests/SentryCrash/SentryDebugImageProviderTests.swift b/Tests/SentryTests/SentryCrash/SentryDebugImageProviderTests.swift index 9d0f45efe30..406d14e3fea 100644 --- a/Tests/SentryTests/SentryCrash/SentryDebugImageProviderTests.swift +++ b/Tests/SentryTests/SentryCrash/SentryDebugImageProviderTests.swift @@ -122,10 +122,10 @@ class SentryDebugImageProviderTests: XCTestCase { func testImagesForThreads() { let sut = fixture.getSut(images: fixture.getTestImages()) - let thread = Sentry.Thread(threadId: NSNumber(value: 1)) + let thread = SentryThread(threadId: NSNumber(value: 1)) let frame = Sentry.Frame() frame.imageAddress = "0x0000000105705000" - thread.stacktrace = Stacktrace(frames: [frame], registers: [:]) + thread.stacktrace = SentryStacktrace(frames: [frame], registers: [:]) var actual = sut.getDebugImages(for: [thread]) @@ -137,7 +137,7 @@ class SentryDebugImageProviderTests: XCTestCase { frame2.imageAddress = "0x00000001410b1a00" let frame3 = Sentry.Frame() frame3.imageAddress = "0x000000017ca5e400" - thread.stacktrace = Stacktrace(frames: [frame2, frame3], registers: [:]) + thread.stacktrace = SentryStacktrace(frames: [frame2, frame3], registers: [:]) actual = sut.getDebugImages(for: [thread]) @@ -151,7 +151,7 @@ class SentryDebugImageProviderTests: XCTestCase { func test_NoImage_ForThread_WithoutStackTrace() { let sut = fixture.getSut(images: fixture.getTestImages()) - let thread = Sentry.Thread(threadId: NSNumber(value: 1)) + let thread = SentryThread(threadId: NSNumber(value: 1)) let actual = sut.getDebugImages(for: [thread]) XCTAssertEqual(actual.count, 0) diff --git a/Tests/SentryTests/SentryCrash/SentryThreadInspectorTests.swift b/Tests/SentryTests/SentryCrash/SentryThreadInspectorTests.swift index 4c3624266ce..fcf32564fc6 100644 --- a/Tests/SentryTests/SentryCrash/SentryThreadInspectorTests.swift +++ b/Tests/SentryTests/SentryCrash/SentryThreadInspectorTests.swift @@ -173,9 +173,9 @@ import XCTest private class TestSentryStacktraceBuilder: SentryStacktraceBuilder { - var stackTraces = [SentryCrashThread: Stacktrace]() - override func buildStacktrace(forThread thread: SentryCrashThread, context: OpaquePointer) -> Stacktrace { - return stackTraces[thread] ?? Stacktrace(frames: [], registers: [:]) + var stackTraces = [SentryCrashThread: SentryStacktrace]() + override func buildStacktrace(forThread thread: SentryCrashThread, context: OpaquePointer) -> SentryStacktrace { + return stackTraces[thread] ?? SentryStacktrace(frames: [], registers: [:]) } } diff --git a/Tests/SentryTests/SentryCrash/TestThreadInspector.swift b/Tests/SentryTests/SentryCrash/TestThreadInspector.swift index 6dc623e7091..3996ed7b93a 100644 --- a/Tests/SentryTests/SentryCrash/TestThreadInspector.swift +++ b/Tests/SentryTests/SentryCrash/TestThreadInspector.swift @@ -2,7 +2,7 @@ import Foundation class TestThreadInspector: SentryThreadInspector { - var allThreads: [Sentry.Thread]? + var allThreads: [SentryThread]? static var instance: TestThreadInspector { // We need something to pass to the super initializer, because the empty initializer has been marked unavailable. @@ -12,11 +12,11 @@ class TestThreadInspector: SentryThreadInspector { return TestThreadInspector(stacktraceBuilder: stacktraceBuilder, andMachineContextWrapper: SentryCrashDefaultMachineContextWrapper()) } - override func getCurrentThreads() -> [Sentry.Thread] { + override func getCurrentThreads() -> [SentryThread] { return allThreads ?? [TestData.thread] } - override func getCurrentThreadsWithStackTrace() -> [Sentry.Thread] { + override func getCurrentThreadsWithStackTrace() -> [SentryThread] { return allThreads ?? [TestData.thread] } From add046cb1c3986cc65b27d3e0981732a27e2c975 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Fri, 14 Oct 2022 11:20:17 +0200 Subject: [PATCH 36/58] Tests --- CHANGELOG.md | 6 ++++++ Sources/Sentry/SentryBreadcrumbTracker.m | 3 +-- .../Sentry/SentryUIViewControllerSanitizer.m | 4 +--- Sources/SentrySwift/SwiftDescriptor.swift | 5 +---- ...SentryUIViewControllerSanitizerTests.swift | 21 ++++++++----------- 5 files changed, 18 insertions(+), 21 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e9e2ec4d81c..c09299ee11c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## Unreleased + +### Features + +- Sentry Swift framework (#2162) + ## 7.27.1 ### Fixes diff --git a/Sources/Sentry/SentryBreadcrumbTracker.m b/Sources/Sentry/SentryBreadcrumbTracker.m index 6022b4d18bb..81fcc5c7038 100644 --- a/Sources/Sentry/SentryBreadcrumbTracker.m +++ b/Sources/Sentry/SentryBreadcrumbTracker.m @@ -234,8 +234,7 @@ + (NSDictionary *)fetchInfoAboutViewController:(UIViewController *)controller { NSMutableDictionary *info = @{}.mutableCopy; - info[@"screen"] = [SentryUIViewControllerSanitizer - sanitizeViewControllerName:[NSString stringWithFormat:@"%@", controller]]; + info[@"screen"] = [SentryUIViewControllerSanitizer sanitizeViewControllerName:controller]; if ([controller.navigationItem.title length] != 0) { info[@"title"] = controller.navigationItem.title; diff --git a/Sources/Sentry/SentryUIViewControllerSanitizer.m b/Sources/Sentry/SentryUIViewControllerSanitizer.m index 92b4a85d7ae..973e3f969d8 100644 --- a/Sources/Sentry/SentryUIViewControllerSanitizer.m +++ b/Sources/Sentry/SentryUIViewControllerSanitizer.m @@ -5,9 +5,7 @@ @implementation SentryUIViewControllerSanitizer + (NSString *)sanitizeViewControllerName:(id)controller { - NSString *description = [NSString stringWithFormat:@"%@", controller]; - - return [SwiftDescriptor getDescription:description]; + return [SwiftDescriptor getDescription:controller]; } @end diff --git a/Sources/SentrySwift/SwiftDescriptor.swift b/Sources/SentrySwift/SwiftDescriptor.swift index 509e9d4b9c2..e0b8e85c306 100644 --- a/Sources/SentrySwift/SwiftDescriptor.swift +++ b/Sources/SentrySwift/SwiftDescriptor.swift @@ -5,10 +5,7 @@ public class SwiftDescriptor: NSObject { @objc public static func getDescription(_ object: AnyObject) -> String { - if let objClass = object as? AnyClass { - return String(describing: objClass) - } - return String(describing: object) + return String(describing: type(of: object)) } } diff --git a/Tests/SentryTests/SentryUIViewControllerSanitizerTests.swift b/Tests/SentryTests/SentryUIViewControllerSanitizerTests.swift index abb3446b49d..c2d83b402e1 100644 --- a/Tests/SentryTests/SentryUIViewControllerSanitizerTests.swift +++ b/Tests/SentryTests/SentryUIViewControllerSanitizerTests.swift @@ -1,6 +1,10 @@ import XCTest class SentryUIViewControllerSanitizerTests: XCTestCase { + + private class InnerClass: NSObject { + + } func testSanitizeViewControllerNameWithBaseObject() { let object = NSObject() @@ -16,19 +20,12 @@ class SentryUIViewControllerSanitizerTests: XCTestCase { XCTAssertEqual(name, "SentryOptions") } - func testSanitizeViewControllerNameWithStrings() { - XCTAssertEqual( - "sentry_ios_cocoapods.ViewController", sanitize("") - ) - - XCTAssertEqual( - "sentry_ios_cocoapodsViewController: 0x7fd9201253c0", sanitize("sentry_ios_cocoapodsViewController: 0x7fd9201253c0") - ) - - XCTAssertEqual( - "sentry_ios_cocoapods.ViewController.miau", sanitize("") - ) + func testSanitizeViewControllerNameWithPrivateSwiftClass() { + let object = InnerClass() + let name = sanitize(object) + XCTAssertNotEqual(name, object.description) + XCTAssertEqual(name, "InnerClass") } private func sanitize(_ name: Any) -> String { From 04253dcbdc7ab79e2a33a9f5fa7f2481f1c05330 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Fri, 14 Oct 2022 11:53:12 +0200 Subject: [PATCH 37/58] Update Sentry.podspec --- Sentry.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sentry.podspec b/Sentry.podspec index 47fff792370..8ea02981779 100644 --- a/Sentry.podspec +++ b/Sentry.podspec @@ -30,7 +30,7 @@ Pod::Spec.new do |s| s.subspec 'Core' do |sp| sp.source_files = "Sources/Sentry/**/*.{h,hpp,m,mm,c,cpp}", "Sources/SentryCrash/**/*.{h,hpp,m,mm,c,cpp}" - + sp.exclude_files = 'Sources/Sentry/BridgingHeaders/SPM/*' sp.public_header_files = "Sources/Sentry/Public/*.h" From 8606b19b9cb0fc3609f4bbf53e2043e96d4c064e Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Fri, 14 Oct 2022 12:42:13 +0200 Subject: [PATCH 38/58] pod update --- Sentry.podspec | 8 ++++---- Sentry.xcodeproj/project.pbxproj | 10 ++++++++++ Sources/Sentry/BridgingHeaders/cocoapods/SentrySwift.h | 6 ++++++ 3 files changed, 20 insertions(+), 4 deletions(-) create mode 100644 Sources/Sentry/BridgingHeaders/cocoapods/SentrySwift.h diff --git a/Sentry.podspec b/Sentry.podspec index 8ea02981779..809b736ce59 100644 --- a/Sentry.podspec +++ b/Sentry.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.source = { :git => "https://github.com/getsentry/sentry-cocoa.git", :tag => s.version.to_s } - s.ios.deployment_target = "9.0" + s.ios.deployment_target = "11.0" s.osx.deployment_target = "10.10" s.tvos.deployment_target = "9.0" s.watchos.deployment_target = "2.0" @@ -16,6 +16,7 @@ Pod::Spec.new do |s| s.requires_arc = true s.frameworks = 'Foundation' s.libraries = 'z', 'c++' + s.swift_versions = "5.0" s.pod_target_xcconfig = { 'GCC_ENABLE_CPP_EXCEPTIONS' => 'YES', 'CLANG_CXX_LANGUAGE_STANDARD' => 'c++14', @@ -29,10 +30,9 @@ Pod::Spec.new do |s| s.subspec 'Core' do |sp| sp.source_files = "Sources/Sentry/**/*.{h,hpp,m,mm,c,cpp}", - "Sources/SentryCrash/**/*.{h,hpp,m,mm,c,cpp}" - sp.exclude_files = 'Sources/Sentry/BridgingHeaders/SPM/*' + "Sources/SentryCrash/**/*.{h,hpp,m,mm,c,cpp}", "Sources/SentrySwift/**/*.{swift}" + sp.exclude_files = 'Sources/Sentry/BridgingHeaders/SPM/*','Sources/Sentry/BridgingHeaders/Xcode/*' sp.public_header_files = "Sources/Sentry/Public/*.h" - end end diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index 8383cdade93..0f4f39c7670 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -1441,6 +1441,7 @@ D800942628F82F3A005D3943 /* SwiftDescriptor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftDescriptor.swift; sourceTree = ""; }; D800942E28F94572005D3943 /* SentrySwift.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SentrySwift.h; sourceTree = ""; }; D800943028F94572005D3943 /* SentrySwift.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SentrySwift.h; sourceTree = ""; }; + D800943828F96D86005D3943 /* SentrySwift.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SentrySwift.h; sourceTree = ""; }; D801990F286B089000C277F0 /* SentryCrashReportSinkTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryCrashReportSinkTest.swift; sourceTree = ""; }; D808FB86281AB31D009A2A33 /* SentryUIEventTrackerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryUIEventTrackerTests.swift; sourceTree = ""; }; D808FB89281BCE46009A2A33 /* TestSentrySwizzleWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestSentrySwizzleWrapper.swift; sourceTree = ""; }; @@ -2819,6 +2820,7 @@ D800942C28F94572005D3943 /* BridgingHeaders */ = { isa = PBXGroup; children = ( + D800943728F96D86005D3943 /* cocoapods */, D800942D28F94572005D3943 /* Xcode */, D800942F28F94572005D3943 /* SPM */, ); @@ -2841,6 +2843,14 @@ path = SPM; sourceTree = ""; }; + D800943728F96D86005D3943 /* cocoapods */ = { + isa = PBXGroup; + children = ( + D800943828F96D86005D3943 /* SentrySwift.h */, + ); + path = cocoapods; + sourceTree = ""; + }; D808FB85281AB2EF009A2A33 /* UIEvents */ = { isa = PBXGroup; children = ( diff --git a/Sources/Sentry/BridgingHeaders/cocoapods/SentrySwift.h b/Sources/Sentry/BridgingHeaders/cocoapods/SentrySwift.h new file mode 100644 index 00000000000..91d174202bd --- /dev/null +++ b/Sources/Sentry/BridgingHeaders/cocoapods/SentrySwift.h @@ -0,0 +1,6 @@ +#ifndef SentrySwift_h +#define SentrySwift_h + +#import "Sentry-Swift.h" + +#endif From 21b0e2d9018df4c7174854cd3f59494904df5066 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Fri, 14 Oct 2022 13:39:13 +0200 Subject: [PATCH 39/58] Update project.pbxproj --- Sentry.xcodeproj/project.pbxproj | 20 -------------------- 1 file changed, 20 deletions(-) diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index 0f4f39c7670..996414813a2 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -1440,8 +1440,6 @@ A839D89924864BA8003B7AFD /* SentrySystemEventBreadcrumbs.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentrySystemEventBreadcrumbs.m; sourceTree = ""; }; D800942628F82F3A005D3943 /* SwiftDescriptor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftDescriptor.swift; sourceTree = ""; }; D800942E28F94572005D3943 /* SentrySwift.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SentrySwift.h; sourceTree = ""; }; - D800943028F94572005D3943 /* SentrySwift.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SentrySwift.h; sourceTree = ""; }; - D800943828F96D86005D3943 /* SentrySwift.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SentrySwift.h; sourceTree = ""; }; D801990F286B089000C277F0 /* SentryCrashReportSinkTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryCrashReportSinkTest.swift; sourceTree = ""; }; D808FB86281AB31D009A2A33 /* SentryUIEventTrackerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryUIEventTrackerTests.swift; sourceTree = ""; }; D808FB89281BCE46009A2A33 /* TestSentrySwizzleWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestSentrySwizzleWrapper.swift; sourceTree = ""; }; @@ -2820,9 +2818,7 @@ D800942C28F94572005D3943 /* BridgingHeaders */ = { isa = PBXGroup; children = ( - D800943728F96D86005D3943 /* cocoapods */, D800942D28F94572005D3943 /* Xcode */, - D800942F28F94572005D3943 /* SPM */, ); path = BridgingHeaders; sourceTree = ""; @@ -2835,22 +2831,6 @@ path = Xcode; sourceTree = ""; }; - D800942F28F94572005D3943 /* SPM */ = { - isa = PBXGroup; - children = ( - D800943028F94572005D3943 /* SentrySwift.h */, - ); - path = SPM; - sourceTree = ""; - }; - D800943728F96D86005D3943 /* cocoapods */ = { - isa = PBXGroup; - children = ( - D800943828F96D86005D3943 /* SentrySwift.h */, - ); - path = cocoapods; - sourceTree = ""; - }; D808FB85281AB2EF009A2A33 /* UIEvents */ = { isa = PBXGroup; children = ( From f69e00fa9406ebf5ab89dca860ca3b05b1a2c3b1 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Fri, 14 Oct 2022 14:00:13 +0200 Subject: [PATCH 40/58] Update project.pbxproj --- Sentry.xcodeproj/project.pbxproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index 996414813a2..410771b2fce 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -3194,9 +3194,9 @@ isa = PBXNativeTarget; buildConfigurationList = 63AA75A01EB8AEF500D153DE /* Build configuration list for PBXNativeTarget "Sentry" */; buildPhases = ( + 63AA75981EB8AEF500D153DE /* Headers */, 63AA75961EB8AEF500D153DE /* Sources */, 63AA75971EB8AEF500D153DE /* Frameworks */, - 63AA75981EB8AEF500D153DE /* Headers */, 63AA75991EB8AEF500D153DE /* Resources */, ); buildRules = ( From 1c16be6a0cf521c80194ddd5bb4a4cc2f015ca9d Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Mon, 17 Oct 2022 10:07:05 +0200 Subject: [PATCH 41/58] gr --- Sentry.podspec | 1 + 1 file changed, 1 insertion(+) diff --git a/Sentry.podspec b/Sentry.podspec index 809b736ce59..9c0da0c6332 100644 --- a/Sentry.podspec +++ b/Sentry.podspec @@ -16,6 +16,7 @@ Pod::Spec.new do |s| s.requires_arc = true s.frameworks = 'Foundation' s.libraries = 'z', 'c++' + s.static_framework = false s.swift_versions = "5.0" s.pod_target_xcconfig = { 'GCC_ENABLE_CPP_EXCEPTIONS' => 'YES', From 787642497182bf761de1fd8a1918885837ee2511 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Mon, 17 Oct 2022 12:26:07 +0200 Subject: [PATCH 42/58] brustolin --- Sentry.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sentry.podspec b/Sentry.podspec index 9c0da0c6332..ff4af58f27b 100644 --- a/Sentry.podspec +++ b/Sentry.podspec @@ -16,7 +16,7 @@ Pod::Spec.new do |s| s.requires_arc = true s.frameworks = 'Foundation' s.libraries = 'z', 'c++' - s.static_framework = false + s.static_framework = true s.swift_versions = "5.0" s.pod_target_xcconfig = { 'GCC_ENABLE_CPP_EXCEPTIONS' => 'YES', From 3c3fbb280e323a05f19c7ea7ca0b51ef738168bb Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Mon, 17 Oct 2022 16:33:14 +0200 Subject: [PATCH 43/58] cocoapods fix --- Sentry.podspec | 2 +- Sources/Sentry/BridgingHeaders/Xcode/SentrySwift.h | 6 +++++- Sources/Sentry/BridgingHeaders/cocoapods/SentrySwift.h | 6 ------ 3 files changed, 6 insertions(+), 8 deletions(-) delete mode 100644 Sources/Sentry/BridgingHeaders/cocoapods/SentrySwift.h diff --git a/Sentry.podspec b/Sentry.podspec index ff4af58f27b..fc6c69f7400 100644 --- a/Sentry.podspec +++ b/Sentry.podspec @@ -32,7 +32,7 @@ Pod::Spec.new do |s| s.subspec 'Core' do |sp| sp.source_files = "Sources/Sentry/**/*.{h,hpp,m,mm,c,cpp}", "Sources/SentryCrash/**/*.{h,hpp,m,mm,c,cpp}", "Sources/SentrySwift/**/*.{swift}" - sp.exclude_files = 'Sources/Sentry/BridgingHeaders/SPM/*','Sources/Sentry/BridgingHeaders/Xcode/*' + sp.exclude_files = 'Sources/Sentry/BridgingHeaders/SPM/*' sp.public_header_files = "Sources/Sentry/Public/*.h" end diff --git a/Sources/Sentry/BridgingHeaders/Xcode/SentrySwift.h b/Sources/Sentry/BridgingHeaders/Xcode/SentrySwift.h index 35e927420e2..de5233c454f 100644 --- a/Sources/Sentry/BridgingHeaders/Xcode/SentrySwift.h +++ b/Sources/Sentry/BridgingHeaders/Xcode/SentrySwift.h @@ -1,6 +1,10 @@ #ifndef SentrySwift_h #define SentrySwift_h -#import +#if __has_include() +# import +#else +# import "Sentry-Swift.h" +#endif #endif diff --git a/Sources/Sentry/BridgingHeaders/cocoapods/SentrySwift.h b/Sources/Sentry/BridgingHeaders/cocoapods/SentrySwift.h deleted file mode 100644 index 91d174202bd..00000000000 --- a/Sources/Sentry/BridgingHeaders/cocoapods/SentrySwift.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef SentrySwift_h -#define SentrySwift_h - -#import "Sentry-Swift.h" - -#endif From 2ecb347b213e2f56e143e6c474ba3058f3f2f723 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Mon, 17 Oct 2022 17:01:27 +0200 Subject: [PATCH 44/58] Reorganize things --- Package.swift | 4 +--- Sentry.podspec | 3 +-- Sentry.xcodeproj/project.pbxproj | 24 ++++--------------- .../Sentry/BridgingHeaders/SPM/SentrySwift.h | 6 ----- .../BridgingHeaders/Xcode/SentrySwift.h | 10 -------- Sources/Sentry/include/SentrySwift.h | 13 ++++++++++ 6 files changed, 19 insertions(+), 41 deletions(-) delete mode 100644 Sources/Sentry/BridgingHeaders/SPM/SentrySwift.h delete mode 100644 Sources/Sentry/BridgingHeaders/Xcode/SentrySwift.h create mode 100644 Sources/Sentry/include/SentrySwift.h diff --git a/Package.swift b/Package.swift index 5f0c087df44..6e40085310c 100644 --- a/Package.swift +++ b/Package.swift @@ -13,8 +13,7 @@ let package = Package( path: "Sources", sources: [ "SentrySwift" - ], - publicHeadersPath: "SentrySwift" + ] ), .target( name: "Sentry", @@ -29,7 +28,6 @@ let package = Package( .define("GCC_ENABLE_CPP_EXCEPTIONS", to: "YES"), .headerSearchPath("Sentry/include"), .headerSearchPath("Sentry/Public"), - .headerSearchPath("Sentry/BridgingHeaders/SPM"), .headerSearchPath("SentryCrash/Installations"), .headerSearchPath("SentryCrash/Recording"), .headerSearchPath("SentryCrash/Recording/Monitors"), diff --git a/Sentry.podspec b/Sentry.podspec index fc6c69f7400..d539285b17f 100644 --- a/Sentry.podspec +++ b/Sentry.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.source = { :git => "https://github.com/getsentry/sentry-cocoa.git", :tag => s.version.to_s } - s.ios.deployment_target = "11.0" + s.ios.deployment_target = "9.0" s.osx.deployment_target = "10.10" s.tvos.deployment_target = "9.0" s.watchos.deployment_target = "2.0" @@ -32,7 +32,6 @@ Pod::Spec.new do |s| s.subspec 'Core' do |sp| sp.source_files = "Sources/Sentry/**/*.{h,hpp,m,mm,c,cpp}", "Sources/SentryCrash/**/*.{h,hpp,m,mm,c,cpp}", "Sources/SentrySwift/**/*.{swift}" - sp.exclude_files = 'Sources/Sentry/BridgingHeaders/SPM/*' sp.public_header_files = "Sources/Sentry/Public/*.h" end diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index 410771b2fce..4d00c40d8ff 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -658,7 +658,6 @@ A839D89824864B80003B7AFD /* SentrySystemEventBreadcrumbs.h in Headers */ = {isa = PBXBuildFile; fileRef = A839D89724864B80003B7AFD /* SentrySystemEventBreadcrumbs.h */; }; A839D89A24864BA8003B7AFD /* SentrySystemEventBreadcrumbs.m in Sources */ = {isa = PBXBuildFile; fileRef = A839D89924864BA8003B7AFD /* SentrySystemEventBreadcrumbs.m */; }; D800942728F82F3A005D3943 /* SwiftDescriptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D800942628F82F3A005D3943 /* SwiftDescriptor.swift */; }; - D800943128F94572005D3943 /* SentrySwift.h in Headers */ = {isa = PBXBuildFile; fileRef = D800942E28F94572005D3943 /* SentrySwift.h */; }; D8019910286B089000C277F0 /* SentryCrashReportSinkTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D801990F286B089000C277F0 /* SentryCrashReportSinkTest.swift */; }; D808FB88281AB33C009A2A33 /* SentryUIEventTrackerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D808FB86281AB31D009A2A33 /* SentryUIEventTrackerTests.swift */; }; D808FB8B281BCE96009A2A33 /* TestSentrySwizzleWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = D808FB89281BCE46009A2A33 /* TestSentrySwizzleWrapper.swift */; }; @@ -704,6 +703,7 @@ D8ACE3CF2762187D00F5A213 /* SentryFileIOTrackingIntegration.h in Headers */ = {isa = PBXBuildFile; fileRef = D8ACE3CC2762187D00F5A213 /* SentryFileIOTrackingIntegration.h */; }; D8B76B062808066D000A58C4 /* SentryScreenshotIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8B76B042808060E000A58C4 /* SentryScreenshotIntegrationTests.swift */; }; D8B76B0828081461000A58C4 /* TestSentryScreenShot.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8B76B0728081461000A58C4 /* TestSentryScreenShot.swift */; }; + D8BBD32728FD9FC00011F850 /* SentrySwift.h in Headers */ = {isa = PBXBuildFile; fileRef = D8BBD32628FD9FBF0011F850 /* SentrySwift.h */; }; D8C67E9B28000E24007E326E /* SentryUIApplication.h in Headers */ = {isa = PBXBuildFile; fileRef = D8C67E9928000E23007E326E /* SentryUIApplication.h */; }; D8C67E9C28000E24007E326E /* SentryScreenshot.h in Headers */ = {isa = PBXBuildFile; fileRef = D8C67E9A28000E23007E326E /* SentryScreenshot.h */; }; D8CE69BC277E39C700C6EC5C /* SentryFileIOTrackingIntegrationObjCTests.m in Sources */ = {isa = PBXBuildFile; fileRef = D8CE69BB277E39C700C6EC5C /* SentryFileIOTrackingIntegrationObjCTests.m */; }; @@ -1439,7 +1439,6 @@ A839D89724864B80003B7AFD /* SentrySystemEventBreadcrumbs.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SentrySystemEventBreadcrumbs.h; path = include/SentrySystemEventBreadcrumbs.h; sourceTree = ""; }; A839D89924864BA8003B7AFD /* SentrySystemEventBreadcrumbs.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentrySystemEventBreadcrumbs.m; sourceTree = ""; }; D800942628F82F3A005D3943 /* SwiftDescriptor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftDescriptor.swift; sourceTree = ""; }; - D800942E28F94572005D3943 /* SentrySwift.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SentrySwift.h; sourceTree = ""; }; D801990F286B089000C277F0 /* SentryCrashReportSinkTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryCrashReportSinkTest.swift; sourceTree = ""; }; D808FB86281AB31D009A2A33 /* SentryUIEventTrackerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryUIEventTrackerTests.swift; sourceTree = ""; }; D808FB89281BCE46009A2A33 /* TestSentrySwizzleWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestSentrySwizzleWrapper.swift; sourceTree = ""; }; @@ -1486,6 +1485,7 @@ D8ACE3CC2762187D00F5A213 /* SentryFileIOTrackingIntegration.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryFileIOTrackingIntegration.h; path = include/SentryFileIOTrackingIntegration.h; sourceTree = ""; }; D8B76B042808060E000A58C4 /* SentryScreenshotIntegrationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryScreenshotIntegrationTests.swift; sourceTree = ""; }; D8B76B0728081461000A58C4 /* TestSentryScreenShot.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestSentryScreenShot.swift; sourceTree = ""; }; + D8BBD32628FD9FBF0011F850 /* SentrySwift.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentrySwift.h; path = include/SentrySwift.h; sourceTree = ""; }; D8C67E9928000E23007E326E /* SentryUIApplication.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryUIApplication.h; path = include/SentryUIApplication.h; sourceTree = ""; }; D8C67E9A28000E23007E326E /* SentryScreenshot.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryScreenshot.h; path = include/SentryScreenshot.h; sourceTree = ""; }; D8CE69BB277E39C700C6EC5C /* SentryFileIOTrackingIntegrationObjCTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryFileIOTrackingIntegrationObjCTests.m; sourceTree = ""; }; @@ -1930,7 +1930,6 @@ 63AA75C61EB8B06100D153DE /* Sentry */ = { isa = PBXGroup; children = ( - D800942C28F94572005D3943 /* BridgingHeaders */, 630436031EC058FA00C4D3FA /* Categories */, 639889D51EDF10BE00EA7442 /* Helper */, 630436001EBCB87500C4D3FA /* Networking */, @@ -1943,6 +1942,7 @@ 8ECC673625C23936000E2BF6 /* Transaction */, 8E25C94F25F836AB00DC215B /* Tools */, 63AA76931EB9C1C200D153DE /* Sentry.h */, + D8BBD32628FD9FBF0011F850 /* SentrySwift.h */, 7B6D125E265F778500C9BE4B /* PrivateSentrySDKOnly.h */, 7B6D1260265F784000C9BE4B /* PrivateSentrySDKOnly.m */, 63AA76941EB9C1C200D153DE /* SentryClient.h */, @@ -2815,22 +2815,6 @@ path = SentrySwift; sourceTree = ""; }; - D800942C28F94572005D3943 /* BridgingHeaders */ = { - isa = PBXGroup; - children = ( - D800942D28F94572005D3943 /* Xcode */, - ); - path = BridgingHeaders; - sourceTree = ""; - }; - D800942D28F94572005D3943 /* Xcode */ = { - isa = PBXGroup; - children = ( - D800942E28F94572005D3943 /* SentrySwift.h */, - ); - path = Xcode; - sourceTree = ""; - }; D808FB85281AB2EF009A2A33 /* UIEvents */ = { isa = PBXGroup; children = ( @@ -2927,6 +2911,7 @@ 0ADC33EE28D9BB890078D980 /* SentryUIDeviceWrapper.h in Headers */, 8E133FA625E72EB400ABD0BF /* SentrySamplingContext.h in Headers */, 0A9BF4E428A114B50068D266 /* SentryViewHierarchyIntegration.h in Headers */, + D8BBD32728FD9FC00011F850 /* SentrySwift.h in Headers */, 8E4E7C7425DAAB49006AB9E2 /* SentrySpanProtocol.h in Headers */, 8EC4CF4A25C38DAA0093DEE9 /* SentrySpanStatus.h in Headers */, 8ECC673D25C23996000E2BF6 /* SentrySpanId.h in Headers */, @@ -3051,7 +3036,6 @@ 6383953623ABA42C000C1594 /* SentryHttpTransport.h in Headers */, 84A8891C28DBD28900C51DFD /* SentryDevice.h in Headers */, 8E564AEF267AF24400FE117D /* SentryNetworkTracker.h in Headers */, - D800943128F94572005D3943 /* SentrySwift.h in Headers */, 63FE715120DA4C1100CDBAE8 /* SentryCrashDebug.h in Headers */, 63FE70F520DA4C1000CDBAE8 /* SentryCrashMonitor_System.h in Headers */, 7BE3C7672445C0CA00A38442 /* SentryCurrentDate.h in Headers */, diff --git a/Sources/Sentry/BridgingHeaders/SPM/SentrySwift.h b/Sources/Sentry/BridgingHeaders/SPM/SentrySwift.h deleted file mode 100644 index ad1873961fb..00000000000 --- a/Sources/Sentry/BridgingHeaders/SPM/SentrySwift.h +++ /dev/null @@ -1,6 +0,0 @@ -#ifndef SentrySwift_h -#define SentrySwift_h - -@import SentrySwift; - -#endif diff --git a/Sources/Sentry/BridgingHeaders/Xcode/SentrySwift.h b/Sources/Sentry/BridgingHeaders/Xcode/SentrySwift.h deleted file mode 100644 index de5233c454f..00000000000 --- a/Sources/Sentry/BridgingHeaders/Xcode/SentrySwift.h +++ /dev/null @@ -1,10 +0,0 @@ -#ifndef SentrySwift_h -#define SentrySwift_h - -#if __has_include() -# import -#else -# import "Sentry-Swift.h" -#endif - -#endif diff --git a/Sources/Sentry/include/SentrySwift.h b/Sources/Sentry/include/SentrySwift.h new file mode 100644 index 00000000000..20946b29c38 --- /dev/null +++ b/Sources/Sentry/include/SentrySwift.h @@ -0,0 +1,13 @@ +#ifndef SentrySwift_h +#define SentrySwift_h + +#if SWIFT_PACKAGE +@import SentrySwift; +#else +# if __has_include() +# import +# else +# import "Sentry-Swift.h" +# endif +#endif +#endif From 584436f49e1542ef1d38de007cb01ec09fef6417 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Tue, 18 Oct 2022 09:26:26 +0200 Subject: [PATCH 45/58] Update Sentry.podspec --- Sentry.podspec | 1 - 1 file changed, 1 deletion(-) diff --git a/Sentry.podspec b/Sentry.podspec index d539285b17f..b12c92581dd 100644 --- a/Sentry.podspec +++ b/Sentry.podspec @@ -16,7 +16,6 @@ Pod::Spec.new do |s| s.requires_arc = true s.frameworks = 'Foundation' s.libraries = 'z', 'c++' - s.static_framework = true s.swift_versions = "5.0" s.pod_target_xcconfig = { 'GCC_ENABLE_CPP_EXCEPTIONS' => 'YES', From 0b0a1f4cb7a51dc3c2d88cf9a5cd068d5d2e7ea9 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Fri, 21 Oct 2022 11:43:51 +0200 Subject: [PATCH 46/58] updating meta --- Package.swift | 2 +- Sentry.podspec | 2 +- Sentry.xcodeproj/project.pbxproj | 6 +++--- Sources/Sentry/include/SentrySwift.h | 20 ++++++++++++++++--- .../SwiftDescriptor.swift | 0 develop-docs/README.md | 2 ++ 6 files changed, 24 insertions(+), 8 deletions(-) rename Sources/{SentrySwift => Swift}/SwiftDescriptor.swift (100%) diff --git a/Package.swift b/Package.swift index 6e40085310c..262fa2c4084 100644 --- a/Package.swift +++ b/Package.swift @@ -12,7 +12,7 @@ let package = Package( .target( name: "SentrySwift", path: "Sources", sources: [ - "SentrySwift" + "Swift" ] ), .target( diff --git a/Sentry.podspec b/Sentry.podspec index 5045dbf8363..cf74461d5de 100644 --- a/Sentry.podspec +++ b/Sentry.podspec @@ -30,7 +30,7 @@ Pod::Spec.new do |s| s.subspec 'Core' do |sp| sp.source_files = "Sources/Sentry/**/*.{h,hpp,m,mm,c,cpp}", - "Sources/SentryCrash/**/*.{h,hpp,m,mm,c,cpp}", "Sources/SentrySwift/**/*.{swift}" + "Sources/SentryCrash/**/*.{h,hpp,m,mm,c,cpp}", "Sources/Swift/**/*.{swift}" sp.public_header_files = "Sources/Sentry/Public/*.h" end diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index bcd62b65a58..4a2060e22c6 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -1858,7 +1858,7 @@ 63AA756E1EB8AEDB00D153DE /* Sources */ = { isa = PBXGroup; children = ( - D800942328F82E8D005D3943 /* SentrySwift */, + D800942328F82E8D005D3943 /* Swift */, 63AA75A31EB8AFDF00D153DE /* Configuration */, 63FE6FB920DA4C1000CDBAE8 /* SentryCrash */, 63AA75C61EB8B06100D153DE /* Sentry */, @@ -2819,12 +2819,12 @@ name = Transaction; sourceTree = ""; }; - D800942328F82E8D005D3943 /* SentrySwift */ = { + D800942328F82E8D005D3943 /* Swift */ = { isa = PBXGroup; children = ( D800942628F82F3A005D3943 /* SwiftDescriptor.swift */, ); - path = SentrySwift; + path = Swift; sourceTree = ""; }; D808FB85281AB2EF009A2A33 /* UIEvents */ = { diff --git a/Sources/Sentry/include/SentrySwift.h b/Sources/Sentry/include/SentrySwift.h index 20946b29c38..b70b3c5f035 100644 --- a/Sources/Sentry/include/SentrySwift.h +++ b/Sources/Sentry/include/SentrySwift.h @@ -1,13 +1,27 @@ #ifndef SentrySwift_h #define SentrySwift_h -#if SWIFT_PACKAGE +/* + * This is a header to expose Swift code to Objective-c + * + * Because we use three different package managers + * we need to target the swift module in different ways. + * + * If the project is being used through SPM, Swift and Objective-c are compiled into separated + * targets, then we use "@import SentrySwift". + * + * Cocoapods combines everything into one target, if the user enable USE_FRAMEWORKS, + * Swift will be available through "#import " otherwise "#import + * "Sentry-Swift.h"". + */ + +#if SWIFT_PACKAGE // For SWIFT PACKAGE MANAGER @import SentrySwift; #else -# if __has_include() +# if __has_include() //COCOAPODS with USE_FRAMEWORKS # import # else -# import "Sentry-Swift.h" +# import "Sentry-Swift.h" //Everything else # endif #endif #endif diff --git a/Sources/SentrySwift/SwiftDescriptor.swift b/Sources/Swift/SwiftDescriptor.swift similarity index 100% rename from Sources/SentrySwift/SwiftDescriptor.swift rename to Sources/Swift/SwiftDescriptor.swift diff --git a/develop-docs/README.md b/develop-docs/README.md index ae1b04d770c..8371a60bd05 100644 --- a/develop-docs/README.md +++ b/develop-docs/README.md @@ -113,3 +113,5 @@ We could create the crash report first, write it to disk and then call Objective Related links: - https://github.com/getsentry/sentry-cocoa/pull/1751 + +### From 221c86093cdda7f594bf7eb92199b3218ee7c04b Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Mon, 24 Oct 2022 15:16:15 +0200 Subject: [PATCH 47/58] More information --- CHANGELOG.md | 3 ++- Sentry.podspec | 2 +- Sentry.xcodeproj/project.pbxproj | 2 +- develop-docs/README.md | 9 ++++++++- 4 files changed, 12 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 489aa430d4b..00a7d68b99c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,7 +4,8 @@ ### Features -- Sentry Swift framework (#2162) +- Properly demangle Swift class name (#2162) + From now on, Sentry SDK has a dependency on Swift framework - Offline caching improvements (#2263) - Report usage of stitchAsyncCode (#2281) diff --git a/Sentry.podspec b/Sentry.podspec index cf74461d5de..5586c07ec74 100644 --- a/Sentry.podspec +++ b/Sentry.podspec @@ -16,7 +16,7 @@ Pod::Spec.new do |s| s.requires_arc = true s.frameworks = 'Foundation' s.libraries = 'z', 'c++' - s.swift_versions = "5.0" + s.swift_versions = "5.5" s.pod_target_xcconfig = { 'GCC_ENABLE_CPP_EXCEPTIONS' => 'YES', 'CLANG_CXX_LANGUAGE_STANDARD' => 'c++14', diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index 4a2060e22c6..d907db31a99 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -1357,7 +1357,7 @@ 844DA7F6282435CD00E6B62E /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; 844DA80328246D5000E6B62E /* .oclint */ = {isa = PBXFileReference; lastKnownFileType = text; path = .oclint; sourceTree = ""; }; 844DA80428246D5000E6B62E /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; - 844DA80528246D5000E6B62E /* Sentry.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; path = Sentry.podspec; sourceTree = ""; }; + 844DA80528246D5000E6B62E /* Sentry.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; path = Sentry.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 844DA80628246D5000E6B62E /* .craft.yml */ = {isa = PBXFileReference; lastKnownFileType = text.yaml; path = .craft.yml; sourceTree = ""; }; 844DA80728246D5000E6B62E /* Gemfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; path = Gemfile; sourceTree = ""; }; 844DA80828246D5000E6B62E /* .gitmodules */ = {isa = PBXFileReference; lastKnownFileType = text; path = .gitmodules; sourceTree = ""; }; diff --git a/develop-docs/README.md b/develop-docs/README.md index 8371a60bd05..78dc57fdc42 100644 --- a/develop-docs/README.md +++ b/develop-docs/README.md @@ -114,4 +114,11 @@ Related links: - https://github.com/getsentry/sentry-cocoa/pull/1751 -### +### Adding Swift code in the project + +Date: October 1st 2022 + +A Sentry SDK started to be [written in Swift once,](https://github.com/getsentry/raven-swift) but due to ABI not being stable at that time, it got dropped. Since then Swift 5.1 landed and we got ABI stability. We’ve considered adding Swift to our sentry.cocoa SDK since then, but because of some of the trade offs, we’ve postponed that decision. +This changed with our goal to better support SwiftUI. It’s growing in popularity and we need to write code in Swift in order to support it. +SwiftUI support will be available through an adicional library, but in order to support it we need to be able to demangle Swift class names in Sentry SDK, which can be done by using Swift API. +Since we support SPM, and SPM don't support multi language projects, we need to create two different targets, one with Swift and another with Objective-c code, because of that our Swift code in SPM resides in a different module, which requires a different import in projects, and for now, this is the reason we should avoid writing public API in Swift. But, everything written in Swift will be public if users import Sentry via CocoaPods or Carthage. From 9e7c5555e454ff061b17fa61b77edab30d165e9a Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Mon, 24 Oct 2022 15:25:15 +0200 Subject: [PATCH 48/58] Update CHANGELOG.md --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 00a7d68b99c..ad7af3cc92b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ ### Features - Properly demangle Swift class name (#2162) - From now on, Sentry SDK has a dependency on Swift framework + - From now on, Sentry SDK has a dependency on Swift framework - Offline caching improvements (#2263) - Report usage of stitchAsyncCode (#2281) From 097f3d1d45dbd77301dcfc7ba76024effac7beee Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Tue, 25 Oct 2022 09:47:04 +0200 Subject: [PATCH 49/58] Apply suggestions from code review Co-authored-by: Philipp Hofmann --- Sources/Sentry/include/SentrySwift.h | 8 ++++---- develop-docs/README.md | 6 +++--- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/Sources/Sentry/include/SentrySwift.h b/Sources/Sentry/include/SentrySwift.h index b70b3c5f035..1bc38e554d1 100644 --- a/Sources/Sentry/include/SentrySwift.h +++ b/Sources/Sentry/include/SentrySwift.h @@ -2,15 +2,15 @@ #define SentrySwift_h /* - * This is a header to expose Swift code to Objective-c + * This is a header to expose Swift code to Objective-C. * * Because we use three different package managers - * we need to target the swift module in different ways. + * we need to target the Swift module in different ways. * - * If the project is being used through SPM, Swift and Objective-c are compiled into separated + * If the project is being used through SPM, Swift and Objective-C are compiled into separated * targets, then we use "@import SentrySwift". * - * Cocoapods combines everything into one target, if the user enable USE_FRAMEWORKS, + * CocoaPods combines everything into one target, if the user enables USE_FRAMEWORKS, * Swift will be available through "#import " otherwise "#import * "Sentry-Swift.h"". */ diff --git a/develop-docs/README.md b/develop-docs/README.md index 8f72034241e..f4a058b7d8f 100644 --- a/develop-docs/README.md +++ b/develop-docs/README.md @@ -134,8 +134,8 @@ Related to [GH-2218](https://github.com/getsentry/sentry-cocoa/issues/2218) Date: October 1st 2022 Contributors: @brustolin -A Sentry SDK started to be [written in Swift once,](https://github.com/getsentry/raven-swift) but due to ABI not being stable at that time, it got dropped. Since then Swift 5.1 landed and we got ABI stability. We’ve considered adding Swift to our sentry.cocoa SDK since then, but because of some of the trade offs, we’ve postponed that decision. +A Sentry SDK started to be [written in Swift once,](https://github.com/getsentry/raven-swift) but due to ABI not being stable at that time, it got dropped. Since then Swift 5.0 landed and we got ABI stability. We’ve considered adding Swift to our sentry.cocoa SDK since then, but because of some of the trade offs, we’ve postponed that decision. This changed with our goal to better support SwiftUI. It’s growing in popularity and we need to write code in Swift in order to support it. -SwiftUI support will be available through an adicional library, but in order to support it we need to be able to demangle Swift class names in Sentry SDK, which can be done by using Swift API. -Since we support SPM, and SPM don't support multi language projects, we need to create two different targets, one with Swift and another with Objective-c code, because of that our Swift code in SPM resides in a different module, which requires a different import in projects, and for now, this is the reason we should avoid writing public API in Swift. But, everything written in Swift will be public if users import Sentry via CocoaPods or Carthage. +SwiftUI support will be available through an additional library, but to support it, we need to be able to demangle Swift class names in Sentry SDK, which can be done by using Swift API. +Since we support SPM, and SPM doesn't support multi-language projects, we need to create two different targets, one with Swift and another with Objective-C code. Because of that, our Swift code in SPM resides in a different module, which requires a different import in projects, and for now, this is the reason we should avoid writing public API in Swift. But everything written in Swift will be public if users import Sentry via CocoaPods or Carthage. From 7df3daeff5c3292eb7324e348bc464ae2784ffb4 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Tue, 25 Oct 2022 10:57:58 +0200 Subject: [PATCH 50/58] docs --- CHANGELOG.md | 3 ++- develop-docs/README.md | 3 +-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ad7af3cc92b..f9647449bfd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,10 +2,11 @@ ## Unreleased +This version introduces a dependency on Swift, which only impacts you if you don't use Swift. If your project uses Swift already, this change will not affect you. + ### Features - Properly demangle Swift class name (#2162) - - From now on, Sentry SDK has a dependency on Swift framework - Offline caching improvements (#2263) - Report usage of stitchAsyncCode (#2281) diff --git a/develop-docs/README.md b/develop-docs/README.md index f4a058b7d8f..f29666a6813 100644 --- a/develop-docs/README.md +++ b/develop-docs/README.md @@ -137,5 +137,4 @@ Contributors: @brustolin A Sentry SDK started to be [written in Swift once,](https://github.com/getsentry/raven-swift) but due to ABI not being stable at that time, it got dropped. Since then Swift 5.0 landed and we got ABI stability. We’ve considered adding Swift to our sentry.cocoa SDK since then, but because of some of the trade offs, we’ve postponed that decision. This changed with our goal to better support SwiftUI. It’s growing in popularity and we need to write code in Swift in order to support it. SwiftUI support will be available through an additional library, but to support it, we need to be able to demangle Swift class names in Sentry SDK, which can be done by using Swift API. -Since we support SPM, and SPM doesn't support multi-language projects, we need to create two different targets, one with Swift and another with Objective-C code. Because of that, our Swift code in SPM resides in a different module, which requires a different import in projects, and for now, this is the reason we should avoid writing public API in Swift. But everything written in Swift will be public if users import Sentry via CocoaPods or Carthage. - +Since we support SPM, and SPM doesn't support multi-language projects, we need to create two different targets, one with Swift and another with Objective-C code. Because of that, our Swift code in SPM resides in a different module, which requires a different import in projects, and for now, this is the reason we should avoid writing public API in Swift. From e1d01e00e8796626db8ac7d94864e23503fb4a53 Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Tue, 25 Oct 2022 14:58:53 +0200 Subject: [PATCH 51/58] Remove ViewControllerSanitizer --- Sentry.xcodeproj/project.pbxproj | 8 ------ Sources/Sentry/SentryBreadcrumbTracker.m | 12 ++++----- ...SentryUIViewControllerPerformanceTracker.m | 4 +-- .../Sentry/SentryUIViewControllerSanitizer.m | 11 -------- .../include/SentryUIViewControllerSanitizer.h | 26 ------------------- Sources/Swift/SwiftDescriptor.swift | 4 +-- ...iewControllerPerformanceTrackerTests.swift | 2 +- ...SentryUIViewControllerSwizzlingTests.swift | 2 +- .../SentryTests/SentryTests-Bridging-Header.h | 1 - ...SentryUIViewControllerSanitizerTests.swift | 4 +-- 10 files changed, 14 insertions(+), 60 deletions(-) delete mode 100644 Sources/Sentry/SentryUIViewControllerSanitizer.m delete mode 100644 Sources/Sentry/include/SentryUIViewControllerSanitizer.h diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index d907db31a99..7208fcb990b 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -652,8 +652,6 @@ 8ED2D28026A6581C00CA8329 /* NSURLProtocolSwizzle.m in Sources */ = {isa = PBXBuildFile; fileRef = 8ED2D27F26A6581C00CA8329 /* NSURLProtocolSwizzle.m */; }; 8ED3D306264DFE700049393B /* SentryUIViewControllerSanitizerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8ED3D305264DFE700049393B /* SentryUIViewControllerSanitizerTests.swift */; }; 8EE017A126704CD500470616 /* SentryUIViewControllerPerformanceTrackerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8EA1ED0E2669152F00E62B98 /* SentryUIViewControllerPerformanceTrackerTests.swift */; }; - 8EE32518261FE27B00DC3FF2 /* SentryUIViewControllerSanitizer.m in Sources */ = {isa = PBXBuildFile; fileRef = 8EE32516261FE27B00DC3FF2 /* SentryUIViewControllerSanitizer.m */; }; - 8EE3251C261FE33B00DC3FF2 /* SentryUIViewControllerSanitizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 8EE3251B261FE33B00DC3FF2 /* SentryUIViewControllerSanitizer.h */; }; A2475E1325FB63A3007D9080 /* fishhook.h in Headers */ = {isa = PBXBuildFile; fileRef = A2475E1225FB63A3007D9080 /* fishhook.h */; }; A2475E1725FB63AF007D9080 /* SentryHook.h in Headers */ = {isa = PBXBuildFile; fileRef = A2475E1625FB63AF007D9080 /* SentryHook.h */; }; A2475E1B25FB63D7007D9080 /* SentryHook.c in Sources */ = {isa = PBXBuildFile; fileRef = A2475E1A25FB63D7007D9080 /* SentryHook.c */; }; @@ -1437,8 +1435,6 @@ 8ED2D27E26A6581C00CA8329 /* NSURLProtocolSwizzle.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NSURLProtocolSwizzle.h; sourceTree = ""; }; 8ED2D27F26A6581C00CA8329 /* NSURLProtocolSwizzle.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NSURLProtocolSwizzle.m; sourceTree = ""; }; 8ED3D305264DFE700049393B /* SentryUIViewControllerSanitizerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryUIViewControllerSanitizerTests.swift; sourceTree = ""; }; - 8EE32516261FE27B00DC3FF2 /* SentryUIViewControllerSanitizer.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryUIViewControllerSanitizer.m; sourceTree = ""; }; - 8EE3251B261FE33B00DC3FF2 /* SentryUIViewControllerSanitizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryUIViewControllerSanitizer.h; path = include/SentryUIViewControllerSanitizer.h; sourceTree = ""; }; A2475E1225FB63A3007D9080 /* fishhook.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = fishhook.h; sourceTree = ""; }; A2475E1625FB63AF007D9080 /* SentryHook.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SentryHook.h; sourceTree = ""; }; A2475E1A25FB63D7007D9080 /* SentryHook.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; path = SentryHook.c; sourceTree = ""; }; @@ -2752,8 +2748,6 @@ 8E25C94F25F836AB00DC215B /* Tools */ = { isa = PBXGroup; children = ( - 8EE3251B261FE33B00DC3FF2 /* SentryUIViewControllerSanitizer.h */, - 8EE32516261FE27B00DC3FF2 /* SentryUIViewControllerSanitizer.m */, 8E25C95625F836EE00DC215B /* SentryRandom.h */, 8E25C95125F836D000DC215B /* SentryRandom.m */, D8C67E9A28000E23007E326E /* SentryScreenshot.h */, @@ -2981,7 +2975,6 @@ 63FE70D120DA4C1000CDBAE8 /* SentryCrashMonitorContext.h in Headers */, 63B818F91EC34639002FDF4C /* SentryDebugMeta.h in Headers */, 6360850D1ED2AFE100E8599E /* SentryBreadcrumb.h in Headers */, - 8EE3251C261FE33B00DC3FF2 /* SentryUIViewControllerSanitizer.h in Headers */, 7BAF3DD92440AEC8008A5414 /* SentryRequestManager.h in Headers */, 7BE3C77B2446111500A38442 /* SentryRateLimitParser.h in Headers */, 7D0637032382B34300B30749 /* SentryScope.h in Headers */, @@ -3406,7 +3399,6 @@ 63AA767A1EB8D20500D153DE /* SentryLog.m in Sources */, 6344DDBA1EC3115C00D9160D /* SentryCrashReportConverter.m in Sources */, 63FE70FD20DA4C1000CDBAE8 /* SentryCrashCachedData.c in Sources */, - 8EE32518261FE27B00DC3FF2 /* SentryUIViewControllerSanitizer.m in Sources */, 7BE1E33424F7E3CB009D3AD0 /* SentryMigrateSessionInit.m in Sources */, 15E0A8F22411A45A00F044E3 /* SentrySession.m in Sources */, 7B6D1261265F784000C9BE4B /* PrivateSentrySDKOnly.m in Sources */, diff --git a/Sources/Sentry/SentryBreadcrumbTracker.m b/Sources/Sentry/SentryBreadcrumbTracker.m index 81fcc5c7038..ecd8b1ef7e2 100644 --- a/Sources/Sentry/SentryBreadcrumbTracker.m +++ b/Sources/Sentry/SentryBreadcrumbTracker.m @@ -6,9 +6,9 @@ #import "SentryLog.h" #import "SentrySDK+Private.h" #import "SentryScope.h" +#import "SentrySwift.h" #import "SentrySwizzle.h" #import "SentrySwizzleWrapper.h" -#import "SentryUIViewControllerSanitizer.h" #if SENTRY_HAS_UIKIT # import @@ -234,7 +234,7 @@ + (NSDictionary *)fetchInfoAboutViewController:(UIViewController *)controller { NSMutableDictionary *info = @{}.mutableCopy; - info[@"screen"] = [SentryUIViewControllerSanitizer sanitizeViewControllerName:controller]; + info[@"screen"] = [SwiftDescriptor getObjectClassName:controller]; if ([controller.navigationItem.title length] != 0) { info[@"title"] = controller.navigationItem.title; @@ -245,13 +245,13 @@ + (NSDictionary *)fetchInfoAboutViewController:(UIViewController *)controller info[@"beingPresented"] = controller.beingPresented ? @"true" : @"false"; if (controller.presentingViewController != nil) { - info[@"presentingViewController"] = [SentryUIViewControllerSanitizer - sanitizeViewControllerName:controller.presentingViewController]; + info[@"presentingViewController"] = + [SwiftDescriptor getObjectClassName:controller.presentingViewController]; } if (controller.parentViewController != nil) { - info[@"parentViewController"] = [SentryUIViewControllerSanitizer - sanitizeViewControllerName:controller.parentViewController]; + info[@"parentViewController"] = + [SwiftDescriptor getObjectClassName:controller.parentViewController]; } if (controller.view.window != nil) { diff --git a/Sources/Sentry/SentryUIViewControllerPerformanceTracker.m b/Sources/Sentry/SentryUIViewControllerPerformanceTracker.m index c5ee506b561..c5743565c8e 100644 --- a/Sources/Sentry/SentryUIViewControllerPerformanceTracker.m +++ b/Sources/Sentry/SentryUIViewControllerPerformanceTracker.m @@ -6,7 +6,7 @@ #import "SentrySDK+Private.h" #import "SentryScope.h" #import "SentrySpanId.h" -#import "SentryUIViewControllerSanitizer.h" +#import "SentrySwift.h" #import #import #import @@ -89,7 +89,7 @@ - (void)createTransaction:(UIViewController *)controller // If the user manually calls loadView outside the lifecycle we don't start a new transaction // and override the previous id stored. if (spanId == nil) { - NSString *name = [SentryUIViewControllerSanitizer sanitizeViewControllerName:controller]; + NSString *name = [SwiftDescriptor getObjectClassName:controller]; spanId = [self.tracker startSpanWithName:name nameSource:kSentryTransactionNameSourceComponent operation:SentrySpanOperationUILoad]; diff --git a/Sources/Sentry/SentryUIViewControllerSanitizer.m b/Sources/Sentry/SentryUIViewControllerSanitizer.m deleted file mode 100644 index 973e3f969d8..00000000000 --- a/Sources/Sentry/SentryUIViewControllerSanitizer.m +++ /dev/null @@ -1,11 +0,0 @@ -#import "SentryUIViewControllerSanitizer.h" -#import "SentrySwift.h" - -@implementation SentryUIViewControllerSanitizer - -+ (NSString *)sanitizeViewControllerName:(id)controller -{ - return [SwiftDescriptor getDescription:controller]; -} - -@end diff --git a/Sources/Sentry/include/SentryUIViewControllerSanitizer.h b/Sources/Sentry/include/SentryUIViewControllerSanitizer.h deleted file mode 100644 index e6978d517db..00000000000 --- a/Sources/Sentry/include/SentryUIViewControllerSanitizer.h +++ /dev/null @@ -1,26 +0,0 @@ -#import - -NS_ASSUME_NONNULL_BEGIN - -/** - * An auxiliary class to extract information from UIViewController. - */ -@interface SentryUIViewControllerSanitizer : NSObject - -/** - * Retrieve the view controller class name - * and remove unwanted characters from it. - * - * The default description of a object - * is "" - * This method returns only MODULE.CLASSNAME - * - * @param controller A view controller to retrieve the class name. - * - * @return The view controller sanitized class name. - */ -+ (NSString *)sanitizeViewControllerName:(id)controller; - -@end - -NS_ASSUME_NONNULL_END diff --git a/Sources/Swift/SwiftDescriptor.swift b/Sources/Swift/SwiftDescriptor.swift index e0b8e85c306..9d330c92807 100644 --- a/Sources/Swift/SwiftDescriptor.swift +++ b/Sources/Swift/SwiftDescriptor.swift @@ -2,9 +2,9 @@ import Foundation @objc public class SwiftDescriptor: NSObject { - + @objc - public static func getDescription(_ object: AnyObject) -> String { + public static func getObjectClassName(_ object: AnyObject) -> String { return String(describing: type(of: object)) } diff --git a/Tests/SentryTests/Integrations/Performance/UIViewController/SentryUIViewControllerPerformanceTrackerTests.swift b/Tests/SentryTests/Integrations/Performance/UIViewController/SentryUIViewControllerPerformanceTrackerTests.swift index 928cd33d793..8f986e65f69 100644 --- a/Tests/SentryTests/Integrations/Performance/UIViewController/SentryUIViewControllerPerformanceTrackerTests.swift +++ b/Tests/SentryTests/Integrations/Performance/UIViewController/SentryUIViewControllerPerformanceTrackerTests.swift @@ -41,7 +41,7 @@ class SentryUIViewControllerPerformanceTrackerTests: XCTestCase { func getSut() -> SentryUIViewControllerPerformanceTracker { CurrentDate.setCurrentDateProvider(dateProvider) - viewControllerName = SentryUIViewControllerSanitizer.sanitizeViewControllerName(viewController) + viewControllerName = SwiftDescriptor.getObjectClassName(viewController) let result = SentryUIViewControllerPerformanceTracker.shared Dynamic(result).tracker = self.tracker diff --git a/Tests/SentryTests/Integrations/Performance/UIViewController/SentryUIViewControllerSwizzlingTests.swift b/Tests/SentryTests/Integrations/Performance/UIViewController/SentryUIViewControllerSwizzlingTests.swift index c820ce4325d..5557569a1eb 100644 --- a/Tests/SentryTests/Integrations/Performance/UIViewController/SentryUIViewControllerSwizzlingTests.swift +++ b/Tests/SentryTests/Integrations/Performance/UIViewController/SentryUIViewControllerSwizzlingTests.swift @@ -93,7 +93,7 @@ class SentryUIViewControllerSwizzlingTests: XCTestCase { XCTAssertNotNil(span) let transactionName = Dynamic(span).transactionContext.name.asString - let expectedTransactionName = SentryUIViewControllerSanitizer.sanitizeViewControllerName(controller) + let expectedTransactionName = SwiftDescriptor.getObjectClassName(controller) XCTAssertEqual(expectedTransactionName, transactionName) } diff --git a/Tests/SentryTests/SentryTests-Bridging-Header.h b/Tests/SentryTests/SentryTests-Bridging-Header.h index f45230a0959..702a12ea026 100644 --- a/Tests/SentryTests/SentryTests-Bridging-Header.h +++ b/Tests/SentryTests/SentryTests-Bridging-Header.h @@ -158,7 +158,6 @@ #import "SentryUIApplication.h" #import "SentryUIDeviceWrapper.h" #import "SentryUIViewControllerPerformanceTracker.h" -#import "SentryUIViewControllerSanitizer.h" #import "SentryUIViewControllerSwizzling+Test.h" #import "SentryUIViewControllerSwizzling.h" #import "SentryUserFeedback.h" diff --git a/Tests/SentryTests/SentryUIViewControllerSanitizerTests.swift b/Tests/SentryTests/SentryUIViewControllerSanitizerTests.swift index c2d83b402e1..2335c34cd80 100644 --- a/Tests/SentryTests/SentryUIViewControllerSanitizerTests.swift +++ b/Tests/SentryTests/SentryUIViewControllerSanitizerTests.swift @@ -28,7 +28,7 @@ class SentryUIViewControllerSanitizerTests: XCTestCase { XCTAssertEqual(name, "InnerClass") } - private func sanitize(_ name: Any) -> String { - return SentryUIViewControllerSanitizer.sanitizeViewControllerName(name) + private func sanitize(_ name: AnyObject) -> String { + return SwiftDescriptor.getObjectClassName(name) } } From 40552f5b89a0c13050bfa7cb3fa495d7d0a0bdec Mon Sep 17 00:00:00 2001 From: Dhiogo Brustolin Date: Tue, 25 Oct 2022 15:04:12 +0200 Subject: [PATCH 52/58] Update CHANGELOG.md --- CHANGELOG.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ea4057a47bc..75b1b45d39d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,17 @@ # Changelog -## 7.29.0 +## Unreleased This version introduces a dependency on Swift, which only impacts you if you don't use Swift. If your project uses Swift already, this change will not affect you. ### Features - Properly demangle Swift class name (#2162) + +## 7.29.0 + +### Features + - Offline caching improvements (#2263) - Report usage of stitchAsyncCode (#2281) From 21d170dd63fe398cbceb65510440036f69bef10d Mon Sep 17 00:00:00 2001 From: Dhiogo Ramos Brustolin Date: Tue, 8 Nov 2022 21:07:04 +0100 Subject: [PATCH 53/58] Update project.pbxproj --- Sentry.xcodeproj/project.pbxproj | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index 19bffd51a1b..a5d31cd0f28 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -660,18 +660,19 @@ A811D867248E2770008A41EA /* SentrySystemEventBreadcrumbsTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = A811D866248E2770008A41EA /* SentrySystemEventBreadcrumbsTest.swift */; }; A839D89824864B80003B7AFD /* SentrySystemEventBreadcrumbs.h in Headers */ = {isa = PBXBuildFile; fileRef = A839D89724864B80003B7AFD /* SentrySystemEventBreadcrumbs.h */; }; A839D89A24864BA8003B7AFD /* SentrySystemEventBreadcrumbs.m in Sources */ = {isa = PBXBuildFile; fileRef = A839D89924864BA8003B7AFD /* SentrySystemEventBreadcrumbs.m */; }; - D800942728F82F3A005D3943 /* SwiftDescriptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D800942628F82F3A005D3943 /* SwiftDescriptor.swift */; }; A8AFFCCD29069C3E00967CD7 /* SentryHttpStatusCodeRange.h in Headers */ = {isa = PBXBuildFile; fileRef = A8AFFCCC29069C3E00967CD7 /* SentryHttpStatusCodeRange.h */; settings = {ATTRIBUTES = (Public, ); }; }; A8AFFCCF2906C03700967CD7 /* SentryRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = A8AFFCCE2906C03700967CD7 /* SentryRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; A8AFFCD22907DA7600967CD7 /* SentryHttpStatusCodeRangeTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8AFFCD12907DA7600967CD7 /* SentryHttpStatusCodeRangeTests.swift */; }; A8AFFCD42907E0CA00967CD7 /* SentryRequestTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8AFFCD32907E0CA00967CD7 /* SentryRequestTests.swift */; }; A8F17B2E2901765900990B25 /* SentryRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = A8F17B2D2901765900990B25 /* SentryRequest.m */; }; A8F17B342902870300990B25 /* SentryHttpStatusCodeRange.m in Sources */ = {isa = PBXBuildFile; fileRef = A8F17B332902870300990B25 /* SentryHttpStatusCodeRange.m */; }; + D800942728F82F3A005D3943 /* SwiftDescriptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D800942628F82F3A005D3943 /* SwiftDescriptor.swift */; }; D8019910286B089000C277F0 /* SentryCrashReportSinkTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D801990F286B089000C277F0 /* SentryCrashReportSinkTest.swift */; }; D808FB88281AB33C009A2A33 /* SentryUIEventTrackerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D808FB86281AB31D009A2A33 /* SentryUIEventTrackerTests.swift */; }; D808FB8B281BCE96009A2A33 /* TestSentrySwizzleWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = D808FB89281BCE46009A2A33 /* TestSentrySwizzleWrapper.swift */; }; D808FB92281BF6EC009A2A33 /* SentryUIEventTrackingIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D808FB90281BF6E9009A2A33 /* SentryUIEventTrackingIntegrationTests.swift */; }; D8137D54272B53070082656C /* TestSentrySpan.m in Sources */ = {isa = PBXBuildFile; fileRef = D8137D53272B53070082656C /* TestSentrySpan.m */; }; + D81A346C291AECC7005A27A9 /* PrivateSentrySDKOnly.h in Headers */ = {isa = PBXBuildFile; fileRef = D81A346B291AECC7005A27A9 /* PrivateSentrySDKOnly.h */; settings = {ATTRIBUTES = (Private, ); }; }; D81FDF12280EA1060045E0E4 /* SentryScreenShotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D81FDF10280EA0080045E0E4 /* SentryScreenShotTests.swift */; }; D8370B6A273DF1E900F66E2D /* SentryNSURLSessionTaskSearch.m in Sources */ = {isa = PBXBuildFile; fileRef = D8370B68273DF1E900F66E2D /* SentryNSURLSessionTaskSearch.m */; }; D8370B6C273DF20F00F66E2D /* SentryNSURLSessionTaskSearch.h in Headers */ = {isa = PBXBuildFile; fileRef = D8370B6B273DF20F00F66E2D /* SentryNSURLSessionTaskSearch.h */; }; @@ -703,7 +704,6 @@ D88817DA26D72AB800BF2251 /* SentryTraceContext.h in Headers */ = {isa = PBXBuildFile; fileRef = D88817D926D72AB800BF2251 /* SentryTraceContext.h */; }; D88817DD26D72BA500BF2251 /* SentryTraceStateTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D88817DB26D72B7B00BF2251 /* SentryTraceStateTests.swift */; }; D8918B222849FA6D00701F9A /* SentrySDKIntegrationTestsBase.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8918B212849FA6D00701F9A /* SentrySDKIntegrationTestsBase.swift */; }; - D8A22A6929140081006907D9 /* PrivateSentrySDKOnly.h in Headers */ = {isa = PBXBuildFile; fileRef = D8A22A6829140081006907D9 /* PrivateSentrySDKOnly.h */; settings = {ATTRIBUTES = (Private, ); }; }; D8AB40DB2806EC1900E5E9F7 /* SentryScreenshotIntegration.h in Headers */ = {isa = PBXBuildFile; fileRef = D8AB40DA2806EC1900E5E9F7 /* SentryScreenshotIntegration.h */; }; D8ACE3C72762187200F5A213 /* SentryNSDataSwizzling.m in Sources */ = {isa = PBXBuildFile; fileRef = D8ACE3C42762187200F5A213 /* SentryNSDataSwizzling.m */; }; D8ACE3C82762187200F5A213 /* SentryNSDataTracker.m in Sources */ = {isa = PBXBuildFile; fileRef = D8ACE3C52762187200F5A213 /* SentryNSDataTracker.m */; }; @@ -1451,19 +1451,20 @@ A811D866248E2770008A41EA /* SentrySystemEventBreadcrumbsTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentrySystemEventBreadcrumbsTest.swift; sourceTree = ""; }; A839D89724864B80003B7AFD /* SentrySystemEventBreadcrumbs.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SentrySystemEventBreadcrumbs.h; path = include/SentrySystemEventBreadcrumbs.h; sourceTree = ""; }; A839D89924864BA8003B7AFD /* SentrySystemEventBreadcrumbs.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentrySystemEventBreadcrumbs.m; sourceTree = ""; }; - D800942628F82F3A005D3943 /* SwiftDescriptor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftDescriptor.swift; sourceTree = ""; }; A8AFFCCC29069C3E00967CD7 /* SentryHttpStatusCodeRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryHttpStatusCodeRange.h; path = Public/SentryHttpStatusCodeRange.h; sourceTree = ""; }; A8AFFCCE2906C03700967CD7 /* SentryRequest.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryRequest.h; path = Public/SentryRequest.h; sourceTree = ""; }; A8AFFCD12907DA7600967CD7 /* SentryHttpStatusCodeRangeTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryHttpStatusCodeRangeTests.swift; sourceTree = ""; }; A8AFFCD32907E0CA00967CD7 /* SentryRequestTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryRequestTests.swift; sourceTree = ""; }; A8F17B2D2901765900990B25 /* SentryRequest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryRequest.m; sourceTree = ""; }; A8F17B332902870300990B25 /* SentryHttpStatusCodeRange.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryHttpStatusCodeRange.m; sourceTree = ""; }; + D800942628F82F3A005D3943 /* SwiftDescriptor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftDescriptor.swift; sourceTree = ""; }; D801990F286B089000C277F0 /* SentryCrashReportSinkTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryCrashReportSinkTest.swift; sourceTree = ""; }; D808FB86281AB31D009A2A33 /* SentryUIEventTrackerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryUIEventTrackerTests.swift; sourceTree = ""; }; D808FB89281BCE46009A2A33 /* TestSentrySwizzleWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestSentrySwizzleWrapper.swift; sourceTree = ""; }; D808FB90281BF6E9009A2A33 /* SentryUIEventTrackingIntegrationTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryUIEventTrackingIntegrationTests.swift; sourceTree = ""; }; D8137D52272B53070082656C /* TestSentrySpan.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TestSentrySpan.h; sourceTree = ""; }; D8137D53272B53070082656C /* TestSentrySpan.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TestSentrySpan.m; sourceTree = ""; }; + D81A346B291AECC7005A27A9 /* PrivateSentrySDKOnly.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PrivateSentrySDKOnly.h; path = include/PrivateSentrySDKOnly.h; sourceTree = ""; }; D81FDF10280EA0080045E0E4 /* SentryScreenShotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryScreenShotTests.swift; sourceTree = ""; }; D8370B68273DF1E900F66E2D /* SentryNSURLSessionTaskSearch.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryNSURLSessionTaskSearch.m; sourceTree = ""; }; D8370B6B273DF20F00F66E2D /* SentryNSURLSessionTaskSearch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryNSURLSessionTaskSearch.h; path = include/SentryNSURLSessionTaskSearch.h; sourceTree = ""; }; @@ -1725,6 +1726,7 @@ 63AA756E1EB8AEDB00D153DE /* Sources */, 63AA75921EB8AEDB00D153DE /* Tests */, 7D826E3C2390840E00EED93D /* Utils */, + D81A346A291AEC23005A27A9 /* Recovered References */, ); indentWidth = 4; sourceTree = ""; @@ -1969,6 +1971,7 @@ 8E25C94F25F836AB00DC215B /* Tools */, 63AA76931EB9C1C200D153DE /* Sentry.h */, D8BBD32628FD9FBF0011F850 /* SentrySwift.h */, + D81A346B291AECC7005A27A9 /* PrivateSentrySDKOnly.h */, 7B6D1260265F784000C9BE4B /* PrivateSentrySDKOnly.m */, 63AA76941EB9C1C200D153DE /* SentryClient.h */, 63AA75ED1EB8B3C400D153DE /* SentryClient.m */, @@ -2853,6 +2856,14 @@ path = UIEvents; sourceTree = ""; }; + D81A346A291AEC23005A27A9 /* Recovered References */ = { + isa = PBXGroup; + children = ( + D8A22A6829140081006907D9 /* PrivateSentrySDKOnly.h */, + ); + name = "Recovered References"; + sourceTree = ""; + }; D81FDF0F280E9FEC0045E0E4 /* Tools */ = { isa = PBXGroup; children = ( @@ -2956,6 +2967,7 @@ 7B4E23BE251A2BD500060D68 /* SentrySessionCrashedHandler.h in Headers */, 7B88F2FE24BC5A4C00ADF90A /* SentrySdkInfo.h in Headers */, 7BCFBD672681C95000BC27D8 /* SentryScopeObserver.h in Headers */, + D81A346C291AECC7005A27A9 /* PrivateSentrySDKOnly.h in Headers */, D88817DA26D72AB800BF2251 /* SentryTraceContext.h in Headers */, 7B6C5F8126034354007F7DFF /* SentryOutOfMemoryLogic.h in Headers */, 63FE708520DA4C1000CDBAE8 /* SentryCrashReportFilter.h in Headers */, @@ -3008,7 +3020,6 @@ 63FE717920DA4C1100CDBAE8 /* SentryCrashReportStore.h in Headers */, 0AAE202128ED9BCC00D0CD80 /* SentryReachability.h in Headers */, A839D89824864B80003B7AFD /* SentrySystemEventBreadcrumbs.h in Headers */, - D8A22A6929140081006907D9 /* PrivateSentrySDKOnly.h in Headers */, 7B14089624878F090035403D /* SentryCrashStackEntryMapper.h in Headers */, 63FE714920DA4C1100CDBAE8 /* SentryCrashStackCursor_Backtrace.h in Headers */, 7BFC169B2524995700FF6266 /* SentryMessage.h in Headers */, From 7376f5491022f58015a5e5a6bc153d607656270b Mon Sep 17 00:00:00 2001 From: Dhiogo Ramos Brustolin Date: Thu, 10 Nov 2022 17:05:32 +0100 Subject: [PATCH 54/58] SentryPrivate --- Package.swift | 4 +- .../iOS-Swift.xcodeproj/project.pbxproj | 15 + Sentry.podspec | 7 +- Sentry.xcodeproj/project.pbxproj | 307 +++++++++++++++++- .../xcschemes/SentryPrivate.xcscheme | 67 ++++ SentryPrivate.podspec | 35 ++ Sources/Configuration/SentryPrivate.xcconfig | 65 ++++ Sources/Sentry/include/SentrySwift.h | 11 +- Sources/Swift/Sentry.swift | 3 + 9 files changed, 484 insertions(+), 30 deletions(-) create mode 100644 Sentry.xcodeproj/xcshareddata/xcschemes/SentryPrivate.xcscheme create mode 100644 SentryPrivate.podspec create mode 100644 Sources/Configuration/SentryPrivate.xcconfig create mode 100644 Sources/Swift/Sentry.swift diff --git a/Package.swift b/Package.swift index 262fa2c4084..4f552855c72 100644 --- a/Package.swift +++ b/Package.swift @@ -9,7 +9,7 @@ let package = Package( .library(name: "Sentry-Dynamic", type: .dynamic, targets: ["Sentry"]) ], targets: [ - .target( name: "SentrySwift", + .target( name: "SentryPrivate", path: "Sources", sources: [ "Swift" @@ -17,7 +17,7 @@ let package = Package( ), .target( name: "Sentry", - dependencies: ["SentrySwift"], + dependencies: ["SentryPrivate"], path: "Sources", sources: [ "Sentry/", diff --git a/Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj b/Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj index 3fd493faa5d..2109e4e8e42 100644 --- a/Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj +++ b/Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj @@ -132,6 +132,13 @@ remoteGlobalIDString = 637AFDA5243B02760034958B; remoteInfo = "iOS-Swift"; }; + D81A3499291D0B2C005A27A9 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 6308532C2440C44F00DDE4CE /* Sentry.xcodeproj */; + proxyType = 2; + remoteGlobalIDString = D81A3488291D0AC0005A27A9; + remoteInfo = SentryPrivate; + }; D83A30CA279F075800372D0A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 6308532C2440C44F00DDE4CE /* Sentry.xcodeproj */; @@ -350,6 +357,7 @@ children = ( 630853322440C44F00DDE4CE /* Sentry.framework */, 630853342440C44F00DDE4CE /* SentryTests.xctest */, + D81A349A291D0B2C005A27A9 /* SentryPrivate.framework */, ); name = Products; sourceTree = ""; @@ -720,6 +728,13 @@ remoteRef = 630853332440C44F00DDE4CE /* PBXContainerItemProxy */; sourceTree = BUILT_PRODUCTS_DIR; }; + D81A349A291D0B2C005A27A9 /* SentryPrivate.framework */ = { + isa = PBXReferenceProxy; + fileType = wrapper.framework; + path = SentryPrivate.framework; + remoteRef = D81A3499291D0B2C005A27A9 /* PBXContainerItemProxy */; + sourceTree = BUILT_PRODUCTS_DIR; + }; /* End PBXReferenceProxy section */ /* Begin PBXResourcesBuildPhase section */ diff --git a/Sentry.podspec b/Sentry.podspec index e938c67607e..deb0b2bede6 100644 --- a/Sentry.podspec +++ b/Sentry.podspec @@ -27,19 +27,18 @@ Pod::Spec.new do |s| } s.default_subspecs = ['Core'] + s.dependency "SentryPrivate" s.subspec 'Core' do |sp| sp.source_files = "Sources/Sentry/**/*.{h,hpp,m,mm,c,cpp}", - "Sources/SentryCrash/**/*.{h,hpp,m,mm,c,cpp}", "Sources/Swift/**/*.{swift}" + "Sources/SentryCrash/**/*.{h,hpp,m,mm,c,cpp}", "Sources/Swift/Sentry.swift" sp.public_header_files = "Sources/Sentry/Public/*.h" - - sp.public_header_files = "Sources/Sentry/Public/*.h" end s.subspec 'HybridSDK' do |sp| sp.source_files = "Sources/Sentry/**/*.{h,hpp,m,mm,c,cpp}", - "Sources/SentryCrash/**/*.{h,hpp,m,mm,c,cpp}", "Sources/Swift/**/*.{swift}" + "Sources/SentryCrash/**/*.{h,hpp,m,mm,c,cpp}", "Sources/Swift/Sentry.swift" sp.public_header_files = "Sources/Sentry/Public/*.h", "Sources/Sentry/include/PrivateSentrySDKOnly.h" diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index a5d31cd0f28..f9bfb622df4 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 55; objects = { /* Begin PBXBuildFile section */ @@ -666,13 +666,16 @@ A8AFFCD42907E0CA00967CD7 /* SentryRequestTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A8AFFCD32907E0CA00967CD7 /* SentryRequestTests.swift */; }; A8F17B2E2901765900990B25 /* SentryRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = A8F17B2D2901765900990B25 /* SentryRequest.m */; }; A8F17B342902870300990B25 /* SentryHttpStatusCodeRange.m in Sources */ = {isa = PBXBuildFile; fileRef = A8F17B332902870300990B25 /* SentryHttpStatusCodeRange.m */; }; - D800942728F82F3A005D3943 /* SwiftDescriptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D800942628F82F3A005D3943 /* SwiftDescriptor.swift */; }; D8019910286B089000C277F0 /* SentryCrashReportSinkTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = D801990F286B089000C277F0 /* SentryCrashReportSinkTest.swift */; }; D808FB88281AB33C009A2A33 /* SentryUIEventTrackerTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D808FB86281AB31D009A2A33 /* SentryUIEventTrackerTests.swift */; }; D808FB8B281BCE96009A2A33 /* TestSentrySwizzleWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = D808FB89281BCE46009A2A33 /* TestSentrySwizzleWrapper.swift */; }; D808FB92281BF6EC009A2A33 /* SentryUIEventTrackingIntegrationTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D808FB90281BF6E9009A2A33 /* SentryUIEventTrackingIntegrationTests.swift */; }; D8137D54272B53070082656C /* TestSentrySpan.m in Sources */ = {isa = PBXBuildFile; fileRef = D8137D53272B53070082656C /* TestSentrySpan.m */; }; D81A346C291AECC7005A27A9 /* PrivateSentrySDKOnly.h in Headers */ = {isa = PBXBuildFile; fileRef = D81A346B291AECC7005A27A9 /* PrivateSentrySDKOnly.h */; settings = {ATTRIBUTES = (Private, ); }; }; + D81A3491291D0AC8005A27A9 /* SwiftDescriptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D800942628F82F3A005D3943 /* SwiftDescriptor.swift */; }; + D81A3492291D0AD5005A27A9 /* SentryPrivate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D81A3488291D0AC0005A27A9 /* SentryPrivate.framework */; platformFilters = (ios, maccatalyst, ); }; + D81A3493291D0AD5005A27A9 /* SentryPrivate.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D81A3488291D0AC0005A27A9 /* SentryPrivate.framework */; platformFilters = (ios, maccatalyst, ); settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + D81A349E291D0D16005A27A9 /* Sentry.swift in Sources */ = {isa = PBXBuildFile; fileRef = D81A349B291D0C0B005A27A9 /* Sentry.swift */; }; D81FDF12280EA1060045E0E4 /* SentryScreenShotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D81FDF10280EA0080045E0E4 /* SentryScreenShotTests.swift */; }; D8370B6A273DF1E900F66E2D /* SentryNSURLSessionTaskSearch.m in Sources */ = {isa = PBXBuildFile; fileRef = D8370B68273DF1E900F66E2D /* SentryNSURLSessionTaskSearch.m */; }; D8370B6C273DF20F00F66E2D /* SentryNSURLSessionTaskSearch.h in Headers */ = {isa = PBXBuildFile; fileRef = D8370B6B273DF20F00F66E2D /* SentryNSURLSessionTaskSearch.h */; }; @@ -731,8 +734,29 @@ remoteGlobalIDString = 63AA759A1EB8AEF500D153DE; remoteInfo = "Sentry-iOS"; }; + D81A3494291D0AD5005A27A9 /* PBXContainerItemProxy */ = { + isa = PBXContainerItemProxy; + containerPortal = 6327C5CA1EB8A783004E799B /* Project object */; + proxyType = 1; + remoteGlobalIDString = D81A3487291D0AC0005A27A9; + remoteInfo = SentryPrivate; + }; /* End PBXContainerItemProxy section */ +/* Begin PBXCopyFilesBuildPhase section */ + D81A3496291D0AD5005A27A9 /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + D81A3493291D0AD5005A27A9 /* SentryPrivate.framework in Embed Frameworks */, + ); + name = "Embed Frameworks"; + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXCopyFilesBuildPhase section */ + /* Begin PBXFileReference section */ 0356A56E288B4612008BF593 /* SentryProfilesSampler.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = SentryProfilesSampler.h; path = Sources/Sentry/SentryProfilesSampler.h; sourceTree = SOURCE_ROOT; }; 0356A56F288B4612008BF593 /* SentryProfilesSampler.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; name = SentryProfilesSampler.m; path = Sources/Sentry/SentryProfilesSampler.m; sourceTree = SOURCE_ROOT; }; @@ -1363,7 +1387,7 @@ 844DA7F6282435CD00E6B62E /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; 844DA80328246D5000E6B62E /* .oclint */ = {isa = PBXFileReference; lastKnownFileType = text; path = .oclint; sourceTree = ""; }; 844DA80428246D5000E6B62E /* Makefile */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.make; path = Makefile; sourceTree = ""; }; - 844DA80528246D5000E6B62E /* Sentry.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; path = Sentry.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 844DA80528246D5000E6B62E /* Sentry.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; path = Sentry.podspec; sourceTree = ""; }; 844DA80628246D5000E6B62E /* .craft.yml */ = {isa = PBXFileReference; lastKnownFileType = text.yaml; path = .craft.yml; sourceTree = ""; }; 844DA80728246D5000E6B62E /* Gemfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; path = Gemfile; sourceTree = ""; }; 844DA80828246D5000E6B62E /* .gitmodules */ = {isa = PBXFileReference; lastKnownFileType = text; path = .gitmodules; sourceTree = ""; }; @@ -1465,6 +1489,10 @@ D8137D52272B53070082656C /* TestSentrySpan.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = TestSentrySpan.h; sourceTree = ""; }; D8137D53272B53070082656C /* TestSentrySpan.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = TestSentrySpan.m; sourceTree = ""; }; D81A346B291AECC7005A27A9 /* PrivateSentrySDKOnly.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = PrivateSentrySDKOnly.h; path = include/PrivateSentrySDKOnly.h; sourceTree = ""; }; + D81A3488291D0AC0005A27A9 /* SentryPrivate.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SentryPrivate.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + D81A349B291D0C0B005A27A9 /* Sentry.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Sentry.swift; sourceTree = ""; }; + D81A349F291D5568005A27A9 /* SentryPrivate.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; path = SentryPrivate.podspec; sourceTree = ""; }; + D81A34A0291D5715005A27A9 /* SentryPrivate.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = SentryPrivate.xcconfig; sourceTree = ""; }; D81FDF10280EA0080045E0E4 /* SentryScreenShotTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryScreenShotTests.swift; sourceTree = ""; }; D8370B68273DF1E900F66E2D /* SentryNSURLSessionTaskSearch.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryNSURLSessionTaskSearch.m; sourceTree = ""; }; D8370B6B273DF20F00F66E2D /* SentryNSURLSessionTaskSearch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SentryNSURLSessionTaskSearch.h; path = include/SentryNSURLSessionTaskSearch.h; sourceTree = ""; }; @@ -1522,6 +1550,7 @@ buildActionMask = 2147483647; files = ( 63AF656C1ED87B8C00EBCFF7 /* libz.tbd in Frameworks */, + D81A3492291D0AD5005A27A9 /* SentryPrivate.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1533,6 +1562,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + D81A3485291D0AC0005A27A9 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ @@ -1718,6 +1754,7 @@ 844DA80E28246D5000E6B62E /* LICENSE.md */, 844DA80F28246D5000E6B62E /* README.md */, 844DA80528246D5000E6B62E /* Sentry.podspec */, + D81A349F291D5568005A27A9 /* SentryPrivate.podspec */, 844DA80D28246D5000E6B62E /* Package.swift */, 844DA80628246D5000E6B62E /* .craft.yml */, 844DA80A28246D5000E6B62E /* .swiftlint.yml */, @@ -1737,6 +1774,7 @@ children = ( 63AA759B1EB8AEF500D153DE /* Sentry.framework */, 63AA76651EB8CB2F00D153DE /* SentryTests.xctest */, + D81A3488291D0AC0005A27A9 /* SentryPrivate.framework */, ); name = Products; sourceTree = ""; @@ -1951,6 +1989,7 @@ isa = PBXGroup; children = ( 63AA75C51EB8B00100D153DE /* Sentry.xcconfig */, + D81A34A0291D5715005A27A9 /* SentryPrivate.xcconfig */, ); path = Configuration; sourceTree = ""; @@ -2842,6 +2881,7 @@ D800942328F82E8D005D3943 /* Swift */ = { isa = PBXGroup; children = ( + D81A349B291D0C0B005A27A9 /* Sentry.swift */, D800942628F82F3A005D3943 /* SwiftDescriptor.swift */, ); path = Swift; @@ -3215,6 +3255,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + D81A3483291D0AC0005A27A9 /* Headers */ = { + isa = PBXHeadersBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ @@ -3226,10 +3273,12 @@ 63AA75961EB8AEF500D153DE /* Sources */, 63AA75971EB8AEF500D153DE /* Frameworks */, 63AA75991EB8AEF500D153DE /* Resources */, + D81A3496291D0AD5005A27A9 /* Embed Frameworks */, ); buildRules = ( ); dependencies = ( + D81A3495291D0AD5005A27A9 /* PBXTargetDependency */, ); name = Sentry; productName = "Sentry-iOS"; @@ -3254,19 +3303,37 @@ productReference = 63AA76651EB8CB2F00D153DE /* SentryTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; + D81A3487291D0AC0005A27A9 /* SentryPrivate */ = { + isa = PBXNativeTarget; + buildConfigurationList = D81A348C291D0AC0005A27A9 /* Build configuration list for PBXNativeTarget "SentryPrivate" */; + buildPhases = ( + D81A3483291D0AC0005A27A9 /* Headers */, + D81A3484291D0AC0005A27A9 /* Sources */, + D81A3485291D0AC0005A27A9 /* Frameworks */, + D81A3486291D0AC0005A27A9 /* Resources */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = SentryPrivate; + productName = SentryPrivate; + productReference = D81A3488291D0AC0005A27A9 /* SentryPrivate.framework */; + productType = "com.apple.product-type.framework"; + }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ 6327C5CA1EB8A783004E799B /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 1250; + LastSwiftUpdateCheck = 1410; LastUpgradeCheck = 1400; ORGANIZATIONNAME = Sentry; TargetAttributes = { 63AA759A1EB8AEF500D153DE = { CreatedOnToolsVersion = 8.3.2; - LastSwiftMigration = 1400; + LastSwiftMigration = 1410; ProvisioningStyle = Manual; }; 63AA76641EB8CB2F00D153DE = { @@ -3274,6 +3341,9 @@ LastSwiftMigration = 1120; ProvisioningStyle = Manual; }; + D81A3487291D0AC0005A27A9 = { + CreatedOnToolsVersion = 14.1; + }; }; }; buildConfigurationList = 6327C5CD1EB8A783004E799B /* Build configuration list for PBXProject "Sentry" */; @@ -3291,6 +3361,7 @@ targets = ( 63AA759A1EB8AEF500D153DE /* Sentry */, 63AA76641EB8CB2F00D153DE /* SentryTests */, + D81A3487291D0AC0005A27A9 /* SentryPrivate */, ); }; /* End PBXProject section */ @@ -3311,6 +3382,13 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + D81A3486291D0AC0005A27A9 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ @@ -3389,6 +3467,7 @@ 630435FF1EBCA9D900C4D3FA /* SentryNSURLRequest.m in Sources */, 7B5CAF7727F5A68C00ED0DB6 /* SentryNSURLRequestBuilder.m in Sources */, 639FCFA11EBC804600778193 /* SentryException.m in Sources */, + D81A349E291D0D16005A27A9 /* Sentry.swift in Sources */, 7BA61CAD247BAA0B00C130A8 /* SentryDebugImageProvider.m in Sources */, 63FE70E720DA4C1000CDBAE8 /* SentryCrashMonitor.c in Sources */, D85852B627ECEEDA00C6D8AE /* SentryScreenshot.m in Sources */, @@ -3531,7 +3610,6 @@ 632F43521F581D5400A18A36 /* SentryCrashExceptionApplication.m in Sources */, 0AABE2ED2885924A0057ED69 /* SentryPermissionsObserver.m in Sources */, 7B77BE3727EC8460003C9020 /* SentryDiscardReasonMapper.m in Sources */, - D800942728F82F3A005D3943 /* SwiftDescriptor.swift in Sources */, 63FE712520DA4C1000CDBAE8 /* SentryCrashSignalInfo.c in Sources */, 63FE70F320DA4C1000CDBAE8 /* SentryCrashMonitor_Signal.c in Sources */, D859696F27BECDA20036A46E /* SentryCoreDataTracker.m in Sources */, @@ -3774,6 +3852,14 @@ ); runOnlyForDeploymentPostprocessing = 0; }; + D81A3484291D0AC0005A27A9 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + D81A3491291D0AC8005A27A9 /* SwiftDescriptor.swift in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ @@ -3782,6 +3868,15 @@ target = 63AA759A1EB8AEF500D153DE /* Sentry */; targetProxy = 63AA766B1EB8CB2F00D153DE /* PBXContainerItemProxy */; }; + D81A3495291D0AD5005A27A9 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + platformFilters = ( + ios, + maccatalyst, + ); + target = D81A3487291D0AC0005A27A9 /* SentryPrivate */; + targetProxy = D81A3494291D0AD5005A27A9 /* PBXContainerItemProxy */; + }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ @@ -3903,7 +3998,8 @@ MACOSX_DEPLOYMENT_TARGET = 10.10; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_TREAT_WARNINGS_AS_ERRORS = YES; TARGETED_DEVICE_FAMILY = "1,2"; TVOS_DEPLOYMENT_TARGET = 9.0; @@ -3938,8 +4034,13 @@ GCC_WARN_SHADOW = YES; INFOPLIST_FILE = Sources/Sentry/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); MACOSX_DEPLOYMENT_TARGET = 10.10; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; @@ -3977,7 +4078,11 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); MACOSX_DEPLOYMENT_TARGET = 10.10; ONLY_ACTIVE_ARCH = NO; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; @@ -4004,7 +4109,11 @@ DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = Tests/SentryTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); MACOSX_DEPLOYMENT_TARGET = 10.10; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry.tests; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -4033,7 +4142,11 @@ DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = Tests/SentryTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); MACOSX_DEPLOYMENT_TARGET = 10.10; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry.tests; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -4144,8 +4257,13 @@ GCC_WARN_SHADOW = YES; INFOPLIST_FILE = Sources/Sentry/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); MACOSX_DEPLOYMENT_TARGET = 10.10; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; @@ -4173,7 +4291,11 @@ DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = Tests/SentryTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); MACOSX_DEPLOYMENT_TARGET = 10.10; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry.tests; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -4278,8 +4400,13 @@ GCC_WARN_SHADOW = YES; INFOPLIST_FILE = Sources/Sentry/Info.plist; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); MACOSX_DEPLOYMENT_TARGET = 10.10; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; @@ -4307,7 +4434,11 @@ DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = Tests/SentryTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); MACOSX_DEPLOYMENT_TARGET = 10.10; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry.tests; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -4320,6 +4451,141 @@ }; name = Test; }; + D81A348D291D0AC0005A27A9 /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D81A34A0291D5715005A27A9 /* SentryPrivate.xcconfig */; + buildSettings = { + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = 97JCY7859U; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_C_LANGUAGE_STANDARD = "compiler-default"; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Sentry. All rights reserved."; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = io.sentry.SentryPrivate; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + }; + name = Debug; + }; + D81A348E291D0AC0005A27A9 /* Test */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D81A34A0291D5715005A27A9 /* SentryPrivate.xcconfig */; + buildSettings = { + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = 97JCY7859U; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_C_LANGUAGE_STANDARD = "compiler-default"; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Sentry. All rights reserved."; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = io.sentry.SentryPrivate; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + }; + name = Test; + }; + D81A348F291D0AC0005A27A9 /* TestCI */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D81A34A0291D5715005A27A9 /* SentryPrivate.xcconfig */; + buildSettings = { + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = 97JCY7859U; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_C_LANGUAGE_STANDARD = "compiler-default"; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Sentry. All rights reserved."; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = io.sentry.SentryPrivate; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + }; + name = TestCI; + }; + D81A3490291D0AC0005A27A9 /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = D81A34A0291D5715005A27A9 /* SentryPrivate.xcconfig */; + buildSettings = { + ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CODE_SIGN_STYLE = Automatic; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = 97JCY7859U; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + GCC_C_LANGUAGE_STANDARD = "compiler-default"; + GENERATE_INFOPLIST_FILE = YES; + INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Sentry. All rights reserved."; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); + MTL_FAST_MATH = YES; + PRODUCT_BUNDLE_IDENTIFIER = io.sentry.SentryPrivate; + SWIFT_EMIT_LOC_STRINGS = YES; + SWIFT_VERSION = 5.0; + }; + name = Release; + }; /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ @@ -4356,6 +4622,17 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; + D81A348C291D0AC0005A27A9 /* Build configuration list for PBXNativeTarget "SentryPrivate" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + D81A348D291D0AC0005A27A9 /* Debug */, + D81A348E291D0AC0005A27A9 /* Test */, + D81A348F291D0AC0005A27A9 /* TestCI */, + D81A3490291D0AC0005A27A9 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; /* End XCConfigurationList section */ }; rootObject = 6327C5CA1EB8A783004E799B /* Project object */; diff --git a/Sentry.xcodeproj/xcshareddata/xcschemes/SentryPrivate.xcscheme b/Sentry.xcodeproj/xcshareddata/xcschemes/SentryPrivate.xcscheme new file mode 100644 index 00000000000..58096bd9b9c --- /dev/null +++ b/Sentry.xcodeproj/xcshareddata/xcschemes/SentryPrivate.xcscheme @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SentryPrivate.podspec b/SentryPrivate.podspec new file mode 100644 index 00000000000..bef1db12af1 --- /dev/null +++ b/SentryPrivate.podspec @@ -0,0 +1,35 @@ +Pod::Spec.new do |s| + s.name = "SentryPrivate" + s.version = "7.30.0" + s.summary = "Sentry Private Library. Do not target this directly" + s.homepage = "https://github.com/getsentry/sentry-cocoa" + s.license = "mit" + s.authors = "Sentry" + s.source = { :git => "https://github.com/getsentry/sentry-cocoa.git", + :tag => s.version.to_s } + + s.ios.deployment_target = "9.0" + s.osx.deployment_target = "10.10" + s.tvos.deployment_target = "9.0" + s.watchos.deployment_target = "2.0" + s.module_name = "SentryPrivate" + s.requires_arc = true + s.frameworks = 'Foundation' + s.libraries = 'c++' + s.swift_versions = "5.5" + s.pod_target_xcconfig = { + 'GCC_ENABLE_CPP_EXCEPTIONS' => 'YES', + 'CLANG_CXX_LANGUAGE_STANDARD' => 'c++14', + 'CLANG_CXX_LIBRARY' => 'libc++' + } + s.watchos.pod_target_xcconfig = { + 'OTHER_LDFLAGS' => '$(inherited) -framework WatchKit' + } + + s.default_subspecs = ['Core'] + + s.subspec 'Core' do |sp| + sp.source_files = "Sources/Swift/**/*.{swift}" + end + +end diff --git a/Sources/Configuration/SentryPrivate.xcconfig b/Sources/Configuration/SentryPrivate.xcconfig new file mode 100644 index 00000000000..58b6f292210 --- /dev/null +++ b/Sources/Configuration/SentryPrivate.xcconfig @@ -0,0 +1,65 @@ +SDKROOT = $(SDKROOT__CARTHAGE_$(CARTHAGE)) // basically, iphoneos (unless «CARTHAGE» == «YES») +// Carthage relies on this assumption, years standing — that SDKROOT is default or explicitly +// set to `macosx` (or equivalent) under the ‘single target, multiple platform’ paradigm +// because of a xcodebuild bug involving the sdk flag and implicit dependency: see «Carthage/Carthage#347». +SDKROOT__CARTHAGE_YES = macosx +// Importantly, the below two lines appease «Xcode.app», and get the UI to show Mac Catalyst destinations. +SDKROOT__CARTHAGE_NO = iphoneos +SDKROOT__CARTHAGE_ = iphoneos +// …in order for ‘single target, multiple platform’ extrapolations to hold true, +// all the above relies on the ability of Xcode GUI, xcodebuild, and Carthage via xcodebuild to +// override «SDKROOT» based on selected destination (particularly for appletv* and watchos* platforms.) +// …if the override behavior ever breaks, expect weird output and the probable need to migrate away from +// the ‘single target, multiple platform’ paradigm. + +// …`SUPPORTED_PLATFORMS`, in service of ‘single target, multiple platform’ extrapolation, must never +// engage in dollar-parentheses syntax — unless that dollar-parentheses basis is +// entirely non-platform–derived, e.g. based upon `XCODE_VERSION_MAJOR`. +// Note: Carthage, unfortunately, as current of v0.34.0 queries rather harshly on the platform values below +// ⋯ quite early in the process, queried values not compiled into Carthage will cause hard errors. +SUPPORTED_PLATFORMS = macosx iphoneos iphonesimulator watchos watchsimulator appletvos appletvsimulator +TARGETED_DEVICE_FAMILY = 1,2,3,4 +SKIP_INSTALL = YES +DEFINES_MODULE = YES +DYLIB_COMPATIBILITY_VERSION = 1 +DYLIB_CURRENT_VERSION = 1 +DYLIB_INSTALL_NAME_BASE = @rpath +MACH_O_TYPE = mh_dylib +FRAMEWORK_VERSION = A + +PRODUCT_NAME = SentryPrivate +CURRENT_PROJECT_VERSION = 7.30.0 +PRODUCT_BUNDLE_IDENTIFIER = io.sentry.SentryPrivate +ALWAYS_SEARCH_USER_PATHS = NO +CLANG_ENABLE_OBJC_ARC = YES +CLANG_ENABLE_MODULES = YES +//OTHER_CFLAGS = -Wall -Wextra -Wpedantic -Wno-gnu-conditional-omitted-operand + +ONLY_ACTIVE_ARCH[config=Debug] = YES +GCC_OPTIMIZATION_LEVEL[config=Debug] = 0 +COPY_PHASE_STRIP[config=Debug] = NO + +MACOSX_DEPLOYMENT_TARGET = 10.9 +IPHONEOS_DEPLOYMENT_TARGET = 9.0 +WATCHOS_DEPLOYMENT_TARGET = 2.0 +TVOS_DEPLOYMENT_TARGET = 9.0 + +LD_RUNPATH_SEARCH_PATHS[sdk=macosx*] = $(inherited) @executable_path/../Frameworks @loader_path/../Frameworks; +LD_RUNPATH_SEARCH_PATHS[sdk=iphone*] = $(inherited) @executable_path/Frameworks @loader_path/Frameworks; +LD_RUNPATH_SEARCH_PATHS[sdk=watch*] = $(inherited) @executable_path/Frameworks @loader_path/Frameworks; +LD_RUNPATH_SEARCH_PATHS[sdk=appletv*] = $(inherited) @executable_path/Frameworks @loader_path/Frameworks; + +OTHER_LDFLAGS[sdk=watch*] = $(inherited) -framework WatchKit + +//SWIFT_INCLUDE_PATHS = $(SRCROOT)/Sources/Sentry + +// SWIFT_VERSION is only recognized by Xcode 8 and higher. +// Prior versions of Xcode support only one Swift version. +// SWIFT_VERSION = 3.1 + +// Although `YES` is the default for iOS targets, command-line output via `xcodebuild -showBuildSettings` +// will not emit this value unless it is explicitly set. +SUPPORTS_MACCATALYST = YES + +CLANG_CXX_LANGUAGE_STANDARD = c++14 +CLANG_CXX_LIBRARY = libc++ diff --git a/Sources/Sentry/include/SentrySwift.h b/Sources/Sentry/include/SentrySwift.h index 1bc38e554d1..55ab04ecc71 100644 --- a/Sources/Sentry/include/SentrySwift.h +++ b/Sources/Sentry/include/SentrySwift.h @@ -15,13 +15,6 @@ * "Sentry-Swift.h"". */ -#if SWIFT_PACKAGE // For SWIFT PACKAGE MANAGER -@import SentrySwift; -#else -# if __has_include() //COCOAPODS with USE_FRAMEWORKS -# import -# else -# import "Sentry-Swift.h" //Everything else -# endif -#endif +@import SentryPrivate; + #endif diff --git a/Sources/Swift/Sentry.swift b/Sources/Swift/Sentry.swift new file mode 100644 index 00000000000..4ff587d1147 --- /dev/null +++ b/Sources/Swift/Sentry.swift @@ -0,0 +1,3 @@ +//This file is only necessary to make Sentry framework compile using swift compiler. +//This file target membership must be 'Sentry'. +import Foundation From e7f1c9ddae66b29611b735e7c24527564c4c6352 Mon Sep 17 00:00:00 2001 From: Dhiogo Ramos Brustolin Date: Thu, 10 Nov 2022 17:20:50 +0100 Subject: [PATCH 55/58] Update project.pbxproj --- Sentry.xcodeproj/project.pbxproj | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index ffb892b4ba5..4153b070765 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -1484,7 +1484,6 @@ A8F17B2D2901765900990B25 /* SentryRequest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryRequest.m; sourceTree = ""; }; A8F17B332902870300990B25 /* SentryHttpStatusCodeRange.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SentryHttpStatusCodeRange.m; sourceTree = ""; }; D800942628F82F3A005D3943 /* SwiftDescriptor.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftDescriptor.swift; sourceTree = ""; }; - D801990F286B089000C277F0 /* SentryCrashReportSinkTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryCrashReportSinkTest.swift; sourceTree = ""; }; D801990F286B089000C277F0 /* SentryCrashReportSinkTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryCrashReportSinkTests.swift; sourceTree = ""; }; D808FB86281AB31D009A2A33 /* SentryUIEventTrackerTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SentryUIEventTrackerTests.swift; sourceTree = ""; }; D808FB89281BCE46009A2A33 /* TestSentrySwizzleWrapper.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TestSentrySwizzleWrapper.swift; sourceTree = ""; }; @@ -4467,9 +4466,9 @@ CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; + CODE_SIGN_STYLE = Manual; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = 97JCY7859U; + DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -4485,6 +4484,7 @@ MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.SentryPrivate; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; @@ -4503,9 +4503,9 @@ CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; + CODE_SIGN_STYLE = Manual; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = 97JCY7859U; + DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -4520,6 +4520,7 @@ ); MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.SentryPrivate; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; }; @@ -4536,9 +4537,9 @@ CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; + CODE_SIGN_STYLE = Manual; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = 97JCY7859U; + DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -4553,6 +4554,7 @@ ); MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.SentryPrivate; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; }; @@ -4569,9 +4571,9 @@ CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CODE_SIGN_STYLE = Automatic; + CODE_SIGN_STYLE = Manual; DEFINES_MODULE = YES; - DEVELOPMENT_TEAM = 97JCY7859U; + DEVELOPMENT_TEAM = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -4586,6 +4588,7 @@ ); MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.SentryPrivate; + PROVISIONING_PROFILE_SPECIFIER = ""; SWIFT_EMIT_LOC_STRINGS = YES; SWIFT_VERSION = 5.0; }; From d73af80f0afdb696785c5a4a7fe0274bee51c121 Mon Sep 17 00:00:00 2001 From: Dhiogo Ramos Brustolin Date: Thu, 10 Nov 2022 17:49:55 +0100 Subject: [PATCH 56/58] Update project.pbxproj --- Sentry.xcodeproj/project.pbxproj | 86 +++++++------------------------- 1 file changed, 17 insertions(+), 69 deletions(-) diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index 4153b070765..ad1ab5c57a3 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 55; + objectVersion = 46; objects = { /* Begin PBXBuildFile section */ @@ -674,8 +674,8 @@ D8137D54272B53070082656C /* TestSentrySpan.m in Sources */ = {isa = PBXBuildFile; fileRef = D8137D53272B53070082656C /* TestSentrySpan.m */; }; D81A346C291AECC7005A27A9 /* PrivateSentrySDKOnly.h in Headers */ = {isa = PBXBuildFile; fileRef = D81A346B291AECC7005A27A9 /* PrivateSentrySDKOnly.h */; settings = {ATTRIBUTES = (Private, ); }; }; D81A3491291D0AC8005A27A9 /* SwiftDescriptor.swift in Sources */ = {isa = PBXBuildFile; fileRef = D800942628F82F3A005D3943 /* SwiftDescriptor.swift */; }; - D81A3492291D0AD5005A27A9 /* SentryPrivate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D81A3488291D0AC0005A27A9 /* SentryPrivate.framework */; platformFilters = (ios, maccatalyst, ); }; - D81A3493291D0AD5005A27A9 /* SentryPrivate.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D81A3488291D0AC0005A27A9 /* SentryPrivate.framework */; platformFilters = (ios, maccatalyst, ); settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + D81A3492291D0AD5005A27A9 /* SentryPrivate.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D81A3488291D0AC0005A27A9 /* SentryPrivate.framework */; }; + D81A3493291D0AD5005A27A9 /* SentryPrivate.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D81A3488291D0AC0005A27A9 /* SentryPrivate.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; D81A349E291D0D16005A27A9 /* Sentry.swift in Sources */ = {isa = PBXBuildFile; fileRef = D81A349B291D0C0B005A27A9 /* Sentry.swift */; }; D81FDF12280EA1060045E0E4 /* SentryScreenShotTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D81FDF10280EA0080045E0E4 /* SentryScreenShotTests.swift */; }; D8370B6A273DF1E900F66E2D /* SentryNSURLSessionTaskSearch.m in Sources */ = {isa = PBXBuildFile; fileRef = D8370B68273DF1E900F66E2D /* SentryNSURLSessionTaskSearch.m */; }; @@ -3346,6 +3346,7 @@ }; D81A3487291D0AC0005A27A9 = { CreatedOnToolsVersion = 14.1; + ProvisioningStyle = Manual; }; }; }; @@ -3874,10 +3875,6 @@ }; D81A3495291D0AD5005A27A9 /* PBXTargetDependency */ = { isa = PBXTargetDependency; - platformFilters = ( - ios, - maccatalyst, - ); target = D81A3487291D0AC0005A27A9 /* SentryPrivate */; targetProxy = D81A3494291D0AD5005A27A9 /* PBXContainerItemProxy */; }; @@ -4002,8 +3999,7 @@ MACOSX_DEPLOYMENT_TARGET = 10.10; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; SWIFT_TREAT_WARNINGS_AS_ERRORS = YES; TARGETED_DEVICE_FAMILY = "1,2"; TVOS_DEPLOYMENT_TARGET = 9.0; @@ -4040,11 +4036,7 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.10; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; @@ -4082,11 +4074,7 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.10; ONLY_ACTIVE_ARCH = NO; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; @@ -4113,11 +4101,7 @@ DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = Tests/SentryTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.10; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry.tests; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -4146,11 +4130,7 @@ DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = Tests/SentryTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.10; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry.tests; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -4263,11 +4243,7 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.10; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; @@ -4295,11 +4271,7 @@ DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = Tests/SentryTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.10; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry.tests; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -4406,11 +4378,7 @@ INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 9.0; LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.10; ONLY_ACTIVE_ARCH = YES; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry; @@ -4438,11 +4406,7 @@ DEVELOPMENT_TEAM = ""; INFOPLIST_FILE = Tests/SentryTests/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 9.0; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACOSX_DEPLOYMENT_TARGET = 10.10; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.Sentry.tests; PRODUCT_NAME = "$(TARGET_NAME)"; @@ -4476,11 +4440,7 @@ GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Sentry. All rights reserved."; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.SentryPrivate; @@ -4513,11 +4473,7 @@ GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Sentry. All rights reserved."; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.SentryPrivate; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -4547,11 +4503,7 @@ GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Sentry. All rights reserved."; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.SentryPrivate; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -4581,11 +4533,7 @@ GENERATE_INFOPLIST_FILE = YES; INFOPLIST_KEY_NSHumanReadableCopyright = "Copyright © 2022 Sentry. All rights reserved."; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = ( - "$(inherited)", - "@executable_path/Frameworks", - "@loader_path/Frameworks", - ); + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MTL_FAST_MATH = YES; PRODUCT_BUNDLE_IDENTIFIER = io.sentry.SentryPrivate; PROVISIONING_PROFILE_SPECIFIER = ""; From 05ee747d85fa2810abb5105cb888cbe0e9e453b3 Mon Sep 17 00:00:00 2001 From: Dhiogo Ramos Brustolin Date: Fri, 11 Nov 2022 08:23:32 +0100 Subject: [PATCH 57/58] Update SentryPrivate.podspec --- SentryPrivate.podspec | 27 ++++++++++----------------- 1 file changed, 10 insertions(+), 17 deletions(-) diff --git a/SentryPrivate.podspec b/SentryPrivate.podspec index bef1db12af1..798be81b765 100644 --- a/SentryPrivate.podspec +++ b/SentryPrivate.podspec @@ -1,35 +1,28 @@ Pod::Spec.new do |s| s.name = "SentryPrivate" s.version = "7.30.0" - s.summary = "Sentry Private Library. Do not target this directly" + s.summary = "Sentry Private Library." s.homepage = "https://github.com/getsentry/sentry-cocoa" s.license = "mit" s.authors = "Sentry" s.source = { :git => "https://github.com/getsentry/sentry-cocoa.git", :tag => s.version.to_s } + s.social_media_url = 'https://getsentry.com/' + s.description = <<-DESC + Not for public use. + Common APIs for internal Sentry usage. + DESC + s.ios.deployment_target = "9.0" s.osx.deployment_target = "10.10" s.tvos.deployment_target = "9.0" s.watchos.deployment_target = "2.0" s.module_name = "SentryPrivate" - s.requires_arc = true s.frameworks = 'Foundation' - s.libraries = 'c++' - s.swift_versions = "5.5" - s.pod_target_xcconfig = { - 'GCC_ENABLE_CPP_EXCEPTIONS' => 'YES', - 'CLANG_CXX_LANGUAGE_STANDARD' => 'c++14', - 'CLANG_CXX_LIBRARY' => 'libc++' - } - s.watchos.pod_target_xcconfig = { - 'OTHER_LDFLAGS' => '$(inherited) -framework WatchKit' - } - s.default_subspecs = ['Core'] - - s.subspec 'Core' do |sp| - sp.source_files = "Sources/Swift/**/*.{swift}" - end + s.swift_versions = "5.5" + s.watchos.framework = 'WatchKit' + s.source_files = "Sources/Swift/**/*.{swift}" end From 24d602791a0343892942ca1522d7902c7b600e21 Mon Sep 17 00:00:00 2001 From: Dhiogo Ramos Brustolin Date: Fri, 11 Nov 2022 09:49:18 +0100 Subject: [PATCH 58/58] Update SentryPrivate.podspec --- SentryPrivate.podspec | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/SentryPrivate.podspec b/SentryPrivate.podspec index 798be81b765..2ec9e9c572d 100644 --- a/SentryPrivate.podspec +++ b/SentryPrivate.podspec @@ -1,12 +1,12 @@ Pod::Spec.new do |s| s.name = "SentryPrivate" - s.version = "7.30.0" + s.version = "0.1.0" s.summary = "Sentry Private Library." s.homepage = "https://github.com/getsentry/sentry-cocoa" s.license = "mit" s.authors = "Sentry" s.source = { :git => "https://github.com/getsentry/sentry-cocoa.git", - :tag => s.version.to_s } + :tag => "alpha-" + s.version.to_s } s.social_media_url = 'https://getsentry.com/' s.description = <<-DESC