From d48dff3a4f316b4263fafbe86d5da0712ce55a41 Mon Sep 17 00:00:00 2001 From: Douglas Heriot Date: Wed, 29 Jun 2016 01:54:19 +1000 Subject: [PATCH 1/3] Update for Xcode 8, Swift 2.3. Bump OSX Deployment Target to 10.10 to avoid libarclite duplicate linking error? --- Rx.xcodeproj/project.pbxproj | 9 ++++++--- .../xcshareddata/xcschemes/RxBlocking-OSX.xcscheme | 2 +- .../xcshareddata/xcschemes/RxBlocking-iOS.xcscheme | 2 +- .../xcshareddata/xcschemes/RxBlocking-tvOS.xcscheme | 2 +- .../xcshareddata/xcschemes/RxBlocking-watchOS.xcscheme | 2 +- Rx.xcodeproj/xcshareddata/xcschemes/RxCocoa-OSX.xcscheme | 2 +- Rx.xcodeproj/xcshareddata/xcschemes/RxCocoa-iOS.xcscheme | 2 +- .../xcshareddata/xcschemes/RxCocoa-tvOS.xcscheme | 2 +- .../xcshareddata/xcschemes/RxCocoa-watchOS.xcscheme | 2 +- Rx.xcodeproj/xcshareddata/xcschemes/RxSwift-OSX.xcscheme | 2 +- Rx.xcodeproj/xcshareddata/xcschemes/RxSwift-iOS.xcscheme | 2 +- .../xcshareddata/xcschemes/RxSwift-tvOS.xcscheme | 2 +- .../xcshareddata/xcschemes/RxSwift-watchOS.xcscheme | 2 +- Rx.xcodeproj/xcshareddata/xcschemes/RxTests-OSX.xcscheme | 2 +- Rx.xcodeproj/xcshareddata/xcschemes/RxTests-iOS.xcscheme | 2 +- .../xcshareddata/xcschemes/RxTests-tvOS.xcscheme | 2 +- 16 files changed, 21 insertions(+), 18 deletions(-) diff --git a/Rx.xcodeproj/project.pbxproj b/Rx.xcodeproj/project.pbxproj index 36f44e4f..b2c2ddad 100644 --- a/Rx.xcodeproj/project.pbxproj +++ b/Rx.xcodeproj/project.pbxproj @@ -5216,11 +5216,12 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MACOSX_DEPLOYMENT_TARGET = 10.9; + MACOSX_DEPLOYMENT_TARGET = 10.10; MTL_ENABLE_DEBUG_INFO = NO; OTHER_SWIFT_FLAGS = "-D TRACE_RESOURCES"; SDKROOT = ""; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 2.3; TARGETED_DEVICE_FAMILY = "1,2"; TVOS_DEPLOYMENT_TARGET = 9.0; VALIDATE_PRODUCT = YES; @@ -5613,12 +5614,13 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MACOSX_DEPLOYMENT_TARGET = 10.9; + MACOSX_DEPLOYMENT_TARGET = 10.10; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; OTHER_SWIFT_FLAGS = "-D TRACE_RESOURCES -D DEBUG"; SDKROOT = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 2.3; TARGETED_DEVICE_FAMILY = "1,2"; TVOS_DEPLOYMENT_TARGET = 9.0; VERSIONING_SYSTEM = "apple-generic"; @@ -5662,11 +5664,12 @@ GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - MACOSX_DEPLOYMENT_TARGET = 10.9; + MACOSX_DEPLOYMENT_TARGET = 10.10; MTL_ENABLE_DEBUG_INFO = NO; OTHER_SWIFT_FLAGS = "-D RELEASE"; SDKROOT = ""; SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_VERSION = 2.3; TARGETED_DEVICE_FAMILY = "1,2"; TVOS_DEPLOYMENT_TARGET = 9.0; VALIDATE_PRODUCT = YES; diff --git a/Rx.xcodeproj/xcshareddata/xcschemes/RxBlocking-OSX.xcscheme b/Rx.xcodeproj/xcshareddata/xcschemes/RxBlocking-OSX.xcscheme index ee387821..9c057572 100644 --- a/Rx.xcodeproj/xcshareddata/xcschemes/RxBlocking-OSX.xcscheme +++ b/Rx.xcodeproj/xcshareddata/xcschemes/RxBlocking-OSX.xcscheme @@ -1,6 +1,6 @@ Date: Wed, 29 Jun 2016 22:54:12 +1000 Subject: [PATCH 2/3] Fix RxExample for Xcode 8, Swift 2.3 --- .travis.yml | 2 +- RxExample/RxExample.xcodeproj/project.pbxproj | 28 ++++++++++++++----- .../xcschemes/RxExample-OSX.xcscheme | 2 +- .../RxExample-iOS-no-module.xcscheme | 2 +- .../xcschemes/RxExample-iOS.xcscheme | 2 +- .../RxExample/Services/HtmlParsing.swift | 8 ++++-- 6 files changed, 31 insertions(+), 13 deletions(-) diff --git a/.travis.yml b/.travis.yml index cd370e67..51c97177 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: objective-c -osx_image: xcode7.3 +osx_image: xcode8 notifications: slack: rxswift:3ykt2Z61f8GkdvhCZTYPduOL diff --git a/RxExample/RxExample.xcodeproj/project.pbxproj b/RxExample/RxExample.xcodeproj/project.pbxproj index 76a70222..7208fba1 100644 --- a/RxExample/RxExample.xcodeproj/project.pbxproj +++ b/RxExample/RxExample.xcodeproj/project.pbxproj @@ -1907,7 +1907,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0720; - LastUpgradeCheck = 0710; + LastUpgradeCheck = 0800; ORGANIZATIONNAME = "Krunoslav Zaher"; TargetAttributes = { C83366DC1AD0293800C668A7 = { @@ -2610,6 +2610,7 @@ PRODUCT_NAME = "RxExample-iOS-no-module"; SDKROOT = iphoneos; SWIFT_OBJC_BRIDGING_HEADER = ../RxCocoa/RxCocoa.h; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; }; name = Release; }; @@ -2625,12 +2626,14 @@ PRODUCT_NAME = "RxExample-iOS-no-module"; SDKROOT = iphoneos; SWIFT_OBJC_BRIDGING_HEADER = ../RxCocoa/RxCocoa.h; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; }; name = "Release-Tests"; }; C83366FD1AD0293900C668A7 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_SEARCH_USER_PATHS = NO; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; @@ -2648,11 +2651,11 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; - EMBEDDED_CONTENT_CONTAINS_SWIFT = YES; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; GCC_OPTIMIZATION_LEVEL = 0; GCC_PREPROCESSOR_DEFINITIONS = ( "DEBUG=1", @@ -2667,12 +2670,14 @@ GCC_WARN_UNUSED_VARIABLE = YES; INFOPLIST_FILE = RxExample/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.1; + MACOSX_DEPLOYMENT_TARGET = 10.10; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; OTHER_SWIFT_FLAGS = "-D DEBUG -D TRACE_RESOURCES"; PRODUCT_NAME = RxExample; SDKROOT = ""; SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 2.3; TARGETED_DEVICE_FAMILY = "1,2"; }; name = Debug; @@ -2680,6 +2685,7 @@ C83366FE1AD0293900C668A7 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_SEARCH_USER_PATHS = NO; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; @@ -2697,10 +2703,10 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; - EMBEDDED_CONTENT_CONTAINS_SWIFT = YES; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; @@ -2709,10 +2715,12 @@ GCC_WARN_UNUSED_VARIABLE = YES; INFOPLIST_FILE = RxExample/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.1; + MACOSX_DEPLOYMENT_TARGET = 10.10; MTL_ENABLE_DEBUG_INFO = NO; OTHER_SWIFT_FLAGS = "-D RELEASE"; PRODUCT_NAME = RxExample; SDKROOT = ""; + SWIFT_VERSION = 2.3; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; @@ -2743,6 +2751,7 @@ PRODUCT_BUNDLE_IDENTIFIER = "io.rx.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "RxExample-iOS"; SDKROOT = iphoneos; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; }; name = Release; }; @@ -2774,6 +2783,7 @@ PRODUCT_BUNDLE_IDENTIFIER = "kzaher.RxExample-iOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/RxExample-iOS.app/RxExample-iOS"; }; name = Release; @@ -2790,6 +2800,7 @@ PRODUCT_BUNDLE_IDENTIFIER = "kzaher.RxExample-iOSTests"; PRODUCT_NAME = "$(TARGET_NAME)"; SDKROOT = iphoneos; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/RxExample-iOS.app/RxExample-iOS"; }; name = "Release-Tests"; @@ -2800,7 +2811,6 @@ COMBINE_HIDPI_IMAGES = YES; INFOPLIST_FILE = "RxExample/Info-OSX.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @loader_path/../Frameworks @executable_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; OTHER_LDFLAGS = "-objc_loadall"; PRODUCT_BUNDLE_IDENTIFIER = "io.rx.$(PRODUCT_NAME:rfc1034identifier)"; SDKROOT = macosx; @@ -2813,16 +2823,17 @@ COMBINE_HIDPI_IMAGES = YES; INFOPLIST_FILE = "RxExample/Info-OSX.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @loader_path/../Frameworks @executable_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; OTHER_LDFLAGS = "-objc_loadall"; PRODUCT_BUNDLE_IDENTIFIER = "io.rx.$(PRODUCT_NAME:rfc1034identifier)"; SDKROOT = macosx; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; }; name = Release; }; C8DF92ED1B0B3DFA009BCF9A /* Release-Tests */ = { isa = XCBuildConfiguration; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; ALWAYS_SEARCH_USER_PATHS = NO; ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; @@ -2840,10 +2851,10 @@ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; COPY_PHASE_STRIP = NO; - EMBEDDED_CONTENT_CONTAINS_SWIFT = YES; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = YES; GCC_PREPROCESSOR_DEFINITIONS = ""; GCC_WARN_64_TO_32_BIT_CONVERSION = YES; GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; @@ -2853,10 +2864,12 @@ GCC_WARN_UNUSED_VARIABLE = YES; INFOPLIST_FILE = RxExample/Info.plist; IPHONEOS_DEPLOYMENT_TARGET = 8.1; + MACOSX_DEPLOYMENT_TARGET = 10.10; MTL_ENABLE_DEBUG_INFO = NO; OTHER_SWIFT_FLAGS = "-D TRACE_RESOURCES"; PRODUCT_NAME = RxExample; SDKROOT = ""; + SWIFT_VERSION = 2.3; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; }; @@ -2873,6 +2886,7 @@ PRODUCT_BUNDLE_IDENTIFIER = "io.rx.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "RxExample-iOS"; SDKROOT = iphoneos; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; }; name = "Release-Tests"; }; @@ -2882,10 +2896,10 @@ COMBINE_HIDPI_IMAGES = YES; INFOPLIST_FILE = "RxExample/Info-OSX.plist"; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @loader_path/../Frameworks @executable_path/../Frameworks"; - MACOSX_DEPLOYMENT_TARGET = 10.10; OTHER_LDFLAGS = "-objc_loadall"; PRODUCT_BUNDLE_IDENTIFIER = "io.rx.$(PRODUCT_NAME:rfc1034identifier)"; SDKROOT = macosx; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; }; name = "Release-Tests"; }; diff --git a/RxExample/RxExample.xcodeproj/xcshareddata/xcschemes/RxExample-OSX.xcscheme b/RxExample/RxExample.xcodeproj/xcshareddata/xcschemes/RxExample-OSX.xcscheme index 95419b62..3ca0dbb3 100644 --- a/RxExample/RxExample.xcodeproj/xcshareddata/xcschemes/RxExample-OSX.xcscheme +++ b/RxExample/RxExample.xcodeproj/xcshareddata/xcschemes/RxExample-OSX.xcscheme @@ -1,6 +1,6 @@ [NSURL] { func parseImageURLsfromHTMLSuitableForDisplay(html: NSString) throws -> [NSURL] { return try parseImageURLsfromHTML(html).filter { - return $0.absoluteString.rangeOfString(".svg.") == nil + #if swift(>=2.3) + return $0.absoluteString!.rangeOfString(".svg.") == nil + #else + return $0.absoluteString.rangeOfString(".svg.") == nil + #endif } -} \ No newline at end of file +} From 67160ee0dc85384011ea61001c5514933381402e Mon Sep 17 00:00:00 2001 From: Douglas Heriot Date: Thu, 30 Jun 2016 00:41:14 +1000 Subject: [PATCH 3/3] Put Travis back to Xcode 7.3 Upgrading to 8 requires all .swift build scripts to use Swift 3, which isn't appropriate in this branch. --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 51c97177..cd370e67 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ language: objective-c -osx_image: xcode8 +osx_image: xcode7.3 notifications: slack: rxswift:3ykt2Z61f8GkdvhCZTYPduOL