diff --git a/.gitignore b/.gitignore
index b4f0d94a..f385601e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,7 +1,14 @@
# OS X
.DS_Store
+.AppleDouble
+.LSOverride
+Icon
+._*
+.Spotlight-V100
+.Trashes
# Xcode
+#
build/
*.pbxuser
!default.pbxuser
@@ -13,14 +20,13 @@ build/
!default.perspectivev3
xcuserdata
*.xccheckout
-*.xcuserstate
-profile
*.moved-aside
DerivedData
*.hmap
*.ipa
-*.gcno
-*.gcda
-Pods
+*.xcuserstate
+*.xcscmblueprint
+# CocoaPods
+Pods
*.lock
diff --git a/.slather.yml b/.slather.yml
index 58191204..880712ad 100644
--- a/.slather.yml
+++ b/.slather.yml
@@ -1,4 +1,4 @@
ci_service: travis_ci
coverage_service: coveralls
-xcodeproj: Tests/Tests.xcodeproj
+xcodeproj: Demo.xcodeproj
source_directory: Source
diff --git a/.travis.yml b/.travis.yml
index 3e0c4beb..95713cb4 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,7 +1,13 @@
-# osx_image: xcode7
-# language: objective-c
-# cache: cocoapods
-# podfile: Tests/Podfile
-# before_install: gem install cocoapods obcd slather -N
-# script: xctool -workspace Tests/Tests.xcworkspace -scheme Tests -sdk iphonesimulator build test GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES clean test
-# after_success: slather
+osx_image: xcode7
+language: objective-c
+cache: cocoapods
+before_install: gem install xcpretty cocoapods obcd slather -N
+
+# Use when you don't have third party dependencies
+script: xcodebuild -project Demo.xcodeproj -scheme Tests -sdk iphonesimulator build test GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES clean test | xcpretty -c && exit ${PIPESTATUS[0]}
+
+# Use when you have third party dependencies (CocoaPods generates a workspace)
+# podfile: Podfile
+# script: xcodebuild -workspace Demo.xcworkspace -scheme Tests -sdk iphonesimulator build test GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES clean test | xcpretty -c && exit ${PIPESTATUS[0]}
+
+after_success: slather
diff --git a/Examples/AppNet/AppNet/AppDelegate.swift b/AppNet/AppDelegate.swift
similarity index 100%
rename from Examples/AppNet/AppNet/AppDelegate.swift
rename to AppNet/AppDelegate.swift
diff --git a/Examples/AppNet/AppNet/AppNet.xcdatamodeld/.xccurrentversion b/AppNet/AppNet.xcdatamodeld/.xccurrentversion
similarity index 100%
rename from Examples/AppNet/AppNet/AppNet.xcdatamodeld/.xccurrentversion
rename to AppNet/AppNet.xcdatamodeld/.xccurrentversion
diff --git a/Examples/AppNet/AppNet/AppNet.xcdatamodeld/AppNet.xcdatamodel/contents b/AppNet/AppNet.xcdatamodeld/AppNet.xcdatamodel/contents
similarity index 100%
rename from Examples/AppNet/AppNet/AppNet.xcdatamodeld/AppNet.xcdatamodel/contents
rename to AppNet/AppNet.xcdatamodeld/AppNet.xcdatamodel/contents
diff --git a/Examples/AppNet/AppNet/Images.xcassets/AppIcon.appiconset/Contents.json b/AppNet/Assets.xcassets/AppIcon.appiconset/Contents.json
similarity index 100%
rename from Examples/AppNet/AppNet/Images.xcassets/AppIcon.appiconset/Contents.json
rename to AppNet/Assets.xcassets/AppIcon.appiconset/Contents.json
diff --git a/AppNet/Base.lproj/LaunchScreen.storyboard b/AppNet/Base.lproj/LaunchScreen.storyboard
new file mode 100644
index 00000000..2e721e18
--- /dev/null
+++ b/AppNet/Base.lproj/LaunchScreen.storyboard
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Examples/AppNet/AppNet/Data.swift b/AppNet/Data.swift
similarity index 100%
rename from Examples/AppNet/AppNet/Data.swift
rename to AppNet/Data.swift
diff --git a/Examples/AppNet/Images/app.png b/AppNet/Images/app.png
similarity index 100%
rename from Examples/AppNet/Images/app.png
rename to AppNet/Images/app.png
diff --git a/Examples/AppNet/Images/model.png b/AppNet/Images/model.png
similarity index 100%
rename from Examples/AppNet/Images/model.png
rename to AppNet/Images/model.png
diff --git a/Examples/AppNet/AppNet/Info.plist b/AppNet/Info.plist
similarity index 90%
rename from Examples/AppNet/AppNet/Info.plist
rename to AppNet/Info.plist
index 2f297f47..d39a4daf 100644
--- a/Examples/AppNet/AppNet/Info.plist
+++ b/AppNet/Info.plist
@@ -31,8 +31,8 @@
UISupportedInterfaceOrientations
UIInterfaceOrientationPortrait
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
- UIViewControllerBasedStatusBarAppearance
-
diff --git a/Examples/AppNet/AppNet/Networking.swift b/AppNet/Networking.swift
similarity index 100%
rename from Examples/AppNet/AppNet/Networking.swift
rename to AppNet/Networking.swift
diff --git a/Examples/AppNet/README.md b/AppNet/README.md
similarity index 100%
rename from Examples/AppNet/README.md
rename to AppNet/README.md
diff --git a/Examples/AppNet/AppNet/User.swift b/AppNet/User.swift
similarity index 100%
rename from Examples/AppNet/AppNet/User.swift
rename to AppNet/User.swift
diff --git a/Examples/AppNet/AppNet/ViewController.swift b/AppNet/ViewController.swift
similarity index 99%
rename from Examples/AppNet/AppNet/ViewController.swift
rename to AppNet/ViewController.swift
index 48926fc2..f89d9112 100644
--- a/Examples/AppNet/AppNet/ViewController.swift
+++ b/AppNet/ViewController.swift
@@ -1,5 +1,6 @@
import UIKit
import DATAStack
+import CoreData
class ViewController: UITableViewController {
let CellIdentifier = "CellID"
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 00000000..14ded4f9
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1 @@
+Check https://github.com/hyperoslo/Sync/releases for more information.
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
old mode 100755
new mode 100644
index 294e634d..d1b60444
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -1,5 +1,3 @@
-GitHub Issues is for reporting bugs, discussing features and general feedback for **Sync**. Be sure to check our [documentation](http://cocoadocs.org/docsets/Sync), [FAQ](https://github.com/hyperoslo/Sync/wiki/FAQ) and [past issues](https://github.com/hyperoslo/Sync/issues?state=closed) before opening any new issues.
+GitHub Issues is for reporting bugs, discussing features and general feedback in **Sync**. Be sure to check our [documentation](http://cocoadocs.org/docsets/Sync), [FAQ](https://github.com/hyperoslo/Sync/wiki/FAQ) and [past issues](https://github.com/hyperoslo/Sync/issues?state=closed) before opening any new issues.
-If you are posting about a crash in your application or a feature request, an example of your **JSON** and your **Core Data model** or a **stacktrace** would be really helpful for us to be able to reproduce your issue or understand your request, please consider adding these things before making an issue.
-
-Thanks <3
+If you are posting about a crash in your application, a stack trace is helpful, but additional context, in the form of code and explanation, is necessary to be of any use.
diff --git a/Demo.xcodeproj/project.pbxproj b/Demo.xcodeproj/project.pbxproj
new file mode 100644
index 00000000..bbe6a983
--- /dev/null
+++ b/Demo.xcodeproj/project.pbxproj
@@ -0,0 +1,1153 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 1405FA4E1BDD654600F10DFA /* _DNComment.m in Sources */ = {isa = PBXBuildFile; fileRef = 1405FA471BDD654600F10DFA /* _DNComment.m */; };
+ 1405FA4F1BDD654600F10DFA /* _DNStory.m in Sources */ = {isa = PBXBuildFile; fileRef = 1405FA491BDD654600F10DFA /* _DNStory.m */; };
+ 1405FA501BDD654600F10DFA /* DNComment.m in Sources */ = {isa = PBXBuildFile; fileRef = 1405FA4B1BDD654600F10DFA /* DNComment.m */; };
+ 1405FA511BDD654600F10DFA /* DNStory.m in Sources */ = {isa = PBXBuildFile; fileRef = 1405FA4D1BDD654600F10DFA /* DNStory.m */; };
+ 141894031BDD62E900EE52CE /* NSArray+Sync.m in Sources */ = {isa = PBXBuildFile; fileRef = 141893FC1BDD62E900EE52CE /* NSArray+Sync.m */; };
+ 141894041BDD62E900EE52CE /* NSEntityDescription+Sync.m in Sources */ = {isa = PBXBuildFile; fileRef = 141893FE1BDD62E900EE52CE /* NSEntityDescription+Sync.m */; };
+ 141894051BDD62E900EE52CE /* NSManagedObject+Sync.m in Sources */ = {isa = PBXBuildFile; fileRef = 141894001BDD62E900EE52CE /* NSManagedObject+Sync.m */; };
+ 141894061BDD62E900EE52CE /* Sync.m in Sources */ = {isa = PBXBuildFile; fileRef = 141894021BDD62E900EE52CE /* Sync.m */; };
+ 1418943F1BDD62F600EE52CE /* BaseTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 141894091BDD62F600EE52CE /* BaseTestCase.m */; };
+ 141894401BDD62F600EE52CE /* bug-113-comments-no-id.json in Resources */ = {isa = PBXBuildFile; fileRef = 1418940B1BDD62F600EE52CE /* bug-113-comments-no-id.json */; };
+ 141894411BDD62F600EE52CE /* bug-113-custom_relationship_key_to_one.json in Resources */ = {isa = PBXBuildFile; fileRef = 1418940C1BDD62F600EE52CE /* bug-113-custom_relationship_key_to_one.json */; };
+ 141894421BDD62F600EE52CE /* bug-113-stories-comments-no-ids.json in Resources */ = {isa = PBXBuildFile; fileRef = 1418940D1BDD62F600EE52CE /* bug-113-stories-comments-no-ids.json */; };
+ 141894431BDD62F600EE52CE /* bug-125-light.json in Resources */ = {isa = PBXBuildFile; fileRef = 1418940E1BDD62F600EE52CE /* bug-125-light.json */; };
+ 141894441BDD62F600EE52CE /* bug-125.json in Resources */ = {isa = PBXBuildFile; fileRef = 1418940F1BDD62F600EE52CE /* bug-125.json */; };
+ 141894451BDD62F600EE52CE /* bug-number-84.json in Resources */ = {isa = PBXBuildFile; fileRef = 141894101BDD62F600EE52CE /* bug-number-84.json */; };
+ 141894461BDD62F600EE52CE /* comments-no-id.json in Resources */ = {isa = PBXBuildFile; fileRef = 141894111BDD62F600EE52CE /* comments-no-id.json */; };
+ 141894471BDD62F600EE52CE /* custom_relationship_key_to_many.json in Resources */ = {isa = PBXBuildFile; fileRef = 141894121BDD62F600EE52CE /* custom_relationship_key_to_many.json */; };
+ 141894481BDD62F600EE52CE /* custom_relationship_key_to_one.json in Resources */ = {isa = PBXBuildFile; fileRef = 141894131BDD62F600EE52CE /* custom_relationship_key_to_one.json */; };
+ 141894491BDD62F600EE52CE /* images.json in Resources */ = {isa = PBXBuildFile; fileRef = 141894141BDD62F600EE52CE /* images.json */; };
+ 1418944A1BDD62F600EE52CE /* markets_items.json in Resources */ = {isa = PBXBuildFile; fileRef = 141894151BDD62F600EE52CE /* markets_items.json */; };
+ 1418944B1BDD62F600EE52CE /* notes_for_user_a.json in Resources */ = {isa = PBXBuildFile; fileRef = 141894161BDD62F600EE52CE /* notes_for_user_a.json */; };
+ 1418944C1BDD62F600EE52CE /* numbers.json in Resources */ = {isa = PBXBuildFile; fileRef = 141894171BDD62F600EE52CE /* numbers.json */; };
+ 1418944D1BDD62F600EE52CE /* numbers_in_collection.json in Resources */ = {isa = PBXBuildFile; fileRef = 141894181BDD62F600EE52CE /* numbers_in_collection.json */; };
+ 1418944E1BDD62F600EE52CE /* organizations-tree.json in Resources */ = {isa = PBXBuildFile; fileRef = 141894191BDD62F600EE52CE /* organizations-tree.json */; };
+ 1418944F1BDD62F600EE52CE /* patients.json in Resources */ = {isa = PBXBuildFile; fileRef = 1418941A1BDD62F600EE52CE /* patients.json */; };
+ 141894501BDD62F600EE52CE /* stories-comments-no-ids.json in Resources */ = {isa = PBXBuildFile; fileRef = 1418941B1BDD62F600EE52CE /* stories-comments-no-ids.json */; };
+ 141894511BDD62F600EE52CE /* story-summarize.json in Resources */ = {isa = PBXBuildFile; fileRef = 1418941C1BDD62F600EE52CE /* story-summarize.json */; };
+ 141894521BDD62F600EE52CE /* tagged_notes.json in Resources */ = {isa = PBXBuildFile; fileRef = 1418941D1BDD62F600EE52CE /* tagged_notes.json */; };
+ 141894531BDD62F600EE52CE /* unique.json in Resources */ = {isa = PBXBuildFile; fileRef = 1418941E1BDD62F600EE52CE /* unique.json */; };
+ 141894541BDD62F600EE52CE /* users_a.json in Resources */ = {isa = PBXBuildFile; fileRef = 1418941F1BDD62F600EE52CE /* users_a.json */; };
+ 141894551BDD62F600EE52CE /* users_b.json in Resources */ = {isa = PBXBuildFile; fileRef = 141894201BDD62F600EE52CE /* users_b.json */; };
+ 141894561BDD62F600EE52CE /* users_c.json in Resources */ = {isa = PBXBuildFile; fileRef = 141894211BDD62F600EE52CE /* users_c.json */; };
+ 141894571BDD62F600EE52CE /* users_company.json in Resources */ = {isa = PBXBuildFile; fileRef = 141894221BDD62F600EE52CE /* users_company.json */; };
+ 141894581BDD62F600EE52CE /* users_notes.json in Resources */ = {isa = PBXBuildFile; fileRef = 141894231BDD62F600EE52CE /* users_notes.json */; };
+ 141894591BDD62F600EE52CE /* Bug113.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 141894251BDD62F600EE52CE /* Bug113.xcdatamodeld */; };
+ 1418945A1BDD62F600EE52CE /* Bug125-simplified.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 141894271BDD62F600EE52CE /* Bug125-simplified.xcdatamodeld */; };
+ 1418945B1BDD62F600EE52CE /* Bug125.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 141894291BDD62F600EE52CE /* Bug125.xcdatamodeld */; };
+ 1418945C1BDD62F600EE52CE /* Bug84.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 1418942B1BDD62F600EE52CE /* Bug84.xcdatamodeld */; };
+ 1418945D1BDD62F600EE52CE /* Contacts.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 1418942D1BDD62F600EE52CE /* Contacts.xcdatamodeld */; };
+ 1418945E1BDD62F600EE52CE /* Markets.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 1418942F1BDD62F600EE52CE /* Markets.xcdatamodeld */; };
+ 1418945F1BDD62F600EE52CE /* Notes.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 141894311BDD62F600EE52CE /* Notes.xcdatamodeld */; };
+ 141894601BDD62F600EE52CE /* Organizations.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 141894331BDD62F600EE52CE /* Organizations.xcdatamodeld */; };
+ 141894611BDD62F600EE52CE /* Patients.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 141894351BDD62F600EE52CE /* Patients.xcdatamodeld */; };
+ 141894621BDD62F600EE52CE /* Recursive.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 141894371BDD62F600EE52CE /* Recursive.xcdatamodeld */; };
+ 141894631BDD62F600EE52CE /* Social.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 141894391BDD62F600EE52CE /* Social.xcdatamodeld */; };
+ 141894641BDD62F600EE52CE /* Unique.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 1418943B1BDD62F600EE52CE /* Unique.xcdatamodeld */; };
+ 141894651BDD62F600EE52CE /* NSArray+Sync_Tests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1418943D1BDD62F600EE52CE /* NSArray+Sync_Tests.m */; };
+ 141894661BDD62F600EE52CE /* SyncTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 1418943E1BDD62F600EE52CE /* SyncTests.m */; };
+ 1418946F1BDD634F00EE52CE /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 1418946E1BDD634F00EE52CE /* main.m */; };
+ 141894721BDD634F00EE52CE /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 141894711BDD634F00EE52CE /* AppDelegate.m */; };
+ 141894751BDD634F00EE52CE /* DesignerNews.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 141894731BDD634F00EE52CE /* DesignerNews.xcdatamodeld */; };
+ 141894771BDD634F00EE52CE /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 141894761BDD634F00EE52CE /* Assets.xcassets */; };
+ 1418947A1BDD634F00EE52CE /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 141894781BDD634F00EE52CE /* LaunchScreen.storyboard */; };
+ 141894861BDD635800EE52CE /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 141894851BDD635800EE52CE /* AppDelegate.swift */; };
+ 141894891BDD635800EE52CE /* AppNet.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = 141894871BDD635800EE52CE /* AppNet.xcdatamodeld */; };
+ 1418948B1BDD635800EE52CE /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 1418948A1BDD635800EE52CE /* Assets.xcassets */; };
+ 1418948E1BDD635800EE52CE /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1418948C1BDD635800EE52CE /* LaunchScreen.storyboard */; };
+ 1418949D1BDD643100EE52CE /* APIClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 141894941BDD643100EE52CE /* APIClient.m */; };
+ 1418949E1BDD643100EE52CE /* StoriesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 141894961BDD643100EE52CE /* StoriesViewController.m */; };
+ 1418949F1BDD643100EE52CE /* StoryTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 141894981BDD643100EE52CE /* StoryTableViewCell.m */; };
+ 141894A01BDD643100EE52CE /* StoryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 1418949A1BDD643100EE52CE /* StoryViewController.m */; };
+ 141894A11BDD643100EE52CE /* UIFont+DNStyle.m in Sources */ = {isa = PBXBuildFile; fileRef = 1418949C1BDD643100EE52CE /* UIFont+DNStyle.m */; };
+ 141894A61BDD64AF00EE52CE /* Data.swift in Sources */ = {isa = PBXBuildFile; fileRef = 141894A21BDD64AF00EE52CE /* Data.swift */; };
+ 141894A71BDD64AF00EE52CE /* Networking.swift in Sources */ = {isa = PBXBuildFile; fileRef = 141894A31BDD64AF00EE52CE /* Networking.swift */; };
+ 141894A81BDD64AF00EE52CE /* User.swift in Sources */ = {isa = PBXBuildFile; fileRef = 141894A41BDD64AF00EE52CE /* User.swift */; };
+ 141894A91BDD64AF00EE52CE /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 141894A51BDD64AF00EE52CE /* ViewController.swift */; };
+ 8C1190CE4B3821813B6A3421 /* Pods.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9E482492041434DB374B1948 /* Pods.framework */; };
+ BD2A2CB4A6B4EC694D5E358A /* Pods.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9E482492041434DB374B1948 /* Pods.framework */; };
+ E9FABD68F0CA454B8D54104E /* Pods.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9E482492041434DB374B1948 /* Pods.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ 1405FA461BDD654600F10DFA /* _DNComment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _DNComment.h; sourceTree = ""; };
+ 1405FA471BDD654600F10DFA /* _DNComment.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = _DNComment.m; sourceTree = ""; };
+ 1405FA481BDD654600F10DFA /* _DNStory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _DNStory.h; sourceTree = ""; };
+ 1405FA491BDD654600F10DFA /* _DNStory.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = _DNStory.m; sourceTree = ""; };
+ 1405FA4A1BDD654600F10DFA /* DNComment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DNComment.h; sourceTree = ""; };
+ 1405FA4B1BDD654600F10DFA /* DNComment.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DNComment.m; sourceTree = ""; };
+ 1405FA4C1BDD654600F10DFA /* DNStory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DNStory.h; sourceTree = ""; };
+ 1405FA4D1BDD654600F10DFA /* DNStory.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DNStory.m; sourceTree = ""; };
+ 141893FB1BDD62E900EE52CE /* NSArray+Sync.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSArray+Sync.h"; sourceTree = ""; };
+ 141893FC1BDD62E900EE52CE /* NSArray+Sync.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSArray+Sync.m"; sourceTree = ""; };
+ 141893FD1BDD62E900EE52CE /* NSEntityDescription+Sync.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSEntityDescription+Sync.h"; sourceTree = ""; };
+ 141893FE1BDD62E900EE52CE /* NSEntityDescription+Sync.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSEntityDescription+Sync.m"; sourceTree = ""; };
+ 141893FF1BDD62E900EE52CE /* NSManagedObject+Sync.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSManagedObject+Sync.h"; sourceTree = ""; };
+ 141894001BDD62E900EE52CE /* NSManagedObject+Sync.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSManagedObject+Sync.m"; sourceTree = ""; };
+ 141894011BDD62E900EE52CE /* Sync.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Sync.h; sourceTree = ""; };
+ 141894021BDD62E900EE52CE /* Sync.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Sync.m; sourceTree = ""; };
+ 141894081BDD62F600EE52CE /* BaseTestCase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BaseTestCase.h; sourceTree = ""; };
+ 141894091BDD62F600EE52CE /* BaseTestCase.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BaseTestCase.m; sourceTree = ""; };
+ 1418940B1BDD62F600EE52CE /* bug-113-comments-no-id.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "bug-113-comments-no-id.json"; sourceTree = ""; };
+ 1418940C1BDD62F600EE52CE /* bug-113-custom_relationship_key_to_one.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "bug-113-custom_relationship_key_to_one.json"; sourceTree = ""; };
+ 1418940D1BDD62F600EE52CE /* bug-113-stories-comments-no-ids.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "bug-113-stories-comments-no-ids.json"; sourceTree = ""; };
+ 1418940E1BDD62F600EE52CE /* bug-125-light.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "bug-125-light.json"; sourceTree = ""; };
+ 1418940F1BDD62F600EE52CE /* bug-125.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "bug-125.json"; sourceTree = ""; };
+ 141894101BDD62F600EE52CE /* bug-number-84.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "bug-number-84.json"; sourceTree = ""; };
+ 141894111BDD62F600EE52CE /* comments-no-id.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "comments-no-id.json"; sourceTree = ""; };
+ 141894121BDD62F600EE52CE /* custom_relationship_key_to_many.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = custom_relationship_key_to_many.json; sourceTree = ""; };
+ 141894131BDD62F600EE52CE /* custom_relationship_key_to_one.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = custom_relationship_key_to_one.json; sourceTree = ""; };
+ 141894141BDD62F600EE52CE /* images.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = images.json; sourceTree = ""; };
+ 141894151BDD62F600EE52CE /* markets_items.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = markets_items.json; sourceTree = ""; };
+ 141894161BDD62F600EE52CE /* notes_for_user_a.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = notes_for_user_a.json; sourceTree = ""; };
+ 141894171BDD62F600EE52CE /* numbers.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = numbers.json; sourceTree = ""; };
+ 141894181BDD62F600EE52CE /* numbers_in_collection.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = numbers_in_collection.json; sourceTree = ""; };
+ 141894191BDD62F600EE52CE /* organizations-tree.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "organizations-tree.json"; sourceTree = ""; };
+ 1418941A1BDD62F600EE52CE /* patients.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = patients.json; sourceTree = ""; };
+ 1418941B1BDD62F600EE52CE /* stories-comments-no-ids.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "stories-comments-no-ids.json"; sourceTree = ""; };
+ 1418941C1BDD62F600EE52CE /* story-summarize.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = "story-summarize.json"; sourceTree = ""; };
+ 1418941D1BDD62F600EE52CE /* tagged_notes.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = tagged_notes.json; sourceTree = ""; };
+ 1418941E1BDD62F600EE52CE /* unique.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = unique.json; sourceTree = ""; };
+ 1418941F1BDD62F600EE52CE /* users_a.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = users_a.json; sourceTree = ""; };
+ 141894201BDD62F600EE52CE /* users_b.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = users_b.json; sourceTree = ""; };
+ 141894211BDD62F600EE52CE /* users_c.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = users_c.json; sourceTree = ""; };
+ 141894221BDD62F600EE52CE /* users_company.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = users_company.json; sourceTree = ""; };
+ 141894231BDD62F600EE52CE /* users_notes.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = users_notes.json; sourceTree = ""; };
+ 141894261BDD62F600EE52CE /* Demo.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Demo.xcdatamodel; sourceTree = ""; };
+ 141894281BDD62F600EE52CE /* Demo.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Demo.xcdatamodel; sourceTree = ""; };
+ 1418942A1BDD62F600EE52CE /* Demo.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Demo.xcdatamodel; sourceTree = ""; };
+ 1418942C1BDD62F600EE52CE /* Demo.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Demo.xcdatamodel; sourceTree = ""; };
+ 1418942E1BDD62F600EE52CE /* Demo.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Demo.xcdatamodel; sourceTree = ""; };
+ 141894301BDD62F600EE52CE /* Demo.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Demo.xcdatamodel; sourceTree = ""; };
+ 141894321BDD62F600EE52CE /* Demo.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Demo.xcdatamodel; sourceTree = ""; };
+ 141894341BDD62F600EE52CE /* Organizations.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Organizations.xcdatamodel; sourceTree = ""; };
+ 141894361BDD62F600EE52CE /* Demo.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Demo.xcdatamodel; sourceTree = ""; };
+ 141894381BDD62F600EE52CE /* Demo.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Demo.xcdatamodel; sourceTree = ""; };
+ 1418943A1BDD62F600EE52CE /* Demo.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Demo.xcdatamodel; sourceTree = ""; };
+ 1418943C1BDD62F600EE52CE /* Unique.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Unique.xcdatamodel; sourceTree = ""; };
+ 1418943D1BDD62F600EE52CE /* NSArray+Sync_Tests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSArray+Sync_Tests.m"; sourceTree = ""; };
+ 1418943E1BDD62F600EE52CE /* SyncTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SyncTests.m; sourceTree = ""; };
+ 1418946B1BDD634F00EE52CE /* DesignerNews.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DesignerNews.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 1418946E1BDD634F00EE52CE /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
+ 141894701BDD634F00EE52CE /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
+ 141894711BDD634F00EE52CE /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; };
+ 141894741BDD634F00EE52CE /* DesignerNews.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = DesignerNews.xcdatamodel; sourceTree = ""; };
+ 141894761BDD634F00EE52CE /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
+ 141894791BDD634F00EE52CE /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
+ 1418947B1BDD634F00EE52CE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ 141894831BDD635800EE52CE /* AppNet.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AppNet.app; sourceTree = BUILT_PRODUCTS_DIR; };
+ 141894851BDD635800EE52CE /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
+ 141894881BDD635800EE52CE /* AppNet.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = AppNet.xcdatamodel; sourceTree = ""; };
+ 1418948A1BDD635800EE52CE /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
+ 1418948D1BDD635800EE52CE /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
+ 1418948F1BDD635800EE52CE /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ 141894931BDD643100EE52CE /* APIClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APIClient.h; sourceTree = ""; };
+ 141894941BDD643100EE52CE /* APIClient.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = APIClient.m; sourceTree = ""; };
+ 141894951BDD643100EE52CE /* StoriesViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StoriesViewController.h; sourceTree = ""; };
+ 141894961BDD643100EE52CE /* StoriesViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StoriesViewController.m; sourceTree = ""; };
+ 141894971BDD643100EE52CE /* StoryTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StoryTableViewCell.h; sourceTree = ""; };
+ 141894981BDD643100EE52CE /* StoryTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StoryTableViewCell.m; sourceTree = ""; };
+ 141894991BDD643100EE52CE /* StoryViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StoryViewController.h; sourceTree = ""; };
+ 1418949A1BDD643100EE52CE /* StoryViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StoryViewController.m; sourceTree = ""; };
+ 1418949B1BDD643100EE52CE /* UIFont+DNStyle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIFont+DNStyle.h"; sourceTree = ""; };
+ 1418949C1BDD643100EE52CE /* UIFont+DNStyle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIFont+DNStyle.m"; sourceTree = ""; };
+ 141894A21BDD64AF00EE52CE /* Data.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Data.swift; sourceTree = ""; };
+ 141894A31BDD64AF00EE52CE /* Networking.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Networking.swift; sourceTree = ""; };
+ 141894A41BDD64AF00EE52CE /* User.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = User.swift; sourceTree = ""; };
+ 141894A51BDD64AF00EE52CE /* ViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
+ 146D72AC1AB782920058798C /* Tests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Tests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
+ 146D72B11AB782920058798C /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ 14C0AF7F1BD6D4230009ECBE /* .slather.yml */ = {isa = PBXFileReference; lastKnownFileType = text; path = .slather.yml; sourceTree = ""; };
+ 14C0AF801BD6D4230009ECBE /* .travis.yml */ = {isa = PBXFileReference; lastKnownFileType = text; path = .travis.yml; sourceTree = ""; };
+ 14C0AF811BD6D4230009ECBE /* CHANGELOG.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = CHANGELOG.md; sourceTree = ""; };
+ 14C0AF821BD6D4230009ECBE /* CONTRIBUTING.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = CONTRIBUTING.md; sourceTree = ""; };
+ 14C0AF831BD6D4230009ECBE /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; };
+ 9E482492041434DB374B1948 /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ C13281341A77530FC5AE626A /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.debug.xcconfig; path = "Pods/Target Support Files/Pods/Pods.debug.xcconfig"; sourceTree = ""; };
+ E80F7331DFE41909E28F2702 /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.release.xcconfig; path = "Pods/Target Support Files/Pods/Pods.release.xcconfig"; sourceTree = ""; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 141894681BDD634F00EE52CE /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ BD2A2CB4A6B4EC694D5E358A /* Pods.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 141894801BDD635800EE52CE /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ E9FABD68F0CA454B8D54104E /* Pods.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 146D72A91AB782920058798C /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 8C1190CE4B3821813B6A3421 /* Pods.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 1405FA451BDD654600F10DFA /* Model */ = {
+ isa = PBXGroup;
+ children = (
+ 1405FA461BDD654600F10DFA /* _DNComment.h */,
+ 1405FA471BDD654600F10DFA /* _DNComment.m */,
+ 1405FA481BDD654600F10DFA /* _DNStory.h */,
+ 1405FA491BDD654600F10DFA /* _DNStory.m */,
+ 1405FA4A1BDD654600F10DFA /* DNComment.h */,
+ 1405FA4B1BDD654600F10DFA /* DNComment.m */,
+ 1405FA4C1BDD654600F10DFA /* DNStory.h */,
+ 1405FA4D1BDD654600F10DFA /* DNStory.m */,
+ );
+ path = Model;
+ sourceTree = "";
+ };
+ 141894071BDD62F600EE52CE /* Helpers */ = {
+ isa = PBXGroup;
+ children = (
+ 141894081BDD62F600EE52CE /* BaseTestCase.h */,
+ 141894091BDD62F600EE52CE /* BaseTestCase.m */,
+ );
+ path = Helpers;
+ sourceTree = "";
+ };
+ 1418940A1BDD62F600EE52CE /* JSONs */ = {
+ isa = PBXGroup;
+ children = (
+ 1418940B1BDD62F600EE52CE /* bug-113-comments-no-id.json */,
+ 1418940C1BDD62F600EE52CE /* bug-113-custom_relationship_key_to_one.json */,
+ 1418940D1BDD62F600EE52CE /* bug-113-stories-comments-no-ids.json */,
+ 1418940E1BDD62F600EE52CE /* bug-125-light.json */,
+ 1418940F1BDD62F600EE52CE /* bug-125.json */,
+ 141894101BDD62F600EE52CE /* bug-number-84.json */,
+ 141894111BDD62F600EE52CE /* comments-no-id.json */,
+ 141894121BDD62F600EE52CE /* custom_relationship_key_to_many.json */,
+ 141894131BDD62F600EE52CE /* custom_relationship_key_to_one.json */,
+ 141894141BDD62F600EE52CE /* images.json */,
+ 141894151BDD62F600EE52CE /* markets_items.json */,
+ 141894161BDD62F600EE52CE /* notes_for_user_a.json */,
+ 141894171BDD62F600EE52CE /* numbers.json */,
+ 141894181BDD62F600EE52CE /* numbers_in_collection.json */,
+ 141894191BDD62F600EE52CE /* organizations-tree.json */,
+ 1418941A1BDD62F600EE52CE /* patients.json */,
+ 1418941B1BDD62F600EE52CE /* stories-comments-no-ids.json */,
+ 1418941C1BDD62F600EE52CE /* story-summarize.json */,
+ 1418941D1BDD62F600EE52CE /* tagged_notes.json */,
+ 1418941E1BDD62F600EE52CE /* unique.json */,
+ 1418941F1BDD62F600EE52CE /* users_a.json */,
+ 141894201BDD62F600EE52CE /* users_b.json */,
+ 141894211BDD62F600EE52CE /* users_c.json */,
+ 141894221BDD62F600EE52CE /* users_company.json */,
+ 141894231BDD62F600EE52CE /* users_notes.json */,
+ );
+ path = JSONs;
+ sourceTree = "";
+ };
+ 141894241BDD62F600EE52CE /* Models */ = {
+ isa = PBXGroup;
+ children = (
+ 141894251BDD62F600EE52CE /* Bug113.xcdatamodeld */,
+ 141894271BDD62F600EE52CE /* Bug125-simplified.xcdatamodeld */,
+ 141894291BDD62F600EE52CE /* Bug125.xcdatamodeld */,
+ 1418942B1BDD62F600EE52CE /* Bug84.xcdatamodeld */,
+ 1418942D1BDD62F600EE52CE /* Contacts.xcdatamodeld */,
+ 1418942F1BDD62F600EE52CE /* Markets.xcdatamodeld */,
+ 141894311BDD62F600EE52CE /* Notes.xcdatamodeld */,
+ 141894331BDD62F600EE52CE /* Organizations.xcdatamodeld */,
+ 141894351BDD62F600EE52CE /* Patients.xcdatamodeld */,
+ 141894371BDD62F600EE52CE /* Recursive.xcdatamodeld */,
+ 141894391BDD62F600EE52CE /* Social.xcdatamodeld */,
+ 1418943B1BDD62F600EE52CE /* Unique.xcdatamodeld */,
+ );
+ path = Models;
+ sourceTree = "";
+ };
+ 1418946C1BDD634F00EE52CE /* DesignerNews */ = {
+ isa = PBXGroup;
+ children = (
+ 1405FA451BDD654600F10DFA /* Model */,
+ 141894701BDD634F00EE52CE /* AppDelegate.h */,
+ 141894711BDD634F00EE52CE /* AppDelegate.m */,
+ 141894931BDD643100EE52CE /* APIClient.h */,
+ 141894941BDD643100EE52CE /* APIClient.m */,
+ 141894951BDD643100EE52CE /* StoriesViewController.h */,
+ 141894961BDD643100EE52CE /* StoriesViewController.m */,
+ 141894971BDD643100EE52CE /* StoryTableViewCell.h */,
+ 141894981BDD643100EE52CE /* StoryTableViewCell.m */,
+ 141894991BDD643100EE52CE /* StoryViewController.h */,
+ 1418949A1BDD643100EE52CE /* StoryViewController.m */,
+ 1418949B1BDD643100EE52CE /* UIFont+DNStyle.h */,
+ 1418949C1BDD643100EE52CE /* UIFont+DNStyle.m */,
+ 141894761BDD634F00EE52CE /* Assets.xcassets */,
+ 141894781BDD634F00EE52CE /* LaunchScreen.storyboard */,
+ 1418947B1BDD634F00EE52CE /* Info.plist */,
+ 141894731BDD634F00EE52CE /* DesignerNews.xcdatamodeld */,
+ 1418946D1BDD634F00EE52CE /* Supporting Files */,
+ );
+ path = DesignerNews;
+ sourceTree = "";
+ };
+ 1418946D1BDD634F00EE52CE /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ 1418946E1BDD634F00EE52CE /* main.m */,
+ );
+ name = "Supporting Files";
+ sourceTree = "";
+ };
+ 141894841BDD635800EE52CE /* AppNet */ = {
+ isa = PBXGroup;
+ children = (
+ 141894851BDD635800EE52CE /* AppDelegate.swift */,
+ 141894A21BDD64AF00EE52CE /* Data.swift */,
+ 141894A31BDD64AF00EE52CE /* Networking.swift */,
+ 141894A41BDD64AF00EE52CE /* User.swift */,
+ 141894A51BDD64AF00EE52CE /* ViewController.swift */,
+ 1418948A1BDD635800EE52CE /* Assets.xcassets */,
+ 1418948C1BDD635800EE52CE /* LaunchScreen.storyboard */,
+ 1418948F1BDD635800EE52CE /* Info.plist */,
+ 141894871BDD635800EE52CE /* AppNet.xcdatamodeld */,
+ );
+ path = AppNet;
+ sourceTree = "";
+ };
+ 146D728A1AB782920058798C = {
+ isa = PBXGroup;
+ children = (
+ 14C136501AB7849300B7B07A /* Metadata */,
+ 14C0AF841BD6D4370009ECBE /* Source */,
+ 146D72AF1AB782920058798C /* Tests */,
+ 1418946C1BDD634F00EE52CE /* DesignerNews */,
+ 141894841BDD635800EE52CE /* AppNet */,
+ 146D72941AB782920058798C /* Products */,
+ 7022AAD62B9688833050CCBB /* Pods */,
+ 515545DD1958EE5C50CA007A /* Frameworks */,
+ );
+ indentWidth = 4;
+ sourceTree = "";
+ tabWidth = 4;
+ };
+ 146D72941AB782920058798C /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 146D72AC1AB782920058798C /* Tests.xctest */,
+ 1418946B1BDD634F00EE52CE /* DesignerNews.app */,
+ 141894831BDD635800EE52CE /* AppNet.app */,
+ );
+ name = Products;
+ sourceTree = "";
+ };
+ 146D72AF1AB782920058798C /* Tests */ = {
+ isa = PBXGroup;
+ children = (
+ 141894071BDD62F600EE52CE /* Helpers */,
+ 1418940A1BDD62F600EE52CE /* JSONs */,
+ 141894241BDD62F600EE52CE /* Models */,
+ 1418943D1BDD62F600EE52CE /* NSArray+Sync_Tests.m */,
+ 1418943E1BDD62F600EE52CE /* SyncTests.m */,
+ 146D72B01AB782920058798C /* Supporting Files */,
+ );
+ path = Tests;
+ sourceTree = "";
+ };
+ 146D72B01AB782920058798C /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ 146D72B11AB782920058798C /* Info.plist */,
+ );
+ name = "Supporting Files";
+ sourceTree = "";
+ };
+ 14C0AF841BD6D4370009ECBE /* Source */ = {
+ isa = PBXGroup;
+ children = (
+ 141893FB1BDD62E900EE52CE /* NSArray+Sync.h */,
+ 141893FC1BDD62E900EE52CE /* NSArray+Sync.m */,
+ 141893FD1BDD62E900EE52CE /* NSEntityDescription+Sync.h */,
+ 141893FE1BDD62E900EE52CE /* NSEntityDescription+Sync.m */,
+ 141893FF1BDD62E900EE52CE /* NSManagedObject+Sync.h */,
+ 141894001BDD62E900EE52CE /* NSManagedObject+Sync.m */,
+ 141894011BDD62E900EE52CE /* Sync.h */,
+ 141894021BDD62E900EE52CE /* Sync.m */,
+ );
+ path = Source;
+ sourceTree = "";
+ };
+ 14C136501AB7849300B7B07A /* Metadata */ = {
+ isa = PBXGroup;
+ children = (
+ 14C0AF7F1BD6D4230009ECBE /* .slather.yml */,
+ 14C0AF801BD6D4230009ECBE /* .travis.yml */,
+ 14C0AF811BD6D4230009ECBE /* CHANGELOG.md */,
+ 14C0AF821BD6D4230009ECBE /* CONTRIBUTING.md */,
+ 14C0AF831BD6D4230009ECBE /* README.md */,
+ );
+ name = Metadata;
+ sourceTree = "";
+ };
+ 515545DD1958EE5C50CA007A /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 9E482492041434DB374B1948 /* Pods.framework */,
+ );
+ name = Frameworks;
+ sourceTree = "";
+ };
+ 7022AAD62B9688833050CCBB /* Pods */ = {
+ isa = PBXGroup;
+ children = (
+ C13281341A77530FC5AE626A /* Pods.debug.xcconfig */,
+ E80F7331DFE41909E28F2702 /* Pods.release.xcconfig */,
+ );
+ name = Pods;
+ sourceTree = "";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+ 1418946A1BDD634F00EE52CE /* DesignerNews */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 1418947C1BDD634F00EE52CE /* Build configuration list for PBXNativeTarget "DesignerNews" */;
+ buildPhases = (
+ 48F77971EECF0ECCBF886AE4 /* Check Pods Manifest.lock */,
+ 141894671BDD634F00EE52CE /* Sources */,
+ 141894681BDD634F00EE52CE /* Frameworks */,
+ 141894691BDD634F00EE52CE /* Resources */,
+ E7D43265083ECA100BF4311F /* Embed Pods Frameworks */,
+ C6865CFA9362B8B04206AF34 /* Copy Pods Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = DesignerNews;
+ productName = DesignerNews;
+ productReference = 1418946B1BDD634F00EE52CE /* DesignerNews.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 141894821BDD635800EE52CE /* AppNet */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 141894901BDD635800EE52CE /* Build configuration list for PBXNativeTarget "AppNet" */;
+ buildPhases = (
+ 21BD1AF33E7EEE50DBEFAA89 /* Check Pods Manifest.lock */,
+ 1418947F1BDD635800EE52CE /* Sources */,
+ 141894801BDD635800EE52CE /* Frameworks */,
+ 141894811BDD635800EE52CE /* Resources */,
+ 42437B3C05667742CA7C962F /* Embed Pods Frameworks */,
+ BD62ED40A7A9137251E429C9 /* Copy Pods Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = AppNet;
+ productName = AppNet;
+ productReference = 141894831BDD635800EE52CE /* AppNet.app */;
+ productType = "com.apple.product-type.application";
+ };
+ 146D72AB1AB782920058798C /* Tests */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 146D72B91AB782920058798C /* Build configuration list for PBXNativeTarget "Tests" */;
+ buildPhases = (
+ 9E64283FD27F0AFF04836E8F /* Check Pods Manifest.lock */,
+ 146D72A81AB782920058798C /* Sources */,
+ 146D72A91AB782920058798C /* Frameworks */,
+ 146D72AA1AB782920058798C /* Resources */,
+ A6442A4CDEEF0106A1E8756A /* Embed Pods Frameworks */,
+ 2FEA8BC47318CB82011879D0 /* Copy Pods Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = Tests;
+ productName = PodTests;
+ productReference = 146D72AC1AB782920058798C /* Tests.xctest */;
+ productType = "com.apple.product-type.bundle.unit-test";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 146D728B1AB782920058798C /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ CLASSPREFIX = "";
+ LastSwiftUpdateCheck = 0710;
+ LastUpgradeCheck = 0700;
+ ORGANIZATIONNAME = "";
+ TargetAttributes = {
+ 1418946A1BDD634F00EE52CE = {
+ CreatedOnToolsVersion = 7.1;
+ };
+ 141894821BDD635800EE52CE = {
+ CreatedOnToolsVersion = 7.1;
+ };
+ 146D72AB1AB782920058798C = {
+ CreatedOnToolsVersion = 6.2;
+ };
+ };
+ };
+ buildConfigurationList = 146D728E1AB782920058798C /* Build configuration list for PBXProject "Demo" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ Base,
+ );
+ mainGroup = 146D728A1AB782920058798C;
+ productRefGroup = 146D72941AB782920058798C /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 146D72AB1AB782920058798C /* Tests */,
+ 1418946A1BDD634F00EE52CE /* DesignerNews */,
+ 141894821BDD635800EE52CE /* AppNet */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 141894691BDD634F00EE52CE /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 141894771BDD634F00EE52CE /* Assets.xcassets in Resources */,
+ 1418947A1BDD634F00EE52CE /* LaunchScreen.storyboard in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 141894811BDD635800EE52CE /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 1418948B1BDD635800EE52CE /* Assets.xcassets in Resources */,
+ 1418948E1BDD635800EE52CE /* LaunchScreen.storyboard in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 146D72AA1AB782920058798C /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 1418944C1BDD62F600EE52CE /* numbers.json in Resources */,
+ 141894421BDD62F600EE52CE /* bug-113-stories-comments-no-ids.json in Resources */,
+ 141894571BDD62F600EE52CE /* users_company.json in Resources */,
+ 141894441BDD62F600EE52CE /* bug-125.json in Resources */,
+ 1418944D1BDD62F600EE52CE /* numbers_in_collection.json in Resources */,
+ 1418944B1BDD62F600EE52CE /* notes_for_user_a.json in Resources */,
+ 141894521BDD62F600EE52CE /* tagged_notes.json in Resources */,
+ 141894581BDD62F600EE52CE /* users_notes.json in Resources */,
+ 141894531BDD62F600EE52CE /* unique.json in Resources */,
+ 141894401BDD62F600EE52CE /* bug-113-comments-no-id.json in Resources */,
+ 141894431BDD62F600EE52CE /* bug-125-light.json in Resources */,
+ 1418944A1BDD62F600EE52CE /* markets_items.json in Resources */,
+ 141894561BDD62F600EE52CE /* users_c.json in Resources */,
+ 141894541BDD62F600EE52CE /* users_a.json in Resources */,
+ 141894461BDD62F600EE52CE /* comments-no-id.json in Resources */,
+ 141894411BDD62F600EE52CE /* bug-113-custom_relationship_key_to_one.json in Resources */,
+ 141894551BDD62F600EE52CE /* users_b.json in Resources */,
+ 141894481BDD62F600EE52CE /* custom_relationship_key_to_one.json in Resources */,
+ 1418944E1BDD62F600EE52CE /* organizations-tree.json in Resources */,
+ 141894491BDD62F600EE52CE /* images.json in Resources */,
+ 141894501BDD62F600EE52CE /* stories-comments-no-ids.json in Resources */,
+ 1418944F1BDD62F600EE52CE /* patients.json in Resources */,
+ 141894471BDD62F600EE52CE /* custom_relationship_key_to_many.json in Resources */,
+ 141894451BDD62F600EE52CE /* bug-number-84.json in Resources */,
+ 141894511BDD62F600EE52CE /* story-summarize.json in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+ 21BD1AF33E7EEE50DBEFAA89 /* Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "Check Pods Manifest.lock";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n";
+ showEnvVarsInLog = 0;
+ };
+ 2FEA8BC47318CB82011879D0 /* Copy Pods Resources */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "Copy Pods Resources";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-resources.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ 42437B3C05667742CA7C962F /* Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "Embed Pods Frameworks";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ 48F77971EECF0ECCBF886AE4 /* Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "Check Pods Manifest.lock";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n";
+ showEnvVarsInLog = 0;
+ };
+ 9E64283FD27F0AFF04836E8F /* Check Pods Manifest.lock */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "Check Pods Manifest.lock";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n";
+ showEnvVarsInLog = 0;
+ };
+ A6442A4CDEEF0106A1E8756A /* Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "Embed Pods Frameworks";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ BD62ED40A7A9137251E429C9 /* Copy Pods Resources */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "Copy Pods Resources";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-resources.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ C6865CFA9362B8B04206AF34 /* Copy Pods Resources */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "Copy Pods Resources";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-resources.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+ E7D43265083ECA100BF4311F /* Embed Pods Frameworks */ = {
+ isa = PBXShellScriptBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ inputPaths = (
+ );
+ name = "Embed Pods Frameworks";
+ outputPaths = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ shellPath = /bin/sh;
+ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-frameworks.sh\"\n";
+ showEnvVarsInLog = 0;
+ };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 141894671BDD634F00EE52CE /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 1418949E1BDD643100EE52CE /* StoriesViewController.m in Sources */,
+ 1405FA501BDD654600F10DFA /* DNComment.m in Sources */,
+ 1405FA4F1BDD654600F10DFA /* _DNStory.m in Sources */,
+ 1405FA511BDD654600F10DFA /* DNStory.m in Sources */,
+ 141894A01BDD643100EE52CE /* StoryViewController.m in Sources */,
+ 1418949F1BDD643100EE52CE /* StoryTableViewCell.m in Sources */,
+ 141894721BDD634F00EE52CE /* AppDelegate.m in Sources */,
+ 1405FA4E1BDD654600F10DFA /* _DNComment.m in Sources */,
+ 141894751BDD634F00EE52CE /* DesignerNews.xcdatamodeld in Sources */,
+ 1418946F1BDD634F00EE52CE /* main.m in Sources */,
+ 141894A11BDD643100EE52CE /* UIFont+DNStyle.m in Sources */,
+ 1418949D1BDD643100EE52CE /* APIClient.m in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 1418947F1BDD635800EE52CE /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 141894A91BDD64AF00EE52CE /* ViewController.swift in Sources */,
+ 141894861BDD635800EE52CE /* AppDelegate.swift in Sources */,
+ 141894A61BDD64AF00EE52CE /* Data.swift in Sources */,
+ 141894891BDD635800EE52CE /* AppNet.xcdatamodeld in Sources */,
+ 141894A81BDD64AF00EE52CE /* User.swift in Sources */,
+ 141894A71BDD64AF00EE52CE /* Networking.swift in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ 146D72A81AB782920058798C /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 141894061BDD62E900EE52CE /* Sync.m in Sources */,
+ 141894611BDD62F600EE52CE /* Patients.xcdatamodeld in Sources */,
+ 1418945B1BDD62F600EE52CE /* Bug125.xcdatamodeld in Sources */,
+ 1418945C1BDD62F600EE52CE /* Bug84.xcdatamodeld in Sources */,
+ 1418945F1BDD62F600EE52CE /* Notes.xcdatamodeld in Sources */,
+ 141894641BDD62F600EE52CE /* Unique.xcdatamodeld in Sources */,
+ 141894621BDD62F600EE52CE /* Recursive.xcdatamodeld in Sources */,
+ 1418943F1BDD62F600EE52CE /* BaseTestCase.m in Sources */,
+ 141894041BDD62E900EE52CE /* NSEntityDescription+Sync.m in Sources */,
+ 141894591BDD62F600EE52CE /* Bug113.xcdatamodeld in Sources */,
+ 141894651BDD62F600EE52CE /* NSArray+Sync_Tests.m in Sources */,
+ 141894631BDD62F600EE52CE /* Social.xcdatamodeld in Sources */,
+ 141894601BDD62F600EE52CE /* Organizations.xcdatamodeld in Sources */,
+ 141894661BDD62F600EE52CE /* SyncTests.m in Sources */,
+ 1418945E1BDD62F600EE52CE /* Markets.xcdatamodeld in Sources */,
+ 141894051BDD62E900EE52CE /* NSManagedObject+Sync.m in Sources */,
+ 1418945D1BDD62F600EE52CE /* Contacts.xcdatamodeld in Sources */,
+ 141894031BDD62E900EE52CE /* NSArray+Sync.m in Sources */,
+ 1418945A1BDD62F600EE52CE /* Bug125-simplified.xcdatamodeld in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ 141894781BDD634F00EE52CE /* LaunchScreen.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 141894791BDD634F00EE52CE /* Base */,
+ );
+ name = LaunchScreen.storyboard;
+ sourceTree = "";
+ };
+ 1418948C1BDD635800EE52CE /* LaunchScreen.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 1418948D1BDD635800EE52CE /* Base */,
+ );
+ name = LaunchScreen.storyboard;
+ sourceTree = "";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 1418947D1BDD634F00EE52CE /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = C13281341A77530FC5AE626A /* Pods.debug.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ GCC_NO_COMMON_BLOCKS = YES;
+ INFOPLIST_FILE = DesignerNews/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = demo.DesignerNews;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Debug;
+ };
+ 1418947E1BDD634F00EE52CE /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = E80F7331DFE41909E28F2702 /* Pods.release.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ GCC_NO_COMMON_BLOCKS = YES;
+ INFOPLIST_FILE = DesignerNews/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = demo.DesignerNews;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Release;
+ };
+ 141894911BDD635800EE52CE /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = C13281341A77530FC5AE626A /* Pods.debug.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ DEBUG_INFORMATION_FORMAT = dwarf;
+ GCC_NO_COMMON_BLOCKS = YES;
+ INFOPLIST_FILE = AppNet/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = demo.AppNet;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ };
+ name = Debug;
+ };
+ 141894921BDD635800EE52CE /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = E80F7331DFE41909E28F2702 /* Pods.release.xcconfig */;
+ buildSettings = {
+ ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ GCC_NO_COMMON_BLOCKS = YES;
+ INFOPLIST_FILE = AppNet/Info.plist;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.1;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = demo.AppNet;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Release;
+ };
+ 146D72B41AB782920058798C /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MTL_ENABLE_DEBUG_INFO = YES;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = iphoneos;
+ };
+ name = Debug;
+ };
+ 146D72B51AB782920058798C /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
+ CLANG_CXX_LIBRARY = "libc++";
+ CLANG_ENABLE_MODULES = YES;
+ CLANG_ENABLE_OBJC_ARC = YES;
+ CLANG_WARN_BOOL_CONVERSION = YES;
+ CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+ COPY_PHASE_STRIP = NO;
+ ENABLE_NS_ASSERTIONS = NO;
+ ENABLE_STRICT_OBJC_MSGSEND = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ MTL_ENABLE_DEBUG_INFO = NO;
+ SDKROOT = iphoneos;
+ VALIDATE_PRODUCT = YES;
+ };
+ name = Release;
+ };
+ 146D72BA1AB782920058798C /* Debug */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = C13281341A77530FC5AE626A /* Pods.debug.xcconfig */;
+ buildSettings = {
+ CLANG_ENABLE_MODULES = YES;
+ FRAMEWORK_SEARCH_PATHS = "";
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ INFOPLIST_FILE = Tests/Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "com.sample.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ };
+ name = Debug;
+ };
+ 146D72BB1AB782920058798C /* Release */ = {
+ isa = XCBuildConfiguration;
+ baseConfigurationReference = E80F7331DFE41909E28F2702 /* Pods.release.xcconfig */;
+ buildSettings = {
+ CLANG_ENABLE_MODULES = YES;
+ FRAMEWORK_SEARCH_PATHS = "";
+ INFOPLIST_FILE = Tests/Info.plist;
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ PRODUCT_BUNDLE_IDENTIFIER = "com.sample.$(PRODUCT_NAME:rfc1034identifier)";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 1418947C1BDD634F00EE52CE /* Build configuration list for PBXNativeTarget "DesignerNews" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 1418947D1BDD634F00EE52CE /* Debug */,
+ 1418947E1BDD634F00EE52CE /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 141894901BDD635800EE52CE /* Build configuration list for PBXNativeTarget "AppNet" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 141894911BDD635800EE52CE /* Debug */,
+ 141894921BDD635800EE52CE /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 146D728E1AB782920058798C /* Build configuration list for PBXProject "Demo" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 146D72B41AB782920058798C /* Debug */,
+ 146D72B51AB782920058798C /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 146D72B91AB782920058798C /* Build configuration list for PBXNativeTarget "Tests" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 146D72BA1AB782920058798C /* Debug */,
+ 146D72BB1AB782920058798C /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+
+/* Begin XCVersionGroup section */
+ 141894251BDD62F600EE52CE /* Bug113.xcdatamodeld */ = {
+ isa = XCVersionGroup;
+ children = (
+ 141894261BDD62F600EE52CE /* Demo.xcdatamodel */,
+ );
+ currentVersion = 141894261BDD62F600EE52CE /* Demo.xcdatamodel */;
+ path = Bug113.xcdatamodeld;
+ sourceTree = "";
+ versionGroupType = wrapper.xcdatamodel;
+ };
+ 141894271BDD62F600EE52CE /* Bug125-simplified.xcdatamodeld */ = {
+ isa = XCVersionGroup;
+ children = (
+ 141894281BDD62F600EE52CE /* Demo.xcdatamodel */,
+ );
+ currentVersion = 141894281BDD62F600EE52CE /* Demo.xcdatamodel */;
+ path = "Bug125-simplified.xcdatamodeld";
+ sourceTree = "";
+ versionGroupType = wrapper.xcdatamodel;
+ };
+ 141894291BDD62F600EE52CE /* Bug125.xcdatamodeld */ = {
+ isa = XCVersionGroup;
+ children = (
+ 1418942A1BDD62F600EE52CE /* Demo.xcdatamodel */,
+ );
+ currentVersion = 1418942A1BDD62F600EE52CE /* Demo.xcdatamodel */;
+ path = Bug125.xcdatamodeld;
+ sourceTree = "";
+ versionGroupType = wrapper.xcdatamodel;
+ };
+ 1418942B1BDD62F600EE52CE /* Bug84.xcdatamodeld */ = {
+ isa = XCVersionGroup;
+ children = (
+ 1418942C1BDD62F600EE52CE /* Demo.xcdatamodel */,
+ );
+ currentVersion = 1418942C1BDD62F600EE52CE /* Demo.xcdatamodel */;
+ path = Bug84.xcdatamodeld;
+ sourceTree = "";
+ versionGroupType = wrapper.xcdatamodel;
+ };
+ 1418942D1BDD62F600EE52CE /* Contacts.xcdatamodeld */ = {
+ isa = XCVersionGroup;
+ children = (
+ 1418942E1BDD62F600EE52CE /* Demo.xcdatamodel */,
+ );
+ currentVersion = 1418942E1BDD62F600EE52CE /* Demo.xcdatamodel */;
+ path = Contacts.xcdatamodeld;
+ sourceTree = "";
+ versionGroupType = wrapper.xcdatamodel;
+ };
+ 1418942F1BDD62F600EE52CE /* Markets.xcdatamodeld */ = {
+ isa = XCVersionGroup;
+ children = (
+ 141894301BDD62F600EE52CE /* Demo.xcdatamodel */,
+ );
+ currentVersion = 141894301BDD62F600EE52CE /* Demo.xcdatamodel */;
+ path = Markets.xcdatamodeld;
+ sourceTree = "";
+ versionGroupType = wrapper.xcdatamodel;
+ };
+ 141894311BDD62F600EE52CE /* Notes.xcdatamodeld */ = {
+ isa = XCVersionGroup;
+ children = (
+ 141894321BDD62F600EE52CE /* Demo.xcdatamodel */,
+ );
+ currentVersion = 141894321BDD62F600EE52CE /* Demo.xcdatamodel */;
+ path = Notes.xcdatamodeld;
+ sourceTree = "";
+ versionGroupType = wrapper.xcdatamodel;
+ };
+ 141894331BDD62F600EE52CE /* Organizations.xcdatamodeld */ = {
+ isa = XCVersionGroup;
+ children = (
+ 141894341BDD62F600EE52CE /* Organizations.xcdatamodel */,
+ );
+ currentVersion = 141894341BDD62F600EE52CE /* Organizations.xcdatamodel */;
+ path = Organizations.xcdatamodeld;
+ sourceTree = "";
+ versionGroupType = wrapper.xcdatamodel;
+ };
+ 141894351BDD62F600EE52CE /* Patients.xcdatamodeld */ = {
+ isa = XCVersionGroup;
+ children = (
+ 141894361BDD62F600EE52CE /* Demo.xcdatamodel */,
+ );
+ currentVersion = 141894361BDD62F600EE52CE /* Demo.xcdatamodel */;
+ path = Patients.xcdatamodeld;
+ sourceTree = "";
+ versionGroupType = wrapper.xcdatamodel;
+ };
+ 141894371BDD62F600EE52CE /* Recursive.xcdatamodeld */ = {
+ isa = XCVersionGroup;
+ children = (
+ 141894381BDD62F600EE52CE /* Demo.xcdatamodel */,
+ );
+ currentVersion = 141894381BDD62F600EE52CE /* Demo.xcdatamodel */;
+ path = Recursive.xcdatamodeld;
+ sourceTree = "";
+ versionGroupType = wrapper.xcdatamodel;
+ };
+ 141894391BDD62F600EE52CE /* Social.xcdatamodeld */ = {
+ isa = XCVersionGroup;
+ children = (
+ 1418943A1BDD62F600EE52CE /* Demo.xcdatamodel */,
+ );
+ currentVersion = 1418943A1BDD62F600EE52CE /* Demo.xcdatamodel */;
+ path = Social.xcdatamodeld;
+ sourceTree = "";
+ versionGroupType = wrapper.xcdatamodel;
+ };
+ 1418943B1BDD62F600EE52CE /* Unique.xcdatamodeld */ = {
+ isa = XCVersionGroup;
+ children = (
+ 1418943C1BDD62F600EE52CE /* Unique.xcdatamodel */,
+ );
+ currentVersion = 1418943C1BDD62F600EE52CE /* Unique.xcdatamodel */;
+ path = Unique.xcdatamodeld;
+ sourceTree = "";
+ versionGroupType = wrapper.xcdatamodel;
+ };
+ 141894731BDD634F00EE52CE /* DesignerNews.xcdatamodeld */ = {
+ isa = XCVersionGroup;
+ children = (
+ 141894741BDD634F00EE52CE /* DesignerNews.xcdatamodel */,
+ );
+ currentVersion = 141894741BDD634F00EE52CE /* DesignerNews.xcdatamodel */;
+ path = DesignerNews.xcdatamodeld;
+ sourceTree = "";
+ versionGroupType = wrapper.xcdatamodel;
+ };
+ 141894871BDD635800EE52CE /* AppNet.xcdatamodeld */ = {
+ isa = XCVersionGroup;
+ children = (
+ 141894881BDD635800EE52CE /* AppNet.xcdatamodel */,
+ );
+ currentVersion = 141894881BDD635800EE52CE /* AppNet.xcdatamodel */;
+ path = AppNet.xcdatamodeld;
+ sourceTree = "";
+ versionGroupType = wrapper.xcdatamodel;
+ };
+/* End XCVersionGroup section */
+ };
+ rootObject = 146D728B1AB782920058798C /* Project object */;
+}
diff --git a/Examples/DesignerNews/DesignerNews.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Demo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
similarity index 53%
rename from Examples/DesignerNews/DesignerNews.xcodeproj/project.xcworkspace/contents.xcworkspacedata
rename to Demo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
index 95102fe4..7f4f7201 100644
--- a/Examples/DesignerNews/DesignerNews.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ b/Demo.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -2,6 +2,6 @@
+ location = "self:/Users/elvis/Projects/3lvis/pod-template-source/Demo/Demo.xcodeproj">
diff --git a/Tests/Tests.xcodeproj/xcshareddata/xcschemes/Tests.xcscheme b/Demo.xcodeproj/xcshareddata/xcschemes/Tests.xcscheme
old mode 100755
new mode 100644
similarity index 72%
rename from Tests/Tests.xcodeproj/xcshareddata/xcschemes/Tests.xcscheme
rename to Demo.xcodeproj/xcshareddata/xcschemes/Tests.xcscheme
index 3e832ad9..13f90983
--- a/Tests/Tests.xcodeproj/xcshareddata/xcschemes/Tests.xcscheme
+++ b/Demo.xcodeproj/xcshareddata/xcschemes/Tests.xcscheme
@@ -11,13 +11,13 @@
buildForRunning = "YES"
buildForProfiling = "NO"
buildForArchiving = "NO"
- buildForAnalyzing = "NO">
+ buildForAnalyzing = "YES">
+ ReferencedContainer = "container:Demo.xcodeproj">
@@ -26,20 +26,28 @@
buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
- shouldUseLaunchSchemeArgsEnv = "YES"
- codeCoverageEnabled = "YES">
+ shouldUseLaunchSchemeArgsEnv = "YES">
+ ReferencedContainer = "container:Demo.xcodeproj">
+
+
+
+
@@ -56,22 +64,12 @@
+ ReferencedContainer = "container:Demo.xcodeproj">
-
-
-
-
-
-
@@ -84,10 +82,10 @@
+ ReferencedContainer = "container:Demo.xcodeproj">
diff --git a/Tests/Tests.xcworkspace/contents.xcworkspacedata b/Demo.xcworkspace/contents.xcworkspacedata
similarity index 81%
rename from Tests/Tests.xcworkspace/contents.xcworkspacedata
rename to Demo.xcworkspace/contents.xcworkspacedata
index 9691ca99..1f140198 100644
--- a/Tests/Tests.xcworkspace/contents.xcworkspacedata
+++ b/Demo.xcworkspace/contents.xcworkspacedata
@@ -2,7 +2,7 @@
+ location = "group:Demo.xcodeproj">
diff --git a/Examples/DesignerNews/DesignerNews/Source/APIClient.h b/DesignerNews/APIClient.h
similarity index 84%
rename from Examples/DesignerNews/DesignerNews/Source/APIClient.h
rename to DesignerNews/APIClient.h
index ee518595..59857c3f 100644
--- a/Examples/DesignerNews/DesignerNews/Source/APIClient.h
+++ b/DesignerNews/APIClient.h
@@ -1,5 +1,5 @@
@import Foundation;
-#import "DATAStack.h"
+@import DATAStack;
@interface APIClient : NSObject
diff --git a/Examples/DesignerNews/DesignerNews/Source/APIClient.m b/DesignerNews/APIClient.m
similarity index 100%
rename from Examples/DesignerNews/DesignerNews/Source/APIClient.m
rename to DesignerNews/APIClient.m
diff --git a/Examples/DesignerNews/DesignerNews/AppDelegate/AppDelegate.h b/DesignerNews/AppDelegate.h
similarity index 100%
rename from Examples/DesignerNews/DesignerNews/AppDelegate/AppDelegate.h
rename to DesignerNews/AppDelegate.h
diff --git a/Examples/DesignerNews/DesignerNews/AppDelegate/AppDelegate.m b/DesignerNews/AppDelegate.m
similarity index 98%
rename from Examples/DesignerNews/DesignerNews/AppDelegate/AppDelegate.m
rename to DesignerNews/AppDelegate.m
index 9993ad16..6257ec30 100644
--- a/Examples/DesignerNews/DesignerNews/AppDelegate/AppDelegate.m
+++ b/DesignerNews/AppDelegate.m
@@ -1,7 +1,7 @@
#import "AppDelegate.h"
#import "StoriesViewController.h"
-#import "DATAStack.h"
+@import DATAStack;
#import "UIFont+DNStyle.h"
diff --git a/Examples/DesignerNews/DesignerNews/Images.xcassets/AppIcon.appiconset/Contents.json b/DesignerNews/Assets.xcassets/AppIcon.appiconset/Contents.json
similarity index 100%
rename from Examples/DesignerNews/DesignerNews/Images.xcassets/AppIcon.appiconset/Contents.json
rename to DesignerNews/Assets.xcassets/AppIcon.appiconset/Contents.json
diff --git a/DesignerNews/Base.lproj/LaunchScreen.storyboard b/DesignerNews/Base.lproj/LaunchScreen.storyboard
new file mode 100644
index 00000000..2e721e18
--- /dev/null
+++ b/DesignerNews/Base.lproj/LaunchScreen.storyboard
@@ -0,0 +1,27 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Examples/DesignerNews/DesignerNews/DesignerNews.xcdatamodeld/.xccurrentversion b/DesignerNews/DesignerNews.xcdatamodeld/.xccurrentversion
similarity index 100%
rename from Examples/DesignerNews/DesignerNews/DesignerNews.xcdatamodeld/.xccurrentversion
rename to DesignerNews/DesignerNews.xcdatamodeld/.xccurrentversion
diff --git a/Examples/DesignerNews/DesignerNews/DesignerNews.xcdatamodeld/DesignerNews.xcdatamodel/contents b/DesignerNews/DesignerNews.xcdatamodeld/DesignerNews.xcdatamodel/contents
similarity index 100%
rename from Examples/DesignerNews/DesignerNews/DesignerNews.xcdatamodeld/DesignerNews.xcdatamodel/contents
rename to DesignerNews/DesignerNews.xcdatamodeld/DesignerNews.xcdatamodel/contents
diff --git a/Examples/DesignerNews/Images/app.png b/DesignerNews/Images/app.png
similarity index 100%
rename from Examples/DesignerNews/Images/app.png
rename to DesignerNews/Images/app.png
diff --git a/Examples/DesignerNews/Images/model.png b/DesignerNews/Images/model.png
similarity index 100%
rename from Examples/DesignerNews/Images/model.png
rename to DesignerNews/Images/model.png
diff --git a/Examples/DesignerNews/DesignerNews/Info.plist b/DesignerNews/Info.plist
similarity index 90%
rename from Examples/DesignerNews/DesignerNews/Info.plist
rename to DesignerNews/Info.plist
index 2f297f47..d39a4daf 100644
--- a/Examples/DesignerNews/DesignerNews/Info.plist
+++ b/DesignerNews/Info.plist
@@ -31,8 +31,8 @@
UISupportedInterfaceOrientations
UIInterfaceOrientationPortrait
+ UIInterfaceOrientationLandscapeLeft
+ UIInterfaceOrientationLandscapeRight
- UIViewControllerBasedStatusBarAppearance
-
diff --git a/Examples/DesignerNews/DesignerNews/Model/DNComment.h b/DesignerNews/Model/DNComment.h
old mode 100644
new mode 100755
similarity index 100%
rename from Examples/DesignerNews/DesignerNews/Model/DNComment.h
rename to DesignerNews/Model/DNComment.h
diff --git a/Examples/DesignerNews/DesignerNews/Model/DNComment.m b/DesignerNews/Model/DNComment.m
old mode 100644
new mode 100755
similarity index 100%
rename from Examples/DesignerNews/DesignerNews/Model/DNComment.m
rename to DesignerNews/Model/DNComment.m
diff --git a/Examples/DesignerNews/DesignerNews/Model/DNStory.h b/DesignerNews/Model/DNStory.h
old mode 100644
new mode 100755
similarity index 100%
rename from Examples/DesignerNews/DesignerNews/Model/DNStory.h
rename to DesignerNews/Model/DNStory.h
diff --git a/Examples/DesignerNews/DesignerNews/Model/DNStory.m b/DesignerNews/Model/DNStory.m
old mode 100644
new mode 100755
similarity index 100%
rename from Examples/DesignerNews/DesignerNews/Model/DNStory.m
rename to DesignerNews/Model/DNStory.m
diff --git a/Examples/DesignerNews/DesignerNews/Model/_DNComment.h b/DesignerNews/Model/_DNComment.h
old mode 100644
new mode 100755
similarity index 100%
rename from Examples/DesignerNews/DesignerNews/Model/_DNComment.h
rename to DesignerNews/Model/_DNComment.h
diff --git a/Examples/DesignerNews/DesignerNews/Model/_DNComment.m b/DesignerNews/Model/_DNComment.m
old mode 100644
new mode 100755
similarity index 100%
rename from Examples/DesignerNews/DesignerNews/Model/_DNComment.m
rename to DesignerNews/Model/_DNComment.m
diff --git a/Examples/DesignerNews/DesignerNews/Model/_DNStory.h b/DesignerNews/Model/_DNStory.h
old mode 100644
new mode 100755
similarity index 100%
rename from Examples/DesignerNews/DesignerNews/Model/_DNStory.h
rename to DesignerNews/Model/_DNStory.h
diff --git a/Examples/DesignerNews/DesignerNews/Model/_DNStory.m b/DesignerNews/Model/_DNStory.m
old mode 100644
new mode 100755
similarity index 100%
rename from Examples/DesignerNews/DesignerNews/Model/_DNStory.m
rename to DesignerNews/Model/_DNStory.m
diff --git a/Examples/DesignerNews/README.md b/DesignerNews/README.md
similarity index 100%
rename from Examples/DesignerNews/README.md
rename to DesignerNews/README.md
diff --git a/Examples/DesignerNews/DesignerNews/Source/StoriesViewController.h b/DesignerNews/StoriesViewController.h
similarity index 100%
rename from Examples/DesignerNews/DesignerNews/Source/StoriesViewController.h
rename to DesignerNews/StoriesViewController.h
diff --git a/Examples/DesignerNews/DesignerNews/Source/StoriesViewController.m b/DesignerNews/StoriesViewController.m
similarity index 81%
rename from Examples/DesignerNews/DesignerNews/Source/StoriesViewController.m
rename to DesignerNews/StoriesViewController.m
index 0c62e86a..97aadc62 100644
--- a/Examples/DesignerNews/DesignerNews/Source/StoriesViewController.m
+++ b/DesignerNews/StoriesViewController.m
@@ -1,10 +1,10 @@
#import "StoriesViewController.h"
#import "StoryViewController.h"
#import "StoryTableViewCell.h"
-#import "DATAStack.h"
#import "APIClient.h"
-#import "DATASource.h"
#import "DNStory.h"
+@import DATAStack;
+@import DATASource;
@interface StoriesViewController ()
@@ -38,14 +38,15 @@ - (DATASource *)dataSource
ascending:NO]];
_dataSource = [[DATASource alloc] initWithTableView:self.tableView
- fetchRequest:request
- sectionName:nil
cellIdentifier:StoryTableViewCellIdentifier
+ fetchRequest:request
mainContext:self.dataStack.mainContext
- configuration:^(StoryTableViewCell *cell,
- DNStory *story,
- NSIndexPath *indexPath) {
- [cell updateWithStory:story];
+ sectionName:nil
+ configuration:^(UITableViewCell * _Nonnull cell, NSManagedObject * _Nonnull item, NSIndexPath * _Nonnull indexPath) {
+ StoryTableViewCell *storyCell = (StoryTableViewCell *)cell;
+ DNStory *story = (DNStory *)item;
+
+ [storyCell updateWithStory:story];
}];
return _dataSource;
@@ -82,7 +83,7 @@ - (UIStatusBarStyle)preferredStatusBarStyle
- (void)tableView:(UITableView *)tableView
didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
- DNStory *story = [self.dataSource.fetchedResultsController objectAtIndexPath:indexPath];
+ DNStory *story = (DNStory *)[self.dataSource objectAtIndexPath:indexPath];
StoryViewController *viewController = [[StoryViewController alloc] initWithStory:story
andDataStack:self.dataStack];
[self.navigationController pushViewController:viewController
diff --git a/Examples/DesignerNews/DesignerNews/Source/StoryTableViewCell.h b/DesignerNews/StoryTableViewCell.h
similarity index 100%
rename from Examples/DesignerNews/DesignerNews/Source/StoryTableViewCell.h
rename to DesignerNews/StoryTableViewCell.h
diff --git a/Examples/DesignerNews/DesignerNews/Source/StoryTableViewCell.m b/DesignerNews/StoryTableViewCell.m
similarity index 100%
rename from Examples/DesignerNews/DesignerNews/Source/StoryTableViewCell.m
rename to DesignerNews/StoryTableViewCell.m
diff --git a/Examples/DesignerNews/DesignerNews/Source/StoryViewController.h b/DesignerNews/StoryViewController.h
similarity index 100%
rename from Examples/DesignerNews/DesignerNews/Source/StoryViewController.h
rename to DesignerNews/StoryViewController.h
diff --git a/Examples/DesignerNews/DesignerNews/Source/StoryViewController.m b/DesignerNews/StoryViewController.m
similarity index 76%
rename from Examples/DesignerNews/DesignerNews/Source/StoryViewController.m
rename to DesignerNews/StoryViewController.m
index 607d6cc6..c0ee5157 100644
--- a/Examples/DesignerNews/DesignerNews/Source/StoryViewController.m
+++ b/DesignerNews/StoryViewController.m
@@ -2,15 +2,13 @@
#import "DNStory.h"
#import "DNComment.h"
-#import "DATAStack.h"
-#import "DATASource.h"
+@import DATAStack;
+@import DATASource;
-#import "NSString+ANDYSizes.h"
#import "UIFont+DNStyle.h"
static NSString * const CommentTableViewCellIdentifier = @"CommentTableViewCellIdentifier";
-static const CGFloat CommentTableViewCellHeight = 70.0;
-static const CGFloat CommentTableViewCellOffset = 40.0;
+static const CGFloat CommentTableViewCellHeight = 50.0;
@interface StoryViewController ()
@@ -50,13 +48,12 @@ - (DATASource *)dataSource
request.predicate = [NSPredicate predicateWithFormat:@"story = %@", self.story];
_dataSource = [[DATASource alloc] initWithTableView:self.tableView
- fetchRequest:request
- sectionName:nil
cellIdentifier:CommentTableViewCellIdentifier
+ fetchRequest:request
mainContext:self.dataStack.mainContext
- configuration:^(UITableViewCell *cell,
- DNComment *comment,
- NSIndexPath *indexPath) {
+ sectionName:nil
+ configuration:^(UITableViewCell * _Nonnull cell, NSManagedObject * _Nonnull item, NSIndexPath * _Nonnull indexPath) {
+ DNComment *comment = (DNComment *)item;
cell.textLabel.text = comment.body;
cell.textLabel.font = [UIFont commentFont];
cell.textLabel.numberOfLines = 0;
@@ -78,11 +75,4 @@ - (void)viewDidLoad
forCellReuseIdentifier:CommentTableViewCellIdentifier];
}
-- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
-{
- DNComment *comment = [self.dataSource.fetchedResultsController objectAtIndexPath:indexPath];
- return [comment.body heightUsingFont:[UIFont commentFont]
- andWidth:[[UIScreen mainScreen] bounds].size.width] + CommentTableViewCellOffset;
-}
-
@end
diff --git a/Examples/DesignerNews/DesignerNews/Source/UIFont+DNStyle.h b/DesignerNews/UIFont+DNStyle.h
similarity index 100%
rename from Examples/DesignerNews/DesignerNews/Source/UIFont+DNStyle.h
rename to DesignerNews/UIFont+DNStyle.h
diff --git a/Examples/DesignerNews/DesignerNews/Source/UIFont+DNStyle.m b/DesignerNews/UIFont+DNStyle.m
similarity index 100%
rename from Examples/DesignerNews/DesignerNews/Source/UIFont+DNStyle.m
rename to DesignerNews/UIFont+DNStyle.m
diff --git a/Examples/DesignerNews/DesignerNews/main.m b/DesignerNews/main.m
similarity index 63%
rename from Examples/DesignerNews/DesignerNews/main.m
rename to DesignerNews/main.m
index 1db1e5c7..1a9a6af0 100644
--- a/Examples/DesignerNews/DesignerNews/main.m
+++ b/DesignerNews/main.m
@@ -1,4 +1,12 @@
-@import UIKit;
+//
+// main.m
+// DesignerNews
+//
+// Created by Elvis Nuñez on 25/10/15.
+//
+//
+
+#import
#import "AppDelegate.h"
int main(int argc, char * argv[]) {
diff --git a/Examples/AppNet/AppNet.xcodeproj/project.pbxproj b/Examples/AppNet/AppNet.xcodeproj/project.pbxproj
deleted file mode 100644
index a5d1c799..00000000
--- a/Examples/AppNet/AppNet.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,406 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 46;
- objects = {
-
-/* Begin PBXBuildFile section */
- 145EAA3E1BB4A3D100618177 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 145EAA3C1BB4A3D100618177 /* LaunchScreen.xib */; settings = {ASSET_TAGS = (); }; };
- DBA4B8C166730EB0C5093A63 /* Pods.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 64AD65296EA48684425C0929 /* Pods.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
- F6691BAE1AD02AE7009D6BA5 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6691BAD1AD02AE7009D6BA5 /* AppDelegate.swift */; };
- F6691BB11AD02AE7009D6BA5 /* AppNet.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = F6691BAF1AD02AE7009D6BA5 /* AppNet.xcdatamodeld */; };
- F6691BB31AD02AE7009D6BA5 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6691BB21AD02AE7009D6BA5 /* ViewController.swift */; };
- F6691BB81AD02AE7009D6BA5 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F6691BB71AD02AE7009D6BA5 /* Images.xcassets */; };
- F6691BDD1AD032B9009D6BA5 /* Networking.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6691BDC1AD032B9009D6BA5 /* Networking.swift */; };
- F6691BE01AD05AF7009D6BA5 /* Data.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6691BDE1AD05AF7009D6BA5 /* Data.swift */; };
- F6691BE11AD05AF7009D6BA5 /* User.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6691BDF1AD05AF7009D6BA5 /* User.swift */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXFileReference section */
- 145EAA3D1BB4A3D100618177 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; };
- 2EFAE9C8E20523E9FCB380BB /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.debug.xcconfig; path = "Pods/Target Support Files/Pods/Pods.debug.xcconfig"; sourceTree = ""; };
- 2F0878F351E487D4661F44D7 /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.release.xcconfig; path = "Pods/Target Support Files/Pods/Pods.release.xcconfig"; sourceTree = ""; };
- 64AD65296EA48684425C0929 /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- F6691BA81AD02AE7009D6BA5 /* AppNet.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = AppNet.app; sourceTree = BUILT_PRODUCTS_DIR; };
- F6691BAC1AD02AE7009D6BA5 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
- F6691BAD1AD02AE7009D6BA5 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; };
- F6691BB01AD02AE7009D6BA5 /* AppNet.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = AppNet.xcdatamodel; sourceTree = ""; };
- F6691BB21AD02AE7009D6BA5 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; };
- F6691BB71AD02AE7009D6BA5 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; };
- F6691BD01AD02B91009D6BA5 /* SYNCHeader-Bridge.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "SYNCHeader-Bridge.h"; sourceTree = ""; };
- F6691BDC1AD032B9009D6BA5 /* Networking.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Networking.swift; sourceTree = ""; };
- F6691BDE1AD05AF7009D6BA5 /* Data.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Data.swift; sourceTree = ""; };
- F6691BDF1AD05AF7009D6BA5 /* User.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = User.swift; sourceTree = ""; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- F6691BA51AD02AE7009D6BA5 /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- DBA4B8C166730EB0C5093A63 /* Pods.framework in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 341EE39E36E1C1AEE5C4EC61 /* Frameworks */ = {
- isa = PBXGroup;
- children = (
- 64AD65296EA48684425C0929 /* Pods.framework */,
- );
- name = Frameworks;
- sourceTree = "";
- };
- 7524E9C3A83F33DEA6BDD531 /* Pods */ = {
- isa = PBXGroup;
- children = (
- 2EFAE9C8E20523E9FCB380BB /* Pods.debug.xcconfig */,
- 2F0878F351E487D4661F44D7 /* Pods.release.xcconfig */,
- );
- name = Pods;
- sourceTree = "";
- };
- F6691B9F1AD02AE7009D6BA5 = {
- isa = PBXGroup;
- children = (
- F6691BAA1AD02AE7009D6BA5 /* AppNet */,
- F6691BA91AD02AE7009D6BA5 /* Products */,
- 341EE39E36E1C1AEE5C4EC61 /* Frameworks */,
- 7524E9C3A83F33DEA6BDD531 /* Pods */,
- );
- indentWidth = 2;
- sourceTree = "";
- tabWidth = 2;
- };
- F6691BA91AD02AE7009D6BA5 /* Products */ = {
- isa = PBXGroup;
- children = (
- F6691BA81AD02AE7009D6BA5 /* AppNet.app */,
- );
- name = Products;
- sourceTree = "";
- };
- F6691BAA1AD02AE7009D6BA5 /* AppNet */ = {
- isa = PBXGroup;
- children = (
- F6691BAD1AD02AE7009D6BA5 /* AppDelegate.swift */,
- F6691BB21AD02AE7009D6BA5 /* ViewController.swift */,
- F6691BDC1AD032B9009D6BA5 /* Networking.swift */,
- F6691BD01AD02B91009D6BA5 /* SYNCHeader-Bridge.h */,
- F6691BB71AD02AE7009D6BA5 /* Images.xcassets */,
- F6691BD71AD03249009D6BA5 /* Model */,
- F6691BAB1AD02AE7009D6BA5 /* Supporting Files */,
- );
- path = AppNet;
- sourceTree = "";
- };
- F6691BAB1AD02AE7009D6BA5 /* Supporting Files */ = {
- isa = PBXGroup;
- children = (
- 145EAA3C1BB4A3D100618177 /* LaunchScreen.xib */,
- F6691BAC1AD02AE7009D6BA5 /* Info.plist */,
- );
- name = "Supporting Files";
- sourceTree = "";
- };
- F6691BD71AD03249009D6BA5 /* Model */ = {
- isa = PBXGroup;
- children = (
- F6691BDE1AD05AF7009D6BA5 /* Data.swift */,
- F6691BDF1AD05AF7009D6BA5 /* User.swift */,
- F6691BAF1AD02AE7009D6BA5 /* AppNet.xcdatamodeld */,
- );
- name = Model;
- sourceTree = "";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- F6691BA71AD02AE7009D6BA5 /* AppNet */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = F6691BCA1AD02AE7009D6BA5 /* Build configuration list for PBXNativeTarget "AppNet" */;
- buildPhases = (
- 7181365187F993882593AFA3 /* Check Pods Manifest.lock */,
- F6691BA41AD02AE7009D6BA5 /* Sources */,
- F6691BA51AD02AE7009D6BA5 /* Frameworks */,
- F6691BA61AD02AE7009D6BA5 /* Resources */,
- 4C11009BEA66F0809CB2C2B1 /* Copy Pods Resources */,
- 981B9AE66AE71F7A59E0C012 /* Embed Pods Frameworks */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = AppNet;
- productName = AppNet;
- productReference = F6691BA81AD02AE7009D6BA5 /* AppNet.app */;
- productType = "com.apple.product-type.application";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- F6691BA01AD02AE7009D6BA5 /* Project object */ = {
- isa = PBXProject;
- attributes = {
- LastSwiftMigration = 0700;
- LastSwiftUpdateCheck = 0700;
- LastUpgradeCheck = 0700;
- ORGANIZATIONNAME = "Hyper Interaktiv AS";
- TargetAttributes = {
- F6691BA71AD02AE7009D6BA5 = {
- CreatedOnToolsVersion = 6.2;
- };
- };
- };
- buildConfigurationList = F6691BA31AD02AE7009D6BA5 /* Build configuration list for PBXProject "AppNet" */;
- compatibilityVersion = "Xcode 3.2";
- developmentRegion = English;
- hasScannedForEncodings = 0;
- knownRegions = (
- en,
- Base,
- );
- mainGroup = F6691B9F1AD02AE7009D6BA5;
- productRefGroup = F6691BA91AD02AE7009D6BA5 /* Products */;
- projectDirPath = "";
- projectRoot = "";
- targets = (
- F6691BA71AD02AE7009D6BA5 /* AppNet */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXResourcesBuildPhase section */
- F6691BA61AD02AE7009D6BA5 /* Resources */ = {
- isa = PBXResourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 145EAA3E1BB4A3D100618177 /* LaunchScreen.xib in Resources */,
- F6691BB81AD02AE7009D6BA5 /* Images.xcassets in Resources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXShellScriptBuildPhase section */
- 4C11009BEA66F0809CB2C2B1 /* Copy Pods Resources */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- );
- name = "Copy Pods Resources";
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-resources.sh\"\n";
- showEnvVarsInLog = 0;
- };
- 7181365187F993882593AFA3 /* Check Pods Manifest.lock */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- );
- name = "Check Pods Manifest.lock";
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n";
- showEnvVarsInLog = 0;
- };
- 981B9AE66AE71F7A59E0C012 /* Embed Pods Frameworks */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- );
- name = "Embed Pods Frameworks";
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-frameworks.sh\"\n";
- showEnvVarsInLog = 0;
- };
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
- F6691BA41AD02AE7009D6BA5 /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- F6691BB31AD02AE7009D6BA5 /* ViewController.swift in Sources */,
- F6691BE01AD05AF7009D6BA5 /* Data.swift in Sources */,
- F6691BE11AD05AF7009D6BA5 /* User.swift in Sources */,
- F6691BDD1AD032B9009D6BA5 /* Networking.swift in Sources */,
- F6691BAE1AD02AE7009D6BA5 /* AppDelegate.swift in Sources */,
- F6691BB11AD02AE7009D6BA5 /* AppNet.xcdatamodeld in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXVariantGroup section */
- 145EAA3C1BB4A3D100618177 /* LaunchScreen.xib */ = {
- isa = PBXVariantGroup;
- children = (
- 145EAA3D1BB4A3D100618177 /* Base */,
- );
- name = LaunchScreen.xib;
- sourceTree = "";
- };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
- F6691BC81AD02AE7009D6BA5 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- COPY_PHASE_STRIP = NO;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- ENABLE_TESTABILITY = YES;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "DEBUG=1",
- "$(inherited)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.2;
- MTL_ENABLE_DEBUG_INFO = YES;
- ONLY_ACTIVE_ARCH = YES;
- SDKROOT = iphoneos;
- SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- };
- name = Debug;
- };
- F6691BC91AD02AE7009D6BA5 /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- COPY_PHASE_STRIP = NO;
- ENABLE_NS_ASSERTIONS = NO;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.2;
- MTL_ENABLE_DEBUG_INFO = NO;
- SDKROOT = iphoneos;
- VALIDATE_PRODUCT = YES;
- };
- name = Release;
- };
- F6691BCB1AD02AE7009D6BA5 /* Debug */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = 2EFAE9C8E20523E9FCB380BB /* Pods.debug.xcconfig */;
- buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- INFOPLIST_FILE = AppNet/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- PRODUCT_BUNDLE_IDENTIFIER = "no.hyper.$(PRODUCT_NAME:rfc1034identifier)";
- PRODUCT_NAME = AppNet;
- SWIFT_OBJC_BRIDGING_HEADER = "AppNet/SYNCHeader-Bridge.h";
- };
- name = Debug;
- };
- F6691BCC1AD02AE7009D6BA5 /* Release */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = 2F0878F351E487D4661F44D7 /* Pods.release.xcconfig */;
- buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- INFOPLIST_FILE = AppNet/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- PRODUCT_BUNDLE_IDENTIFIER = "no.hyper.$(PRODUCT_NAME:rfc1034identifier)";
- PRODUCT_NAME = AppNet;
- SWIFT_OBJC_BRIDGING_HEADER = "AppNet/SYNCHeader-Bridge.h";
- };
- name = Release;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- F6691BA31AD02AE7009D6BA5 /* Build configuration list for PBXProject "AppNet" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- F6691BC81AD02AE7009D6BA5 /* Debug */,
- F6691BC91AD02AE7009D6BA5 /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- F6691BCA1AD02AE7009D6BA5 /* Build configuration list for PBXNativeTarget "AppNet" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- F6691BCB1AD02AE7009D6BA5 /* Debug */,
- F6691BCC1AD02AE7009D6BA5 /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
-/* End XCConfigurationList section */
-
-/* Begin XCVersionGroup section */
- F6691BAF1AD02AE7009D6BA5 /* AppNet.xcdatamodeld */ = {
- isa = XCVersionGroup;
- children = (
- F6691BB01AD02AE7009D6BA5 /* AppNet.xcdatamodel */,
- );
- currentVersion = F6691BB01AD02AE7009D6BA5 /* AppNet.xcdatamodel */;
- path = AppNet.xcdatamodeld;
- sourceTree = "";
- versionGroupType = wrapper.xcdatamodel;
- };
-/* End XCVersionGroup section */
- };
- rootObject = F6691BA01AD02AE7009D6BA5 /* Project object */;
-}
diff --git a/Examples/AppNet/AppNet.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Examples/AppNet/AppNet.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index 70a9b943..00000000
--- a/Examples/AppNet/AppNet.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-
diff --git a/Examples/AppNet/AppNet.xcodeproj/xcshareddata/xcschemes/AppNet.xcscheme b/Examples/AppNet/AppNet.xcodeproj/xcshareddata/xcschemes/AppNet.xcscheme
deleted file mode 100644
index 710b0d4a..00000000
--- a/Examples/AppNet/AppNet.xcodeproj/xcshareddata/xcschemes/AppNet.xcscheme
+++ /dev/null
@@ -1,91 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Examples/AppNet/AppNet.xcworkspace/contents.xcworkspacedata b/Examples/AppNet/AppNet.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index f5aaa2f7..00000000
--- a/Examples/AppNet/AppNet.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
diff --git a/Examples/AppNet/AppNet/Base.lproj/LaunchScreen.xib b/Examples/AppNet/AppNet/Base.lproj/LaunchScreen.xib
deleted file mode 100755
index 105bf59f..00000000
--- a/Examples/AppNet/AppNet/Base.lproj/LaunchScreen.xib
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Examples/AppNet/AppNet/Images.xcassets/Contents.json b/Examples/AppNet/AppNet/Images.xcassets/Contents.json
deleted file mode 100644
index da4a164c..00000000
--- a/Examples/AppNet/AppNet/Images.xcassets/Contents.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/Examples/AppNet/AppNet/SYNCHeader-Bridge.h b/Examples/AppNet/AppNet/SYNCHeader-Bridge.h
deleted file mode 100644
index 9b55780b..00000000
--- a/Examples/AppNet/AppNet/SYNCHeader-Bridge.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef AppNet_SYNCHeader_Bridge_h
-#define AppNet_SYNCHeader_Bridge_h
-
-#import
-#import
-#import
-
-#endif
diff --git a/Examples/AppNet/Podfile b/Examples/AppNet/Podfile
deleted file mode 100644
index 29135728..00000000
--- a/Examples/AppNet/Podfile
+++ /dev/null
@@ -1,6 +0,0 @@
-platform :ios, '8.0'
-
-use_frameworks!
-
-pod 'Sync'
-pod 'DATASource'
diff --git a/Examples/DesignerNews/DesignerNews.xcodeproj/project.pbxproj b/Examples/DesignerNews/DesignerNews.xcodeproj/project.pbxproj
deleted file mode 100644
index 2763d772..00000000
--- a/Examples/DesignerNews/DesignerNews.xcodeproj/project.pbxproj
+++ /dev/null
@@ -1,466 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 46;
- objects = {
-
-/* Begin PBXBuildFile section */
- 14615C6A1ACD55DB00FE93A0 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 14615C691ACD55DB00FE93A0 /* AppDelegate.m */; };
- 14615C741ACD55EC00FE93A0 /* _DNComment.m in Sources */ = {isa = PBXBuildFile; fileRef = 14615C6D1ACD55EC00FE93A0 /* _DNComment.m */; };
- 14615C751ACD55EC00FE93A0 /* _DNStory.m in Sources */ = {isa = PBXBuildFile; fileRef = 14615C6F1ACD55EC00FE93A0 /* _DNStory.m */; };
- 14615C761ACD55EC00FE93A0 /* DNComment.m in Sources */ = {isa = PBXBuildFile; fileRef = 14615C711ACD55EC00FE93A0 /* DNComment.m */; };
- 14615C771ACD55EC00FE93A0 /* DNStory.m in Sources */ = {isa = PBXBuildFile; fileRef = 14615C731ACD55EC00FE93A0 /* DNStory.m */; };
- 14615C831ACD560F00FE93A0 /* APIClient.m in Sources */ = {isa = PBXBuildFile; fileRef = 14615C7A1ACD560F00FE93A0 /* APIClient.m */; };
- 14615C841ACD560F00FE93A0 /* StoriesViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 14615C7C1ACD560F00FE93A0 /* StoriesViewController.m */; };
- 14615C851ACD560F00FE93A0 /* StoryTableViewCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 14615C7E1ACD560F00FE93A0 /* StoryTableViewCell.m */; };
- 14615C861ACD560F00FE93A0 /* StoryViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 14615C801ACD560F00FE93A0 /* StoryViewController.m */; };
- 14615C871ACD560F00FE93A0 /* UIFont+DNStyle.m in Sources */ = {isa = PBXBuildFile; fileRef = 14615C821ACD560F00FE93A0 /* UIFont+DNStyle.m */; };
- 14993F6B1BB4A2D70022E381 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = 14993F691BB4A2D70022E381 /* LaunchScreen.xib */; settings = {ASSET_TAGS = (); }; };
- EF1F3E42F95828F2AAD5E839 /* Pods.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BA2B69DC4C60223CE7FBA4B6 /* Pods.framework */; settings = {ATTRIBUTES = (Weak, ); }; };
- F6ACF0041ABCA539001E5652 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = F6ACF0031ABCA539001E5652 /* main.m */; };
- F6ACF00A1ABCA539001E5652 /* DesignerNews.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = F6ACF0081ABCA539001E5652 /* DesignerNews.xcdatamodeld */; };
- F6ACF0121ABCA539001E5652 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F6ACF0111ABCA539001E5652 /* Images.xcassets */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXFileReference section */
- 14615C681ACD55DB00FE93A0 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
- 14615C691ACD55DB00FE93A0 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; };
- 14615C6C1ACD55EC00FE93A0 /* _DNComment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _DNComment.h; sourceTree = ""; };
- 14615C6D1ACD55EC00FE93A0 /* _DNComment.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = _DNComment.m; sourceTree = ""; };
- 14615C6E1ACD55EC00FE93A0 /* _DNStory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = _DNStory.h; sourceTree = ""; };
- 14615C6F1ACD55EC00FE93A0 /* _DNStory.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = _DNStory.m; sourceTree = ""; };
- 14615C701ACD55EC00FE93A0 /* DNComment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DNComment.h; sourceTree = ""; };
- 14615C711ACD55EC00FE93A0 /* DNComment.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DNComment.m; sourceTree = ""; };
- 14615C721ACD55EC00FE93A0 /* DNStory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DNStory.h; sourceTree = ""; };
- 14615C731ACD55EC00FE93A0 /* DNStory.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DNStory.m; sourceTree = ""; };
- 14615C791ACD560F00FE93A0 /* APIClient.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = APIClient.h; sourceTree = ""; };
- 14615C7A1ACD560F00FE93A0 /* APIClient.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = APIClient.m; sourceTree = ""; };
- 14615C7B1ACD560F00FE93A0 /* StoriesViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StoriesViewController.h; sourceTree = ""; };
- 14615C7C1ACD560F00FE93A0 /* StoriesViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StoriesViewController.m; sourceTree = ""; };
- 14615C7D1ACD560F00FE93A0 /* StoryTableViewCell.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StoryTableViewCell.h; sourceTree = ""; };
- 14615C7E1ACD560F00FE93A0 /* StoryTableViewCell.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StoryTableViewCell.m; sourceTree = ""; };
- 14615C7F1ACD560F00FE93A0 /* StoryViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = StoryViewController.h; sourceTree = ""; };
- 14615C801ACD560F00FE93A0 /* StoryViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = StoryViewController.m; sourceTree = ""; };
- 14615C811ACD560F00FE93A0 /* UIFont+DNStyle.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIFont+DNStyle.h"; sourceTree = ""; };
- 14615C821ACD560F00FE93A0 /* UIFont+DNStyle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIFont+DNStyle.m"; sourceTree = ""; };
- 14993F6A1BB4A2D70022E381 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/LaunchScreen.xib; sourceTree = ""; };
- B3CC52748EF0117319DEF380 /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.release.xcconfig; path = "Pods/Target Support Files/Pods/Pods.release.xcconfig"; sourceTree = ""; };
- BA2B69DC4C60223CE7FBA4B6 /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; };
- EAA395298F667B5F57922875 /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.debug.xcconfig; path = "Pods/Target Support Files/Pods/Pods.debug.xcconfig"; sourceTree = ""; };
- F6ACEFFE1ABCA539001E5652 /* DesignerNews.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = DesignerNews.app; sourceTree = BUILT_PRODUCTS_DIR; };
- F6ACF0021ABCA539001E5652 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
- F6ACF0031ABCA539001E5652 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
- F6ACF0091ABCA539001E5652 /* DesignerNews.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = DesignerNews.xcdatamodel; sourceTree = ""; };
- F6ACF0111ABCA539001E5652 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- F6ACEFFB1ABCA539001E5652 /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- EF1F3E42F95828F2AAD5E839 /* Pods.framework in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 14615C671ACD55DB00FE93A0 /* AppDelegate */ = {
- isa = PBXGroup;
- children = (
- 14615C681ACD55DB00FE93A0 /* AppDelegate.h */,
- 14615C691ACD55DB00FE93A0 /* AppDelegate.m */,
- );
- path = AppDelegate;
- sourceTree = "";
- };
- 14615C6B1ACD55EC00FE93A0 /* Model */ = {
- isa = PBXGroup;
- children = (
- 14615C881ACD561800FE93A0 /* Autogenerated */,
- 14615C701ACD55EC00FE93A0 /* DNComment.h */,
- 14615C711ACD55EC00FE93A0 /* DNComment.m */,
- 14615C721ACD55EC00FE93A0 /* DNStory.h */,
- 14615C731ACD55EC00FE93A0 /* DNStory.m */,
- F6ACF0081ABCA539001E5652 /* DesignerNews.xcdatamodeld */,
- );
- path = Model;
- sourceTree = "";
- };
- 14615C781ACD560F00FE93A0 /* Source */ = {
- isa = PBXGroup;
- children = (
- 14615C791ACD560F00FE93A0 /* APIClient.h */,
- 14615C7A1ACD560F00FE93A0 /* APIClient.m */,
- 14615C7B1ACD560F00FE93A0 /* StoriesViewController.h */,
- 14615C7C1ACD560F00FE93A0 /* StoriesViewController.m */,
- 14615C7D1ACD560F00FE93A0 /* StoryTableViewCell.h */,
- 14615C7E1ACD560F00FE93A0 /* StoryTableViewCell.m */,
- 14615C7F1ACD560F00FE93A0 /* StoryViewController.h */,
- 14615C801ACD560F00FE93A0 /* StoryViewController.m */,
- 14615C811ACD560F00FE93A0 /* UIFont+DNStyle.h */,
- 14615C821ACD560F00FE93A0 /* UIFont+DNStyle.m */,
- );
- path = Source;
- sourceTree = "";
- };
- 14615C881ACD561800FE93A0 /* Autogenerated */ = {
- isa = PBXGroup;
- children = (
- 14615C6C1ACD55EC00FE93A0 /* _DNComment.h */,
- 14615C6D1ACD55EC00FE93A0 /* _DNComment.m */,
- 14615C6E1ACD55EC00FE93A0 /* _DNStory.h */,
- 14615C6F1ACD55EC00FE93A0 /* _DNStory.m */,
- );
- name = Autogenerated;
- sourceTree = "";
- };
- 709250F94E876559886BDDD8 /* Pods */ = {
- isa = PBXGroup;
- children = (
- EAA395298F667B5F57922875 /* Pods.debug.xcconfig */,
- B3CC52748EF0117319DEF380 /* Pods.release.xcconfig */,
- );
- name = Pods;
- sourceTree = "";
- };
- DD317DD9308A61D7089EE31B /* Frameworks */ = {
- isa = PBXGroup;
- children = (
- BA2B69DC4C60223CE7FBA4B6 /* Pods.framework */,
- );
- name = Frameworks;
- sourceTree = "";
- };
- F6ACEFF51ABCA539001E5652 = {
- isa = PBXGroup;
- children = (
- F6ACF0001ABCA539001E5652 /* DesignerNews */,
- F6ACEFFF1ABCA539001E5652 /* Products */,
- 709250F94E876559886BDDD8 /* Pods */,
- DD317DD9308A61D7089EE31B /* Frameworks */,
- );
- sourceTree = "";
- };
- F6ACEFFF1ABCA539001E5652 /* Products */ = {
- isa = PBXGroup;
- children = (
- F6ACEFFE1ABCA539001E5652 /* DesignerNews.app */,
- );
- name = Products;
- sourceTree = "";
- };
- F6ACF0001ABCA539001E5652 /* DesignerNews */ = {
- isa = PBXGroup;
- children = (
- 14615C671ACD55DB00FE93A0 /* AppDelegate */,
- 14615C6B1ACD55EC00FE93A0 /* Model */,
- 14615C781ACD560F00FE93A0 /* Source */,
- F6ACF0011ABCA539001E5652 /* Supporting Files */,
- );
- path = DesignerNews;
- sourceTree = "";
- };
- F6ACF0011ABCA539001E5652 /* Supporting Files */ = {
- isa = PBXGroup;
- children = (
- 14993F691BB4A2D70022E381 /* LaunchScreen.xib */,
- F6ACF0111ABCA539001E5652 /* Images.xcassets */,
- F6ACF0021ABCA539001E5652 /* Info.plist */,
- F6ACF0031ABCA539001E5652 /* main.m */,
- );
- name = "Supporting Files";
- sourceTree = "";
- };
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
- F6ACEFFD1ABCA539001E5652 /* DesignerNews */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = F6ACF0241ABCA539001E5652 /* Build configuration list for PBXNativeTarget "DesignerNews" */;
- buildPhases = (
- DB8022F37D9CD58812507E65 /* Check Pods Manifest.lock */,
- F6ACEFFA1ABCA539001E5652 /* Sources */,
- F6ACEFFB1ABCA539001E5652 /* Frameworks */,
- F6ACEFFC1ABCA539001E5652 /* Resources */,
- EAE5F99C026E23C0D7422FEC /* Copy Pods Resources */,
- F8FC509A07981681DB9D6393 /* Embed Pods Frameworks */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = DesignerNews;
- productName = DesignerNews;
- productReference = F6ACEFFE1ABCA539001E5652 /* DesignerNews.app */;
- productType = "com.apple.product-type.application";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- F6ACEFF61ABCA539001E5652 /* Project object */ = {
- isa = PBXProject;
- attributes = {
- LastUpgradeCheck = 0700;
- ORGANIZATIONNAME = Hyper;
- TargetAttributes = {
- F6ACEFFD1ABCA539001E5652 = {
- CreatedOnToolsVersion = 6.2;
- };
- };
- };
- buildConfigurationList = F6ACEFF91ABCA539001E5652 /* Build configuration list for PBXProject "DesignerNews" */;
- compatibilityVersion = "Xcode 3.2";
- developmentRegion = English;
- hasScannedForEncodings = 0;
- knownRegions = (
- en,
- Base,
- );
- mainGroup = F6ACEFF51ABCA539001E5652;
- productRefGroup = F6ACEFFF1ABCA539001E5652 /* Products */;
- projectDirPath = "";
- projectRoot = "";
- targets = (
- F6ACEFFD1ABCA539001E5652 /* DesignerNews */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXResourcesBuildPhase section */
- F6ACEFFC1ABCA539001E5652 /* Resources */ = {
- isa = PBXResourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 14993F6B1BB4A2D70022E381 /* LaunchScreen.xib in Resources */,
- F6ACF0121ABCA539001E5652 /* Images.xcassets in Resources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXShellScriptBuildPhase section */
- DB8022F37D9CD58812507E65 /* Check Pods Manifest.lock */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- );
- name = "Check Pods Manifest.lock";
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n";
- showEnvVarsInLog = 0;
- };
- EAE5F99C026E23C0D7422FEC /* Copy Pods Resources */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- );
- name = "Copy Pods Resources";
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-resources.sh\"\n";
- showEnvVarsInLog = 0;
- };
- F8FC509A07981681DB9D6393 /* Embed Pods Frameworks */ = {
- isa = PBXShellScriptBuildPhase;
- buildActionMask = 2147483647;
- files = (
- );
- inputPaths = (
- );
- name = "Embed Pods Frameworks";
- outputPaths = (
- );
- runOnlyForDeploymentPostprocessing = 0;
- shellPath = /bin/sh;
- shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-frameworks.sh\"\n";
- showEnvVarsInLog = 0;
- };
-/* End PBXShellScriptBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
- F6ACEFFA1ABCA539001E5652 /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 14615C861ACD560F00FE93A0 /* StoryViewController.m in Sources */,
- 14615C761ACD55EC00FE93A0 /* DNComment.m in Sources */,
- 14615C841ACD560F00FE93A0 /* StoriesViewController.m in Sources */,
- 14615C751ACD55EC00FE93A0 /* _DNStory.m in Sources */,
- 14615C771ACD55EC00FE93A0 /* DNStory.m in Sources */,
- F6ACF00A1ABCA539001E5652 /* DesignerNews.xcdatamodeld in Sources */,
- 14615C871ACD560F00FE93A0 /* UIFont+DNStyle.m in Sources */,
- 14615C741ACD55EC00FE93A0 /* _DNComment.m in Sources */,
- 14615C6A1ACD55DB00FE93A0 /* AppDelegate.m in Sources */,
- F6ACF0041ABCA539001E5652 /* main.m in Sources */,
- 14615C831ACD560F00FE93A0 /* APIClient.m in Sources */,
- 14615C851ACD560F00FE93A0 /* StoryTableViewCell.m in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXVariantGroup section */
- 14993F691BB4A2D70022E381 /* LaunchScreen.xib */ = {
- isa = PBXVariantGroup;
- children = (
- 14993F6A1BB4A2D70022E381 /* Base */,
- );
- name = LaunchScreen.xib;
- sourceTree = "";
- };
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
- F6ACF0221ABCA539001E5652 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- COPY_PHASE_STRIP = NO;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- ENABLE_TESTABILITY = YES;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "DEBUG=1",
- "$(inherited)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.2;
- MTL_ENABLE_DEBUG_INFO = YES;
- ONLY_ACTIVE_ARCH = YES;
- SDKROOT = iphoneos;
- };
- name = Debug;
- };
- F6ACF0231ABCA539001E5652 /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
- COPY_PHASE_STRIP = NO;
- ENABLE_NS_ASSERTIONS = NO;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.2;
- MTL_ENABLE_DEBUG_INFO = NO;
- SDKROOT = iphoneos;
- VALIDATE_PRODUCT = YES;
- };
- name = Release;
- };
- F6ACF0251ABCA539001E5652 /* Debug */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = EAA395298F667B5F57922875 /* Pods.debug.xcconfig */;
- buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- INFOPLIST_FILE = DesignerNews/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- PRODUCT_BUNDLE_IDENTIFIER = "com.example.$(PRODUCT_NAME:rfc1034identifier)";
- PRODUCT_NAME = "$(TARGET_NAME)";
- };
- name = Debug;
- };
- F6ACF0261ABCA539001E5652 /* Release */ = {
- isa = XCBuildConfiguration;
- baseConfigurationReference = B3CC52748EF0117319DEF380 /* Pods.release.xcconfig */;
- buildSettings = {
- ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- INFOPLIST_FILE = DesignerNews/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
- PRODUCT_BUNDLE_IDENTIFIER = "com.example.$(PRODUCT_NAME:rfc1034identifier)";
- PRODUCT_NAME = "$(TARGET_NAME)";
- };
- name = Release;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- F6ACEFF91ABCA539001E5652 /* Build configuration list for PBXProject "DesignerNews" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- F6ACF0221ABCA539001E5652 /* Debug */,
- F6ACF0231ABCA539001E5652 /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- F6ACF0241ABCA539001E5652 /* Build configuration list for PBXNativeTarget "DesignerNews" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- F6ACF0251ABCA539001E5652 /* Debug */,
- F6ACF0261ABCA539001E5652 /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
-/* End XCConfigurationList section */
-
-/* Begin XCVersionGroup section */
- F6ACF0081ABCA539001E5652 /* DesignerNews.xcdatamodeld */ = {
- isa = XCVersionGroup;
- children = (
- F6ACF0091ABCA539001E5652 /* DesignerNews.xcdatamodel */,
- );
- currentVersion = F6ACF0091ABCA539001E5652 /* DesignerNews.xcdatamodel */;
- name = DesignerNews.xcdatamodeld;
- path = ../DesignerNews.xcdatamodeld;
- sourceTree = "";
- versionGroupType = wrapper.xcdatamodel;
- };
-/* End XCVersionGroup section */
- };
- rootObject = F6ACEFF61ABCA539001E5652 /* Project object */;
-}
diff --git a/Examples/DesignerNews/DesignerNews.xcworkspace/contents.xcworkspacedata b/Examples/DesignerNews/DesignerNews.xcworkspace/contents.xcworkspacedata
deleted file mode 100644
index 062f820c..00000000
--- a/Examples/DesignerNews/DesignerNews.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,10 +0,0 @@
-
-
-
-
-
-
-
diff --git a/Examples/DesignerNews/DesignerNews/Base.lproj/LaunchScreen.xib b/Examples/DesignerNews/DesignerNews/Base.lproj/LaunchScreen.xib
deleted file mode 100755
index 105bf59f..00000000
--- a/Examples/DesignerNews/DesignerNews/Base.lproj/LaunchScreen.xib
+++ /dev/null
@@ -1,20 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/Examples/DesignerNews/DesignerNews/CommentsViewController.m b/Examples/DesignerNews/DesignerNews/CommentsViewController.m
deleted file mode 100644
index 8f938476..00000000
--- a/Examples/DesignerNews/DesignerNews/CommentsViewController.m
+++ /dev/null
@@ -1,78 +0,0 @@
-#import "CommentsViewController.h"
-#import "UIFont+DNStyle.h"
-
-static const CGFloat HYPIndentationWidthSubcomment = 20.0f;
-static const CGFloat HYPIndentationWidthComment = 0.0f;
-
-static NSString * const CellIdentifier = @"Cell";
-
-@interface CommentsViewController ()
-
-@property (nonatomic) NSMutableArray *arrayWithComments;
-@property (nonatomic) NSMutableArray *arrayWithSubcommentPositions;
-
-@end
-
-@implementation CommentsViewController
-
-#pragma mark - UITableViewMethods
-
-- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
-{
- return self.arrayWithComments.count;
-}
-
-- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
-{
- UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
-
- cell.indentationLevel = 1;
-
- if ([self.arrayWithSubcommentPositions[indexPath.row] boolValue]) {
- cell.indentationWidth = HYPIndentationWidthSubcomment;
- } else {
- cell.indentationWidth = HYPIndentationWidthComment;
- }
-
- cell.textLabel.text = self.arrayWithComments[indexPath.row];
- cell.textLabel.numberOfLines = 1000;
- cell.textLabel.font = [UIFont commentFont];
-
- return cell;
-}
-
-#pragma mark - View lifecycle
-
-- (void)viewDidLoad
-{
- [super viewDidLoad];
-
- [self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:CellIdentifier];
- self.tableView.delegate = self;
- self.tableView.allowsSelection = NO;
-}
-
-- (void)viewWillAppear:(BOOL)animated
-{
- [super viewWillAppear:animated];
-
- self.title = self.story.title;
-
- self.arrayWithComments = [NSMutableArray new];
- self.arrayWithSubcommentPositions = [NSMutableArray new];
-
- for (NSDictionary *dictionary in [NSKeyedUnarchiver unarchiveObjectWithData:self.story.comments]) {
- [self.arrayWithComments addObject:dictionary[@"body"]];
-
- [self.arrayWithSubcommentPositions addObject:@0];
-
- for (NSDictionary *subDictionary in dictionary[@"comments"]) {
- [self.arrayWithComments addObject:subDictionary[@"body"]];
- [self.arrayWithSubcommentPositions addObject:@1];
- }
- }
-
- [self.tableView reloadData];
-}
-
-@end
diff --git a/Examples/DesignerNews/DesignerNews/DesignerNewsTableViewCell.h b/Examples/DesignerNews/DesignerNews/DesignerNewsTableViewCell.h
deleted file mode 100644
index 6b1ce6ab..00000000
--- a/Examples/DesignerNews/DesignerNews/DesignerNewsTableViewCell.h
+++ /dev/null
@@ -1,13 +0,0 @@
-@import UIKit;
-
-@class Stories;
-
-static NSString * const CellIdentifier = @"Cell";
-
-@interface DesignerNewsTableViewCell : UITableViewCell
-
-@property (nonatomic) Stories *story;
-
-- (void)updateWithStory:(Stories *)story;
-
-@end
diff --git a/Examples/DesignerNews/DesignerNews/Images.xcassets/Contents.json b/Examples/DesignerNews/DesignerNews/Images.xcassets/Contents.json
deleted file mode 100644
index da4a164c..00000000
--- a/Examples/DesignerNews/DesignerNews/Images.xcassets/Contents.json
+++ /dev/null
@@ -1,6 +0,0 @@
-{
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/Examples/DesignerNews/Podfile b/Examples/DesignerNews/Podfile
deleted file mode 100644
index 7003ac78..00000000
--- a/Examples/DesignerNews/Podfile
+++ /dev/null
@@ -1,7 +0,0 @@
-platform :ios, '8.0'
-
-use_frameworks!
-
-pod 'Sync'
-pod 'DATASource'
-pod 'NSString-ANDYSizes'
diff --git a/Examples/README.md b/Examples/README.md
deleted file mode 100644
index 733acd12..00000000
--- a/Examples/README.md
+++ /dev/null
@@ -1,13 +0,0 @@
-# Examples
-
-## Building
-
-Run `pod install` in each sample project directory to set up their
-dependencies.
-
-## License
-
-> This files provided by Hyper Interaktiv AS are for non-commercial testing and evaluation
-> purposes only.
-> Hyper Interaktiv AS reserves all rights not expressly granted.
-> See the [LICENSE](https://github.com/hyperoslo/Sync/blob/master/LICENSE.md) file for more info.
diff --git a/LICENSE.md b/LICENSE.md
old mode 100755
new mode 100644
index a592775e..da4372f9
--- a/LICENSE.md
+++ b/LICENSE.md
@@ -1,8 +1,6 @@
Licensed under the **MIT** license
-> Copyright (c) 2015 [Hyper Interaktiv AS](http://www.hyper.no/)
->
-> Copyright (c) 2015 [Elvis Nuñez](https://github.com/3lvis)
+> Copyright (c) 2015 Hyper Interaktiv
>
> Permission is hereby granted, free of charge, to any person obtaining
> a copy of this software and associated documentation files (the
diff --git a/Podfile b/Podfile
new file mode 100644
index 00000000..6ad9898a
--- /dev/null
+++ b/Podfile
@@ -0,0 +1,7 @@
+use_frameworks!
+
+link_with 'Tests', 'AppNet', 'DesignerNews'
+
+pod 'Sync', path: "."
+pod 'NSJSONSerialization-ANDYJSONFile'
+pod 'DATASource'
diff --git a/Source/NSArray+Sync.m b/Source/NSArray+Sync.m
index e8787305..eb98cac2 100644
--- a/Source/NSArray+Sync.m
+++ b/Source/NSArray+Sync.m
@@ -21,10 +21,11 @@ - (NSArray *)preprocessForEntityNamed:(NSString *)entityName
[rightValue isKindOfClass:[NSString class]]));
if (rightValueCanBeCompared) {
NSMutableArray *objectChanges = [NSMutableArray new];
+ NSManagedObjectContext *context = [dataStack newDisposableMainContext];
NSEntityDescription *entity = [NSEntityDescription entityForName:entityName
- inManagedObjectContext:dataStack.disposableMainContext];
+ inManagedObjectContext:context];
for (NSDictionary *change in self) {
- NSManagedObject *object = [[NSManagedObject alloc] initWithEntity:entity insertIntoManagedObjectContext:dataStack.disposableMainContext];
+ NSManagedObject *object = [[NSManagedObject alloc] initWithEntity:entity insertIntoManagedObjectContext:context];
NSError *error = nil;
[object hyp_fillWithDictionary:change];
[object sync_processRelationshipsUsingDictionary:change
diff --git a/Source/NSManagedObject+Sync.m b/Source/NSManagedObject+Sync.m
index e313a548..e65d7d82 100755
--- a/Source/NSManagedObject+Sync.m
+++ b/Source/NSManagedObject+Sync.m
@@ -1,6 +1,6 @@
#import "NSManagedObject+Sync.h"
-#import "DATAStack.h"
+@import DATAStack;
#import "Sync.h"
#import "NSDictionary+ANDYSafeValue.h"
diff --git a/Source/Sync.m b/Source/Sync.m
index 9f96f197..a06ccaf1 100755
--- a/Source/Sync.m
+++ b/Source/Sync.m
@@ -1,6 +1,6 @@
#import "Sync.h"
-#import "DATAStack.h"
+@import DATAStack;
#import "DATAFilter.h"
#import "NSDictionary+ANDYSafeValue.h"
diff --git a/Sync.podspec b/Sync.podspec
index b6e006f6..1d55aadb 100755
--- a/Sync.podspec
+++ b/Sync.podspec
@@ -15,16 +15,18 @@ s.author = { "Hyper AS" => "iOS@hyper.no" }
s.source = { :git => "https://github.com/hyperoslo/Sync.git", :tag => s.version.to_s }
s.social_media_url = 'https://twitter.com/hyperoslo'
-s.platform = :ios, '8.0'
+s.ios.deployment_target = '8.0'
+s.osx.deployment_target = '10.9'
+s.watchos.deployment_target = '2.0'
+s.tvos.deployment_target = '9.0'
s.requires_arc = true
-
s.source_files = 'Source/**/*'
s.frameworks = 'Foundation', 'CoreData'
-s.dependency 'DATAFilter', '~> 0.9.0'
-s.dependency 'DATAStack', '~> 3.1.2'
-s.dependency 'NSDictionary-ANDYSafeValue', '~> 0.3'
-s.dependency 'NSEntityDescription-SYNCPrimaryKey', '~> 0.1.0'
-s.dependency 'NSManagedObject-HYPPropertyMapper', '~> 3.3.2'
+s.dependency 'DATAFilter', '~> 0.9.1'
+s.dependency 'DATAStack', '~> 4.0.1'
+s.dependency 'NSDictionary-ANDYSafeValue', '~> 0.3.1'
+s.dependency 'NSEntityDescription-SYNCPrimaryKey', '~> 0.1.1'
+s.dependency 'NSManagedObject-HYPPropertyMapper', '~> 3.3.3'
end
diff --git a/Tests/Tests/Helpers/BaseTestCase.h b/Tests/Helpers/BaseTestCase.h
similarity index 98%
rename from Tests/Tests/Helpers/BaseTestCase.h
rename to Tests/Helpers/BaseTestCase.h
index 43689502..ec9cefad 100644
--- a/Tests/Tests/Helpers/BaseTestCase.h
+++ b/Tests/Helpers/BaseTestCase.h
@@ -1,7 +1,7 @@
@import XCTest;
@import CoreData;
-#import "DATAStack.h"
+@import DATAStack;
#import "Sync.h"
@interface BaseTestCase : XCTestCase
diff --git a/Tests/Tests/Helpers/BaseTestCase.m b/Tests/Helpers/BaseTestCase.m
similarity index 98%
rename from Tests/Tests/Helpers/BaseTestCase.m
rename to Tests/Helpers/BaseTestCase.m
index a75c4d7c..56a0381e 100644
--- a/Tests/Tests/Helpers/BaseTestCase.m
+++ b/Tests/Helpers/BaseTestCase.m
@@ -1,7 +1,7 @@
@import XCTest;
#import "NSJSONSerialization+ANDYJSONFile.h"
-#import "DATAStack.h"
+@import DATAStack;
#import "NSJSONSerialization+ANDYJSONFile.h"
#import "Sync.h"
#import "NSManagedObject+HYPPropertyMapper.h"
@@ -48,7 +48,7 @@ - (id)objectsFromJSON:(NSString *)fileName {
- (DATAStack *)dataStackWithModelName:(NSString *)modelName {
DATAStack *dataStack = [[DATAStack alloc] initWithModelName:modelName
bundle:[NSBundle bundleForClass:[self class]]
- storeType:DATAStackSQLiteStoreType];
+ storeType:DATAStackStoreTypeSQLite];
return dataStack;
}
diff --git a/Tests/Tests/Info.plist b/Tests/Info.plist
old mode 100755
new mode 100644
similarity index 100%
rename from Tests/Tests/Info.plist
rename to Tests/Info.plist
diff --git a/Tests/Tests/JSONs/bug-113-comments-no-id.json b/Tests/JSONs/bug-113-comments-no-id.json
similarity index 100%
rename from Tests/Tests/JSONs/bug-113-comments-no-id.json
rename to Tests/JSONs/bug-113-comments-no-id.json
diff --git a/Tests/Tests/JSONs/bug-113-custom_relationship_key_to_one.json b/Tests/JSONs/bug-113-custom_relationship_key_to_one.json
similarity index 100%
rename from Tests/Tests/JSONs/bug-113-custom_relationship_key_to_one.json
rename to Tests/JSONs/bug-113-custom_relationship_key_to_one.json
diff --git a/Tests/Tests/JSONs/bug-113-stories-comments-no-ids.json b/Tests/JSONs/bug-113-stories-comments-no-ids.json
similarity index 100%
rename from Tests/Tests/JSONs/bug-113-stories-comments-no-ids.json
rename to Tests/JSONs/bug-113-stories-comments-no-ids.json
diff --git a/Tests/Tests/JSONs/bug-125-light.json b/Tests/JSONs/bug-125-light.json
similarity index 100%
rename from Tests/Tests/JSONs/bug-125-light.json
rename to Tests/JSONs/bug-125-light.json
diff --git a/Tests/Tests/JSONs/bug-125.json b/Tests/JSONs/bug-125.json
similarity index 100%
rename from Tests/Tests/JSONs/bug-125.json
rename to Tests/JSONs/bug-125.json
diff --git a/Tests/Tests/JSONs/bug-number-84.json b/Tests/JSONs/bug-number-84.json
similarity index 100%
rename from Tests/Tests/JSONs/bug-number-84.json
rename to Tests/JSONs/bug-number-84.json
diff --git a/Tests/Tests/JSONs/comments-no-id.json b/Tests/JSONs/comments-no-id.json
similarity index 100%
rename from Tests/Tests/JSONs/comments-no-id.json
rename to Tests/JSONs/comments-no-id.json
diff --git a/Tests/Tests/JSONs/custom_relationship_key_to_many.json b/Tests/JSONs/custom_relationship_key_to_many.json
similarity index 100%
rename from Tests/Tests/JSONs/custom_relationship_key_to_many.json
rename to Tests/JSONs/custom_relationship_key_to_many.json
diff --git a/Tests/Tests/JSONs/custom_relationship_key_to_one.json b/Tests/JSONs/custom_relationship_key_to_one.json
similarity index 100%
rename from Tests/Tests/JSONs/custom_relationship_key_to_one.json
rename to Tests/JSONs/custom_relationship_key_to_one.json
diff --git a/Tests/Tests/JSONs/images.json b/Tests/JSONs/images.json
similarity index 100%
rename from Tests/Tests/JSONs/images.json
rename to Tests/JSONs/images.json
diff --git a/Tests/Tests/JSONs/markets_items.json b/Tests/JSONs/markets_items.json
similarity index 100%
rename from Tests/Tests/JSONs/markets_items.json
rename to Tests/JSONs/markets_items.json
diff --git a/Tests/Tests/JSONs/notes_for_user_a.json b/Tests/JSONs/notes_for_user_a.json
similarity index 100%
rename from Tests/Tests/JSONs/notes_for_user_a.json
rename to Tests/JSONs/notes_for_user_a.json
diff --git a/Tests/Tests/JSONs/numbers.json b/Tests/JSONs/numbers.json
similarity index 100%
rename from Tests/Tests/JSONs/numbers.json
rename to Tests/JSONs/numbers.json
diff --git a/Tests/Tests/JSONs/numbers_in_collection.json b/Tests/JSONs/numbers_in_collection.json
similarity index 100%
rename from Tests/Tests/JSONs/numbers_in_collection.json
rename to Tests/JSONs/numbers_in_collection.json
diff --git a/Tests/Tests/JSONs/organizations-tree.json b/Tests/JSONs/organizations-tree.json
similarity index 100%
rename from Tests/Tests/JSONs/organizations-tree.json
rename to Tests/JSONs/organizations-tree.json
diff --git a/Tests/Tests/JSONs/patients.json b/Tests/JSONs/patients.json
similarity index 100%
rename from Tests/Tests/JSONs/patients.json
rename to Tests/JSONs/patients.json
diff --git a/Tests/Tests/JSONs/stories-comments-no-ids.json b/Tests/JSONs/stories-comments-no-ids.json
similarity index 100%
rename from Tests/Tests/JSONs/stories-comments-no-ids.json
rename to Tests/JSONs/stories-comments-no-ids.json
diff --git a/Tests/Tests/JSONs/story-summarize.json b/Tests/JSONs/story-summarize.json
similarity index 100%
rename from Tests/Tests/JSONs/story-summarize.json
rename to Tests/JSONs/story-summarize.json
diff --git a/Tests/Tests/JSONs/tagged_notes.json b/Tests/JSONs/tagged_notes.json
similarity index 100%
rename from Tests/Tests/JSONs/tagged_notes.json
rename to Tests/JSONs/tagged_notes.json
diff --git a/Tests/Tests/JSONs/unique.json b/Tests/JSONs/unique.json
similarity index 100%
rename from Tests/Tests/JSONs/unique.json
rename to Tests/JSONs/unique.json
diff --git a/Tests/Tests/JSONs/users_a.json b/Tests/JSONs/users_a.json
similarity index 100%
rename from Tests/Tests/JSONs/users_a.json
rename to Tests/JSONs/users_a.json
diff --git a/Tests/Tests/JSONs/users_b.json b/Tests/JSONs/users_b.json
similarity index 100%
rename from Tests/Tests/JSONs/users_b.json
rename to Tests/JSONs/users_b.json
diff --git a/Tests/Tests/JSONs/users_c.json b/Tests/JSONs/users_c.json
similarity index 100%
rename from Tests/Tests/JSONs/users_c.json
rename to Tests/JSONs/users_c.json
diff --git a/Tests/Tests/JSONs/users_company.json b/Tests/JSONs/users_company.json
similarity index 100%
rename from Tests/Tests/JSONs/users_company.json
rename to Tests/JSONs/users_company.json
diff --git a/Tests/Tests/JSONs/users_notes.json b/Tests/JSONs/users_notes.json
similarity index 100%
rename from Tests/Tests/JSONs/users_notes.json
rename to Tests/JSONs/users_notes.json
diff --git a/Tests/Tests/Models/Bug113.xcdatamodeld/.xccurrentversion b/Tests/Models/Bug113.xcdatamodeld/.xccurrentversion
similarity index 100%
rename from Tests/Tests/Models/Bug113.xcdatamodeld/.xccurrentversion
rename to Tests/Models/Bug113.xcdatamodeld/.xccurrentversion
diff --git a/Tests/Tests/Models/Bug113.xcdatamodeld/Demo.xcdatamodel/contents b/Tests/Models/Bug113.xcdatamodeld/Demo.xcdatamodel/contents
similarity index 100%
rename from Tests/Tests/Models/Bug113.xcdatamodeld/Demo.xcdatamodel/contents
rename to Tests/Models/Bug113.xcdatamodeld/Demo.xcdatamodel/contents
diff --git a/Tests/Tests/Models/Bug125-simplified.xcdatamodeld/.xccurrentversion b/Tests/Models/Bug125-simplified.xcdatamodeld/.xccurrentversion
similarity index 100%
rename from Tests/Tests/Models/Bug125-simplified.xcdatamodeld/.xccurrentversion
rename to Tests/Models/Bug125-simplified.xcdatamodeld/.xccurrentversion
diff --git a/Tests/Tests/Models/Bug125-simplified.xcdatamodeld/Demo.xcdatamodel/contents b/Tests/Models/Bug125-simplified.xcdatamodeld/Demo.xcdatamodel/contents
similarity index 100%
rename from Tests/Tests/Models/Bug125-simplified.xcdatamodeld/Demo.xcdatamodel/contents
rename to Tests/Models/Bug125-simplified.xcdatamodeld/Demo.xcdatamodel/contents
diff --git a/Tests/Tests/Models/Bug125.xcdatamodeld/.xccurrentversion b/Tests/Models/Bug125.xcdatamodeld/.xccurrentversion
similarity index 100%
rename from Tests/Tests/Models/Bug125.xcdatamodeld/.xccurrentversion
rename to Tests/Models/Bug125.xcdatamodeld/.xccurrentversion
diff --git a/Tests/Tests/Models/Bug125.xcdatamodeld/Demo.xcdatamodel/contents b/Tests/Models/Bug125.xcdatamodeld/Demo.xcdatamodel/contents
similarity index 100%
rename from Tests/Tests/Models/Bug125.xcdatamodeld/Demo.xcdatamodel/contents
rename to Tests/Models/Bug125.xcdatamodeld/Demo.xcdatamodel/contents
diff --git a/Tests/Tests/Models/Bug84.xcdatamodeld/.xccurrentversion b/Tests/Models/Bug84.xcdatamodeld/.xccurrentversion
similarity index 100%
rename from Tests/Tests/Models/Bug84.xcdatamodeld/.xccurrentversion
rename to Tests/Models/Bug84.xcdatamodeld/.xccurrentversion
diff --git a/Tests/Tests/Models/Bug84.xcdatamodeld/Demo.xcdatamodel/contents b/Tests/Models/Bug84.xcdatamodeld/Demo.xcdatamodel/contents
similarity index 100%
rename from Tests/Tests/Models/Bug84.xcdatamodeld/Demo.xcdatamodel/contents
rename to Tests/Models/Bug84.xcdatamodeld/Demo.xcdatamodel/contents
diff --git a/Tests/Tests/Models/Contacts.xcdatamodeld/.xccurrentversion b/Tests/Models/Contacts.xcdatamodeld/.xccurrentversion
similarity index 100%
rename from Tests/Tests/Models/Contacts.xcdatamodeld/.xccurrentversion
rename to Tests/Models/Contacts.xcdatamodeld/.xccurrentversion
diff --git a/Tests/Tests/Models/Contacts.xcdatamodeld/Demo.xcdatamodel/contents b/Tests/Models/Contacts.xcdatamodeld/Demo.xcdatamodel/contents
similarity index 100%
rename from Tests/Tests/Models/Contacts.xcdatamodeld/Demo.xcdatamodel/contents
rename to Tests/Models/Contacts.xcdatamodeld/Demo.xcdatamodel/contents
diff --git a/Tests/Tests/Models/Markets.xcdatamodeld/.xccurrentversion b/Tests/Models/Markets.xcdatamodeld/.xccurrentversion
similarity index 100%
rename from Tests/Tests/Models/Markets.xcdatamodeld/.xccurrentversion
rename to Tests/Models/Markets.xcdatamodeld/.xccurrentversion
diff --git a/Tests/Tests/Models/Markets.xcdatamodeld/Demo.xcdatamodel/contents b/Tests/Models/Markets.xcdatamodeld/Demo.xcdatamodel/contents
similarity index 100%
rename from Tests/Tests/Models/Markets.xcdatamodeld/Demo.xcdatamodel/contents
rename to Tests/Models/Markets.xcdatamodeld/Demo.xcdatamodel/contents
diff --git a/Tests/Tests/Models/Notes.xcdatamodeld/.xccurrentversion b/Tests/Models/Notes.xcdatamodeld/.xccurrentversion
similarity index 100%
rename from Tests/Tests/Models/Notes.xcdatamodeld/.xccurrentversion
rename to Tests/Models/Notes.xcdatamodeld/.xccurrentversion
diff --git a/Tests/Tests/Models/Notes.xcdatamodeld/Demo.xcdatamodel/contents b/Tests/Models/Notes.xcdatamodeld/Demo.xcdatamodel/contents
similarity index 100%
rename from Tests/Tests/Models/Notes.xcdatamodeld/Demo.xcdatamodel/contents
rename to Tests/Models/Notes.xcdatamodeld/Demo.xcdatamodel/contents
diff --git a/Tests/Tests/Models/Organizations.xcdatamodeld/Organizations.xcdatamodel/contents b/Tests/Models/Organizations.xcdatamodeld/Organizations.xcdatamodel/contents
similarity index 100%
rename from Tests/Tests/Models/Organizations.xcdatamodeld/Organizations.xcdatamodel/contents
rename to Tests/Models/Organizations.xcdatamodeld/Organizations.xcdatamodel/contents
diff --git a/Tests/Tests/Models/Patients.xcdatamodeld/.xccurrentversion b/Tests/Models/Patients.xcdatamodeld/.xccurrentversion
similarity index 100%
rename from Tests/Tests/Models/Patients.xcdatamodeld/.xccurrentversion
rename to Tests/Models/Patients.xcdatamodeld/.xccurrentversion
diff --git a/Tests/Tests/Models/Patients.xcdatamodeld/Demo.xcdatamodel/contents b/Tests/Models/Patients.xcdatamodeld/Demo.xcdatamodel/contents
similarity index 100%
rename from Tests/Tests/Models/Patients.xcdatamodeld/Demo.xcdatamodel/contents
rename to Tests/Models/Patients.xcdatamodeld/Demo.xcdatamodel/contents
diff --git a/Tests/Tests/Models/Recursive.xcdatamodeld/.xccurrentversion b/Tests/Models/Recursive.xcdatamodeld/.xccurrentversion
similarity index 100%
rename from Tests/Tests/Models/Recursive.xcdatamodeld/.xccurrentversion
rename to Tests/Models/Recursive.xcdatamodeld/.xccurrentversion
diff --git a/Tests/Tests/Models/Recursive.xcdatamodeld/Demo.xcdatamodel/contents b/Tests/Models/Recursive.xcdatamodeld/Demo.xcdatamodel/contents
similarity index 100%
rename from Tests/Tests/Models/Recursive.xcdatamodeld/Demo.xcdatamodel/contents
rename to Tests/Models/Recursive.xcdatamodeld/Demo.xcdatamodel/contents
diff --git a/Tests/Tests/Models/Social.xcdatamodeld/.xccurrentversion b/Tests/Models/Social.xcdatamodeld/.xccurrentversion
similarity index 100%
rename from Tests/Tests/Models/Social.xcdatamodeld/.xccurrentversion
rename to Tests/Models/Social.xcdatamodeld/.xccurrentversion
diff --git a/Tests/Tests/Models/Social.xcdatamodeld/Demo.xcdatamodel/contents b/Tests/Models/Social.xcdatamodeld/Demo.xcdatamodel/contents
similarity index 100%
rename from Tests/Tests/Models/Social.xcdatamodeld/Demo.xcdatamodel/contents
rename to Tests/Models/Social.xcdatamodeld/Demo.xcdatamodel/contents
diff --git a/Tests/Tests/Models/Unique.xcdatamodeld/Unique.xcdatamodel/contents b/Tests/Models/Unique.xcdatamodeld/Unique.xcdatamodel/contents
similarity index 100%
rename from Tests/Tests/Models/Unique.xcdatamodeld/Unique.xcdatamodel/contents
rename to Tests/Models/Unique.xcdatamodeld/Unique.xcdatamodel/contents
diff --git a/Tests/Tests/NSArray+Sync_Tests.m b/Tests/NSArray+Sync_Tests.m
similarity index 100%
rename from Tests/Tests/NSArray+Sync_Tests.m
rename to Tests/NSArray+Sync_Tests.m
diff --git a/Tests/Podfile b/Tests/Podfile
deleted file mode 100644
index 5d0dfa46..00000000
--- a/Tests/Podfile
+++ /dev/null
@@ -1,10 +0,0 @@
-use_frameworks!
-
-platform :ios, '8.0'
-
-pod 'DATAFilter'
-pod 'DATAStack'
-pod 'NSDictionary-ANDYSafeValue'
-pod 'NSEntityDescription-SYNCPrimaryKey'
-pod 'NSJSONSerialization-ANDYJSONFile'
-pod 'NSManagedObject-HYPPropertyMapper'
diff --git a/Tests/Tests/SyncTests.m b/Tests/SyncTests.m
similarity index 99%
rename from Tests/Tests/SyncTests.m
rename to Tests/SyncTests.m
index 9b67e9cb..44f1f8b9 100755
--- a/Tests/Tests/SyncTests.m
+++ b/Tests/SyncTests.m
@@ -258,6 +258,7 @@ - (void)testCustomKeysInRelationshipsToMany {
// Sync provides a predicate method to filter which methods would be synced
// this test checks that providing a predicate for "startTime > now" only syncs
// elements that start in the future.
+/*
- (void)testSyncWithPredicateAfterDate {
DATAStack *dataStack = [self dataStackWithModelName:@"Notes"];
@@ -306,7 +307,7 @@ - (void)testSyncWithPredicateAfterDate {
XCTAssertEqualObjects([updatedUser3 valueForKey:@"name"], new[@"name"]);
[dataStack drop];
-}
+}*/
#pragma mark Recursive
diff --git a/Tests/Tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/Tests/Tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata
deleted file mode 100755
index 6c0ea849..00000000
--- a/Tests/Tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata
+++ /dev/null
@@ -1,7 +0,0 @@
-
-
-
-
-