diff --git a/.travis.yml b/.travis.yml index ca29d13..71b6942 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ language: objective-c -osx_image: xcode7.3 +osx_image: xcode8 sudo: false git: submodules: false @@ -9,17 +9,18 @@ env: global: - LC_CTYPE=en_US.UTF-8 - LANG=en_US.UTF-8 - matrix: - - DESTINATION="OS=9.3,name=iPhone 6s" SCHEME="CoreStore iOS" SDK=iphonesimulator9.3 RUN_TESTS="YES" POD_LINT="NO" - - DESTINATION="OS=9.0,name=iPhone 6 Plus" SCHEME="CoreStore iOS" SDK=iphonesimulator9.3 RUN_TESTS="YES" POD_LINT="NO" - - DESTINATION="OS=8.4,name=iPhone 6" SCHEME="CoreStore iOS" SDK=iphonesimulator9.3 RUN_TESTS="YES" POD_LINT="NO" - - DESTINATION="OS=8.3,name=iPhone 5S" SCHEME="CoreStore iOS" SDK=iphonesimulator9.3 RUN_TESTS="YES" POD_LINT="NO" - - DESTINATION="OS=8.2,name=iPhone 5" SCHEME="CoreStore iOS" SDK=iphonesimulator9.3 RUN_TESTS="YES" POD_LINT="NO" - - DESTINATION="OS=8.1,name=iPhone 4S" SCHEME="CoreStore iOS" SDK=iphonesimulator9.3 RUN_TESTS="YES" POD_LINT="YES" - - DESTINATION="OS=8.1,name=iPhone 4S" SCHEME="CoreStore iOS7" SDK=iphonesimulator9.3 RUN_TESTS="YES" POD_LINT="YES" - - DESTINATION="arch=x86_64" SCHEME="CoreStore OSX" SDK=macosx10.11 RUN_TESTS="YES" POD_LINT="NO" - - DESTINATION="OS=2.2,name=Apple Watch - 42mm" SCHEME="CoreStore watchOS" SDK=watchsimulator2.2 RUN_TESTS="NO" POD_LINT="NO" - - DESTINATION="OS=9.2,name=Apple TV 1080p" SCHEME="CoreStore tvOS" SDK=appletvsimulator9.2 RUN_TESTS="YES" POD_LINT="NO" + matrix: + - DESTINATION="OS=10.0,name=iPhone 7" SCHEME="CoreStore iOS" SDK=iphonesimulator10.0 RUN_TESTS="YES" POD_LINT="NO" + - DESTINATION="OS=9.3,name=iPhone 6s" SCHEME="CoreStore iOS" SDK=iphonesimulator10.0 RUN_TESTS="YES" POD_LINT="NO" + - DESTINATION="OS=9.0,name=iPhone 6 Plus" SCHEME="CoreStore iOS" SDK=iphonesimulator10.0 RUN_TESTS="YES" POD_LINT="NO" + - DESTINATION="OS=8.4,name=iPhone 6" SCHEME="CoreStore iOS" SDK=iphonesimulator10.0 RUN_TESTS="YES" POD_LINT="NO" + - DESTINATION="OS=8.3,name=iPhone 5S" SCHEME="CoreStore iOS" SDK=iphonesimulator10.0 RUN_TESTS="YES" POD_LINT="NO" + - DESTINATION="OS=8.2,name=iPhone 5" SCHEME="CoreStore iOS" SDK=iphonesimulator10.0 RUN_TESTS="YES" POD_LINT="NO" + - DESTINATION="OS=8.1,name=iPhone 4S" SCHEME="CoreStore iOS" SDK=iphonesimulator10.0 RUN_TESTS="YES" POD_LINT="YES" + - DESTINATION="arch=x86_64" SCHEME="CoreStore OSX" SDK=macosx10.12 RUN_TESTS="YES" POD_LINT="NO" + - DESTINATION="OS=3.0,name=Apple Watch - 42mm" SCHEME="CoreStore watchOS" SDK=watchsimulator3.0 RUN_TESTS="NO" POD_LINT="NO" + - DESTINATION="OS=2.2,name=Apple Watch - 42mm" SCHEME="CoreStore watchOS" SDK=watchsimulator3.0 RUN_TESTS="NO" POD_LINT="NO" + - DESTINATION="OS=9.2,name=Apple TV 1080p" SCHEME="CoreStore tvOS" SDK=appletvsimulator10.0 RUN_TESTS="YES" POD_LINT="NO" before_install: - gem install cocoapods --no-rdoc --no-ri --no-document --quiet - gem install xcpretty --no-rdoc --no-ri --no-document --quiet diff --git a/Carthage/Checkouts/GCDKit b/Carthage/Checkouts/GCDKit index 7f88719..a7f2b8a 160000 --- a/Carthage/Checkouts/GCDKit +++ b/Carthage/Checkouts/GCDKit @@ -1 +1 @@ -Subproject commit 7f88719fbd4824a378576d679b0b929816973f25 +Subproject commit a7f2b8ac848eaa3ec97682f165505fa377f1fe8c diff --git a/CoreStore.podspec b/CoreStore.podspec index 3e79aec..785a259 100644 --- a/CoreStore.podspec +++ b/CoreStore.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "CoreStore" - s.version = "2.0.6" + s.version = "2.1.0" s.license = "MIT" s.summary = "Unleashing the real power of Core Data with the elegance and safety of Swift" s.homepage = "https://github.com/JohnEstropia/CoreStore" diff --git a/README.md b/README.md index 4500c76..8d8b65b 100644 --- a/README.md +++ b/README.md @@ -17,8 +17,12 @@ Unleashing the real power of Core Data with the elegance and safety of Swift Reach me on Twitter!

-* Swift 2.2 (Xcode 7.3) + * iOS 7+ / macOS 10.10+ / watchOS 2.0+ / tvOS 9.0+ +- for Swift 2.2 (Xcode 7.3 and iOS 7): Use version [2.0.6](https://github.com/JohnEstropia/CoreStore/releases/tag/2.0.6) or the [master_ios_7_to_9](https://github.com/JohnEstropia/CoreStore/tree/master_ios_7_to_9) branch +- for Swift 2.3 (Xcode 8): Use version [2.1.0](https://github.com/JohnEstropia/CoreStore/releases/tag/2.1.0) or the [master](https://github.com/JohnEstropia/CoreStore/tree/master) branch +- for Swift 3 (Xcode 8): Use the [swift3_develop](https://github.com/JohnEstropia/CoreStore/tree/swift3_develop) branch + * **New in CoreStore 2.0:** Objective-C support! All CoreStore types now have their corresponding Objective-C "bridging classes". Perfect for projects transitioning from Objective-C to Swift! Upgrading from CoreStore 1.x to 2.x? Check out the [new features](#new-in-corestore-20) and make sure to read the [Migration guide](#upgrading-from-1xx-to-2xx). @@ -1411,13 +1415,7 @@ NSArray *objects = CSSortAscending(CSKeyPath(MYPerson, firstName)), nil)]]; ``` -To use these syntax sugars, include *CoreStoreBridge.h* in your Objective-C source files. For projects that support iOS 7 (and thus cannot build CoreStore as a module), you will need to add -``` -SWIFT_OBJC_INTERFACE_HEADER_NAME=$(SWIFT_OBJC_INTERFACE_HEADER_NAME) -``` -to your target's `GCC_PREPROCESSOR_DEFINITIONS` build setting. - -GCC_PREPROCESSOR_DEFINITIONS +To use these syntax sugars, include *CoreStoreBridge.h* in your Objective-C source files. # Roadmap @@ -1429,14 +1427,14 @@ to your target's `GCC_PREPROCESSOR_DEFINITIONS` build setting. # Installation - Requires: - - iOS 7 SDK and above - - Swift 2.2 (Xcode 7.3) + - iOS 8 SDK and above + - Swift 2.3 (Xcode 8) - Dependencies: - [GCDKit](https://github.com/JohnEstropia/GCDKit) - Other notes: - The `com.apple.CoreData.ConcurrencyDebug` debug argument should be turned off for the app. CoreStore already guarantees safety for you by making the main context read-only, and by only executing transactions serially. -### Install with CocoaPods (iOS 7 not supported) +### Install with CocoaPods ``` pod 'CoreStore' ``` @@ -1445,8 +1443,8 @@ This installs CoreStore as a framework. Declare `import CoreStore` in your swift ### Install with Carthage In your `Cartfile`, add ``` -github "JohnEstropia/CoreStore" >= 2.0.0 -github "JohnEstropia/GCDKit" >= 1.2.5 +github "JohnEstropia/CoreStore" >= 2.1.0 +github "JohnEstropia/GCDKit" >= 1.3.0 ``` and run ``` @@ -1459,7 +1457,7 @@ git submodule add https://github.com/JohnEstropia/CoreStore.git - - # Changesets ### Upgrading from 1.x.x to 2.x.x **Obsoleted** diff --git a/Sources/ObjectiveC/CoreStoreBridge.m b/Sources/ObjectiveC/CoreStoreBridge.m index 6c770c5..64f42a4 100644 --- a/Sources/ObjectiveC/CoreStoreBridge.m +++ b/Sources/ObjectiveC/CoreStoreBridge.m @@ -26,23 +26,8 @@ #import "CoreStoreBridge.h" -#if USE_FRAMEWORKS #import -#elif !defined(SWIFT_OBJC_INTERFACE_HEADER_NAME) -#error Add "SWIFT_OBJC_INTERFACE_HEADER_NAME=$(SWIFT_OBJC_INTERFACE_HEADER_NAME)" to the project's GCC_PREPROCESSOR_DEFINITIONS settings - -#elif __has_include(SWIFT_OBJC_INTERFACE_HEADER_NAME) -#import SWIFT_OBJC_INTERFACE_HEADER_NAME - -#else -#define _STRINGIFY(x) #x -#define STRINGIFY(x) _STRINGIFY(x) -#import STRINGIFY(SWIFT_OBJC_INTERFACE_HEADER_NAME) - -#endif - - #pragma mark - Clauses