From 2f229a054acf9e2fd71a082fe0aa36658202e451 Mon Sep 17 00:00:00 2001 From: Martin Andonoski Date: Tue, 17 Aug 2021 11:53:47 +0200 Subject: [PATCH] Move to xcframeworks (#170) --- .circleci/config.yml | 2 +- Form.xcodeproj/project.pbxproj | 72 ++++++++++++++++++++++------------ carthage.sh | 23 ----------- 3 files changed, 48 insertions(+), 49 deletions(-) delete mode 100755 carthage.sh diff --git a/.circleci/config.yml b/.circleci/config.yml index 3ce15ee..985783f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -37,7 +37,7 @@ commands: carthage-update: steps: - - run: sh carthage.sh update Flow --cache-builds + - run: carthage update Flow --cache-builds --use-xcframeworks test_main_project: steps: diff --git a/Form.xcodeproj/project.pbxproj b/Form.xcodeproj/project.pbxproj index 0b486cc..09e35d6 100644 --- a/Form.xcodeproj/project.pbxproj +++ b/Form.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 46; + objectVersion = 52; objects = { /* Begin PBXBuildFile section */ @@ -26,6 +26,7 @@ 21A79B701DBF5DE9000D1231 /* TableViewFormStyle.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21A79B6F1DBF5DE9000D1231 /* TableViewFormStyle.swift */; }; 21D7D99F1E1CE95200CB0FE9 /* ValueLabel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 21D7D99E1E1CE95200CB0FE9 /* ValueLabel.swift */; }; 3156BAED2139366B00ECC2EC /* MixedReusable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 3156BAEC2139366B00ECC2EC /* MixedReusable.swift */; }; + 5B08548126CBBACB0079B44B /* Flow.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5B08547D26CBBAA60079B44B /* Flow.xcframework */; }; 5B4ABD3A2257365C0073FACE /* TableKitTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B4ABD392257365C0073FACE /* TableKitTests.swift */; }; 721954D821A44E450090F9E3 /* MinimumSize.swift in Sources */ = {isa = PBXBuildFile; fileRef = 721954D721A44E450090F9E3 /* MinimumSize.swift */; }; 7222DD03235A34310036619F /* TableKit+MasterSelectionBindingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7222DD02235A34310036619F /* TableKit+MasterSelectionBindingTests.swift */; }; @@ -138,6 +139,7 @@ 21A79B6F1DBF5DE9000D1231 /* TableViewFormStyle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = TableViewFormStyle.swift; path = Form/TableViewFormStyle.swift; sourceTree = ""; }; 21D7D99E1E1CE95200CB0FE9 /* ValueLabel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ValueLabel.swift; path = Form/ValueLabel.swift; sourceTree = ""; }; 3156BAEC2139366B00ECC2EC /* MixedReusable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = MixedReusable.swift; path = Form/MixedReusable.swift; sourceTree = ""; }; + 5B08547D26CBBAA60079B44B /* Flow.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = Flow.xcframework; path = Carthage/Build/Flow.xcframework; sourceTree = ""; }; 5B4ABD392257365C0073FACE /* TableKitTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TableKitTests.swift; sourceTree = ""; }; 721954D721A44E450090F9E3 /* MinimumSize.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = MinimumSize.swift; path = Form/MinimumSize.swift; sourceTree = ""; }; 7222DD02235A34310036619F /* TableKit+MasterSelectionBindingTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "TableKit+MasterSelectionBindingTests.swift"; sourceTree = ""; }; @@ -234,6 +236,14 @@ /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ + 5B08547F26CBBAC00079B44B /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + 5B08548126CBBACB0079B44B /* Flow.xcframework in Frameworks */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; F62E45B11CABFB5300C6867E /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -245,6 +255,13 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 5B08548026CBBACB0079B44B /* Frameworks */ = { + isa = PBXGroup; + children = ( + ); + name = Frameworks; + sourceTree = ""; + }; F60EAE7320C5350200F987E3 /* Support */ = { isa = PBXGroup; children = ( @@ -377,6 +394,7 @@ F6A9D5D41C1728BA009A0EEB = { isa = PBXGroup; children = ( + 5B08547D26CBBAA60079B44B /* Flow.xcframework */, F666BBD920BEDC32006D2507 /* Cartfile */, F666BBDA20BEDC32006D2507 /* CHANGELOG.md */, F666BBD720BEDC31006D2507 /* FormFramework.podspec */, @@ -392,6 +410,7 @@ F60EAE7320C5350200F987E3 /* Support */, F62E45B51CABFB5300C6867E /* FormTests */, F6A9D5DF1C1728BA009A0EEB /* Products */, + 5B08548026CBBACB0079B44B /* Frameworks */, ); sourceTree = ""; }; @@ -464,7 +483,6 @@ F62E45B01CABFB5300C6867E /* Sources */, F62E45B11CABFB5300C6867E /* Frameworks */, F62E45B21CABFB5300C6867E /* Resources */, - 720D32F820E6A3570013FC29 /* Copy Flow */, ); buildRules = ( ); @@ -482,6 +500,7 @@ buildPhases = ( F6A9D5D91C1728BA009A0EEB /* Sources */, F6A9D5DB1C1728BA009A0EEB /* Headers */, + 5B08547F26CBBAC00079B44B /* Frameworks */, F6A9D5DC1C1728BA009A0EEB /* Resources */, ED7163CF2189C1A0008AD729 /* ShellScript */, ); @@ -553,22 +572,6 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 720D32F820E6A3570013FC29 /* Copy Flow */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - "$(SRCROOT)/Carthage/Build/iOS/Flow.framework", - ); - name = "Copy Flow"; - outputPaths = ( - "$(DERIVED_FILE_DIR)/", - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "/usr/local/bin/carthage copy-frameworks"; - }; ED7163CF2189C1A0008AD729 /* ShellScript */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -717,7 +720,11 @@ CLANG_ANALYZER_NONNULL = YES; FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/Carthage/Build/iOS"; INFOPLIST_FILE = FormTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = com.iZettle.FormTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -730,7 +737,11 @@ CLANG_ANALYZER_NONNULL = YES; FRAMEWORK_SEARCH_PATHS = "$(PROJECT_DIR)/Carthage/Build/iOS"; INFOPLIST_FILE = FormTests/Info.plist; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/Frameworks", + "@loader_path/Frameworks", + ); PRODUCT_BUNDLE_IDENTIFIER = com.iZettle.FormTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; @@ -779,7 +790,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; SDKROOT = iphoneos; @@ -832,10 +843,11 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 10.0; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; @@ -849,6 +861,7 @@ buildSettings = { CLANG_ENABLE_MODULES = YES; DEFINES_MODULE = YES; + DEVELOPMENT_ASSET_PATHS = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -856,7 +869,11 @@ HEADER_SEARCH_PATHS = "$(SRCROOT)/**"; INFOPLIST_FILE = Form/Info.plist; 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", + ); MARKETING_VERSION = 3.2.0; PRODUCT_BUNDLE_IDENTIFIER = com.iZettle.Form; PRODUCT_NAME = Form; @@ -870,6 +887,7 @@ buildSettings = { CLANG_ENABLE_MODULES = YES; DEFINES_MODULE = YES; + DEVELOPMENT_ASSET_PATHS = ""; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; @@ -877,7 +895,11 @@ HEADER_SEARCH_PATHS = "$(SRCROOT)/**"; INFOPLIST_FILE = Form/Info.plist; 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", + ); MARKETING_VERSION = 3.2.0; PRODUCT_BUNDLE_IDENTIFIER = com.iZettle.Form; PRODUCT_NAME = Form; diff --git a/carthage.sh b/carthage.sh deleted file mode 100755 index fd12ee2..0000000 --- a/carthage.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env bash - -# carthage-build.sh -# Usage example: ./carthage-build.sh --platform iOS - -set -euo pipefail - -xcconfig=$(mktemp /tmp/static.xcconfig.XXXXXX) -trap 'rm -f "$xcconfig"' INT TERM HUP EXIT - -# For Xcode 12 make sure EXCLUDED_ARCHS is set to arm architectures otherwise -# the build will fail on lipo due to duplicate architectures. - -CURRENT_XCODE_VERSION="$(xcodebuild -version | grep "Xcode" | cut -d' ' -f2 | cut -d'.' -f1)00" -CURRENT_XCODE_BUILD=$(xcodebuild -version | grep "Build version" | cut -d' ' -f3) - -echo "EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64__XCODE_${CURRENT_XCODE_VERSION}__BUILD_${CURRENT_XCODE_BUILD} = arm64 arm64e armv7 armv7s armv6 armv8" >> $xcconfig - -echo 'EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64__XCODE_'${CURRENT_XCODE_VERSION}' = $(EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_simulator__NATIVE_ARCH_64_BIT_x86_64__XCODE_$(XCODE_VERSION_MAJOR)__BUILD_$(XCODE_PRODUCT_BUILD_VERSION))' >> $xcconfig -echo 'EXCLUDED_ARCHS = $(inherited) $(EXCLUDED_ARCHS__EFFECTIVE_PLATFORM_SUFFIX_$(EFFECTIVE_PLATFORM_SUFFIX)__NATIVE_ARCH_64_BIT_$(NATIVE_ARCH_64_BIT)__XCODE_$(XCODE_VERSION_MAJOR))' >> $xcconfig - -export XCODE_XCCONFIG_FILE="$xcconfig" -carthage "$@"