From bc7a2c848bf156726198f0e6ff5e8723d29111ae Mon Sep 17 00:00:00 2001 From: Denis Andrasec Date: Tue, 24 Sep 2024 14:51:40 +0200 Subject: [PATCH 01/15] Support `mergable-library` for dynamic frameworks --- scripts/build-xcframework.sh | 41 +++++++++++++++++++++++++++++++----- 1 file changed, 36 insertions(+), 5 deletions(-) diff --git a/scripts/build-xcframework.sh b/scripts/build-xcframework.sh index 6259b7595c8..6486b101fc6 100755 --- a/scripts/build-xcframework.sh +++ b/scripts/build-xcframework.sh @@ -16,13 +16,17 @@ generate_xcframework() { local configuration_suffix="${4-}" local createxcframework="xcodebuild -create-xcframework " local GCC_GENERATE_DEBUGGING_SYMBOLS="YES" - + local OTHER_LDFLAGS="" + local resolved_configuration="Release$configuration_suffix" local resolved_product_name="$scheme$configuration_suffix" if [ "$MACH_O_TYPE" = "staticlib" ]; then #For static framework we disabled symbols because they are not distributed in the framework causing warnings. GCC_GENERATE_DEBUGGING_SYMBOLS="NO" + else + # Set the linker flag only for dynamic libraries + OTHER_LDFLAGS="-Wl,-make_mergeable" fi rm -rf Carthage/DerivedData @@ -30,7 +34,20 @@ generate_xcframework() { for sdk in "${sdks[@]}"; do if grep -q "${sdk}" <<< "$ALL_SDKS"; then - xcodebuild archive -project Sentry.xcodeproj/ -scheme "$scheme" -configuration "$resolved_configuration" -sdk "$sdk" -archivePath "./Carthage/archive/${scheme}${suffix}/${sdk}.xcarchive" CODE_SIGNING_REQUIRED=NO SKIP_INSTALL=NO CODE_SIGN_IDENTITY= CARTHAGE=YES MACH_O_TYPE="$MACH_O_TYPE" ENABLE_CODE_COVERAGE=NO GCC_GENERATE_DEBUGGING_SYMBOLS="$GCC_GENERATE_DEBUGGING_SYMBOLS" + xcodebuild archive \ + -project Sentry.xcodeproj/ \ + -scheme "$scheme" \ + -configuration "$resolved_configuration" \ + -sdk "$sdk" \ + -archivePath "./Carthage/archive/${scheme}${suffix}/${sdk}.xcarchive" \ + CODE_SIGNING_REQUIRED=NO \ + SKIP_INSTALL=NO \ + CODE_SIGN_IDENTITY= \ + CARTHAGE=YES \ + MACH_O_TYPE="$MACH_O_TYPE" \ + ENABLE_CODE_COVERAGE=NO \ + GCC_GENERATE_DEBUGGING_SYMBOLS="$GCC_GENERATE_DEBUGGING_SYMBOLS" \ + OTHER_LDFLAGS="$OTHER_LDFLAGS" createxcframework+="-framework Carthage/archive/${scheme}${suffix}/${sdk}.xcarchive/Products/Library/Frameworks/${resolved_product_name}.framework " @@ -48,7 +65,7 @@ generate_xcframework() { if [ -d "Carthage/archive/${scheme}${suffix}/${sdk}.xcarchive/dSYMs/${resolved_product_name}.framework.dSYM" ]; then # Has debug symbols - createxcframework+="-debug-symbols $(pwd -P)/Carthage/archive/${scheme}${suffix}/${sdk}.xcarchive/dSYMs/${resolved_product_name}.framework.dSYM " + createxcframework+="-debug-symbols $(pwd -P)/Carthage/archive/${scheme}${suffix}/${sdk}.xcarchive/dSYMs/${resolved_product_name}.framework.dSYM " fi else echo "${sdk} SDK not found" @@ -56,8 +73,22 @@ generate_xcframework() { done #Create framework for mac catalyst - xcodebuild -project Sentry.xcodeproj/ -scheme "$scheme" -configuration "$resolved_configuration" -sdk iphoneos -destination 'platform=macOS,variant=Mac Catalyst' -derivedDataPath ./Carthage/DerivedData CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES MACH_O_TYPE="$MACH_O_TYPE" SUPPORTS_MACCATALYST=YES ENABLE_CODE_COVERAGE=NO GCC_GENERATE_DEBUGGING_SYMBOLS="$GCC_GENERATE_DEBUGGING_SYMBOLS" - + xcodebuild \ + -project Sentry.xcodeproj/ \ + -scheme "$scheme" \ + -configuration "$resolved_configuration" \ + -sdk iphoneos \ + -destination 'platform=macOS,variant=Mac Catalyst' \ + -derivedDataPath ./Carthage/DerivedData \ + CODE_SIGNING_REQUIRED=NO \ + CODE_SIGN_IDENTITY= \ + CARTHAGE=YES \ + MACH_O_TYPE="$MACH_O_TYPE" \ + SUPPORTS_MACCATALYST=YES \ + ENABLE_CODE_COVERAGE=NO \ + GCC_GENERATE_DEBUGGING_SYMBOLS="$GCC_GENERATE_DEBUGGING_SYMBOLS" \ + OTHER_LDFLAGS="$OTHER_LDFLAGS" + if [ "$MACH_O_TYPE" = "staticlib" ]; then local infoPlist="Carthage/DerivedData/Build/Products/$resolved_configuration-maccatalyst/${scheme}.framework/Resources/Info.plist" plutil -replace "MinimumOSVersion" -string "100.0" "$infoPlist" From 96d883b0709fafd98ff67be88695eb33cb9ebd2e Mon Sep 17 00:00:00 2001 From: Denis Andrasec Date: Tue, 24 Sep 2024 15:56:29 +0200 Subject: [PATCH 02/15] Remove make_mergable linker flag for watchos and wachsimulator SDKs --- scripts/build-xcframework.sh | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/scripts/build-xcframework.sh b/scripts/build-xcframework.sh index 6486b101fc6..5d03531eca3 100755 --- a/scripts/build-xcframework.sh +++ b/scripts/build-xcframework.sh @@ -3,7 +3,8 @@ set -eou pipefail sdks=( iphoneos iphonesimulator macosx appletvos appletvsimulator watchos watchsimulator xros xrsimulator ) - +## watchos and watchsimulator emit error: ld: unknown option: -make_mergeable +un_mergable_sdks=( watchos watchsimulator ) rm -rf Carthage/ mkdir Carthage @@ -16,7 +17,7 @@ generate_xcframework() { local configuration_suffix="${4-}" local createxcframework="xcodebuild -create-xcframework " local GCC_GENERATE_DEBUGGING_SYMBOLS="YES" - local OTHER_LDFLAGS="" + local OTHER_LDFLAGS="-Wl,-make_mergeable" # Default value with -make_mergeable flag local resolved_configuration="Release$configuration_suffix" local resolved_product_name="$scheme$configuration_suffix" @@ -24,16 +25,19 @@ generate_xcframework() { if [ "$MACH_O_TYPE" = "staticlib" ]; then #For static framework we disabled symbols because they are not distributed in the framework causing warnings. GCC_GENERATE_DEBUGGING_SYMBOLS="NO" - else - # Set the linker flag only for dynamic libraries - OTHER_LDFLAGS="-Wl,-make_mergeable" + OTHER_LDFLAGS="" # Remove the make_mergeable linker flag for static libs fi - + rm -rf Carthage/DerivedData for sdk in "${sdks[@]}"; do if grep -q "${sdk}" <<< "$ALL_SDKS"; then + # Remove the make_mergeable linker flag for un-mergable SDKs + if [[ " ${un_mergable_sdks[@]} " =~ " ${sdk} " ]]; then + OTHER_LDFLAGS="" + fi + xcodebuild archive \ -project Sentry.xcodeproj/ \ -scheme "$scheme" \ From a881cac5092145d6ff32ba421c2e5c3792378296 Mon Sep 17 00:00:00 2001 From: Denis Andrasec Date: Tue, 24 Sep 2024 16:02:02 +0200 Subject: [PATCH 03/15] add cl entry --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 31322939883..9a8c43f57d9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## Unreleased + +### Features + +- Add mergeable libraries support to dynamic libraries (#4367) This is not supported for watchOS targets. + ## 8.37.0-beta.1 ### Features From dd66b8545414e81cd9ca12f3030c55902f4d5686 Mon Sep 17 00:00:00 2001 From: Denis Andrasec Date: Tue, 24 Sep 2024 16:05:07 +0200 Subject: [PATCH 04/15] format cl --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 50fe4fa7a72..7d01c28e701 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ ### Features - Add mergeable libraries support to dynamic libraries (#4367) This is not supported for watchOS targets. + ### Improvements - Speed up HTTP tracking for multiple requests in parallel (#4366) From 31c3d72d28e8889eb291395a2148028fc3a732ba Mon Sep 17 00:00:00 2001 From: Denis Andrasec Date: Tue, 24 Sep 2024 16:11:32 +0200 Subject: [PATCH 05/15] Enable in samples --- .../iOS-ObjectiveC.xcodeproj/project.pbxproj | 4 ++++ .../iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj | 12 ++++++++---- .../iOS-SwiftUI.xcodeproj/project.pbxproj | 4 ++++ .../iOS15-SwiftUI.xcodeproj/project.pbxproj | 2 ++ .../macOS-Swift.xcodeproj/project.pbxproj | 6 ++++-- .../tvOS-Swift/tvOS-Swift.xcodeproj/project.pbxproj | 4 ++++ .../visionOS-Swift.xcodeproj/project.pbxproj | 2 ++ Sentry.xcodeproj/project.pbxproj | 12 ++++++++++++ 8 files changed, 40 insertions(+), 6 deletions(-) diff --git a/Samples/iOS-ObjectiveC/iOS-ObjectiveC.xcodeproj/project.pbxproj b/Samples/iOS-ObjectiveC/iOS-ObjectiveC.xcodeproj/project.pbxproj index 45484f91824..9064255a84e 100644 --- a/Samples/iOS-ObjectiveC/iOS-ObjectiveC.xcodeproj/project.pbxproj +++ b/Samples/iOS-ObjectiveC/iOS-ObjectiveC.xcodeproj/project.pbxproj @@ -587,6 +587,7 @@ "$(inherited)", "@executable_path/Frameworks", ); + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-ObjectiveC"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -610,6 +611,7 @@ "$(inherited)", "@executable_path/Frameworks", ); + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-ObjectiveC"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -734,6 +736,7 @@ "$(inherited)", "@executable_path/Frameworks", ); + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-ObjectiveC"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -835,6 +838,7 @@ "$(inherited)", "@executable_path/Frameworks", ); + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-ObjectiveC"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; diff --git a/Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj b/Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj index 6b3bc884795..d185a68aaba 100644 --- a/Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj +++ b/Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj @@ -1417,7 +1417,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 8.37.0-beta.1; + MARKETING_VERSION = "8.37.0-beta.1"; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.sample.iOS-Swift"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = "match Development io.sentry.sample.iOS-Swift"; @@ -1446,7 +1446,7 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 8.37.0-beta.1; + MARKETING_VERSION = "8.37.0-beta.1"; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.sample.iOS-Swift"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = "match AppStore io.sentry.sample.iOS-Swift"; @@ -1718,6 +1718,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 7.27.0; + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.sample.iOS-Swift.Clip"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = "match Development io.sentry.sample.iOS-Swift.Clip"; @@ -1943,6 +1944,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 7.27.0; + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.sample.iOS-Swift.Clip"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = "match Development io.sentry.sample.iOS-Swift.Clip"; @@ -2095,7 +2097,8 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 8.37.0-beta.1; + MARKETING_VERSION = "8.37.0-beta.1"; + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.sample.iOS-Swift.Clip"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = "match Development io.sentry.sample.iOS-Swift.Clip"; @@ -2130,7 +2133,8 @@ "$(inherited)", "@executable_path/Frameworks", ); - MARKETING_VERSION = 8.37.0-beta.1; + MARKETING_VERSION = "8.37.0-beta.1"; + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.sample.iOS-Swift.Clip"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = "match AppStore io.sentry.sample.iOS-Swift.Clip"; diff --git a/Samples/iOS-SwiftUI/iOS-SwiftUI.xcodeproj/project.pbxproj b/Samples/iOS-SwiftUI/iOS-SwiftUI.xcodeproj/project.pbxproj index 61505ecbb5a..1f402227e88 100644 --- a/Samples/iOS-SwiftUI/iOS-SwiftUI.xcodeproj/project.pbxproj +++ b/Samples/iOS-SwiftUI/iOS-SwiftUI.xcodeproj/project.pbxproj @@ -733,6 +733,7 @@ "$(inherited)", "@executable_path/Frameworks", ); + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-SwiftUI"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -760,6 +761,7 @@ "$(inherited)", "@executable_path/Frameworks", ); + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-SwiftUI"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -844,6 +846,7 @@ "$(inherited)", "@executable_path/Frameworks", ); + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-SwiftUI"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -947,6 +950,7 @@ "$(inherited)", "@executable_path/Frameworks", ); + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS-SwiftUI"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = ""; diff --git a/Samples/iOS15-SwiftUI/iOS15-SwiftUI.xcodeproj/project.pbxproj b/Samples/iOS15-SwiftUI/iOS15-SwiftUI.xcodeproj/project.pbxproj index 2f60dda6e70..f3bddb3cc3b 100644 --- a/Samples/iOS15-SwiftUI/iOS15-SwiftUI.xcodeproj/project.pbxproj +++ b/Samples/iOS15-SwiftUI/iOS15-SwiftUI.xcodeproj/project.pbxproj @@ -310,6 +310,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 1.0; + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS15-SwiftUI"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; @@ -339,6 +340,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 1.0; + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.iOS15-SwiftUI"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; diff --git a/Samples/macOS-Swift/macOS-Swift.xcodeproj/project.pbxproj b/Samples/macOS-Swift/macOS-Swift.xcodeproj/project.pbxproj index a82a6f6d39a..43350a6e873 100644 --- a/Samples/macOS-Swift/macOS-Swift.xcodeproj/project.pbxproj +++ b/Samples/macOS-Swift/macOS-Swift.xcodeproj/project.pbxproj @@ -16,8 +16,8 @@ 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 */; }; - 924D21562C89FE2D00E0FEFD /* DiskWriteException.swift in Sources */ = {isa = PBXBuildFile; fileRef = 924D21552C89FE2D00E0FEFD /* DiskWriteException.swift */; }; 84BA72AE2C9369B80045B828 /* GitInjections.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84BA72AC2C9369B80045B828 /* GitInjections.swift */; }; + 924D21562C89FE2D00E0FEFD /* DiskWriteException.swift in Sources */ = {isa = PBXBuildFile; fileRef = 924D21552C89FE2D00E0FEFD /* DiskWriteException.swift */; }; 924D21682C8A01F800E0FEFD /* SentrySwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 924D215D2C89FE2D00E0FEFD /* SentrySwiftUI.framework */; }; 924D21692C8A01F800E0FEFD /* SentrySwiftUI.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 924D215D2C89FE2D00E0FEFD /* SentrySwiftUI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 924D216B2C8A020C00E0FEFD /* SwiftUIView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 924D216A2C8A020C00E0FEFD /* SwiftUIView.swift */; }; @@ -106,9 +106,9 @@ 7B948A05275E459C00F04173 /* CppSample.hpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.h; path = CppSample.hpp; sourceTree = ""; }; 7B948A08275E498E00F04173 /* CppWrapper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CppWrapper.h; sourceTree = ""; }; 7B948A09275E4A9900F04173 /* CppWrapper.m */ = {isa = PBXFileReference; explicitFileType = sourcecode.cpp.objcpp; path = CppWrapper.m; sourceTree = ""; }; + 84BA72AC2C9369B80045B828 /* GitInjections.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GitInjections.swift; sourceTree = ""; }; 924D21552C89FE2D00E0FEFD /* DiskWriteException.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DiskWriteException.swift; sourceTree = ""; }; 924D216A2C8A020C00E0FEFD /* SwiftUIView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SwiftUIView.swift; sourceTree = ""; }; - 84BA72AC2C9369B80045B828 /* GitInjections.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GitInjections.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -523,6 +523,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.macOS-Swift"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "macOS-Swift/macOS-Swift-Bridging-Header.h"; @@ -547,6 +548,7 @@ "$(inherited)", "@executable_path/../Frameworks", ); + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.macOS-Swift"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_OBJC_BRIDGING_HEADER = "macOS-Swift/macOS-Swift-Bridging-Header.h"; diff --git a/Samples/tvOS-Swift/tvOS-Swift.xcodeproj/project.pbxproj b/Samples/tvOS-Swift/tvOS-Swift.xcodeproj/project.pbxproj index c74bcb36113..4422ff784c3 100644 --- a/Samples/tvOS-Swift/tvOS-Swift.xcodeproj/project.pbxproj +++ b/Samples/tvOS-Swift/tvOS-Swift.xcodeproj/project.pbxproj @@ -804,6 +804,7 @@ "$(inherited)", "@executable_path/Frameworks", ); + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.tvOS-Swift"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -824,6 +825,7 @@ "$(inherited)", "@executable_path/Frameworks", ); + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.tvOS-Swift"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -901,6 +903,7 @@ "$(inherited)", "@executable_path/Frameworks", ); + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.tvOS-Swift"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -1044,6 +1047,7 @@ "$(inherited)", "@executable_path/Frameworks", ); + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.tvOS-Swift"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; diff --git a/Samples/visionOS-Swift/visionOS-Swift.xcodeproj/project.pbxproj b/Samples/visionOS-Swift/visionOS-Swift.xcodeproj/project.pbxproj index 4a202566799..34ad2d5be24 100644 --- a/Samples/visionOS-Swift/visionOS-Swift.xcodeproj/project.pbxproj +++ b/Samples/visionOS-Swift/visionOS-Swift.xcodeproj/project.pbxproj @@ -327,6 +327,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 1.0; + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.VisionOS-Swift"; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTED_PLATFORMS = "xros xrsimulator"; @@ -353,6 +354,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 1.0; + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.VisionOS-Swift"; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTED_PLATFORMS = "xros xrsimulator"; diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index 79fbb794e18..9f037ef0856 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -5379,6 +5379,7 @@ GCC_WARN_SHADOW = YES; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; + MERGEABLE_LIBRARY = YES; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DCARTHAGE_$(CARTHAGE)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -5417,6 +5418,7 @@ "@executable_path/Frameworks", "@loader_path/Frameworks", ); + MERGEABLE_LIBRARY = YES; ONLY_ACTIVE_ARCH = NO; OTHER_CFLAGS = "-DCARTHAGE_$(CARTHAGE)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -5577,6 +5579,7 @@ "@executable_path/Frameworks", "@loader_path/Frameworks", ); + MERGEABLE_LIBRARY = YES; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DCARTHAGE_$(CARTHAGE)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -5704,6 +5707,7 @@ "@executable_path/Frameworks", "@loader_path/Frameworks", ); + MERGEABLE_LIBRARY = YES; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DCARTHAGE_$(CARTHAGE)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -5780,6 +5784,7 @@ "@loader_path/Frameworks", ); MARKETING_VERSION = 1.0; + MERGEABLE_LIBRARY = YES; MODULEMAP_FILE = ""; MODULEMAP_PRIVATE_FILE = ""; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; @@ -6183,6 +6188,7 @@ "@executable_path/Frameworks", "@loader_path/Frameworks", ); + MERGEABLE_LIBRARY = YES; ONLY_ACTIVE_ARCH = NO; OTHER_CFLAGS = "-DCARTHAGE_$(CARTHAGE)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -6258,6 +6264,7 @@ "@loader_path/Frameworks", ); MARKETING_VERSION = 1.0; + MERGEABLE_LIBRARY = YES; MODULEMAP_FILE = ""; MODULEMAP_PRIVATE_FILE = ""; MTL_FAST_MATH = YES; @@ -6412,6 +6419,7 @@ "@executable_path/Frameworks", "@loader_path/Frameworks", ); + MERGEABLE_LIBRARY = YES; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DCARTHAGE_$(CARTHAGE)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -6489,6 +6497,7 @@ "@loader_path/Frameworks", ); MARKETING_VERSION = 1.0; + MERGEABLE_LIBRARY = YES; MODULEMAP_FILE = ""; MODULEMAP_PRIVATE_FILE = ""; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; @@ -6537,6 +6546,7 @@ "@loader_path/Frameworks", ); MARKETING_VERSION = 1.0; + MERGEABLE_LIBRARY = YES; MODULEMAP_FILE = ""; MODULEMAP_PRIVATE_FILE = ""; MTL_FAST_MATH = YES; @@ -6583,6 +6593,7 @@ "@loader_path/Frameworks", ); MARKETING_VERSION = 1.0; + MERGEABLE_LIBRARY = YES; MODULEMAP_FILE = ""; MODULEMAP_PRIVATE_FILE = ""; MTL_FAST_MATH = YES; @@ -6629,6 +6640,7 @@ "@loader_path/Frameworks", ); MARKETING_VERSION = 1.0; + MERGEABLE_LIBRARY = YES; MODULEMAP_FILE = ""; MODULEMAP_PRIVATE_FILE = ""; MTL_FAST_MATH = YES; From 2e172fbe233ade90df9c22188694b21e0846f279 Mon Sep 17 00:00:00 2001 From: Denis Andrasec Date: Tue, 24 Sep 2024 18:10:47 +0200 Subject: [PATCH 06/15] =?UTF-8?q?Don=E2=80=99t=20embed=20Sentry.framework?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iOS-ObjectiveC.xcodeproj/project.pbxproj | 2 -- .../iOS-Swift.xcodeproj/project.pbxproj | 31 ++++++++++++++----- .../iOS-SwiftUI.xcodeproj/project.pbxproj | 8 ++--- .../iOS15-SwiftUI.xcodeproj/project.pbxproj | 2 -- .../macOS-Swift.xcodeproj/project.pbxproj | 4 --- .../tvOS-Swift.xcodeproj/project.pbxproj | 8 ++--- .../visionOS-Swift.xcodeproj/project.pbxproj | 4 --- 7 files changed, 29 insertions(+), 30 deletions(-) diff --git a/Samples/iOS-ObjectiveC/iOS-ObjectiveC.xcodeproj/project.pbxproj b/Samples/iOS-ObjectiveC/iOS-ObjectiveC.xcodeproj/project.pbxproj index 9064255a84e..13f8942c839 100644 --- a/Samples/iOS-ObjectiveC/iOS-ObjectiveC.xcodeproj/project.pbxproj +++ b/Samples/iOS-ObjectiveC/iOS-ObjectiveC.xcodeproj/project.pbxproj @@ -8,7 +8,6 @@ /* 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 */; }; @@ -87,7 +86,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 6308534A2440C46E00DDE4CE /* Sentry.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; diff --git a/Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj b/Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj index d185a68aaba..d16b56fd3d8 100644 --- a/Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj +++ b/Samples/iOS-Swift/iOS-Swift.xcodeproj/project.pbxproj @@ -50,13 +50,14 @@ 84FB812B284001B800F3A94A /* SentryBenchmarking.mm in Sources */ = {isa = PBXBuildFile; fileRef = 84FB8129284001B800F3A94A /* SentryBenchmarking.mm */; }; 8E8C57AF25EF16E6001CEEFA /* TraceTestViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8E8C57AE25EF16E6001CEEFA /* TraceTestViewController.swift */; }; 924857562C89A86300774AC3 /* MainViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 924857552C89A85F00774AC3 /* MainViewController.swift */; }; + 926C05D02CA31AB200E9C17C /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* Sentry.framework */; }; + 926C05D12CA31AB200E9C17C /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; B70038852BB33E7700065A38 /* ReplaceContentViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = B70038842BB33E7700065A38 /* ReplaceContentViewController.swift */; }; D80D021329EE93630084393D /* ErrorsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D80D021229EE93630084393D /* ErrorsViewController.swift */; }; D80D021A29EE936F0084393D /* ExtraViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D80D021929EE936F0084393D /* ExtraViewController.swift */; }; D80D021B29EE9E3D0084393D /* ErrorsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D80D021229EE93630084393D /* ErrorsViewController.swift */; }; D80D021C29EE9E400084393D /* ExtraViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D80D021929EE936F0084393D /* ExtraViewController.swift */; }; D8105B61297E824C00299F03 /* SentrySwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8105B5C297E792200299F03 /* SentrySwiftUI.framework */; }; - D8105B62297E824C00299F03 /* SentrySwiftUI.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D8105B5C297E792200299F03 /* SentrySwiftUI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; D8269A3C274C095E00BD5BD5 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8269A3B274C095E00BD5BD5 /* AppDelegate.swift */; }; D8269A3E274C095E00BD5BD5 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8269A3D274C095E00BD5BD5 /* SceneDelegate.swift */; }; D8269A43274C095F00BD5BD5 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = D8269A41274C095F00BD5BD5 /* Main.storyboard */; }; @@ -70,8 +71,6 @@ D8269A57274C0FA100BD5BD5 /* NibViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D890CD3E26CEE31B001246CF /* NibViewController.swift */; }; D8269A58274C0FC700BD5BD5 /* TransactionsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 637AFDAD243B02760034958B /* TransactionsViewController.swift */; }; D8269A59274C100300BD5BD5 /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* Sentry.framework */; }; - D8269A5A274C100300BD5BD5 /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; - D83A30D8279F159D00372D0A /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; D83A30DC279F16BA00372D0A /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; }; D83A30E1279F1F5C00372D0A /* fatal-error-binary-images-message2.json in Resources */ = {isa = PBXBuildFile; fileRef = D83A30DF279F1F5C00372D0A /* fatal-error-binary-images-message2.json */; }; D840D523273A07F400CDF142 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = D840D522273A07F400CDF142 /* AppDelegate.swift */; }; @@ -100,7 +99,6 @@ D8AE48C92C57DC2F0092A2A6 /* WebViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8AE48C82C57DC2F0092A2A6 /* WebViewController.swift */; }; D8AE48CF2C57E0BD0092A2A6 /* WebViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8AE48C82C57DC2F0092A2A6 /* WebViewController.swift */; }; D8B56CF0273A8D97004DF238 /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* Sentry.framework */; }; - D8B56CF1273A8D97004DF238 /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 630853322440C44F00DDE4CE /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; D8C33E1F29FBB1F70071B75A /* UIEventBreadcrumbsController.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8C33E1E29FBB1F70071B75A /* UIEventBreadcrumbsController.swift */; }; D8C33E2629FBB8D90071B75A /* UIEventBreadcrumbTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8C33E2529FBB8D90071B75A /* UIEventBreadcrumbTests.swift */; }; D8D7BB4A2750067900044146 /* UIAssert.swift in Sources */ = {isa = PBXBuildFile; fileRef = D8D7BB492750067900044146 /* UIAssert.swift */; }; @@ -223,7 +221,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - D83A30D8279F159D00372D0A /* Sentry.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -250,14 +247,23 @@ name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; }; + 926C05D22CA31AB200E9C17C /* Embed Frameworks */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 926C05D12CA31AB200E9C17C /* 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 */, - D8105B62297E824C00299F03 /* SentrySwiftUI.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -279,7 +285,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - D8B56CF1273A8D97004DF238 /* Sentry.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -427,6 +432,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + 926C05D02CA31AB200E9C17C /* Sentry.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -779,6 +785,7 @@ D85DAA45274C244F004DF43C /* Sources */, D85DAA46274C244F004DF43C /* Frameworks */, D85DAA47274C244F004DF43C /* Resources */, + 926C05D22CA31AB200E9C17C /* Embed Frameworks */, ); buildRules = ( ); @@ -1418,6 +1425,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = "8.37.0-beta.1"; + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.sample.iOS-Swift"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = "match Development io.sentry.sample.iOS-Swift"; @@ -1447,6 +1455,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = "8.37.0-beta.1"; + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.sample.iOS-Swift"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = "match AppStore io.sentry.sample.iOS-Swift"; @@ -1633,6 +1642,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 7.27.0; + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.sample.iOS-Swift"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = "match Development io.sentry.sample.iOS-Swift"; @@ -1750,6 +1760,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 1.0; + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.Sentry.iOS13-Swift"; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTS_MACCATALYST = YES; @@ -1859,6 +1870,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 7.27.0; + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.sample.iOS-Swift"; PRODUCT_NAME = "$(TARGET_NAME)"; PROVISIONING_PROFILE_SPECIFIER = "match Development io.sentry.sample.iOS-Swift"; @@ -1976,6 +1988,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 1.0; + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.Sentry.iOS13-Swift"; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTS_MACCATALYST = YES; @@ -2030,6 +2043,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 1.0; + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.Sentry.iOS13-Swift"; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTS_MACCATALYST = YES; @@ -2062,6 +2076,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 1.0; + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.Sentry.iOS13-Swift"; PRODUCT_NAME = "$(TARGET_NAME)"; SUPPORTS_MACCATALYST = YES; diff --git a/Samples/iOS-SwiftUI/iOS-SwiftUI.xcodeproj/project.pbxproj b/Samples/iOS-SwiftUI/iOS-SwiftUI.xcodeproj/project.pbxproj index 1f402227e88..4e2b68cc22f 100644 --- a/Samples/iOS-SwiftUI/iOS-SwiftUI.xcodeproj/project.pbxproj +++ b/Samples/iOS-SwiftUI/iOS-SwiftUI.xcodeproj/project.pbxproj @@ -14,11 +14,9 @@ 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 */; }; - 7BB6225E26A56CB600D0E75E /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 7BB6225C26A56CB600D0E75E /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 84BA72B52C9369C80045B828 /* GitInjections.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84BA72B32C9369C80045B828 /* GitInjections.swift */; }; - 84D4FEB528ECD53500EDAAFE /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 84D4FEB228ECD52E00EDAAFE /* Sentry.framework */; }; + 926C05CE2CA31A4400E9C17C /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0A94157E28F6B893006A5DD1 /* Sentry.framework */; }; D8199DCD29376FD90074249E /* SentrySwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D8BBD38B2901AE400011F850 /* SentrySwiftUI.framework */; }; - D8199DCE29376FD90074249E /* SentrySwiftUI.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D8BBD38B2901AE400011F850 /* SentrySwiftUI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; D832FAF02982A908007A9A5F /* FormScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = D832FAEF2982A908007A9A5F /* FormScreen.swift */; }; D85388D12980222500B63908 /* UIKitScreen.swift in Sources */ = {isa = PBXBuildFile; fileRef = D85388D02980222500B63908 /* UIKitScreen.swift */; }; /* End PBXBuildFile section */ @@ -124,8 +122,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 7BB6225E26A56CB600D0E75E /* Sentry.framework in Embed Frameworks */, - D8199DCE29376FD90074249E /* SentrySwiftUI.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -173,8 +169,8 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 84D4FEB528ECD53500EDAAFE /* Sentry.framework in Frameworks */, D8199DCD29376FD90074249E /* SentrySwiftUI.framework in Frameworks */, + 926C05CE2CA31A4400E9C17C /* Sentry.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/Samples/iOS15-SwiftUI/iOS15-SwiftUI.xcodeproj/project.pbxproj b/Samples/iOS15-SwiftUI/iOS15-SwiftUI.xcodeproj/project.pbxproj index f3bddb3cc3b..81c9124850a 100644 --- a/Samples/iOS15-SwiftUI/iOS15-SwiftUI.xcodeproj/project.pbxproj +++ b/Samples/iOS15-SwiftUI/iOS15-SwiftUI.xcodeproj/project.pbxproj @@ -12,7 +12,6 @@ 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, ); }; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -22,7 +21,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 7B5166782758C72600C0A720 /* Sentry.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; diff --git a/Samples/macOS-Swift/macOS-Swift.xcodeproj/project.pbxproj b/Samples/macOS-Swift/macOS-Swift.xcodeproj/project.pbxproj index 43350a6e873..385ac082a85 100644 --- a/Samples/macOS-Swift/macOS-Swift.xcodeproj/project.pbxproj +++ b/Samples/macOS-Swift/macOS-Swift.xcodeproj/project.pbxproj @@ -8,7 +8,6 @@ /* 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 */; }; @@ -19,7 +18,6 @@ 84BA72AE2C9369B80045B828 /* GitInjections.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84BA72AC2C9369B80045B828 /* GitInjections.swift */; }; 924D21562C89FE2D00E0FEFD /* DiskWriteException.swift in Sources */ = {isa = PBXBuildFile; fileRef = 924D21552C89FE2D00E0FEFD /* DiskWriteException.swift */; }; 924D21682C8A01F800E0FEFD /* SentrySwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 924D215D2C89FE2D00E0FEFD /* SentrySwiftUI.framework */; }; - 924D21692C8A01F800E0FEFD /* SentrySwiftUI.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 924D215D2C89FE2D00E0FEFD /* SentrySwiftUI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 924D216B2C8A020C00E0FEFD /* SwiftUIView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 924D216A2C8A020C00E0FEFD /* SwiftUIView.swift */; }; /* End PBXBuildFile section */ @@ -82,8 +80,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 6308534F2440C5FB00DDE4CE /* Sentry.framework in Embed Frameworks */, - 924D21692C8A01F800E0FEFD /* SentrySwiftUI.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; diff --git a/Samples/tvOS-Swift/tvOS-Swift.xcodeproj/project.pbxproj b/Samples/tvOS-Swift/tvOS-Swift.xcodeproj/project.pbxproj index 4422ff784c3..65c5864bfe2 100644 --- a/Samples/tvOS-Swift/tvOS-Swift.xcodeproj/project.pbxproj +++ b/Samples/tvOS-Swift/tvOS-Swift.xcodeproj/project.pbxproj @@ -13,7 +13,6 @@ 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 */; }; - 7BA61D7A247FA35500C130A8 /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 7BA61D78247FA35500C130A8 /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 8466D4E328DE64F100932CE7 /* SentryDeviceTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8466D4E228DE64F100932CE7 /* SentryDeviceTests.mm */; }; 8466D4E428DE64F100932CE7 /* SentryDevice.mm in Sources */ = {isa = PBXBuildFile; fileRef = 8466D4E128DE64F000932CE7 /* SentryDevice.mm */; }; 84BA72B12C9369C10045B828 /* GitInjections.swift in Sources */ = {isa = PBXBuildFile; fileRef = 84BA72AF2C9369C00045B828 /* GitInjections.swift */; }; @@ -25,7 +24,6 @@ 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 */; }; @@ -100,7 +98,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 7BA61D7A247FA35500C130A8 /* Sentry.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -111,7 +108,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - D822A4332760D7E100E7B241 /* Sentry.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; @@ -946,6 +942,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 1.0; + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.tvOS-SBSwift"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; @@ -1090,6 +1087,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 1.0; + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.tvOS-SBSwift"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; @@ -1137,6 +1135,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 1.0; + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.tvOS-SBSwift"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; @@ -1162,6 +1161,7 @@ "@executable_path/Frameworks", ); MARKETING_VERSION = 1.0; + MERGED_BINARY_TYPE = automatic; PRODUCT_BUNDLE_IDENTIFIER = "io.sentry.tvOS-SBSwift"; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_EMIT_LOC_STRINGS = YES; diff --git a/Samples/visionOS-Swift/visionOS-Swift.xcodeproj/project.pbxproj b/Samples/visionOS-Swift/visionOS-Swift.xcodeproj/project.pbxproj index 34ad2d5be24..834de8982fd 100644 --- a/Samples/visionOS-Swift/visionOS-Swift.xcodeproj/project.pbxproj +++ b/Samples/visionOS-Swift/visionOS-Swift.xcodeproj/project.pbxproj @@ -8,7 +8,6 @@ /* Begin PBXBuildFile section */ 62D7C6EF2AEFBE3400339924 /* SentrySwiftUI.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 62D7C6EE2AEFBE3400339924 /* SentrySwiftUI.framework */; }; - 62D7C6F02AEFBE3400339924 /* SentrySwiftUI.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 62D7C6EE2AEFBE3400339924 /* SentrySwiftUI.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 62D7C6F22AEFC03700339924 /* LoremIpsumView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 62D7C6F12AEFC03700339924 /* LoremIpsumView.swift */; }; 62D7C6F42AEFC14F00339924 /* LoremIpsum.txt in Resources */ = {isa = PBXBuildFile; fileRef = 62D7C6F32AEFC14F00339924 /* LoremIpsum.txt */; }; D84C37E32ACDC4A000EF74BE /* VisionOSSwiftApp.swift in Sources */ = {isa = PBXBuildFile; fileRef = D84C37E22ACDC4A000EF74BE /* VisionOSSwiftApp.swift */; }; @@ -16,7 +15,6 @@ D84C37E92ACDC4A100EF74BE /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D84C37E82ACDC4A100EF74BE /* Assets.xcassets */; }; D84C37EC2ACDC4A100EF74BE /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D84C37EB2ACDC4A100EF74BE /* Preview Assets.xcassets */; }; D84C37F52ACDC7DB00EF74BE /* Sentry.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D84C37F42ACDC7DB00EF74BE /* Sentry.framework */; }; - D84C37F62ACDC7DB00EF74BE /* Sentry.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = D84C37F42ACDC7DB00EF74BE /* Sentry.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -26,8 +24,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - D84C37F62ACDC7DB00EF74BE /* Sentry.framework in Embed Frameworks */, - 62D7C6F02AEFBE3400339924 /* SentrySwiftUI.framework in Embed Frameworks */, ); name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; From 60eafca17fa7b3c6c5cefe9bf75036b1121fea91 Mon Sep 17 00:00:00 2001 From: Denis Andrasec Date: Tue, 24 Sep 2024 18:33:18 +0200 Subject: [PATCH 07/15] Fix shellcheck issue --- scripts/build-xcframework.sh | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/scripts/build-xcframework.sh b/scripts/build-xcframework.sh index 5d03531eca3..19b4c01aa7b 100755 --- a/scripts/build-xcframework.sh +++ b/scripts/build-xcframework.sh @@ -3,8 +3,6 @@ set -eou pipefail sdks=( iphoneos iphonesimulator macosx appletvos appletvsimulator watchos watchsimulator xros xrsimulator ) -## watchos and watchsimulator emit error: ld: unknown option: -make_mergeable -un_mergable_sdks=( watchos watchsimulator ) rm -rf Carthage/ mkdir Carthage @@ -33,8 +31,8 @@ generate_xcframework() { for sdk in "${sdks[@]}"; do if grep -q "${sdk}" <<< "$ALL_SDKS"; then - # Remove the make_mergeable linker flag for un-mergable SDKs - if [[ " ${un_mergable_sdks[@]} " =~ " ${sdk} " ]]; then + ## watchos and watchsimulator dont support make_mergeable: ld: unknown option: -make_mergeable + if [[ "$sdk" == "watchos" || "$sdk" == "watchsimulator" ]]; then OTHER_LDFLAGS="" fi From 4708e8149b81336649995c7344b5a3d43b5cac0a Mon Sep 17 00:00:00 2001 From: Denis Andrasec Date: Wed, 25 Sep 2024 11:18:03 +0200 Subject: [PATCH 08/15] remove MERGEABLE_LIBRARY in project file for watchos sdks --- scripts/build-xcframework.sh | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/scripts/build-xcframework.sh b/scripts/build-xcframework.sh index 19b4c01aa7b..4dafd39fbbc 100755 --- a/scripts/build-xcframework.sh +++ b/scripts/build-xcframework.sh @@ -31,9 +31,13 @@ generate_xcframework() { for sdk in "${sdks[@]}"; do if grep -q "${sdk}" <<< "$ALL_SDKS"; then - ## watchos and watchsimulator dont support make_mergeable: ld: unknown option: -make_mergeable + if [[ "$sdk" == "watchos" || "$sdk" == "watchsimulator" ]]; then + ## watchos and watchsimulator dont support make_mergeable: ld: unknown option: -make_mergeable OTHER_LDFLAGS="" + ## watchos and watchsimulator cant even build if the MERGED_BINARY_TYPE key is present, even if set to none. + ## So we need to comment it out... + sed -i '' 's/\( *\)MERGEABLE_LIBRARY = YES;/\1\/\/MERGEABLE_LIBRARY = YES;/' "Sentry.xcodeproj/project.pbxproj" fi xcodebuild archive \ @@ -51,6 +55,11 @@ generate_xcframework() { GCC_GENERATE_DEBUGGING_SYMBOLS="$GCC_GENERATE_DEBUGGING_SYMBOLS" \ OTHER_LDFLAGS="$OTHER_LDFLAGS" + if [[ "$sdk" == "watchos" || "$sdk" == "watchsimulator" ]]; then + ## ...and comment it in again + sed -i '' 's/\( *\)\/\/MERGEABLE_LIBRARY = YES;/\1MERGEABLE_LIBRARY = YES;/' "Sentry.xcodeproj/project.pbxproj" + fi + createxcframework+="-framework Carthage/archive/${scheme}${suffix}/${sdk}.xcarchive/Products/Library/Frameworks/${resolved_product_name}.framework " if [ "$MACH_O_TYPE" = "staticlib" ]; then From 5e21fe96c5682a1824b1b352eaa1a7c30449d89f Mon Sep 17 00:00:00 2001 From: Denis Andrasec Date: Mon, 30 Sep 2024 14:11:54 +0200 Subject: [PATCH 09/15] set make_mergeable option in SDK.xcconfig --- Sentry.xcodeproj/project.pbxproj | 12 ------------ Sources/Configuration/SDK.xcconfig | 4 +++- 2 files changed, 3 insertions(+), 13 deletions(-) diff --git a/Sentry.xcodeproj/project.pbxproj b/Sentry.xcodeproj/project.pbxproj index 9f037ef0856..79fbb794e18 100644 --- a/Sentry.xcodeproj/project.pbxproj +++ b/Sentry.xcodeproj/project.pbxproj @@ -5379,7 +5379,6 @@ GCC_WARN_SHADOW = YES; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; LD_DYLIB_INSTALL_NAME = "$(DYLIB_INSTALL_NAME_BASE:standardizepath)/$(EXECUTABLE_PATH)"; - MERGEABLE_LIBRARY = YES; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DCARTHAGE_$(CARTHAGE)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -5418,7 +5417,6 @@ "@executable_path/Frameworks", "@loader_path/Frameworks", ); - MERGEABLE_LIBRARY = YES; ONLY_ACTIVE_ARCH = NO; OTHER_CFLAGS = "-DCARTHAGE_$(CARTHAGE)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -5579,7 +5577,6 @@ "@executable_path/Frameworks", "@loader_path/Frameworks", ); - MERGEABLE_LIBRARY = YES; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DCARTHAGE_$(CARTHAGE)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -5707,7 +5704,6 @@ "@executable_path/Frameworks", "@loader_path/Frameworks", ); - MERGEABLE_LIBRARY = YES; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DCARTHAGE_$(CARTHAGE)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -5784,7 +5780,6 @@ "@loader_path/Frameworks", ); MARKETING_VERSION = 1.0; - MERGEABLE_LIBRARY = YES; MODULEMAP_FILE = ""; MODULEMAP_PRIVATE_FILE = ""; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; @@ -6188,7 +6183,6 @@ "@executable_path/Frameworks", "@loader_path/Frameworks", ); - MERGEABLE_LIBRARY = YES; ONLY_ACTIVE_ARCH = NO; OTHER_CFLAGS = "-DCARTHAGE_$(CARTHAGE)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -6264,7 +6258,6 @@ "@loader_path/Frameworks", ); MARKETING_VERSION = 1.0; - MERGEABLE_LIBRARY = YES; MODULEMAP_FILE = ""; MODULEMAP_PRIVATE_FILE = ""; MTL_FAST_MATH = YES; @@ -6419,7 +6412,6 @@ "@executable_path/Frameworks", "@loader_path/Frameworks", ); - MERGEABLE_LIBRARY = YES; ONLY_ACTIVE_ARCH = YES; OTHER_CFLAGS = "-DCARTHAGE_$(CARTHAGE)"; PROVISIONING_PROFILE_SPECIFIER = ""; @@ -6497,7 +6489,6 @@ "@loader_path/Frameworks", ); MARKETING_VERSION = 1.0; - MERGEABLE_LIBRARY = YES; MODULEMAP_FILE = ""; MODULEMAP_PRIVATE_FILE = ""; MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; @@ -6546,7 +6537,6 @@ "@loader_path/Frameworks", ); MARKETING_VERSION = 1.0; - MERGEABLE_LIBRARY = YES; MODULEMAP_FILE = ""; MODULEMAP_PRIVATE_FILE = ""; MTL_FAST_MATH = YES; @@ -6593,7 +6583,6 @@ "@loader_path/Frameworks", ); MARKETING_VERSION = 1.0; - MERGEABLE_LIBRARY = YES; MODULEMAP_FILE = ""; MODULEMAP_PRIVATE_FILE = ""; MTL_FAST_MATH = YES; @@ -6640,7 +6629,6 @@ "@loader_path/Frameworks", ); MARKETING_VERSION = 1.0; - MERGEABLE_LIBRARY = YES; MODULEMAP_FILE = ""; MODULEMAP_PRIVATE_FILE = ""; MTL_FAST_MATH = YES; diff --git a/Sources/Configuration/SDK.xcconfig b/Sources/Configuration/SDK.xcconfig index 17d75b08560..eb078d323cb 100644 --- a/Sources/Configuration/SDK.xcconfig +++ b/Sources/Configuration/SDK.xcconfig @@ -21,7 +21,9 @@ ONLY_ACTIVE_ARCH[config=Debug] = YES GCC_OPTIMIZATION_LEVEL[config=Debug] = 0 COPY_PHASE_STRIP[config=Debug] = NO -OTHER_LDFLAGS[sdk=watch*] = $(inherited) -framework WatchKit +COMMON_LDFLAGS = $(inherited) +OTHER_LDFLAGS = $(COMMON_LDFLAGS) -Wl,-make_mergeable +OTHER_LDFLAGS[sdk=watch*] = $(COMMON_LDFLAGS) -framework WatchKit SUPPORTS_MACCATALYST = YES From 2882456da962991fdb932780f77a166187b570f8 Mon Sep 17 00:00:00 2001 From: Denis Andrasec Date: Mon, 30 Sep 2024 14:12:37 +0200 Subject: [PATCH 10/15] remove OTHER_LDFLAGS from build script --- scripts/build-xcframework.sh | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) diff --git a/scripts/build-xcframework.sh b/scripts/build-xcframework.sh index 4dafd39fbbc..9f086519c07 100755 --- a/scripts/build-xcframework.sh +++ b/scripts/build-xcframework.sh @@ -15,7 +15,6 @@ generate_xcframework() { local configuration_suffix="${4-}" local createxcframework="xcodebuild -create-xcframework " local GCC_GENERATE_DEBUGGING_SYMBOLS="YES" - local OTHER_LDFLAGS="-Wl,-make_mergeable" # Default value with -make_mergeable flag local resolved_configuration="Release$configuration_suffix" local resolved_product_name="$scheme$configuration_suffix" @@ -31,15 +30,6 @@ generate_xcframework() { for sdk in "${sdks[@]}"; do if grep -q "${sdk}" <<< "$ALL_SDKS"; then - - if [[ "$sdk" == "watchos" || "$sdk" == "watchsimulator" ]]; then - ## watchos and watchsimulator dont support make_mergeable: ld: unknown option: -make_mergeable - OTHER_LDFLAGS="" - ## watchos and watchsimulator cant even build if the MERGED_BINARY_TYPE key is present, even if set to none. - ## So we need to comment it out... - sed -i '' 's/\( *\)MERGEABLE_LIBRARY = YES;/\1\/\/MERGEABLE_LIBRARY = YES;/' "Sentry.xcodeproj/project.pbxproj" - fi - xcodebuild archive \ -project Sentry.xcodeproj/ \ -scheme "$scheme" \ @@ -52,13 +42,8 @@ generate_xcframework() { CARTHAGE=YES \ MACH_O_TYPE="$MACH_O_TYPE" \ ENABLE_CODE_COVERAGE=NO \ - GCC_GENERATE_DEBUGGING_SYMBOLS="$GCC_GENERATE_DEBUGGING_SYMBOLS" \ - OTHER_LDFLAGS="$OTHER_LDFLAGS" + GCC_GENERATE_DEBUGGING_SYMBOLS="$GCC_GENERATE_DEBUGGING_SYMBOLS" - if [[ "$sdk" == "watchos" || "$sdk" == "watchsimulator" ]]; then - ## ...and comment it in again - sed -i '' 's/\( *\)\/\/MERGEABLE_LIBRARY = YES;/\1MERGEABLE_LIBRARY = YES;/' "Sentry.xcodeproj/project.pbxproj" - fi createxcframework+="-framework Carthage/archive/${scheme}${suffix}/${sdk}.xcarchive/Products/Library/Frameworks/${resolved_product_name}.framework " @@ -97,8 +82,7 @@ generate_xcframework() { MACH_O_TYPE="$MACH_O_TYPE" \ SUPPORTS_MACCATALYST=YES \ ENABLE_CODE_COVERAGE=NO \ - GCC_GENERATE_DEBUGGING_SYMBOLS="$GCC_GENERATE_DEBUGGING_SYMBOLS" \ - OTHER_LDFLAGS="$OTHER_LDFLAGS" + GCC_GENERATE_DEBUGGING_SYMBOLS="$GCC_GENERATE_DEBUGGING_SYMBOLS" if [ "$MACH_O_TYPE" = "staticlib" ]; then local infoPlist="Carthage/DerivedData/Build/Products/$resolved_configuration-maccatalyst/${scheme}.framework/Resources/Info.plist" From da1ffedb0980f87dd279fd1c91e2b5ad5058bd77 Mon Sep 17 00:00:00 2001 From: Denis Andrasec Date: Mon, 30 Sep 2024 14:17:21 +0200 Subject: [PATCH 11/15] format --- scripts/build-xcframework.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/build-xcframework.sh b/scripts/build-xcframework.sh index 9f086519c07..998c3ec97c7 100755 --- a/scripts/build-xcframework.sh +++ b/scripts/build-xcframework.sh @@ -3,6 +3,7 @@ set -eou pipefail sdks=( iphoneos iphonesimulator macosx appletvos appletvsimulator watchos watchsimulator xros xrsimulator ) + rm -rf Carthage/ mkdir Carthage @@ -15,7 +16,7 @@ generate_xcframework() { local configuration_suffix="${4-}" local createxcframework="xcodebuild -create-xcframework " local GCC_GENERATE_DEBUGGING_SYMBOLS="YES" - + local resolved_configuration="Release$configuration_suffix" local resolved_product_name="$scheme$configuration_suffix" From 32bc467f8f6eb294a685c5c3f331643baf90a1d6 Mon Sep 17 00:00:00 2001 From: Denis Andrasec Date: Mon, 30 Sep 2024 14:32:45 +0200 Subject: [PATCH 12/15] Make release builds with Xcode 15.2 --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 12fee23456b..03c99e69490 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -32,7 +32,7 @@ jobs: runs-on: macos-13 steps: - uses: actions/checkout@v4 - - run: ./scripts/ci-select-xcode.sh + - run: ./scripts/ci-select-xcode.sh 15.2 - uses: ruby/setup-ruby@v1 with: bundler-cache: true From a72bffa0e90525598738dcfd6229a2736293247b Mon Sep 17 00:00:00 2001 From: Denis Andrasec Date: Mon, 30 Sep 2024 14:43:01 +0200 Subject: [PATCH 13/15] use 15.2 for ios/macos build --- .github/workflows/build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 03c99e69490..bfd3e36c71b 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -61,7 +61,7 @@ jobs: steps: - uses: actions/checkout@v4 - - run: ./scripts/ci-select-xcode.sh + - run: ./scripts/ci-select-xcode.sh 15.2 # Disable code signing. We just want to make sure these compile. - run: >- From ef19c662cc1c59a17d45130b728c600b6c50a5a0 Mon Sep 17 00:00:00 2001 From: Denis Andrasec Date: Mon, 30 Sep 2024 14:55:22 +0200 Subject: [PATCH 14/15] build with xcdeo 15.2 --- .github/workflows/benchmarking.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/benchmarking.yml b/.github/workflows/benchmarking.yml index 0897087e50a..cc7cc82cc97 100644 --- a/.github/workflows/benchmarking.yml +++ b/.github/workflows/benchmarking.yml @@ -30,7 +30,7 @@ jobs: runs-on: macos-13 steps: - uses: actions/checkout@v4 - - run: ./scripts/ci-select-xcode.sh + - run: ./scripts/ci-select-xcode.sh 15.2 - uses: ruby/setup-ruby@v1 with: bundler-cache: true @@ -106,7 +106,7 @@ jobs: steps: - name: Git checkout uses: actions/checkout@v4 - - run: ./scripts/ci-select-xcode.sh + - run: ./scripts/ci-select-xcode.sh 15.2 - uses: ruby/setup-ruby@v1 with: bundler-cache: true From 9d7c072b35cb0889f0e5e111a24e2dd2d8233af0 Mon Sep 17 00:00:00 2001 From: Denis Andrasec Date: Mon, 30 Sep 2024 15:03:20 +0200 Subject: [PATCH 15/15] tst higher macos/xcode for fastlane sample release build --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index bfd3e36c71b..d5d70ba6080 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -29,10 +29,10 @@ jobs: # With this we catch potential issues already in the PR. ios-swift-release: name: Release Build of iOS Swift - runs-on: macos-13 + runs-on: macos-14 steps: - uses: actions/checkout@v4 - - run: ./scripts/ci-select-xcode.sh 15.2 + - run: ./scripts/ci-select-xcode.sh 16.0 - uses: ruby/setup-ruby@v1 with: bundler-cache: true