From d881cec9ba993f0f98d0747d71408222552f9300 Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Tue, 6 Jun 2023 12:26:33 -0700 Subject: [PATCH 1/4] Bump the deployment target to iOS 12 when using Xcode 15 as it has dropped iOS 11 support --- CHANGELOG.md | 3 ++- Configuration/Base.xcconfig | 16 ++++++++++++---- Configuration/Debug.xcconfig | 1 - Configuration/Release.xcconfig | 1 - Realm.podspec | 15 ++++++++++++++- RealmSwift.podspec | 15 ++++++++++++++- 6 files changed, 42 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e5df2a5609..66ff500ad1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,8 @@ x.y.z Release notes (yyyy-MM-dd) ============================================================= ### Enhancements -* Fix compilation with Xcode 15. +* Fix compilation with Xcode 15. Note that iOS 12 is the minimum supported + deployment target when using Xcode 15. * Switch to building the Carthage release with Xcode 14.3.1. ### Fixed diff --git a/Configuration/Base.xcconfig b/Configuration/Base.xcconfig index 83f5460529..d03fdb55a8 100644 --- a/Configuration/Base.xcconfig +++ b/Configuration/Base.xcconfig @@ -61,10 +61,18 @@ HEADER_SEARCH_PATHS = $(inherited) core/include; CODE_SIGN_IDENTITY[sdk=iphone*] = iPhone Developer; CODE_SIGNING_REQUIRED[sdk=macosx] = NO; -IPHONEOS_DEPLOYMENT_TARGET = 11.0; -MACOSX_DEPLOYMENT_TARGET = 10.13; -WATCHOS_DEPLOYMENT_TARGET = 4.0; -TVOS_DEPLOYMENT_TARGET = 11.0; +IPHONEOS_DEPLOYMENT_TARGET_1400 = 11.0; +IPHONEOS_DEPLOYMENT_TARGET_1500 = 12.0; +IPHONEOS_DEPLOYMENT_TARGET = $(IPHONEOS_DEPLOYMENT_TARGET_$(XCODE_VERSION_MAJOR)); +MACOSX_DEPLOYMENT_TARGET_1400 = 10.13; +MACOSX_DEPLOYMENT_TARGET_1500 = 10.14; +MACOSX_DEPLOYMENT_TARGET = $(MACOSX_DEPLOYMENT_TARGET_$(XCODE_VERSION_MAJOR)); +WATCHOS_DEPLOYMENT_TARGET_1400 = 4.0; +WATCHOS_DEPLOYMENT_TARGET_1500 = 5.0; +WATCHOS_DEPLOYMENT_TARGET = $(WATCHOS_DEPLOYMENT_TARGET_$(XCODE_VERSION_MAJOR)); +TVOS_DEPLOYMENT_TARGET_1400 = 11.0; +TVOS_DEPLOYMENT_TARGET_1500 = 12.0; +TVOS_DEPLOYMENT_TARGET = $(TVOS_DEPLOYMENT_TARGET_$(XCODE_VERSION_MAJOR)); // Disable building the arm64 simulators for some types of Carthage builds REALM_ARM_ARCHS_YES = arm64 arm64e; diff --git a/Configuration/Debug.xcconfig b/Configuration/Debug.xcconfig index f788237569..f0b835a4c8 100644 --- a/Configuration/Debug.xcconfig +++ b/Configuration/Debug.xcconfig @@ -1,6 +1,5 @@ #include "Base.xcconfig" -BITCODE_GENERATION_MODE = marker; COPY_PHASE_STRIP = NO; ENABLE_TESTABILITY = YES; GCC_OPTIMIZATION_LEVEL = 0; diff --git a/Configuration/Release.xcconfig b/Configuration/Release.xcconfig index b041a30d47..820260a118 100644 --- a/Configuration/Release.xcconfig +++ b/Configuration/Release.xcconfig @@ -1,6 +1,5 @@ #include "Base.xcconfig" -BITCODE_GENERATION_MODE = bitcode; DEBUG_INFORMATION_FORMAT = dwarf-with-dsym; ENABLE_NS_ASSERTIONS = NO; GCC_PREPROCESSOR_DEFINITIONS = REALM_HAVE_CONFIG REALM_ENABLE_SYNC __ASSERTMACROS__; diff --git a/Realm.podspec b/Realm.podspec index da5014f751..f0acd79b4d 100644 --- a/Realm.podspec +++ b/Realm.podspec @@ -125,7 +125,20 @@ Pod::Spec.new do |s| 'CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF' => 'NO', 'OTHER_CPLUSPLUSFLAGS' => '-isystem "${PODS_ROOT}/Realm/include/core" -fvisibility-inlines-hidden', 'OTHER_CPLUSPLUSFLAGS[arch=armv7]' => '-isystem "${PODS_ROOT}/Realm/include/core" -fvisibility-inlines-hidden -fno-aligned-new', - 'USER_HEADER_SEARCH_PATHS' => '"${PODS_ROOT}/Realm/include" "${PODS_ROOT}/Realm/include/Realm"' + 'USER_HEADER_SEARCH_PATHS' => '"${PODS_ROOT}/Realm/include" "${PODS_ROOT}/Realm/include/Realm"', + + 'IPHONEOS_DEPLOYMENT_TARGET_1400' => '11.0', + 'IPHONEOS_DEPLOYMENT_TARGET_1500' => '12.0', + 'IPHONEOS_DEPLOYMENT_TARGET' => '$(IPHONEOS_DEPLOYMENT_TARGET_$(XCODE_VERSION_MAJOR))', + 'MACOSX_DEPLOYMENT_TARGET_1400' => '10.13', + 'MACOSX_DEPLOYMENT_TARGET_1500' => '10.14', + 'MACOSX_DEPLOYMENT_TARGET' => '$(MACOSX_DEPLOYMENT_TARGET_$(XCODE_VERSION_MAJOR))', + 'WATCHOS_DEPLOYMENT_TARGET_1400' => '4.0', + 'WATCHOS_DEPLOYMENT_TARGET_1500' => '5.0', + 'WATCHOS_DEPLOYMENT_TARGET' => '$(WATCHOS_DEPLOYMENT_TARGET_$(XCODE_VERSION_MAJOR))', + 'TVOS_DEPLOYMENT_TARGET_1400' => '11.0', + 'TVOS_DEPLOYMENT_TARGET_1500' => '12.0', + 'TVOS_DEPLOYMENT_TARGET' => '$(TVOS_DEPLOYMENT_TARGET_$(XCODE_VERSION_MAJOR))', } s.preserve_paths = %w(include scripts) diff --git a/RealmSwift.podspec b/RealmSwift.podspec index 7b63fedea5..93d1a97885 100644 --- a/RealmSwift.podspec +++ b/RealmSwift.podspec @@ -30,6 +30,19 @@ Pod::Spec.new do |s| s.exclude_files = 'RealmSwift/Nonsync.swift' s.pod_target_xcconfig = { - 'APPLICATION_EXTENSION_API_ONLY' => 'YES' + 'APPLICATION_EXTENSION_API_ONLY' => 'YES', + + 'IPHONEOS_DEPLOYMENT_TARGET_1400' => '11.0', + 'IPHONEOS_DEPLOYMENT_TARGET_1500' => '12.0', + 'IPHONEOS_DEPLOYMENT_TARGET' => '$(IPHONEOS_DEPLOYMENT_TARGET_$(XCODE_VERSION_MAJOR))', + 'MACOSX_DEPLOYMENT_TARGET_1400' => '10.13', + 'MACOSX_DEPLOYMENT_TARGET_1500' => '10.14', + 'MACOSX_DEPLOYMENT_TARGET' => '$(MACOSX_DEPLOYMENT_TARGET_$(XCODE_VERSION_MAJOR))', + 'WATCHOS_DEPLOYMENT_TARGET_1400' => '4.0', + 'WATCHOS_DEPLOYMENT_TARGET_1500' => '5.0', + 'WATCHOS_DEPLOYMENT_TARGET' => '$(WATCHOS_DEPLOYMENT_TARGET_$(XCODE_VERSION_MAJOR))', + 'TVOS_DEPLOYMENT_TARGET_1400' => '11.0', + 'TVOS_DEPLOYMENT_TARGET_1500' => '12.0', + 'TVOS_DEPLOYMENT_TARGET' => '$(TVOS_DEPLOYMENT_TARGET_$(XCODE_VERSION_MAJOR))', } end From 8d213e23ecf1d186ca3d7eaf411f41fda80c2de4 Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Tue, 6 Jun 2023 12:57:52 -0700 Subject: [PATCH 2/4] Temporarily disable dSYM generation with Xcode 15 --- Configuration/Release.xcconfig | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Configuration/Release.xcconfig b/Configuration/Release.xcconfig index 820260a118..320e5a88f6 100644 --- a/Configuration/Release.xcconfig +++ b/Configuration/Release.xcconfig @@ -1,6 +1,11 @@ #include "Base.xcconfig" -DEBUG_INFORMATION_FORMAT = dwarf-with-dsym; +// As of beta 1 dSYM generation fails with the unhelpful error "warning: could +// not find referenced DIE" (which seems to not actually be just a warning?) +DEBUG_INFORMATION_FORMAT_1400 = dwarf-with-dsym; +DEBUG_INFORMATION_FORMAT_1500 = dwarf; +DEBUG_INFORMATION_FORMAT = $(DEBUG_INFORMATION_FORMAT_$(XCODE_VERSION_MAJOR)); + ENABLE_NS_ASSERTIONS = NO; GCC_PREPROCESSOR_DEFINITIONS = REALM_HAVE_CONFIG REALM_ENABLE_SYNC __ASSERTMACROS__; VALIDATE_PRODUCT = YES; From 8bb72e2e92bfc63e5a5a3d580703c9adabc8f379 Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Tue, 6 Jun 2023 13:17:11 -0700 Subject: [PATCH 3/4] Disable building mergeable libraries They aren't supported for armv7k, and setting MERGEABLE_LIBRARY to any value including NO makes the build fail, so it appears to be imposssible to enable them conditionally. --- Configuration/Base.xcconfig | 2 -- 1 file changed, 2 deletions(-) diff --git a/Configuration/Base.xcconfig b/Configuration/Base.xcconfig index d03fdb55a8..79afa4779f 100644 --- a/Configuration/Base.xcconfig +++ b/Configuration/Base.xcconfig @@ -48,8 +48,6 @@ GCC_WARN_UNKNOWN_PRAGMAS = YES; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_PARAMETER = YES; GCC_WARN_UNUSED_VARIABLE = YES; -MERGEABLE_LIBRARY = YES; -MERGED_BINARY_TYPE = automatic; OTHER_CFLAGS = -fvisibility-inlines-hidden; SWIFT_COMPILATION_MODE = wholemodule; SWIFT_OPTIMIZATION_LEVEL = -Owholemodule; From 7c95267d63758953b4d39a1094577d0689363b80 Mon Sep 17 00:00:00 2001 From: Thomas Goyne Date: Tue, 6 Jun 2023 15:06:22 -0700 Subject: [PATCH 4/4] Release 10.40.1 --- CHANGELOG.md | 13 +++++-------- Package.swift | 2 +- Realm/Realm-Info.plist | 4 ++-- dependencies.list | 2 +- 4 files changed, 9 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 66ff500ad1..4c5bc1a514 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,17 +1,14 @@ -x.y.z Release notes (yyyy-MM-dd) +10.40.1 Release notes (2023-06-06) ============================================================= + ### Enhancements + * Fix compilation with Xcode 15. Note that iOS 12 is the minimum supported deployment target when using Xcode 15. * Switch to building the Carthage release with Xcode 14.3.1. -### Fixed -* ([#????](https://github.com/realm/realm-swift/issues/????), since v?.?.?) -* None. - - - ### Compatibility + * Realm Studio: 14.0.1 or later. * APIs are backwards compatible with all previous releases in the 10.x.y series. * Carthage release for Swift is built with Xcode 14.3.1. @@ -19,7 +16,7 @@ x.y.z Release notes (yyyy-MM-dd) * Xcode: 14.1-15 beta 1. ### Internal -* Upgraded realm-core from ? to ? + * Overhauled SDK metrics collection to better drive future development efforts. 10.40.0 Release notes (2023-05-26) diff --git a/Package.swift b/Package.swift index 032632c233..5762fb45de 100644 --- a/Package.swift +++ b/Package.swift @@ -4,7 +4,7 @@ import PackageDescription import Foundation let coreVersionStr = "13.13.0" -let cocoaVersionStr = "10.40.0" +let cocoaVersionStr = "10.40.1" let coreVersionPieces = coreVersionStr.split(separator: ".") let coreVersionExtra = coreVersionPieces[2].split(separator: "-") diff --git a/Realm/Realm-Info.plist b/Realm/Realm-Info.plist index c4b39af57c..3a6da8ac55 100644 --- a/Realm/Realm-Info.plist +++ b/Realm/Realm-Info.plist @@ -17,11 +17,11 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 10.40.0 + 10.40.1 CFBundleSignature ???? CFBundleVersion - 10.40.0 + 10.40.1 NSHumanReadableCopyright Copyright © 2014-2021 Realm. All rights reserved. NSPrincipalClass diff --git a/dependencies.list b/dependencies.list index c1f8b9f9c1..9e6809e899 100755 --- a/dependencies.list +++ b/dependencies.list @@ -1,3 +1,3 @@ -VERSION=10.40.0 +VERSION=10.40.1 REALM_CORE_VERSION=13.13.0 STITCH_VERSION=1eb31b87154cf7af6cbe50ab2732e2856ca499c7