This repository has been archived by the owner on Dec 17, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 40
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
## New features * Existing data will be automatically uploaded if CloudKit doesn't exists (fix #9) * Framework now handles next CloudKit errors: * `userDeletedZone`: all local cached Core Data will removed (user asked to purge data) * `zoneNotFound`: existing data will be automatically uploaded to CloudKit * `changeTokenExpired`: tokens will be reset and all data downloaded again * `isMore`: if you fetch a lot of data from Cloud, fetch requests will be divided to several ones * Sync status and errors are reported to `CloudCoreDelegate` instead of notifications, it's more Swift way. ## Improvements * Changed API calls (check changes at CloudCore), that version is not compatible with `1.x` * Numerous bug fixes (really, alpha version wasn't usable) * More clean folder structure * Documented 100% of public methods and variables. * Combined all targets to one multiplatform target. Thanks for [that guide](http://ilya.puchka.me/xcode-cross-platform-frameworks/). ## Removed * Removed Swift Package Manager support, because it doesn't well support manager for iOS & macOS applications. * Notifications removed, use delegate. ## New example application Absolutely new example application with more realistic use cases. All changes can be made by pressing *Edit* button, and it will be saved when you click *Done*.
- Loading branch information
Showing
111 changed files
with
2,119 additions
and
1,699 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,45 +1,37 @@ | ||
osx_image: xcode9 | ||
osx_image: xcode9.2 | ||
language: objective-c | ||
podfile: "Example/Podfile" | ||
|
||
branches: | ||
only: | ||
- master | ||
|
||
env: | ||
global: | ||
- PROJECT="CloudCore.xcodeproj" | ||
- EXAMPLE_PROJECT="Example/CloudCoreExample.xcodeproj" | ||
|
||
- IOS_FRAMEWORK_SCHEME="CloudCore-iOS" | ||
- MACOS_FRAMEWORK_SCHEME="CloudCore-Mac" | ||
- EXAMPLE_SCHEME="CloudCoreExample" | ||
matrix: | ||
- DESTINATION="OS=11.0,name=iPhone 7 Plus" SCHEME="$IOS_FRAMEWORK_SCHEME" BUILD_EXAMPLE="YES" POD_LINT="YES" | ||
- DESTINATION="arch=x86_64" SCHEME="$MACOS_FRAMEWORK_SCHEME" BUILD_EXAMPLE="NO" POD_LINT="NO" | ||
- DESTINATION='platform=OS X' POD_LINT="YES" | ||
- DESTINATION='platform=iOS Simulator,name=iPhone 6S' BUILD_EXAMPLE="YES" | ||
- DESTINATION='platform=watchOS Simulator,name=Apple Watch - 38mm' SKIP_TEST="YES" | ||
- DESTINATION='platform=tvOS Simulator,name=Apple TV 4K' | ||
|
||
before_install: | ||
- gem install cocoapods --pre --no-rdoc --no-ri --no-document --quiet | ||
- gem install xcpretty-travis-formatter | ||
|
||
script: | ||
- set -o pipefail | ||
|
||
# Build and test in debug | ||
- xcodebuild -project "$PROJECT" -scheme "$SCHEME" -destination "$DESTINATION" -configuration Debug ONLY_ACTIVE_ARCH=NO ENABLE_TESTABILITY=YES test | xcpretty -f `xcpretty-travis-formatter` | ||
# Build and test in release | ||
- xcodebuild -project "$PROJECT" -scheme "$SCHEME" -destination "$DESTINATION" -configuration Release ONLY_ACTIVE_ARCH=NO ENABLE_TESTABILITY=YES test | xcpretty -f `xcpretty-travis-formatter` | ||
|
||
# Build example project | ||
- if [ $BUILD_EXAMPLE == "YES" ]; then | ||
xcodebuild -project "$EXAMPLE_PROJECT" -scheme "$EXAMPLE_SCHEME" -destination "$DESTINATION" -configuration Debug ONLY_ACTIVE_ARCH=NO build | xcpretty -f `xcpretty-travis-formatter`; | ||
fi | ||
|
||
# Run on Pull Request | ||
- if [ $POD_LINT == "YES" && $TRAVIS_PULL_REQUEST != "false" ]; then | ||
- set -o pipefail | ||
- xcodebuild -scheme CloudCore -destination "$DESTINATION" build | xcpretty -f `xcpretty-travis-formatter` | ||
- if [ "$SKIP_TEST" != "YES" ]; then | ||
xcodebuild -scheme CloudCore -destination "$DESTINATION" test | xcpretty -f `xcpretty-travis-formatter`; | ||
fi | ||
|
||
# Example | ||
- if [ "$BUILD_EXAMPLE" = "YES" ]; then | ||
xcodebuild -workspace "Example/CloudCoreExample.xcworkspace" -scheme "CloudCoreExample" -destination "$DESTINATION" build | xcpretty -f `xcpretty-travis-formatter`; | ||
fi | ||
|
||
- if [ "$POD_LINT" = "YES" ]; then | ||
pod lib lint --allow-warnings; | ||
fi | ||
fi | ||
|
||
# Run release to master branch | ||
- if [ $POD_LINT == "YES" && $TRAVIS_BRANCH = "master" ]; then | ||
pod spec lint --allow-warnings; | ||
fi | ||
# Run release to master branch | ||
- if [ "$POD_LINT" = "YES" ] && [ "$TRAVIS_BRANCH" = "master" ] && [ "$TRAVIS_PULL_REQUEST" == "false" ]; then | ||
pod spec lint --allow-warnings; | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,7 +1,7 @@ | ||
Pod::Spec.new do |s| | ||
s.name = "CloudCore" | ||
s.summary = "Framework that enables syncing between iCloud (CloudKit) and Core Data" | ||
s.version = "1.0.1" | ||
s.summary = "Framework that enables synchronization between CloudKit (iCloud) and Core Data. Can be used as CloudKit caching mechanism." | ||
s.version = "2.0.0" | ||
s.homepage = "https://github.com/sorix/CloudCore" | ||
s.license = 'MIT' | ||
s.author = { "Vasily Ulianov" => "[email protected]" } | ||
|
@@ -12,14 +12,14 @@ Pod::Spec.new do |s| | |
|
||
s.ios.deployment_target = '10.0' | ||
s.osx.deployment_target = '10.12' | ||
s.tvos.deployment_target = '10.0' | ||
s.watchos.deployment_target = '3.0' | ||
|
||
s.ios.source_files = 'Sources/**/*.swift' | ||
# s.tvos.source_files = 'Sources/**/*.swift' | ||
s.osx.source_files = 'Sources/**/*.swift' | ||
s.source_files = 'Source/**/*.swift' | ||
|
||
s.ios.frameworks = 'Foundation', 'CloudKit', 'CoreData' | ||
s.osx.frameworks = 'Foundation', 'CloudKit', 'CoreData' | ||
|
||
s.pod_target_xcconfig = { 'SWIFT_VERSION' => '4.0' } | ||
s.documentation_url = 'https://github.com/Sorix/CloudCore/wiki' | ||
s.documentation_url = 'http://cocoadocs.org/docsets/CloudCore/' | ||
end |
Large diffs are not rendered by default.
Oops, something went wrong.
101 changes: 0 additions & 101 deletions
101
CloudCore.xcodeproj/xcshareddata/xcschemes/CloudCore-Mac.xcscheme
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.