From d4deed0cf7cfd713b73a12013a8ff03804abed2d Mon Sep 17 00:00:00 2001 From: jagbryrmiginte Date: Sun, 21 Jul 2019 12:09:53 +0200 Subject: [PATCH 1/6] Specify minimum deployment target for Swift Package Manager, fixes Issue #328 --- Package.swift | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Package.swift b/Package.swift index 271d129..39f6c58 100644 --- a/Package.swift +++ b/Package.swift @@ -28,6 +28,9 @@ import PackageDescription let package = Package( name: "CoreStore", + platforms: [ + .macOS(.v10_12), .iOS(.v10), .tvOS(.v10), .watchOS(.v3) + ], products: [ .library(name: "CoreStore", type: .static, targets: ["CoreStore"]) ], From f0dac2454cc657f9ae14a10491a2be7d06ad90bd Mon Sep 17 00:00:00 2001 From: jagbryrmiginte Date: Sun, 21 Jul 2019 12:12:30 +0200 Subject: [PATCH 2/6] Bump SPM package description to 5.0 to resolve compiler error --- Package.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index 39f6c58..f6ec31f 100644 --- a/Package.swift +++ b/Package.swift @@ -1,4 +1,4 @@ -// swift-tools-version:4.2 +// swift-tools-version:5.0 // // Package.swift // CoreStore From 02d5bf85ae398c5f0d9c6336ba4a90c9d0580295 Mon Sep 17 00:00:00 2001 From: John Estropia Date: Tue, 20 Aug 2019 12:42:34 +0900 Subject: [PATCH 3/6] fix ListMonitor demo for iOS 13 --- .../ListObserverDemoViewController.swift | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/CoreStoreDemo/CoreStoreDemo/List and Object Observers Demo/ListObserverDemoViewController.swift b/CoreStoreDemo/CoreStoreDemo/List and Object Observers Demo/ListObserverDemoViewController.swift index 6838694..265d4f5 100644 --- a/CoreStoreDemo/CoreStoreDemo/List and Object Observers Demo/ListObserverDemoViewController.swift +++ b/CoreStoreDemo/CoreStoreDemo/List and Object Observers Demo/ListObserverDemoViewController.swift @@ -260,9 +260,8 @@ class ListObserverDemoViewController: UITableViewController, ListSectionObserver } func listMonitor(_ monitor: ListMonitor, didMoveObject object: Palette, fromIndexPath: IndexPath, toIndexPath: IndexPath) { - - self.tableView.deleteRows(at: [fromIndexPath], with: .automatic) - self.tableView.insertRows(at: [toIndexPath], with: .automatic) + + self.tableView.moveRow(at: fromIndexPath, to: toIndexPath) } From 058cc1915b007ce35e7231d017c291051d419d3f Mon Sep 17 00:00:00 2001 From: John Estropia Date: Tue, 27 Aug 2019 14:21:33 +0900 Subject: [PATCH 4/6] fix optimization issues in release build --- Sources/CoreStoreObject+Observing.swift | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Sources/CoreStoreObject+Observing.swift b/Sources/CoreStoreObject+Observing.swift index 81d4365..06db158 100644 --- a/Sources/CoreStoreObject+Observing.swift +++ b/Sources/CoreStoreObject+Observing.swift @@ -462,8 +462,8 @@ extension AttributeProtocol { let notification = CoreStoreObjectValueDiff( kind: kind, - newNativeValue: newValue as! V.QueryableNativeType?, - oldNativeValue: oldValue as! V.QueryableNativeType?, + newNativeValue: newValue as? V.QueryableNativeType, + oldNativeValue: oldValue as? V.QueryableNativeType, isPrior: isPrior ) changeHandler( @@ -485,8 +485,8 @@ extension AttributeProtocol { let notification = CoreStoreObjectTransformableDiff( kind: kind, - newValue: newValue as! V?, - oldValue: oldValue as! V?, + newValue: newValue as? V, + oldValue: oldValue as? V, isPrior: isPrior ) changeHandler( From d42b397090218834d66f656828ea1962acf0a157 Mon Sep 17 00:00:00 2001 From: John Estropia Date: Tue, 27 Aug 2019 14:38:05 +0900 Subject: [PATCH 5/6] version bump --- CoreStore.podspec | 2 +- CoreStoreDemo/CoreStoreDemo/Info.plist | 2 +- Sources/Info.plist | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CoreStore.podspec b/CoreStore.podspec index 77f0e7a..fdb9527 100644 --- a/CoreStore.podspec +++ b/CoreStore.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "CoreStore" - s.version = "6.3.1" + s.version = "6.3.2" s.swift_version = "5.0" s.license = "MIT" s.homepage = "https://github.com/JohnEstropia/CoreStore" diff --git a/CoreStoreDemo/CoreStoreDemo/Info.plist b/CoreStoreDemo/CoreStoreDemo/Info.plist index bdbcece..15874fa 100644 --- a/CoreStoreDemo/CoreStoreDemo/Info.plist +++ b/CoreStoreDemo/CoreStoreDemo/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 6.3.1 + 6.3.2 CFBundleSignature ???? CFBundleVersion diff --git a/Sources/Info.plist b/Sources/Info.plist index 032c5c4..da1d595 100644 --- a/Sources/Info.plist +++ b/Sources/Info.plist @@ -15,7 +15,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 6.3.1 + 6.3.2 CFBundleSignature ???? CFBundleVersion From 8e3c44c072ed5e2d50af724817fe66e09b321829 Mon Sep 17 00:00:00 2001 From: Pushpendra Date: Fri, 13 Sep 2019 15:27:46 +0530 Subject: [PATCH 6/6] Added Support for Swift 5 Upgraded Xcode build version Added missing reference of for different targets --- .travis.yml | 26 +++++++++++++------------- CoreStore.xcodeproj/project.pbxproj | 12 ++++++++++++ 2 files changed, 25 insertions(+), 13 deletions(-) diff --git a/.travis.yml b/.travis.yml index 48d3626..ebabb75 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,5 +1,5 @@ language: objective-c -osx_image: xcode10.2 +osx_image: xcode11 sudo: false git: submodules: false @@ -11,16 +11,16 @@ env: - LANG=en_US.UTF-8 matrix: - DESTINATION="arch=x86_64" SCHEME="CoreStore OSX" SDK=macosx10.14 RUN_TESTS="YES" POD_LINT="NO" - - DESTINATION="OS=12.0,name=iPhone XS" SCHEME="CoreStore iOS" SDK=iphonesimulator12.0 RUN_TESTS="YES" POD_LINT="NO" - - DESTINATION="OS=11.0.1,name=iPhone 8" SCHEME="CoreStore iOS" SDK=iphonesimulator12.0 RUN_TESTS="YES" POD_LINT="NO" - - DESTINATION="OS=10.3.1,name=iPhone 7" SCHEME="CoreStore iOS" SDK=iphonesimulator12.0 RUN_TESTS="YES" POD_LINT="NO" - - DESTINATION="OS=10.1,name=iPhone 7" SCHEME="CoreStore iOS" SDK=iphonesimulator12.0 RUN_TESTS="YES" POD_LINT="NO" - - DESTINATION="OS=4.0,name=Apple Watch - 42mm" SCHEME="CoreStore watchOS" SDK=watchsimulator5.0 RUN_TESTS="NO" POD_LINT="NO" - - DESTINATION="OS=3.2,name=Apple Watch - 42mm" SCHEME="CoreStore watchOS" SDK=watchsimulator5.0 RUN_TESTS="NO" POD_LINT="NO" - - DESTINATION="OS=2.2,name=Apple Watch - 42mm" SCHEME="CoreStore watchOS" SDK=watchsimulator5.0 RUN_TESTS="NO" POD_LINT="NO" - - DESTINATION="OS=12.0,name=Apple TV 4K" SCHEME="CoreStore tvOS" SDK=appletvsimulator12.0 RUN_TESTS="YES" POD_LINT="NO" - - DESTINATION="OS=11.0,name=Apple TV 4K (at 1080p)" SCHEME="CoreStore tvOS" SDK=appletvsimulator12.0 RUN_TESTS="YES" POD_LINT="NO" - - DESTINATION="OS=10.2,name=Apple TV 1080p" SCHEME="CoreStore tvOS" SDK=appletvsimulator12.0 RUN_TESTS="YES" POD_LINT="NO" + - DESTINATION="OS=12.0,name=iPhone XS" SCHEME="CoreStore iOS" SDK=iphonesimulator13.0 RUN_TESTS="YES" POD_LINT="NO" + - DESTINATION="OS=11.0.1,name=iPhone 8" SCHEME="CoreStore iOS" SDK=iphonesimulator13.0 RUN_TESTS="YES" POD_LINT="NO" + - DESTINATION="OS=10.3.1,name=iPhone 7" SCHEME="CoreStore iOS" SDK=iphonesimulator13.0 RUN_TESTS="YES" POD_LINT="NO" + - DESTINATION="OS=10.1,name=iPhone 7" SCHEME="CoreStore iOS" SDK=iphonesimulator13.0 RUN_TESTS="YES" POD_LINT="NO" + - DESTINATION="OS=4.0,name=Apple Watch - 42mm" SCHEME="CoreStore watchOS" SDK=watchsimulator6.0 RUN_TESTS="NO" POD_LINT="NO" + - DESTINATION="OS=3.2,name=Apple Watch - 42mm" SCHEME="CoreStore watchOS" SDK=watchsimulator6.0 RUN_TESTS="NO" POD_LINT="NO" + - DESTINATION="OS=2.2,name=Apple Watch - 42mm" SCHEME="CoreStore watchOS" SDK=watchsimulator6.0 RUN_TESTS="NO" POD_LINT="NO" + - DESTINATION="OS=12.0,name=Apple TV 4K" SCHEME="CoreStore tvOS" SDK=appletvsimulator13.0 RUN_TESTS="YES" POD_LINT="NO" + - DESTINATION="OS=11.0,name=Apple TV 4K (at 1080p)" SCHEME="CoreStore tvOS" SDK=appletvsimulator13.0 RUN_TESTS="YES" POD_LINT="NO" + - DESTINATION="OS=10.2,name=Apple TV 1080p" SCHEME="CoreStore tvOS" SDK=appletvsimulator13.0 RUN_TESTS="YES" POD_LINT="NO" before_install: - gem install cocoapods --no-rdoc --no-ri --no-document - gem install xcpretty --no-rdoc --no-ri --no-document @@ -34,8 +34,8 @@ script: xcodebuild -workspace CoreStore.xcworkspace -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Debug ONLY_ACTIVE_ARCH=NO clean test | xcpretty -c; xcodebuild -workspace CoreStore.xcworkspace -scheme "$SCHEME" -sdk "$SDK" -destination "$DESTINATION" -configuration Release ONLY_ACTIVE_ARCH=NO clean test | xcpretty -c; fi - - xcodebuild -workspace "CoreStore.xcworkspace" -scheme "CoreStoreDemo" -sdk "iphonesimulator12.0" -destination "OS=11.0.1,name=iPhone 8" -configuration Debug ONLY_ACTIVE_ARCH=NO build | xcpretty -c; - - xcodebuild -workspace "CoreStore.xcworkspace" -scheme "CoreStoreDemo" -sdk "iphonesimulator12.0" -destination "OS=11.0.1,name=iPhone 8" -configuration Release ONLY_ACTIVE_ARCH=NO build | xcpretty -c; + - xcodebuild -workspace "CoreStore.xcworkspace" -scheme "CoreStoreDemo" -sdk "iphonesimulator13.0" -destination "OS=13.0,name=iPhone 8" -configuration Debug ONLY_ACTIVE_ARCH=NO build | xcpretty -c; + - xcodebuild -workspace "CoreStore.xcworkspace" -scheme "CoreStoreDemo" -sdk "iphonesimulator13.0" -destination "OS=13.0,name=iPhone 8" -configuration Release ONLY_ACTIVE_ARCH=NO build | xcpretty -c; - if [ $POD_LINT == "YES" ]; then pod lib lint --quick; fi diff --git a/CoreStore.xcodeproj/project.pbxproj b/CoreStore.xcodeproj/project.pbxproj index c28d06d..8a8f958 100644 --- a/CoreStore.xcodeproj/project.pbxproj +++ b/CoreStore.xcodeproj/project.pbxproj @@ -7,6 +7,12 @@ objects = { /* Begin PBXBuildFile section */ + 18166884232B9ED00097C275 /* KeyPath+KeyPaths.swift in Sources */ = {isa = PBXBuildFile; fileRef = B51B5C2C22D43E38009FA3BA /* KeyPath+KeyPaths.swift */; }; + 18166885232B9ED10097C275 /* KeyPath+KeyPaths.swift in Sources */ = {isa = PBXBuildFile; fileRef = B51B5C2C22D43E38009FA3BA /* KeyPath+KeyPaths.swift */; }; + 18166886232B9ED20097C275 /* KeyPath+KeyPaths.swift in Sources */ = {isa = PBXBuildFile; fileRef = B51B5C2C22D43E38009FA3BA /* KeyPath+KeyPaths.swift */; }; + 18166887232B9ED60097C275 /* String+KeyPaths.swift in Sources */ = {isa = PBXBuildFile; fileRef = B51B5C2A22D43931009FA3BA /* String+KeyPaths.swift */; }; + 18166888232B9ED70097C275 /* String+KeyPaths.swift in Sources */ = {isa = PBXBuildFile; fileRef = B51B5C2A22D43931009FA3BA /* String+KeyPaths.swift */; }; + 18166889232B9ED80097C275 /* String+KeyPaths.swift in Sources */ = {isa = PBXBuildFile; fileRef = B51B5C2A22D43931009FA3BA /* String+KeyPaths.swift */; }; 2F03A53619C5C6DA005002A5 /* CoreStore.h in Headers */ = {isa = PBXBuildFile; fileRef = 2F03A53519C5C6DA005002A5 /* CoreStore.h */; settings = {ATTRIBUTES = (Public, ); }; }; 2F03A54D19C5C872005002A5 /* CoreData.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2F03A54C19C5C872005002A5 /* CoreData.framework */; }; 2F291E2719C6D3CF007AF63F /* CoreStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2F291E2619C6D3CF007AF63F /* CoreStore.swift */; }; @@ -2121,6 +2127,7 @@ B509C7F51E54511B0061C547 /* ImportableAttributeType.swift in Sources */, 82BA18B31C4BBD3900A0916E /* ImportableUniqueObject.swift in Sources */, B5E1B5951CAA0C15007FD580 /* CSObjectMonitor.swift in Sources */, + 18166887232B9ED60097C275 /* String+KeyPaths.swift in Sources */, B5ECDC2B1CA81CC700C7F112 /* CSDataStack+Transaction.swift in Sources */, B56923F11EB827F6007C4DC9 /* XcodeSchemaMappingProvider.swift in Sources */, 82BA18A11C4BBD1D00A0916E /* CoreStore.swift in Sources */, @@ -2215,6 +2222,7 @@ B5A991ED1E9DC2CE0091A2E3 /* VersionLock.swift in Sources */, B5ECDBEE1CA6BF2000C7F112 /* CSFrom.swift in Sources */, B52F743E1E9B8724005F3DAC /* DynamicSchema.swift in Sources */, + 18166884232B9ED00097C275 /* KeyPath+KeyPaths.swift in Sources */, B5E8A72121C1015300EF006A /* CoreStoreObject+Observing.swift in Sources */, B5474D162227C08700B21FEC /* CoreStoreFetchRequest.swift in Sources */, B56924001EB82976007C4DC9 /* CSUnsafeDataModelSchema.swift in Sources */, @@ -2316,6 +2324,7 @@ B509C7F71E54511B0061C547 /* ImportableAttributeType.swift in Sources */, B5220E1F1D130810009BC71E /* CSListObserver.swift in Sources */, B52DD1941BE1F92500949AFE /* CoreStore.swift in Sources */, + 18166889232B9ED80097C275 /* String+KeyPaths.swift in Sources */, B52DD1A61BE1F92F00949AFE /* BaseDataTransaction+Importing.swift in Sources */, B56923F31EB827F6007C4DC9 /* XcodeSchemaMappingProvider.swift in Sources */, B5220E1D1D13080A009BC71E /* CSDataStack+Observing.swift in Sources */, @@ -2410,6 +2419,7 @@ B5A991EF1E9DC2CE0091A2E3 /* VersionLock.swift in Sources */, B5220E201D130813009BC71E /* CSObjectMonitor.swift in Sources */, B52F74401E9B8724005F3DAC /* DynamicSchema.swift in Sources */, + 18166886232B9ED20097C275 /* KeyPath+KeyPaths.swift in Sources */, B5E8A72321C1015300EF006A /* CoreStoreObject+Observing.swift in Sources */, B5474D182227C08700B21FEC /* CoreStoreFetchRequest.swift in Sources */, B56924021EB82976007C4DC9 /* CSUnsafeDataModelSchema.swift in Sources */, @@ -2511,6 +2521,7 @@ B509C7F61E54511B0061C547 /* ImportableAttributeType.swift in Sources */, B5E1B5961CAA0C15007FD580 /* CSObjectMonitor.swift in Sources */, B5ECDC2C1CA81CC700C7F112 /* CSDataStack+Transaction.swift in Sources */, + 18166888232B9ED70097C275 /* String+KeyPaths.swift in Sources */, B56321911BD65216006C9394 /* BaseDataTransaction+Importing.swift in Sources */, B56923F21EB827F6007C4DC9 /* XcodeSchemaMappingProvider.swift in Sources */, B546F95A1C99B17400D5AC55 /* CSCoreStore+Setup.swift in Sources */, @@ -2605,6 +2616,7 @@ B5A991EE1E9DC2CE0091A2E3 /* VersionLock.swift in Sources */, B5ECDBEF1CA6BF2000C7F112 /* CSFrom.swift in Sources */, B52F743F1E9B8724005F3DAC /* DynamicSchema.swift in Sources */, + 18166885232B9ED10097C275 /* KeyPath+KeyPaths.swift in Sources */, B5E8A72221C1015300EF006A /* CoreStoreObject+Observing.swift in Sources */, B5474D172227C08700B21FEC /* CoreStoreFetchRequest.swift in Sources */, B56924011EB82976007C4DC9 /* CSUnsafeDataModelSchema.swift in Sources */,