diff --git a/.travis.yml b/.travis.yml
index 3fcde602..9d46b2a9 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,4 +1,4 @@
-osx_image: xcode9.2
+osx_image: xcode10
language: objective-c
sudo: required
@@ -16,10 +16,10 @@ env:
- WORKSPACE="DZNEmptyDataSet/DZNEmptyDataSet.xcworkspace"
- IOS_SCHEME="DZNEmptyDataSet"
- - IOS_SDK="iphonesimulator11.2"
+ - IOS_SDK="iphonesimulator12.0"
matrix:
- - DESTINATION="OS=11.2,name=iPhone 8" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME"
+ - DESTINATION="OS=12.0,name=iPhone 8" SDK="$IOS_SDK" SCHEME="$IOS_SCHEME"
script:
- xcodebuild clean build test -scheme "$SCHEME" -workspace "$WORKSPACE" SDK="$IOS_SDK" -destination "$DESTINATION" -configuration Debug GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Contents.json b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Contents.json
index 72cba767..c8477e67 100644
--- a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -1,152 +1,158 @@
{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ },
"images" : [
{
- "idiom" : "iphone",
- "size" : "20x20",
+ "filename" : "Icon-40.png",
+ "size" : "40x40",
+ "idiom" : "ipad",
+ "scale" : "1x"
+ },
+ {
+ "filename" : "Icon-40@2x.png",
+ "size" : "40x40",
+ "idiom" : "ipad",
"scale" : "2x"
},
{
+ "filename" : "Icon-60@2x.png",
+ "size" : "60x60",
"idiom" : "iphone",
- "size" : "20x20",
- "scale" : "3x"
+ "scale" : "2x"
},
{
- "size" : "29x29",
- "idiom" : "iphone",
- "filename" : "icon-29.png",
+ "filename" : "Icon-72.png",
+ "size" : "72x72",
+ "idiom" : "ipad",
"scale" : "1x"
},
{
- "size" : "29x29",
- "idiom" : "iphone",
- "filename" : "icon-29@2x.png",
+ "filename" : "Icon-72@2x.png",
+ "size" : "72x72",
+ "idiom" : "ipad",
"scale" : "2x"
},
{
- "size" : "29x29",
- "idiom" : "iphone",
- "filename" : "icon-29@3x.png",
- "scale" : "3x"
+ "filename" : "Icon-76.png",
+ "size" : "76x76",
+ "idiom" : "ipad",
+ "scale" : "1x"
},
{
- "size" : "40x40",
- "idiom" : "iphone",
- "filename" : "icon-40@2x.png",
+ "filename" : "Icon-76@2x.png",
+ "size" : "76x76",
+ "idiom" : "ipad",
"scale" : "2x"
},
{
- "size" : "40x40",
- "idiom" : "iphone",
- "filename" : "icon-40@3x.png",
- "scale" : "3x"
- },
- {
- "size" : "57x57",
- "idiom" : "iphone",
- "filename" : "icon-57.png",
+ "filename" : "Icon-Small-50.png",
+ "size" : "50x50",
+ "idiom" : "ipad",
"scale" : "1x"
},
{
- "size" : "57x57",
- "idiom" : "iphone",
- "filename" : "icon-57@2x.png",
+ "filename" : "Icon-Small-50@2x.png",
+ "size" : "50x50",
+ "idiom" : "ipad",
"scale" : "2x"
},
{
- "size" : "60x60",
+ "filename" : "Icon-Small.png",
+ "size" : "29x29",
"idiom" : "iphone",
- "filename" : "icon-60@2x.png",
- "scale" : "2x"
+ "scale" : "1x"
},
{
- "size" : "60x60",
+ "filename" : "Icon-Small@2x.png",
+ "size" : "29x29",
"idiom" : "iphone",
- "filename" : "icon-60@3x.png",
- "scale" : "3x"
+ "scale" : "2x"
},
{
- "idiom" : "ipad",
- "size" : "20x20",
+ "filename" : "Icon.png",
+ "size" : "57x57",
+ "idiom" : "iphone",
"scale" : "1x"
},
{
- "idiom" : "ipad",
- "size" : "20x20",
+ "filename" : "Icon@2x.png",
+ "size" : "57x57",
+ "idiom" : "iphone",
"scale" : "2x"
},
{
+ "filename" : "Icon-Small@3x.png",
"size" : "29x29",
- "idiom" : "ipad",
- "filename" : "icon-29~ipad.png",
- "scale" : "1x"
+ "idiom" : "iphone",
+ "scale" : "3x"
},
{
- "size" : "29x29",
- "idiom" : "ipad",
- "filename" : "icon-29@2x~ipad.png",
- "scale" : "2x"
+ "filename" : "Icon-40@3x.png",
+ "size" : "40x40",
+ "idiom" : "iphone",
+ "scale" : "3x"
},
{
- "size" : "40x40",
- "idiom" : "ipad",
- "filename" : "icon-40~ipad.png",
- "scale" : "1x"
+ "filename" : "Icon-60@3x.png",
+ "size" : "60x60",
+ "idiom" : "iphone",
+ "scale" : "3x"
},
{
+ "filename" : "Icon-40@2x.png",
"size" : "40x40",
- "idiom" : "ipad",
- "filename" : "icon-40@2x~ipad.png",
+ "idiom" : "iphone",
"scale" : "2x"
},
{
- "size" : "50x50",
+ "filename" : "Icon-Small.png",
+ "size" : "29x29",
"idiom" : "ipad",
- "filename" : "icon-50~ipad.png",
"scale" : "1x"
},
{
- "size" : "50x50",
+ "filename" : "Icon-Small@2x.png",
+ "size" : "29x29",
"idiom" : "ipad",
- "filename" : "icon-50@2x~ipad.png",
"scale" : "2x"
},
{
- "size" : "72x72",
+ "filename" : "Icon-83.5@2x.png",
+ "size" : "83.5x83.5",
"idiom" : "ipad",
- "filename" : "icon-72~ipad.png",
- "scale" : "1x"
+ "scale" : "2x"
},
{
- "size" : "72x72",
- "idiom" : "ipad",
- "filename" : "icon-72@2x~ipad.png",
+ "filename" : "NotificationIcon@2x.png",
+ "size" : "20x20",
+ "idiom" : "iphone",
"scale" : "2x"
},
{
- "size" : "76x76",
- "idiom" : "ipad",
- "filename" : "icon-76~ipad.png",
- "scale" : "1x"
+ "filename" : "NotificationIcon@3x.png",
+ "size" : "20x20",
+ "idiom" : "iphone",
+ "scale" : "3x"
},
{
- "size" : "76x76",
+ "filename" : "NotificationIcon~ipad.png",
+ "size" : "20x20",
"idiom" : "ipad",
- "filename" : "icon-76@2x~ipad.png",
- "scale" : "2x"
+ "scale" : "1x"
},
{
+ "filename" : "NotificationIcon~ipad@2x.png",
+ "size" : "20x20",
"idiom" : "ipad",
- "size" : "83.5x83.5",
"scale" : "2x"
},
{
- "idiom" : "ios-marketing",
+ "filename" : "ios-marketing.png",
"size" : "1024x1024",
+ "idiom" : "ios-marketing",
"scale" : "1x"
}
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
+ ]
}
\ No newline at end of file
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-40.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-40.png
new file mode 100644
index 00000000..e0e7ab4a
Binary files /dev/null and b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-40.png differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-72.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-72.png
new file mode 100644
index 00000000..0e609ffd
Binary files /dev/null and b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-72.png differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png
new file mode 100644
index 00000000..3506c250
Binary files /dev/null and b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-76.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-76.png
new file mode 100644
index 00000000..7162af07
Binary files /dev/null and b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-76.png differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png
new file mode 100644
index 00000000..645070c3
Binary files /dev/null and b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png
new file mode 100644
index 00000000..e330f732
Binary files /dev/null and b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png
new file mode 100644
index 00000000..cbfc7f2e
Binary files /dev/null and b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png
new file mode 100644
index 00000000..1dc3b918
Binary files /dev/null and b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-Small.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-Small.png
new file mode 100644
index 00000000..fd99b708
Binary files /dev/null and b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-Small.png differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png
new file mode 100644
index 00000000..f4138720
Binary files /dev/null and b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png
new file mode 100644
index 00000000..36216646
Binary files /dev/null and b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon.png
new file mode 100644
index 00000000..ca4edb53
Binary files /dev/null and b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon.png differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon@2x.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon@2x.png
new file mode 100644
index 00000000..209709b8
Binary files /dev/null and b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/Icon@2x.png differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/NotificationIcon@2x.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/NotificationIcon@2x.png
new file mode 100644
index 00000000..e0e7ab4a
Binary files /dev/null and b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/NotificationIcon@2x.png differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/NotificationIcon@3x.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/NotificationIcon@3x.png
new file mode 100644
index 00000000..6a18d3c4
Binary files /dev/null and b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/NotificationIcon@3x.png differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/NotificationIcon~ipad.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/NotificationIcon~ipad.png
new file mode 100644
index 00000000..ef7b7ae1
Binary files /dev/null and b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/NotificationIcon~ipad.png differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/NotificationIcon~ipad@2x.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/NotificationIcon~ipad@2x.png
new file mode 100644
index 00000000..e0e7ab4a
Binary files /dev/null and b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/NotificationIcon~ipad@2x.png differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-29.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-29.png
deleted file mode 100644
index be8f8880..00000000
Binary files a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-29.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png
deleted file mode 100644
index 2a6a9fc3..00000000
Binary files a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-29@2x~ipad.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-29@2x~ipad.png
deleted file mode 100644
index 2a6a9fc3..00000000
Binary files a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-29@2x~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png
deleted file mode 100644
index 932c8f6e..00000000
Binary files a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-29~ipad.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-29~ipad.png
deleted file mode 100644
index be8f8880..00000000
Binary files a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-29~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png
index 46e92b4c..f1de27f5 100644
Binary files a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png and b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-40@2x~ipad.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-40@2x~ipad.png
deleted file mode 100644
index 46e92b4c..00000000
Binary files a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-40@2x~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png
index 2ef8aa02..b59e0c8d 100644
Binary files a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png and b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-40~ipad.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-40~ipad.png
deleted file mode 100644
index c95b6fac..00000000
Binary files a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-40~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-50@2x~ipad.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-50@2x~ipad.png
deleted file mode 100644
index 98ba9bd2..00000000
Binary files a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-50@2x~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-50~ipad.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-50~ipad.png
deleted file mode 100644
index cc7f03c8..00000000
Binary files a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-50~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-57.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-57.png
deleted file mode 100644
index 59c0f7f1..00000000
Binary files a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-57.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-57@2x.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-57@2x.png
deleted file mode 100644
index 8de9b051..00000000
Binary files a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-57@2x.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png
index a3cb7204..b59e0c8d 100644
Binary files a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png and b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png
index 22b0d7f6..1a5e0762 100644
Binary files a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png and b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-72@2x~ipad.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-72@2x~ipad.png
deleted file mode 100644
index b8bfeee0..00000000
Binary files a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-72@2x~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-72~ipad.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-72~ipad.png
deleted file mode 100644
index 373b7cdc..00000000
Binary files a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-72~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-76@2x~ipad.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-76@2x~ipad.png
deleted file mode 100644
index 6efeacbf..00000000
Binary files a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-76@2x~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-76~ipad.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-76~ipad.png
deleted file mode 100644
index a68be4d3..00000000
Binary files a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/icon-76~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/ios-marketing.png b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/ios-marketing.png
new file mode 100644
index 00000000..ce1519ca
Binary files /dev/null and b/DZNEmptyDataSet/Applications/Assets.xcassets/AppIcon.appiconset/ios-marketing.png differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage-2.launchimage/Contents.json b/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage-2.launchimage/Contents.json
deleted file mode 100644
index 5a296668..00000000
--- a/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage-2.launchimage/Contents.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "images" : [
- {
- "orientation" : "portrait",
- "idiom" : "ipad",
- "minimum-system-version" : "7.0",
- "extent" : "full-screen",
- "scale" : "2x"
- },
- {
- "orientation" : "landscape",
- "idiom" : "ipad",
- "minimum-system-version" : "7.0",
- "extent" : "full-screen",
- "scale" : "1x"
- },
- {
- "orientation" : "landscape",
- "idiom" : "ipad",
- "minimum-system-version" : "7.0",
- "extent" : "full-screen",
- "scale" : "2x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "iphone",
- "minimum-system-version" : "7.0",
- "scale" : "2x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "iphone",
- "minimum-system-version" : "7.0",
- "subtype" : "retina4",
- "scale" : "2x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "ipad",
- "minimum-system-version" : "7.0",
- "extent" : "full-screen",
- "scale" : "1x"
- }
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage-3.launchimage/Contents.json b/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage-3.launchimage/Contents.json
deleted file mode 100644
index 5a296668..00000000
--- a/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage-3.launchimage/Contents.json
+++ /dev/null
@@ -1,49 +0,0 @@
-{
- "images" : [
- {
- "orientation" : "portrait",
- "idiom" : "ipad",
- "minimum-system-version" : "7.0",
- "extent" : "full-screen",
- "scale" : "2x"
- },
- {
- "orientation" : "landscape",
- "idiom" : "ipad",
- "minimum-system-version" : "7.0",
- "extent" : "full-screen",
- "scale" : "1x"
- },
- {
- "orientation" : "landscape",
- "idiom" : "ipad",
- "minimum-system-version" : "7.0",
- "extent" : "full-screen",
- "scale" : "2x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "iphone",
- "minimum-system-version" : "7.0",
- "scale" : "2x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "iphone",
- "minimum-system-version" : "7.0",
- "subtype" : "retina4",
- "scale" : "2x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "ipad",
- "minimum-system-version" : "7.0",
- "extent" : "full-screen",
- "scale" : "1x"
- }
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage.launchimage/Contents.json b/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage.launchimage/Contents.json
deleted file mode 100644
index 0b4f0e13..00000000
--- a/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage.launchimage/Contents.json
+++ /dev/null
@@ -1,149 +0,0 @@
-{
- "images" : [
- {
- "extent" : "full-screen",
- "idiom" : "iphone",
- "subtype" : "736h",
- "filename" : "Default-hd-plus@2x.png",
- "minimum-system-version" : "8.0",
- "orientation" : "portrait",
- "scale" : "3x"
- },
- {
- "orientation" : "landscape",
- "idiom" : "iphone",
- "extent" : "full-screen",
- "minimum-system-version" : "8.0",
- "subtype" : "736h",
- "scale" : "3x"
- },
- {
- "extent" : "full-screen",
- "idiom" : "iphone",
- "subtype" : "667h",
- "filename" : "Default-hd@2x.png",
- "minimum-system-version" : "8.0",
- "orientation" : "portrait",
- "scale" : "2x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "iphone",
- "filename" : "Default@2x.png",
- "extent" : "full-screen",
- "minimum-system-version" : "7.0",
- "scale" : "2x"
- },
- {
- "extent" : "full-screen",
- "idiom" : "iphone",
- "subtype" : "retina4",
- "filename" : "Default-568h@2x.png",
- "minimum-system-version" : "7.0",
- "orientation" : "portrait",
- "scale" : "2x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "ipad",
- "extent" : "full-screen",
- "minimum-system-version" : "7.0",
- "scale" : "1x"
- },
- {
- "orientation" : "landscape",
- "idiom" : "ipad",
- "extent" : "full-screen",
- "minimum-system-version" : "7.0",
- "scale" : "1x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "ipad",
- "extent" : "full-screen",
- "minimum-system-version" : "7.0",
- "scale" : "2x"
- },
- {
- "orientation" : "landscape",
- "idiom" : "ipad",
- "extent" : "full-screen",
- "minimum-system-version" : "7.0",
- "scale" : "2x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "iphone",
- "filename" : "Default.png",
- "extent" : "full-screen",
- "scale" : "1x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "iphone",
- "filename" : "Default@2x-1.png",
- "extent" : "full-screen",
- "scale" : "2x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "iphone",
- "filename" : "Default-568h@2x-1.png",
- "extent" : "full-screen",
- "subtype" : "retina4",
- "scale" : "2x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "ipad",
- "extent" : "to-status-bar",
- "scale" : "1x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "ipad",
- "extent" : "full-screen",
- "scale" : "1x"
- },
- {
- "orientation" : "landscape",
- "idiom" : "ipad",
- "extent" : "to-status-bar",
- "scale" : "1x"
- },
- {
- "orientation" : "landscape",
- "idiom" : "ipad",
- "extent" : "full-screen",
- "scale" : "1x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "ipad",
- "extent" : "to-status-bar",
- "scale" : "2x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "ipad",
- "extent" : "full-screen",
- "scale" : "2x"
- },
- {
- "orientation" : "landscape",
- "idiom" : "ipad",
- "extent" : "to-status-bar",
- "scale" : "2x"
- },
- {
- "orientation" : "landscape",
- "idiom" : "ipad",
- "extent" : "full-screen",
- "scale" : "2x"
- }
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x-1.png b/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x-1.png
deleted file mode 100644
index 5cb6dd23..00000000
Binary files a/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x-1.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png b/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png
deleted file mode 100644
index 5cb6dd23..00000000
Binary files a/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage.launchimage/Default-hd-plus@2x.png b/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage.launchimage/Default-hd-plus@2x.png
deleted file mode 100644
index 93c8e1f1..00000000
Binary files a/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage.launchimage/Default-hd-plus@2x.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage.launchimage/Default-hd@2x.png b/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage.launchimage/Default-hd@2x.png
deleted file mode 100644
index 90df4f41..00000000
Binary files a/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage.launchimage/Default-hd@2x.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage.launchimage/Default.png b/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage.launchimage/Default.png
deleted file mode 100644
index 71a23a9e..00000000
Binary files a/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage.launchimage/Default.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage.launchimage/Default@2x-1.png b/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage.launchimage/Default@2x-1.png
deleted file mode 100644
index 8fff31fe..00000000
Binary files a/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage.launchimage/Default@2x-1.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage.launchimage/Default@2x.png b/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage.launchimage/Default@2x.png
deleted file mode 100644
index 8fff31fe..00000000
Binary files a/DZNEmptyDataSet/Applications/Assets.xcassets/LaunchImage.launchimage/Default@2x.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Applications/Base.lproj/LaunchScreen.storyboard b/DZNEmptyDataSet/Applications/Base.lproj/LaunchScreen.storyboard
new file mode 100644
index 00000000..5483266c
--- /dev/null
+++ b/DZNEmptyDataSet/Applications/Base.lproj/LaunchScreen.storyboard
@@ -0,0 +1,66 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/DZNEmptyDataSet/Applications/Supporting Files/Storyboard.storyboard b/DZNEmptyDataSet/Applications/Base.lproj/Storyboard.storyboard
similarity index 76%
rename from DZNEmptyDataSet/Applications/Supporting Files/Storyboard.storyboard
rename to DZNEmptyDataSet/Applications/Base.lproj/Storyboard.storyboard
index e1d0c79f..8910c013 100644
--- a/DZNEmptyDataSet/Applications/Supporting Files/Storyboard.storyboard
+++ b/DZNEmptyDataSet/Applications/Base.lproj/Storyboard.storyboard
@@ -1,15 +1,15 @@
-
+
-
+
-
+
@@ -17,32 +17,23 @@
-
-
-
-
-
-
-
-
-
-
+
-
+
-
@@ -81,7 +71,7 @@
-
+
@@ -94,9 +84,4 @@
-
-
-
-
-
diff --git a/DZNEmptyDataSet/Applications/Application.h b/DZNEmptyDataSet/Applications/DataSource/Application.h
similarity index 100%
rename from DZNEmptyDataSet/Applications/Application.h
rename to DZNEmptyDataSet/Applications/DataSource/Application.h
diff --git a/DZNEmptyDataSet/Applications/Application.m b/DZNEmptyDataSet/Applications/DataSource/Application.m
similarity index 100%
rename from DZNEmptyDataSet/Applications/Application.m
rename to DZNEmptyDataSet/Applications/DataSource/Application.m
diff --git a/DZNEmptyDataSet/Applications/applications.json b/DZNEmptyDataSet/Applications/DataSource/applications.json
similarity index 100%
rename from DZNEmptyDataSet/Applications/applications.json
rename to DZNEmptyDataSet/Applications/DataSource/applications.json
diff --git a/DZNEmptyDataSet/Applications/DetailViewController.m b/DZNEmptyDataSet/Applications/DetailViewController.m
index 89687d86..f0b01cfe 100644
--- a/DZNEmptyDataSet/Applications/DetailViewController.m
+++ b/DZNEmptyDataSet/Applications/DetailViewController.m
@@ -28,30 +28,24 @@ - (instancetype)initWithApplication:(Application *)application
return self;
}
-#pragma mark - View lifecycle
+#pragma mark - Life Cycle
- (void)viewDidLoad
{
[super viewDidLoad];
-
self.edgesForExtendedLayout = UIRectEdgeNone;
-
self.tableView.emptyDataSetSource = self;
self.tableView.emptyDataSetDelegate = self;
-
[self configureHeaderAndFooter];
}
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
-
[self configureNavigationBar];
-
[self setNeedsStatusBarAppearanceUpdate];
}
-
#pragma mark - Configuration and Event Methods
- (void)configureNavigationBar
diff --git a/DZNEmptyDataSet/Applications/Supporting Files/Info.plist b/DZNEmptyDataSet/Applications/Info.plist
similarity index 95%
rename from DZNEmptyDataSet/Applications/Supporting Files/Info.plist
rename to DZNEmptyDataSet/Applications/Info.plist
index 7b0138cd..f5da0f8a 100644
--- a/DZNEmptyDataSet/Applications/Supporting Files/Info.plist
+++ b/DZNEmptyDataSet/Applications/Info.plist
@@ -38,6 +38,7 @@
UIInterfaceOrientationPortrait
UIInterfaceOrientationLandscapeLeft
UIInterfaceOrientationLandscapeRight
+ UIInterfaceOrientationPortraitUpsideDown
UIViewControllerBasedStatusBarAppearance
diff --git a/DZNEmptyDataSet/Applications/MainViewController.m b/DZNEmptyDataSet/Applications/MainViewController.m
index d2438500..cc8d4278 100644
--- a/DZNEmptyDataSet/Applications/MainViewController.m
+++ b/DZNEmptyDataSet/Applications/MainViewController.m
@@ -11,7 +11,7 @@
#import
-@interface MainViewController ()
+@interface MainViewController ()
@property (nonatomic, strong) NSArray *applications;
@property (nonatomic, strong) UISearchController *searchController;
@end
@@ -21,35 +21,44 @@ @implementation MainViewController
- (void)awakeFromNib
{
[super awakeFromNib];
-
NSString *path = [[NSBundle mainBundle] pathForResource:@"applications" ofType:@"json"];
self.applications = [Application applicationsFromJSONAtPath:path];
}
-#pragma mark - View lifecycle
+#pragma mark - Life Cycle
- (void)viewDidLoad
{
- [super viewDidLoad];
-
self.title = @"Applications";
self.navigationItem.backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"" style:UIBarButtonItemStylePlain target:nil action:NULL];
+ self.tableView.emptyDataSetSource = self;
+ self.tableView.emptyDataSetDelegate = self;
self.tableView.tableFooterView = [UIView new];
- self.searchDisplayController.searchResultsTableView.emptyDataSetSource = self;
- self.searchDisplayController.searchResultsTableView.emptyDataSetDelegate = self;
- self.searchDisplayController.searchResultsTableView.tableFooterView = [UIView new];
- [self.searchDisplayController setValue:@"" forKey:@"noResultsMessage"];
+ self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
+ self.searchController.searchResultsUpdater = self;
+ self.searchController.delegate = self;
+ self.searchController.dimsBackgroundDuringPresentation = NO;
+ self.searchController.searchBar.delegate = self;
+ [self.tableView setTableHeaderView:self.searchController.searchBar];
+ self.definesPresentationContext = YES;
+
+ [super viewDidLoad];
}
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
-
- // Resets styling
- self.navigationController.navigationBar.titleTextAttributes = nil;
- self.navigationController.navigationBar.barTintColor = [UIColor colorWithHex:@"f8f8f8"];;
+ [self resetStyling];
+}
+
+- (void)resetStyling {
+ // Reset styling
+ UIColor *tintColor = [UIColor blackColor];
+ self.navigationController.navigationBar.titleTextAttributes = @{NSForegroundColorAttributeName: tintColor};
+ self.navigationController.navigationBar.barTintColor = [UIColor colorWithHex:@"f8f8f8"];
+ self.navigationController.navigationBar.tintColor = tintColor;
self.navigationController.navigationBar.translucent = NO;
self.navigationController.navigationBar.barStyle = UIBarStyleDefault;
}
@@ -59,12 +68,12 @@ - (void)viewWillAppear:(BOOL)animated
- (NSArray *)filteredApps
{
- UISearchBar *searchBar = self.searchDisplayController.searchBar;
+ UISearchBar *searchBar = self.searchController.searchBar;
if ([searchBar isFirstResponder] && searchBar.text.length > 0)
{
- NSPredicate *precidate = [NSPredicate predicateWithFormat:@"displayName CONTAINS[cd] %@", searchBar.text];
- return [self.applications filteredArrayUsingPredicate:precidate];
+ NSPredicate *predicate = [NSPredicate predicateWithFormat:@"displayName CONTAINS[cd] %@", searchBar.text];
+ return [self.applications filteredArrayUsingPredicate:predicate];
}
return self.applications;
}
@@ -80,7 +89,7 @@ - (NSAttributedString *)titleForEmptyDataSet:(UIScrollView *)scrollView
- (NSAttributedString *)descriptionForEmptyDataSet:(UIScrollView *)scrollView
{
- UISearchBar *searchBar = self.searchDisplayController.searchBar;
+ UISearchBar *searchBar = self.searchController.searchBar;
NSString *text = [NSString stringWithFormat:@"There are no empty dataset examples for \"%@\".", searchBar.text];
NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:text attributes:nil];
@@ -138,7 +147,7 @@ - (void)emptyDataSet:(UIScrollView *)scrollView didTapView:(UIView *)view
- (void)emptyDataSet:(UIScrollView *)scrollView didTapButton:(UIButton *)button
{
- UISearchBar *searchBar = self.searchDisplayController.searchBar;
+ UISearchBar *searchBar = self.searchController.searchBar;
NSURL *URL = [NSURL URLWithString:[NSString stringWithFormat:@"http://itunes.com/apps/%@", searchBar.text]];
@@ -238,6 +247,7 @@ - (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
{
// Do something
+ [self resetStyling];
}
- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
@@ -247,48 +257,56 @@ - (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
- // Do something
+ [self updateSearchResultsForSearchController:self.searchController];
}
+- (void)searchBar:(UISearchBar *)searchBar selectedScopeButtonIndexDidChange:(NSInteger)selectedScope
+{
+ [self updateSearchResultsForSearchController:self.searchController];
+}
-#pragma mark - UISearchDisplayDelegate Methods
-
-- (void)searchDisplayControllerDidBeginSearch:(UISearchDisplayController *)controller
+- (void)searchForText:(NSString *)searchString
{
- // Do something
+ //NSLog(@"searchString == %@",searchString);
}
-- (void)searchDisplayControllerDidEndSearch:(UISearchDisplayController *)controller
+
+#pragma mark - UISearchResultsUpdating Methods
+
+- (void)updateSearchResultsForSearchController:(UISearchController *)searchController
{
- // Do something
+ NSString *searchString = _searchController.searchBar.text;
+ [self searchForText:searchString];
+ [self.tableView reloadData];
}
-- (void)searchDisplayController:(UISearchDisplayController *)controller didShowSearchResultsTableView:(UITableView *)tableView
+
+#pragma mark - UISearchControllerDelegate Methods
+
+- (void)didDismissSearchController:(UISearchController *)searchController
{
// Do something
}
-- (void)searchDisplayController:(UISearchDisplayController *)controller didLoadSearchResultsTableView:(UITableView *)tableView
+- (void)didPresentSearchController:(UISearchController *)searchController
{
// Do something
}
-
-#pragma mark - View Auto-Rotation
-
-- (UIStatusBarStyle)preferredStatusBarStyle
+- (void)presentSearchController:(UISearchController *)searchController
{
- return UIStatusBarStyleDefault;
+ // Do something
}
-- (UIInterfaceOrientationMask)supportedInterfaceOrientations
+- (void)willDismissSearchController:(UISearchController *)searchController
{
- return UIInterfaceOrientationMaskAll;
+ // Do something
}
-- (BOOL)shouldAutorotate
+- (void)willPresentSearchController:(UISearchController *)searchController
{
- return YES;
+ // Do something
}
+
@end
diff --git a/DZNEmptyDataSet/Applications/NoApplication.png b/DZNEmptyDataSet/Applications/NoApplication.png
new file mode 100644
index 00000000..96334a7c
Binary files /dev/null and b/DZNEmptyDataSet/Applications/NoApplication.png differ
diff --git a/DZNEmptyDataSet/Applications/Supporting Files/Applications-Prefix.pch b/DZNEmptyDataSet/Applications/Supporting Files/Applications-Prefix.pch
deleted file mode 100644
index 82a2bb45..00000000
--- a/DZNEmptyDataSet/Applications/Supporting Files/Applications-Prefix.pch
+++ /dev/null
@@ -1,16 +0,0 @@
-//
-// Prefix header
-//
-// The contents of this file are implicitly included at the beginning of every source file.
-//
-
-#import
-
-#ifndef __IPHONE_5_0
-#warning "This project uses features only available in iOS SDK 5.0 and later."
-#endif
-
-#ifdef __OBJC__
- #import
- #import
-#endif
diff --git a/DZNEmptyDataSet/Applications/Supporting Files/Base.lproj/LaunchScreen.storyboard b/DZNEmptyDataSet/Applications/Supporting Files/Base.lproj/LaunchScreen.storyboard
deleted file mode 100644
index fdf3f97d..00000000
--- a/DZNEmptyDataSet/Applications/Supporting Files/Base.lproj/LaunchScreen.storyboard
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/DZNEmptyDataSet/Applications/Supporting Files/en.lproj/InfoPlist.strings b/DZNEmptyDataSet/Applications/Supporting Files/en.lproj/InfoPlist.strings
deleted file mode 100644
index 477b28ff..00000000
--- a/DZNEmptyDataSet/Applications/Supporting Files/en.lproj/InfoPlist.strings
+++ /dev/null
@@ -1,2 +0,0 @@
-/* Localized versions of Info.plist keys */
-
diff --git a/DZNEmptyDataSet/Applications/Supporting Files/main.m b/DZNEmptyDataSet/Applications/main.m
similarity index 100%
rename from DZNEmptyDataSet/Applications/Supporting Files/main.m
rename to DZNEmptyDataSet/Applications/main.m
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Contents.json b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Contents.json
index 3e857877..c8477e67 100644
--- a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Contents.json
+++ b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Contents.json
@@ -1,128 +1,158 @@
{
+ "info" : {
+ "author" : "xcode",
+ "version" : 1
+ },
"images" : [
{
- "size" : "29x29",
- "idiom" : "iphone",
- "filename" : "icon-29.png",
+ "filename" : "Icon-40.png",
+ "size" : "40x40",
+ "idiom" : "ipad",
"scale" : "1x"
},
{
- "size" : "29x29",
- "idiom" : "iphone",
- "filename" : "icon-29@2x.png",
+ "filename" : "Icon-40@2x.png",
+ "size" : "40x40",
+ "idiom" : "ipad",
"scale" : "2x"
},
{
- "size" : "29x29",
+ "filename" : "Icon-60@2x.png",
+ "size" : "60x60",
"idiom" : "iphone",
- "filename" : "icon-29@3x.png",
- "scale" : "3x"
+ "scale" : "2x"
},
{
- "size" : "40x40",
- "idiom" : "iphone",
- "filename" : "icon-40@2x.png",
- "scale" : "2x"
+ "filename" : "Icon-72.png",
+ "size" : "72x72",
+ "idiom" : "ipad",
+ "scale" : "1x"
},
{
- "size" : "40x40",
- "idiom" : "iphone",
- "filename" : "icon-40@3x.png",
- "scale" : "3x"
+ "filename" : "Icon-72@2x.png",
+ "size" : "72x72",
+ "idiom" : "ipad",
+ "scale" : "2x"
},
{
- "size" : "57x57",
- "idiom" : "iphone",
- "filename" : "icon-57.png",
+ "filename" : "Icon-76.png",
+ "size" : "76x76",
+ "idiom" : "ipad",
"scale" : "1x"
},
{
- "size" : "57x57",
- "idiom" : "iphone",
- "filename" : "icon-57@2x.png",
+ "filename" : "Icon-76@2x.png",
+ "size" : "76x76",
+ "idiom" : "ipad",
"scale" : "2x"
},
{
- "size" : "60x60",
- "idiom" : "iphone",
- "filename" : "icon-60@2x.png",
+ "filename" : "Icon-Small-50.png",
+ "size" : "50x50",
+ "idiom" : "ipad",
+ "scale" : "1x"
+ },
+ {
+ "filename" : "Icon-Small-50@2x.png",
+ "size" : "50x50",
+ "idiom" : "ipad",
"scale" : "2x"
},
{
- "size" : "60x60",
+ "filename" : "Icon-Small.png",
+ "size" : "29x29",
"idiom" : "iphone",
- "filename" : "icon-60@3x.png",
- "scale" : "3x"
+ "scale" : "1x"
},
{
+ "filename" : "Icon-Small@2x.png",
"size" : "29x29",
- "idiom" : "ipad",
- "filename" : "icon-29~ipad.png",
+ "idiom" : "iphone",
+ "scale" : "2x"
+ },
+ {
+ "filename" : "Icon.png",
+ "size" : "57x57",
+ "idiom" : "iphone",
"scale" : "1x"
},
{
- "size" : "29x29",
- "idiom" : "ipad",
- "filename" : "icon-29@2x~ipad.png",
+ "filename" : "Icon@2x.png",
+ "size" : "57x57",
+ "idiom" : "iphone",
"scale" : "2x"
},
{
+ "filename" : "Icon-Small@3x.png",
+ "size" : "29x29",
+ "idiom" : "iphone",
+ "scale" : "3x"
+ },
+ {
+ "filename" : "Icon-40@3x.png",
"size" : "40x40",
- "idiom" : "ipad",
- "filename" : "icon-40~ipad.png",
- "scale" : "1x"
+ "idiom" : "iphone",
+ "scale" : "3x"
},
{
+ "filename" : "Icon-60@3x.png",
+ "size" : "60x60",
+ "idiom" : "iphone",
+ "scale" : "3x"
+ },
+ {
+ "filename" : "Icon-40@2x.png",
"size" : "40x40",
- "idiom" : "ipad",
- "filename" : "icon-40@2x~ipad.png",
+ "idiom" : "iphone",
"scale" : "2x"
},
{
- "size" : "50x50",
+ "filename" : "Icon-Small.png",
+ "size" : "29x29",
"idiom" : "ipad",
- "filename" : "icon-50~ipad.png",
"scale" : "1x"
},
{
- "size" : "50x50",
+ "filename" : "Icon-Small@2x.png",
+ "size" : "29x29",
"idiom" : "ipad",
- "filename" : "icon-50@2x~ipad.png",
"scale" : "2x"
},
{
- "size" : "72x72",
+ "filename" : "Icon-83.5@2x.png",
+ "size" : "83.5x83.5",
"idiom" : "ipad",
- "filename" : "icon-72~ipad.png",
- "scale" : "1x"
+ "scale" : "2x"
},
{
- "size" : "72x72",
- "idiom" : "ipad",
- "filename" : "icon-72@2x~ipad.png",
+ "filename" : "NotificationIcon@2x.png",
+ "size" : "20x20",
+ "idiom" : "iphone",
"scale" : "2x"
},
{
- "size" : "76x76",
+ "filename" : "NotificationIcon@3x.png",
+ "size" : "20x20",
+ "idiom" : "iphone",
+ "scale" : "3x"
+ },
+ {
+ "filename" : "NotificationIcon~ipad.png",
+ "size" : "20x20",
"idiom" : "ipad",
- "filename" : "icon-76~ipad.png",
"scale" : "1x"
},
{
- "size" : "76x76",
+ "filename" : "NotificationIcon~ipad@2x.png",
+ "size" : "20x20",
"idiom" : "ipad",
- "filename" : "icon-76@2x~ipad.png",
"scale" : "2x"
},
{
- "size" : "83.5x83.5",
- "idiom" : "ipad",
- "filename" : "icon-120~car.png",
- "scale" : "2x"
+ "filename" : "ios-marketing.png",
+ "size" : "1024x1024",
+ "idiom" : "ios-marketing",
+ "scale" : "1x"
}
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
+ ]
}
\ No newline at end of file
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-40.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-40.png
new file mode 100644
index 00000000..ec63fd29
Binary files /dev/null and b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-40.png differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-72.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-72.png
new file mode 100644
index 00000000..2ddde7c4
Binary files /dev/null and b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-72.png differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png
new file mode 100644
index 00000000..c66c7806
Binary files /dev/null and b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-72@2x.png differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-76.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-76.png
new file mode 100644
index 00000000..f36ad8cc
Binary files /dev/null and b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-76.png differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png
new file mode 100644
index 00000000..8442b732
Binary files /dev/null and b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-76@2x.png differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png
new file mode 100644
index 00000000..1e253bb6
Binary files /dev/null and b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-83.5@2x.png differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png
new file mode 100644
index 00000000..19daf51f
Binary files /dev/null and b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-Small-50.png differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png
new file mode 100644
index 00000000..a23be245
Binary files /dev/null and b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-Small-50@2x.png differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-Small.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-Small.png
new file mode 100644
index 00000000..54cbbc4e
Binary files /dev/null and b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-Small.png differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png
new file mode 100644
index 00000000..310b7a9d
Binary files /dev/null and b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-Small@2x.png differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png
new file mode 100644
index 00000000..ee9c245e
Binary files /dev/null and b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon-Small@3x.png differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon.png
new file mode 100644
index 00000000..eec70ae1
Binary files /dev/null and b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon.png differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon@2x.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon@2x.png
new file mode 100644
index 00000000..049eea31
Binary files /dev/null and b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/Icon@2x.png differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/NotificationIcon@2x.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/NotificationIcon@2x.png
new file mode 100644
index 00000000..ec63fd29
Binary files /dev/null and b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/NotificationIcon@2x.png differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/NotificationIcon@3x.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/NotificationIcon@3x.png
new file mode 100644
index 00000000..ae2eff22
Binary files /dev/null and b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/NotificationIcon@3x.png differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/NotificationIcon~ipad.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/NotificationIcon~ipad.png
new file mode 100644
index 00000000..bfcaea2a
Binary files /dev/null and b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/NotificationIcon~ipad.png differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/NotificationIcon~ipad@2x.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/NotificationIcon~ipad@2x.png
new file mode 100644
index 00000000..ec63fd29
Binary files /dev/null and b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/NotificationIcon~ipad@2x.png differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-120~car.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-120~car.png
deleted file mode 100644
index a88f27bf..00000000
Binary files a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-120~car.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-29.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-29.png
deleted file mode 100644
index 2b9da15c..00000000
Binary files a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-29.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png
deleted file mode 100644
index 512acd5a..00000000
Binary files a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-29@2x.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-29@2x~ipad.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-29@2x~ipad.png
deleted file mode 100644
index 512acd5a..00000000
Binary files a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-29@2x~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png
deleted file mode 100644
index 61e8e38a..00000000
Binary files a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-29@3x.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-29~ipad.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-29~ipad.png
deleted file mode 100644
index 2b9da15c..00000000
Binary files a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-29~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png
index f4f015c5..988706da 100644
Binary files a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png and b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-40@2x.png differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-40@2x~ipad.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-40@2x~ipad.png
deleted file mode 100644
index f4f015c5..00000000
Binary files a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-40@2x~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png
index e0189f0c..4751527a 100644
Binary files a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png and b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-40@3x.png differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-40~ipad.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-40~ipad.png
deleted file mode 100644
index c70364b1..00000000
Binary files a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-40~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-50@2x~ipad.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-50@2x~ipad.png
deleted file mode 100644
index ed3c8710..00000000
Binary files a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-50@2x~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-50~ipad.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-50~ipad.png
deleted file mode 100644
index 2f9c5bbe..00000000
Binary files a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-50~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-57.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-57.png
deleted file mode 100644
index 31ec0b30..00000000
Binary files a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-57.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-57@2x.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-57@2x.png
deleted file mode 100644
index 1523278c..00000000
Binary files a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-57@2x.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png
index a88f27bf..4751527a 100644
Binary files a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png and b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-60@2x.png differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png
index 840dac84..92d936cc 100644
Binary files a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png and b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-60@3x.png differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-72@2x~ipad.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-72@2x~ipad.png
deleted file mode 100644
index 041a6788..00000000
Binary files a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-72@2x~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-72~ipad.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-72~ipad.png
deleted file mode 100644
index cc742f3c..00000000
Binary files a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-72~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-76@2x~ipad.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-76@2x~ipad.png
deleted file mode 100644
index a46f09b6..00000000
Binary files a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-76@2x~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-76~ipad.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-76~ipad.png
deleted file mode 100644
index 53490c78..00000000
Binary files a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/icon-76~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/ios-marketing.png b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/ios-marketing.png
new file mode 100644
index 00000000..f6e52761
Binary files /dev/null and b/DZNEmptyDataSet/Colors/Assets.xcassets/AppIcon.appiconset/ios-marketing.png differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/Contents.json b/DZNEmptyDataSet/Colors/Assets.xcassets/Contents.json
new file mode 100644
index 00000000..da4a164c
--- /dev/null
+++ b/DZNEmptyDataSet/Colors/Assets.xcassets/Contents.json
@@ -0,0 +1,6 @@
+{
+ "info" : {
+ "version" : 1,
+ "author" : "xcode"
+ }
+}
\ No newline at end of file
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/LaunchImage.launchimage/Contents.json b/DZNEmptyDataSet/Colors/Assets.xcassets/LaunchImage.launchimage/Contents.json
deleted file mode 100644
index acf54f94..00000000
--- a/DZNEmptyDataSet/Colors/Assets.xcassets/LaunchImage.launchimage/Contents.json
+++ /dev/null
@@ -1,146 +0,0 @@
-{
- "images" : [
- {
- "extent" : "full-screen",
- "idiom" : "iphone",
- "subtype" : "736h",
- "filename" : "Default-hd-plus@2x.png",
- "minimum-system-version" : "8.0",
- "orientation" : "portrait",
- "scale" : "3x"
- },
- {
- "orientation" : "landscape",
- "idiom" : "iphone",
- "extent" : "full-screen",
- "minimum-system-version" : "8.0",
- "subtype" : "736h",
- "scale" : "3x"
- },
- {
- "extent" : "full-screen",
- "idiom" : "iphone",
- "subtype" : "667h",
- "filename" : "Default-hd@2x.png",
- "minimum-system-version" : "8.0",
- "orientation" : "portrait",
- "scale" : "2x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "iphone",
- "extent" : "full-screen",
- "minimum-system-version" : "7.0",
- "filename" : "Default@2x.png",
- "scale" : "2x"
- },
- {
- "extent" : "full-screen",
- "idiom" : "iphone",
- "subtype" : "retina4",
- "filename" : "Default-568h@2x.png",
- "minimum-system-version" : "7.0",
- "orientation" : "portrait",
- "scale" : "2x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "ipad",
- "extent" : "full-screen",
- "minimum-system-version" : "7.0",
- "scale" : "1x"
- },
- {
- "orientation" : "landscape",
- "idiom" : "ipad",
- "extent" : "full-screen",
- "minimum-system-version" : "7.0",
- "scale" : "1x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "ipad",
- "extent" : "full-screen",
- "minimum-system-version" : "7.0",
- "scale" : "2x"
- },
- {
- "orientation" : "landscape",
- "idiom" : "ipad",
- "extent" : "full-screen",
- "minimum-system-version" : "7.0",
- "scale" : "2x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "iphone",
- "extent" : "full-screen",
- "scale" : "1x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "iphone",
- "extent" : "full-screen",
- "scale" : "2x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "iphone",
- "extent" : "full-screen",
- "subtype" : "retina4",
- "scale" : "2x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "ipad",
- "extent" : "to-status-bar",
- "scale" : "1x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "ipad",
- "extent" : "full-screen",
- "scale" : "1x"
- },
- {
- "orientation" : "landscape",
- "idiom" : "ipad",
- "extent" : "to-status-bar",
- "scale" : "1x"
- },
- {
- "orientation" : "landscape",
- "idiom" : "ipad",
- "extent" : "full-screen",
- "scale" : "1x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "ipad",
- "extent" : "to-status-bar",
- "scale" : "2x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "ipad",
- "extent" : "full-screen",
- "scale" : "2x"
- },
- {
- "orientation" : "landscape",
- "idiom" : "ipad",
- "extent" : "to-status-bar",
- "scale" : "2x"
- },
- {
- "orientation" : "landscape",
- "idiom" : "ipad",
- "extent" : "full-screen",
- "scale" : "2x"
- }
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png b/DZNEmptyDataSet/Colors/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png
deleted file mode 100644
index 449199ff..00000000
Binary files a/DZNEmptyDataSet/Colors/Assets.xcassets/LaunchImage.launchimage/Default-568h@2x.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/LaunchImage.launchimage/Default-hd-plus@2x.png b/DZNEmptyDataSet/Colors/Assets.xcassets/LaunchImage.launchimage/Default-hd-plus@2x.png
deleted file mode 100644
index a99cdf33..00000000
Binary files a/DZNEmptyDataSet/Colors/Assets.xcassets/LaunchImage.launchimage/Default-hd-plus@2x.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/LaunchImage.launchimage/Default-hd@2x.png b/DZNEmptyDataSet/Colors/Assets.xcassets/LaunchImage.launchimage/Default-hd@2x.png
deleted file mode 100644
index b7c97e49..00000000
Binary files a/DZNEmptyDataSet/Colors/Assets.xcassets/LaunchImage.launchimage/Default-hd@2x.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Assets.xcassets/LaunchImage.launchimage/Default@2x.png b/DZNEmptyDataSet/Colors/Assets.xcassets/LaunchImage.launchimage/Default@2x.png
deleted file mode 100644
index 6ce251c9..00000000
Binary files a/DZNEmptyDataSet/Colors/Assets.xcassets/LaunchImage.launchimage/Default@2x.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Images.xcassets/empty_placeholder.imageset/Contents.json b/DZNEmptyDataSet/Colors/Assets.xcassets/empty_placeholder.imageset/Contents.json
similarity index 100%
rename from DZNEmptyDataSet/Colors/Images.xcassets/empty_placeholder.imageset/Contents.json
rename to DZNEmptyDataSet/Colors/Assets.xcassets/empty_placeholder.imageset/Contents.json
diff --git a/DZNEmptyDataSet/Colors/Images.xcassets/empty_placeholder.imageset/empty_placeholder.png b/DZNEmptyDataSet/Colors/Assets.xcassets/empty_placeholder.imageset/empty_placeholder.png
similarity index 100%
rename from DZNEmptyDataSet/Colors/Images.xcassets/empty_placeholder.imageset/empty_placeholder.png
rename to DZNEmptyDataSet/Colors/Assets.xcassets/empty_placeholder.imageset/empty_placeholder.png
diff --git a/DZNEmptyDataSet/Colors/Images.xcassets/empty_placeholder.imageset/empty_placeholder@2x.png b/DZNEmptyDataSet/Colors/Assets.xcassets/empty_placeholder.imageset/empty_placeholder@2x.png
similarity index 100%
rename from DZNEmptyDataSet/Colors/Images.xcassets/empty_placeholder.imageset/empty_placeholder@2x.png
rename to DZNEmptyDataSet/Colors/Assets.xcassets/empty_placeholder.imageset/empty_placeholder@2x.png
diff --git a/DZNEmptyDataSet/Colors/Images.xcassets/search_icon.imageset/Contents.json b/DZNEmptyDataSet/Colors/Assets.xcassets/search_icon.imageset/Contents.json
similarity index 100%
rename from DZNEmptyDataSet/Colors/Images.xcassets/search_icon.imageset/Contents.json
rename to DZNEmptyDataSet/Colors/Assets.xcassets/search_icon.imageset/Contents.json
diff --git a/DZNEmptyDataSet/Colors/Images.xcassets/search_icon.imageset/search_icon.png b/DZNEmptyDataSet/Colors/Assets.xcassets/search_icon.imageset/search_icon.png
similarity index 100%
rename from DZNEmptyDataSet/Colors/Images.xcassets/search_icon.imageset/search_icon.png
rename to DZNEmptyDataSet/Colors/Assets.xcassets/search_icon.imageset/search_icon.png
diff --git a/DZNEmptyDataSet/Colors/Images.xcassets/search_icon.imageset/search_icon@2x.png b/DZNEmptyDataSet/Colors/Assets.xcassets/search_icon.imageset/search_icon@2x.png
similarity index 100%
rename from DZNEmptyDataSet/Colors/Images.xcassets/search_icon.imageset/search_icon@2x.png
rename to DZNEmptyDataSet/Colors/Assets.xcassets/search_icon.imageset/search_icon@2x.png
diff --git a/DZNEmptyDataSet/Colors/Images.xcassets/tab_collection.imageset/Contents.json b/DZNEmptyDataSet/Colors/Assets.xcassets/tab_collection.imageset/Contents.json
similarity index 100%
rename from DZNEmptyDataSet/Colors/Images.xcassets/tab_collection.imageset/Contents.json
rename to DZNEmptyDataSet/Colors/Assets.xcassets/tab_collection.imageset/Contents.json
diff --git a/DZNEmptyDataSet/Colors/Images.xcassets/tab_collection.imageset/tab_collection.png b/DZNEmptyDataSet/Colors/Assets.xcassets/tab_collection.imageset/tab_collection.png
similarity index 100%
rename from DZNEmptyDataSet/Colors/Images.xcassets/tab_collection.imageset/tab_collection.png
rename to DZNEmptyDataSet/Colors/Assets.xcassets/tab_collection.imageset/tab_collection.png
diff --git a/DZNEmptyDataSet/Colors/Images.xcassets/tab_collection.imageset/tab_collection@2x.png b/DZNEmptyDataSet/Colors/Assets.xcassets/tab_collection.imageset/tab_collection@2x.png
similarity index 100%
rename from DZNEmptyDataSet/Colors/Images.xcassets/tab_collection.imageset/tab_collection@2x.png
rename to DZNEmptyDataSet/Colors/Assets.xcassets/tab_collection.imageset/tab_collection@2x.png
diff --git a/DZNEmptyDataSet/Colors/Images.xcassets/tab_search.imageset/Contents.json b/DZNEmptyDataSet/Colors/Assets.xcassets/tab_search.imageset/Contents.json
similarity index 100%
rename from DZNEmptyDataSet/Colors/Images.xcassets/tab_search.imageset/Contents.json
rename to DZNEmptyDataSet/Colors/Assets.xcassets/tab_search.imageset/Contents.json
diff --git a/DZNEmptyDataSet/Colors/Images.xcassets/tab_search.imageset/tab_search.png b/DZNEmptyDataSet/Colors/Assets.xcassets/tab_search.imageset/tab_search.png
similarity index 100%
rename from DZNEmptyDataSet/Colors/Images.xcassets/tab_search.imageset/tab_search.png
rename to DZNEmptyDataSet/Colors/Assets.xcassets/tab_search.imageset/tab_search.png
diff --git a/DZNEmptyDataSet/Colors/Images.xcassets/tab_search.imageset/tab_search@2x.png b/DZNEmptyDataSet/Colors/Assets.xcassets/tab_search.imageset/tab_search@2x.png
similarity index 100%
rename from DZNEmptyDataSet/Colors/Images.xcassets/tab_search.imageset/tab_search@2x.png
rename to DZNEmptyDataSet/Colors/Assets.xcassets/tab_search.imageset/tab_search@2x.png
diff --git a/DZNEmptyDataSet/Colors/Images.xcassets/tab_table.imageset/Contents.json b/DZNEmptyDataSet/Colors/Assets.xcassets/tab_table.imageset/Contents.json
similarity index 100%
rename from DZNEmptyDataSet/Colors/Images.xcassets/tab_table.imageset/Contents.json
rename to DZNEmptyDataSet/Colors/Assets.xcassets/tab_table.imageset/Contents.json
diff --git a/DZNEmptyDataSet/Colors/Images.xcassets/tab_table.imageset/tab_table.png b/DZNEmptyDataSet/Colors/Assets.xcassets/tab_table.imageset/tab_table.png
similarity index 100%
rename from DZNEmptyDataSet/Colors/Images.xcassets/tab_table.imageset/tab_table.png
rename to DZNEmptyDataSet/Colors/Assets.xcassets/tab_table.imageset/tab_table.png
diff --git a/DZNEmptyDataSet/Colors/Images.xcassets/tab_table.imageset/tab_table@2x.png b/DZNEmptyDataSet/Colors/Assets.xcassets/tab_table.imageset/tab_table@2x.png
similarity index 100%
rename from DZNEmptyDataSet/Colors/Images.xcassets/tab_table.imageset/tab_table@2x.png
rename to DZNEmptyDataSet/Colors/Assets.xcassets/tab_table.imageset/tab_table@2x.png
diff --git a/DZNEmptyDataSet/Colors/Base.lproj/LaunchScreen.storyboard b/DZNEmptyDataSet/Colors/Base.lproj/LaunchScreen.storyboard
index fdf3f97d..df27a909 100644
--- a/DZNEmptyDataSet/Colors/Base.lproj/LaunchScreen.storyboard
+++ b/DZNEmptyDataSet/Colors/Base.lproj/LaunchScreen.storyboard
@@ -1,7 +1,12 @@
-
-
+
+
+
+
+
-
+
+
+
@@ -13,10 +18,41 @@
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -24,4 +60,7 @@
+
+
+
diff --git a/DZNEmptyDataSet/Colors/Base.lproj/Storyboard.storyboard b/DZNEmptyDataSet/Colors/Base.lproj/Storyboard.storyboard
new file mode 100755
index 00000000..f031b5c4
--- /dev/null
+++ b/DZNEmptyDataSet/Colors/Base.lproj/Storyboard.storyboard
@@ -0,0 +1,412 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/DZNEmptyDataSet/Colors/CollectionViewController.m b/DZNEmptyDataSet/Colors/CollectionViewController.m
index fc362a41..eab3a802 100644
--- a/DZNEmptyDataSet/Colors/CollectionViewController.m
+++ b/DZNEmptyDataSet/Colors/CollectionViewController.m
@@ -7,7 +7,7 @@
//
#import "CollectionViewController.h"
-#import "SearchViewController.h"
+#import "DetailViewController.h"
#import "Palette.h"
#import "Color.h"
@@ -20,20 +20,12 @@
@interface CollectionViewController ()
@property (nonatomic) NSInteger columnCount;
-@property (nonatomic, strong) NSMutableArray *filteredPalette;
+@property (nonatomic, strong) NSMutableArray *shuffledColors;
@end
@implementation CollectionViewController
-#pragma mark - View lifecycle
-
-- (void)awakeFromNib
-{
- [super awakeFromNib];
-
- self.title = @"Collection";
- self.tabBarItem = [[UITabBarItem alloc] initWithTitle:self.title image:[UIImage imageNamed:@"tab_collection"] tag:self.title.hash];
-}
+#pragma mark - Life Cycle
- (void)viewDidLoad
{
@@ -58,11 +50,8 @@ - (void)viewDidLoad
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
-}
-
-- (void)viewDidAppear:(BOOL)animated
-{
- [super viewDidAppear:animated];
+ self.shuffledColors = nil;
+ [self.collectionView reloadData];
}
@@ -76,22 +65,22 @@ - (NSInteger)columnCount
- (CGSize)cellSize
{
UICollectionViewFlowLayout *flowLayout = (UICollectionViewFlowLayout *)self.collectionView.collectionViewLayout;
- CGFloat size = (self.navigationController.view.bounds.size.width/self.columnCount) - flowLayout.minimumLineSpacing;
+ CGFloat size = (self.navigationController.view.bounds.size.width/(CGFloat)self.columnCount) - flowLayout.minimumLineSpacing;
return CGSizeMake(size, size);
}
-- (NSMutableArray *)filteredPalette
+- (NSMutableArray *)shuffledColors
{
- // Randomly filtered palette
- if (!_filteredPalette)
+ // Randomly shuffled palette
+ if (!_shuffledColors)
{
- _filteredPalette = [[NSMutableArray alloc] initWithArray:[[Palette sharedPalette] colors]];
-
- for (NSInteger i = _filteredPalette.count-1; i > 0; i--) {
- [_filteredPalette exchangeObjectAtIndex:i withObjectAtIndex:arc4random_uniform(i+1.0)];
+ _shuffledColors = [[NSMutableArray alloc] initWithArray:[[Palette sharedPalette] colors]];
+ // Fisher–Yates shuffle algorithm
+ for (NSInteger i = _shuffledColors.count-1; i > 0; i--) {
+ [_shuffledColors exchangeObjectAtIndex:i withObjectAtIndex:arc4random_uniform((uint32_t)(i+1))];
}
}
- return _filteredPalette;
+ return _shuffledColors;
}
@@ -100,16 +89,14 @@ - (NSMutableArray *)filteredPalette
- (IBAction)refreshColors:(id)sender
{
[[Palette sharedPalette] reloadAll];
- [self setFilteredPalette:nil];
-
+ self.shuffledColors = nil;
[self.collectionView reloadData];
}
- (IBAction)removeColors:(id)sender
{
[[Palette sharedPalette] removeAll];
- [_filteredPalette removeAllObjects];
-
+ [_shuffledColors removeAllObjects];
[self.collectionView reloadData];
}
@@ -117,7 +104,7 @@ - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([[segue identifier] isEqualToString:@"collection_push_detail"])
{
- SearchViewController *controller = [segue destinationViewController];
+ DetailViewController *controller = [segue destinationViewController];
controller.selectedColor = sender;
}
}
@@ -215,7 +202,7 @@ - (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
- return [self.filteredPalette count];
+ return [self.shuffledColors count];
}
- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
@@ -224,7 +211,7 @@ - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cell
cell.selectedBackgroundView = [UIView new];
cell.selectedBackgroundView.backgroundColor = [UIColor colorWithWhite:0 alpha:0.25];
- Color *color = self.filteredPalette[indexPath.row];
+ Color *color = self.shuffledColors[indexPath.row];
cell.backgroundColor = color.color;
return cell;
@@ -235,7 +222,7 @@ - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cell
- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
{
- Color *color = self.filteredPalette[indexPath.row];
+ Color *color = self.shuffledColors[indexPath.row];
if ([self shouldPerformSegueWithIdentifier:@"collection_push_detail" sender:color]) {
[self performSegueWithIdentifier:@"collection_push_detail" sender:color];
@@ -265,7 +252,7 @@ - (void)collectionView:(UICollectionView *)collectionView performAction:(SEL)act
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0), ^{
if ([NSStringFromSelector(action) isEqualToString:@"copy:"]) {
- Color *color = self.filteredPalette[indexPath.row];
+ Color *color = self.shuffledColors[indexPath.row];
if (color.hex.length > 0) [[UIPasteboard generalPasteboard] setString:color.hex];
}
});
@@ -274,26 +261,20 @@ - (void)collectionView:(UICollectionView *)collectionView performAction:(SEL)act
#pragma mark - View Auto-Rotation
-- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
-{
- if (![UIInputViewController class]) {
- [self.collectionView reloadData];
- }
-}
-
- (void)willTransitionToTraitCollection:(UITraitCollection *)newCollection withTransitionCoordinator:(id)coordinator
{
[self.collectionView reloadData];
+ [super willTransitionToTraitCollection:newCollection withTransitionCoordinator:coordinator];
}
-- (UIInterfaceOrientationMask)supportedInterfaceOrientations
+- (void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id)coordinator
{
- return UIInterfaceOrientationMaskAll;
-}
-
-- (BOOL)shouldAutorotate
-{
- return YES;
+ // Called when device is rotated. Cell sizes should be recomputed when this
+ // happens (especially on iPad) since the cell sizes for portrait and landscape
+ // aren't exactly identical. Ignoring this fact leads to noticable white
+ // gaps between cells after rotation.
+ [self.collectionView reloadData];
+ [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
}
@end
diff --git a/DZNEmptyDataSet/Colors/Colors/Colors-Info.plist b/DZNEmptyDataSet/Colors/Colors/Colors-Info.plist
deleted file mode 100644
index c49ab804..00000000
--- a/DZNEmptyDataSet/Colors/Colors/Colors-Info.plist
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
-
-
- CFBundleDevelopmentRegion
- en
- CFBundleDisplayName
- ${PRODUCT_NAME}
- CFBundleExecutable
- ${EXECUTABLE_NAME}
- CFBundleIcons
-
- CFBundleIcons~ipad
-
- CFBundleIdentifier
- $(PRODUCT_BUNDLE_IDENTIFIER)
- CFBundleInfoDictionaryVersion
- 6.0
- CFBundleName
- ${PRODUCT_NAME}
- CFBundlePackageType
- APPL
- CFBundleShortVersionString
- 1.0
- CFBundleSignature
- ????
- CFBundleVersion
- 1.0
- LSRequiresIPhoneOS
-
- UIMainStoryboardFile
- Storyboard
- UIRequiredDeviceCapabilities
-
- armv7
-
- UISupportedInterfaceOrientations
-
- UIInterfaceOrientationPortrait
- UIInterfaceOrientationLandscapeLeft
- UIInterfaceOrientationLandscapeRight
-
-
-
diff --git a/DZNEmptyDataSet/Colors/Colors/Colors-Prefix.pch b/DZNEmptyDataSet/Colors/Colors/Colors-Prefix.pch
deleted file mode 100644
index 743435c9..00000000
--- a/DZNEmptyDataSet/Colors/Colors/Colors-Prefix.pch
+++ /dev/null
@@ -1,16 +0,0 @@
-//
-// Prefix header
-//
-// The contents of this file are implicitly included at the beginning of every source file.
-//
-
-#import
-
-#ifndef __IPHONE_3_0
-#warning "This project uses features only available in iOS SDK 3.0 and later."
-#endif
-
-#ifdef __OBJC__
- #import
- #import
-#endif
diff --git a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/Contents.json b/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/Contents.json
deleted file mode 100644
index 3e857877..00000000
--- a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/Contents.json
+++ /dev/null
@@ -1,128 +0,0 @@
-{
- "images" : [
- {
- "size" : "29x29",
- "idiom" : "iphone",
- "filename" : "icon-29.png",
- "scale" : "1x"
- },
- {
- "size" : "29x29",
- "idiom" : "iphone",
- "filename" : "icon-29@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "29x29",
- "idiom" : "iphone",
- "filename" : "icon-29@3x.png",
- "scale" : "3x"
- },
- {
- "size" : "40x40",
- "idiom" : "iphone",
- "filename" : "icon-40@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "40x40",
- "idiom" : "iphone",
- "filename" : "icon-40@3x.png",
- "scale" : "3x"
- },
- {
- "size" : "57x57",
- "idiom" : "iphone",
- "filename" : "icon-57.png",
- "scale" : "1x"
- },
- {
- "size" : "57x57",
- "idiom" : "iphone",
- "filename" : "icon-57@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "60x60",
- "idiom" : "iphone",
- "filename" : "icon-60@2x.png",
- "scale" : "2x"
- },
- {
- "size" : "60x60",
- "idiom" : "iphone",
- "filename" : "icon-60@3x.png",
- "scale" : "3x"
- },
- {
- "size" : "29x29",
- "idiom" : "ipad",
- "filename" : "icon-29~ipad.png",
- "scale" : "1x"
- },
- {
- "size" : "29x29",
- "idiom" : "ipad",
- "filename" : "icon-29@2x~ipad.png",
- "scale" : "2x"
- },
- {
- "size" : "40x40",
- "idiom" : "ipad",
- "filename" : "icon-40~ipad.png",
- "scale" : "1x"
- },
- {
- "size" : "40x40",
- "idiom" : "ipad",
- "filename" : "icon-40@2x~ipad.png",
- "scale" : "2x"
- },
- {
- "size" : "50x50",
- "idiom" : "ipad",
- "filename" : "icon-50~ipad.png",
- "scale" : "1x"
- },
- {
- "size" : "50x50",
- "idiom" : "ipad",
- "filename" : "icon-50@2x~ipad.png",
- "scale" : "2x"
- },
- {
- "size" : "72x72",
- "idiom" : "ipad",
- "filename" : "icon-72~ipad.png",
- "scale" : "1x"
- },
- {
- "size" : "72x72",
- "idiom" : "ipad",
- "filename" : "icon-72@2x~ipad.png",
- "scale" : "2x"
- },
- {
- "size" : "76x76",
- "idiom" : "ipad",
- "filename" : "icon-76~ipad.png",
- "scale" : "1x"
- },
- {
- "size" : "76x76",
- "idiom" : "ipad",
- "filename" : "icon-76@2x~ipad.png",
- "scale" : "2x"
- },
- {
- "size" : "83.5x83.5",
- "idiom" : "ipad",
- "filename" : "icon-120~car.png",
- "scale" : "2x"
- }
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-120~car.png b/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-120~car.png
deleted file mode 100644
index a88f27bf..00000000
Binary files a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-120~car.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-29.png b/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-29.png
deleted file mode 100644
index 2b9da15c..00000000
Binary files a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-29.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-29@2x.png b/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-29@2x.png
deleted file mode 100644
index 512acd5a..00000000
Binary files a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-29@2x.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-29@2x~ipad.png b/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-29@2x~ipad.png
deleted file mode 100644
index 512acd5a..00000000
Binary files a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-29@2x~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-29@3x.png b/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-29@3x.png
deleted file mode 100644
index 61e8e38a..00000000
Binary files a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-29@3x.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-29~ipad.png b/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-29~ipad.png
deleted file mode 100644
index 2b9da15c..00000000
Binary files a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-29~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-40@2x.png b/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-40@2x.png
deleted file mode 100644
index f4f015c5..00000000
Binary files a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-40@2x.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-40@2x~ipad.png b/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-40@2x~ipad.png
deleted file mode 100644
index f4f015c5..00000000
Binary files a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-40@2x~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-40@3x.png b/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-40@3x.png
deleted file mode 100644
index e0189f0c..00000000
Binary files a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-40@3x.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-40~ipad.png b/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-40~ipad.png
deleted file mode 100644
index c70364b1..00000000
Binary files a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-40~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-50@2x~ipad.png b/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-50@2x~ipad.png
deleted file mode 100644
index ed3c8710..00000000
Binary files a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-50@2x~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-50~ipad.png b/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-50~ipad.png
deleted file mode 100644
index 2f9c5bbe..00000000
Binary files a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-50~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-57.png b/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-57.png
deleted file mode 100644
index 31ec0b30..00000000
Binary files a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-57.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-57@2x.png b/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-57@2x.png
deleted file mode 100644
index 1523278c..00000000
Binary files a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-57@2x.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-60@2x.png b/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-60@2x.png
deleted file mode 100644
index a88f27bf..00000000
Binary files a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-60@2x.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-60@3x.png b/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-60@3x.png
deleted file mode 100644
index 840dac84..00000000
Binary files a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-60@3x.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-72@2x~ipad.png b/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-72@2x~ipad.png
deleted file mode 100644
index 041a6788..00000000
Binary files a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-72@2x~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-72~ipad.png b/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-72~ipad.png
deleted file mode 100644
index cc742f3c..00000000
Binary files a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-72~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-76@2x~ipad.png b/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-76@2x~ipad.png
deleted file mode 100644
index a46f09b6..00000000
Binary files a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-76@2x~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-76~ipad.png b/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-76~ipad.png
deleted file mode 100644
index 53490c78..00000000
Binary files a/DZNEmptyDataSet/Colors/Colors/System.xcassets/AppIcon.appiconset/icon-76~ipad.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Colors/System.xcassets/LaunchImage.launchimage/Contents.json b/DZNEmptyDataSet/Colors/Colors/System.xcassets/LaunchImage.launchimage/Contents.json
deleted file mode 100644
index acf54f94..00000000
--- a/DZNEmptyDataSet/Colors/Colors/System.xcassets/LaunchImage.launchimage/Contents.json
+++ /dev/null
@@ -1,146 +0,0 @@
-{
- "images" : [
- {
- "extent" : "full-screen",
- "idiom" : "iphone",
- "subtype" : "736h",
- "filename" : "Default-hd-plus@2x.png",
- "minimum-system-version" : "8.0",
- "orientation" : "portrait",
- "scale" : "3x"
- },
- {
- "orientation" : "landscape",
- "idiom" : "iphone",
- "extent" : "full-screen",
- "minimum-system-version" : "8.0",
- "subtype" : "736h",
- "scale" : "3x"
- },
- {
- "extent" : "full-screen",
- "idiom" : "iphone",
- "subtype" : "667h",
- "filename" : "Default-hd@2x.png",
- "minimum-system-version" : "8.0",
- "orientation" : "portrait",
- "scale" : "2x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "iphone",
- "extent" : "full-screen",
- "minimum-system-version" : "7.0",
- "filename" : "Default@2x.png",
- "scale" : "2x"
- },
- {
- "extent" : "full-screen",
- "idiom" : "iphone",
- "subtype" : "retina4",
- "filename" : "Default-568h@2x.png",
- "minimum-system-version" : "7.0",
- "orientation" : "portrait",
- "scale" : "2x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "ipad",
- "extent" : "full-screen",
- "minimum-system-version" : "7.0",
- "scale" : "1x"
- },
- {
- "orientation" : "landscape",
- "idiom" : "ipad",
- "extent" : "full-screen",
- "minimum-system-version" : "7.0",
- "scale" : "1x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "ipad",
- "extent" : "full-screen",
- "minimum-system-version" : "7.0",
- "scale" : "2x"
- },
- {
- "orientation" : "landscape",
- "idiom" : "ipad",
- "extent" : "full-screen",
- "minimum-system-version" : "7.0",
- "scale" : "2x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "iphone",
- "extent" : "full-screen",
- "scale" : "1x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "iphone",
- "extent" : "full-screen",
- "scale" : "2x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "iphone",
- "extent" : "full-screen",
- "subtype" : "retina4",
- "scale" : "2x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "ipad",
- "extent" : "to-status-bar",
- "scale" : "1x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "ipad",
- "extent" : "full-screen",
- "scale" : "1x"
- },
- {
- "orientation" : "landscape",
- "idiom" : "ipad",
- "extent" : "to-status-bar",
- "scale" : "1x"
- },
- {
- "orientation" : "landscape",
- "idiom" : "ipad",
- "extent" : "full-screen",
- "scale" : "1x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "ipad",
- "extent" : "to-status-bar",
- "scale" : "2x"
- },
- {
- "orientation" : "portrait",
- "idiom" : "ipad",
- "extent" : "full-screen",
- "scale" : "2x"
- },
- {
- "orientation" : "landscape",
- "idiom" : "ipad",
- "extent" : "to-status-bar",
- "scale" : "2x"
- },
- {
- "orientation" : "landscape",
- "idiom" : "ipad",
- "extent" : "full-screen",
- "scale" : "2x"
- }
- ],
- "info" : {
- "version" : 1,
- "author" : "xcode"
- }
-}
\ No newline at end of file
diff --git a/DZNEmptyDataSet/Colors/Colors/System.xcassets/LaunchImage.launchimage/Default-568h@2x.png b/DZNEmptyDataSet/Colors/Colors/System.xcassets/LaunchImage.launchimage/Default-568h@2x.png
deleted file mode 100644
index 449199ff..00000000
Binary files a/DZNEmptyDataSet/Colors/Colors/System.xcassets/LaunchImage.launchimage/Default-568h@2x.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Colors/System.xcassets/LaunchImage.launchimage/Default-hd-plus@2x.png b/DZNEmptyDataSet/Colors/Colors/System.xcassets/LaunchImage.launchimage/Default-hd-plus@2x.png
deleted file mode 100644
index a99cdf33..00000000
Binary files a/DZNEmptyDataSet/Colors/Colors/System.xcassets/LaunchImage.launchimage/Default-hd-plus@2x.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Colors/System.xcassets/LaunchImage.launchimage/Default-hd@2x.png b/DZNEmptyDataSet/Colors/Colors/System.xcassets/LaunchImage.launchimage/Default-hd@2x.png
deleted file mode 100644
index b7c97e49..00000000
Binary files a/DZNEmptyDataSet/Colors/Colors/System.xcassets/LaunchImage.launchimage/Default-hd@2x.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Colors/System.xcassets/LaunchImage.launchimage/Default@2x.png b/DZNEmptyDataSet/Colors/Colors/System.xcassets/LaunchImage.launchimage/Default@2x.png
deleted file mode 100644
index 6ce251c9..00000000
Binary files a/DZNEmptyDataSet/Colors/Colors/System.xcassets/LaunchImage.launchimage/Default@2x.png and /dev/null differ
diff --git a/DZNEmptyDataSet/Colors/Colors/en.lproj/InfoPlist.strings b/DZNEmptyDataSet/Colors/Colors/en.lproj/InfoPlist.strings
deleted file mode 100644
index 477b28ff..00000000
--- a/DZNEmptyDataSet/Colors/Colors/en.lproj/InfoPlist.strings
+++ /dev/null
@@ -1,2 +0,0 @@
-/* Localized versions of Info.plist keys */
-
diff --git a/DZNEmptyDataSet/Colors/Colors/main.m b/DZNEmptyDataSet/Colors/Colors/main.m
deleted file mode 100644
index a7828b17..00000000
--- a/DZNEmptyDataSet/Colors/Colors/main.m
+++ /dev/null
@@ -1,18 +0,0 @@
-//
-// main.m
-// Colors
-//
-// Created by Ignacio Romero Z. on 6/19/14.
-// Copyright (c) 2014 DZN Labs. All rights reserved.
-//
-
-#import
-
-#import "AppDelegate.h"
-
-int main(int argc, char * argv[])
-{
- @autoreleasepool {
- return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
- }
-}
diff --git a/DZNEmptyDataSet/Colors/DetailViewController.h b/DZNEmptyDataSet/Colors/DetailViewController.h
new file mode 100644
index 00000000..0caf986d
--- /dev/null
+++ b/DZNEmptyDataSet/Colors/DetailViewController.h
@@ -0,0 +1,30 @@
+//
+// DetailViewController.h
+// Colors
+//
+// Created by Ignacio Romero Z. on 7/4/14.
+// Copyright (c) 2014 DZN Labs. All rights reserved.
+//
+
+#import
+
+@class Color;
+
+@interface DetailViewController : UIViewController
+
+@property (nonatomic, strong) Color *selectedColor;
+
+@property (weak, nonatomic) IBOutlet NSLayoutConstraint *portrait1;
+@property (weak, nonatomic) IBOutlet NSLayoutConstraint *portrait2;
+@property (weak, nonatomic) IBOutlet NSLayoutConstraint *portrait3;
+@property (weak, nonatomic) IBOutlet NSLayoutConstraint *portrait4;
+
+@property (weak, nonatomic) IBOutlet NSLayoutConstraint *landscape1;
+@property (weak, nonatomic) IBOutlet NSLayoutConstraint *landscape2;
+@property (weak, nonatomic) IBOutlet NSLayoutConstraint *landscape3;
+@property (weak, nonatomic) IBOutlet NSLayoutConstraint *landscape4;
+
+@property (weak, nonatomic) IBOutlet UIView *firstContainerView;
+@property (weak, nonatomic) IBOutlet UIView *secondContainerView;
+
+@end
diff --git a/DZNEmptyDataSet/Colors/DetailViewController.m b/DZNEmptyDataSet/Colors/DetailViewController.m
new file mode 100644
index 00000000..a0aee544
--- /dev/null
+++ b/DZNEmptyDataSet/Colors/DetailViewController.m
@@ -0,0 +1,98 @@
+//
+// DetailViewController.m
+// Colors
+//
+// Created by Ignacio Romero Z. on 7/4/14.
+// Copyright (c) 2014 DZN Labs. All rights reserved.
+//
+
+#import "DetailViewController.h"
+#import "Color.h"
+#import "FirstContainerController.h"
+#import "SecondContainerController.h"
+
+#import
+
+@interface DetailViewController ()
+@property (nonatomic,strong) NSArray* portraitConstraints;
+@property (nonatomic,strong) NSArray* landscapeConstraints;
+@end
+
+@implementation DetailViewController
+
+#pragma mark - Life Cycle
+
+- (void)viewWillAppear:(BOOL)animated
+{
+ [super viewWillAppear:animated];
+ // As shown in *.storyboard, the DetailViewController's content comprises
+ // two container views managed by a FirstContainerController and a
+ // SecondContainerController .
+ FirstContainerController* firstContainerController = NULL;
+ SecondContainerController* secondContainerController = NULL;
+ for (UIViewController* child in [self childViewControllers]) {
+ if ([child isKindOfClass:[FirstContainerController class]]) {
+ firstContainerController = (FirstContainerController*)child;
+ } else if ([child isKindOfClass:[SecondContainerController class]]) {
+ secondContainerController = (SecondContainerController*)child;
+ }
+ }
+ // Populate content managed by firstContainerController . (image)
+ if (firstContainerController != NULL) {
+ firstContainerController.colorView.image = [Color roundImageForSize:firstContainerController.colorView.frame.size withColor:self.selectedColor.color];
+ }
+ // Populate content managed by secondContainerController . (labels)
+ if (secondContainerController != NULL) {
+ secondContainerController.nameLabel.text = self.selectedColor.name;
+ secondContainerController.hexLabel.text = [NSString stringWithFormat:@"#%@", self.selectedColor.hex];
+ secondContainerController.rgbLabel.text = self.selectedColor.rgb;
+ }
+}
+
+-(void)viewDidLoad {
+ [super viewDidLoad];
+ // Constraints
+ self.portraitConstraints=@[self.portrait1,self.portrait2,self.portrait3,self.portrait4];
+ self.landscapeConstraints=@[self.landscape1,self.landscape2,self.landscape3,self.landscape4];
+ [NSLayoutConstraint deactivateConstraints: self.portraitConstraints];
+ [NSLayoutConstraint deactivateConstraints: self.landscapeConstraints];
+}
+
+- (void)viewWillDisappear:(BOOL)animated {
+ // Restrict app to presenting at most one DetailViewController at any time.
+ // This prevents situation where Collection, Table, and Search are all
+ // presenting their own different DetailViewController's with different
+ // colors. This behavior seems odd. Our remedy here is to pop the
+ // DetailViewController is user selects different item in the app's
+ // tab controller.
+ [super viewWillDisappear:animated];
+ [self.navigationController popToRootViewControllerAnimated:animated];
+}
+
+#pragma mark - Adaptive User Interface
+
+-(void)viewWillTransitionToSize:(CGSize)size withTransitionCoordinator:(id)coordinator {
+ ////////////////////////////////////////////////////////////////
+ // "UIKit calls this method before changing the size of a presented
+ // view controller’s view. You can override this method in your own
+ // objects and use it to perform additional tasks related to the
+ // size change."
+ // https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIContentContainer_Ref/index.html
+ ////////////////////////////////////////////////////////////////
+ [coordinator animateAlongsideTransition:^ (id context) {
+ if (size.width context) {
+ [self.view setNeedsLayout];
+ }];
+ [super viewWillTransitionToSize:size withTransitionCoordinator:coordinator];
+}
+
+@end
diff --git a/DZNEmptyDataSet/Colors/FirstContainerController.h b/DZNEmptyDataSet/Colors/FirstContainerController.h
new file mode 100644
index 00000000..63e2b3bd
--- /dev/null
+++ b/DZNEmptyDataSet/Colors/FirstContainerController.h
@@ -0,0 +1,13 @@
+//
+// FirstContainerController.h
+// Colors
+//
+// Created by Kelly Roach on 9/4/18.
+// Copyright © 2018 DZN. All rights reserved.
+//
+
+#import
+
+@interface FirstContainerController : UIViewController
+@property (nonatomic, weak) IBOutlet UIImageView *colorView;
+@end
diff --git a/DZNEmptyDataSet/Colors/FirstContainerController.m b/DZNEmptyDataSet/Colors/FirstContainerController.m
new file mode 100644
index 00000000..97d4388f
--- /dev/null
+++ b/DZNEmptyDataSet/Colors/FirstContainerController.m
@@ -0,0 +1,13 @@
+//
+// FirstContainerController.m
+// Colors
+//
+// Created by Kelly Roach on 9/4/18.
+// Copyright © 2018 DZN. All rights reserved.
+//
+
+#import "FirstContainerController.h"
+
+@implementation FirstContainerController
+
+@end
diff --git a/DZNEmptyDataSet/Colors/Info.plist b/DZNEmptyDataSet/Colors/Info.plist
index 95aa2a6a..c42d74dd 100644
--- a/DZNEmptyDataSet/Colors/Info.plist
+++ b/DZNEmptyDataSet/Colors/Info.plist
@@ -33,6 +33,7 @@
UIInterfaceOrientationPortrait
UIInterfaceOrientationLandscapeLeft
UIInterfaceOrientationLandscapeRight
+ UIInterfaceOrientationPortraitUpsideDown
diff --git a/DZNEmptyDataSet/Colors/NoColor.png b/DZNEmptyDataSet/Colors/NoColor.png
new file mode 100644
index 00000000..f8daa4d8
Binary files /dev/null and b/DZNEmptyDataSet/Colors/NoColor.png differ
diff --git a/DZNEmptyDataSet/Colors/SearchViewController.h b/DZNEmptyDataSet/Colors/SearchViewController.h
index f49e11a5..d467e0e1 100644
--- a/DZNEmptyDataSet/Colors/SearchViewController.h
+++ b/DZNEmptyDataSet/Colors/SearchViewController.h
@@ -11,14 +11,6 @@
@class Color;
@interface SearchViewController : UIViewController
-
@property (nonatomic, strong) Color *selectedColor;
-@property (nonatomic, weak) IBOutlet UIImageView *colorView;
-@property (nonatomic, weak) IBOutlet UILabel *nameLabel;
-@property (nonatomic, weak) IBOutlet UILabel *hexLabel;
-@property (nonatomic, weak) IBOutlet UILabel *rgbLabel;
-@property (nonatomic, weak) IBOutlet UILabel *hexLegend;
-@property (nonatomic, weak) IBOutlet UILabel *rgbLegend;
-
@end
diff --git a/DZNEmptyDataSet/Colors/SearchViewController.m b/DZNEmptyDataSet/Colors/SearchViewController.m
index 00daa570..c7e95e33 100644
--- a/DZNEmptyDataSet/Colors/SearchViewController.m
+++ b/DZNEmptyDataSet/Colors/SearchViewController.m
@@ -6,150 +6,99 @@
// Copyright (c) 2014 DZN Labs. All rights reserved.
//
+#import "DetailViewController.h"
#import "SearchViewController.h"
#import "Palette.h"
#import "Color.h"
#import
-@interface SearchViewController ()
-@property (nonatomic, strong) NSArray *searchResult;
-@property (nonatomic, getter = isShowingLandscape) BOOL showingLandscape;
+@interface SearchViewController ()
+@property (nonatomic, strong) UISearchController *searchController;
+@property (weak, nonatomic) IBOutlet UITableView *tableView;
+@property (nonatomic, strong) NSMutableArray *filteredColors;
@end
@implementation SearchViewController
-#pragma mark - View lifecycle
-
-- (void)awakeFromNib
-{
- [super awakeFromNib];
-
- self.title = @"Search";
- self.tabBarItem = [[UITabBarItem alloc] initWithTitle:self.title image:[UIImage imageNamed:@"tab_search"] tag:self.title.hash];
-}
-
-- (void)loadView
-{
- [super loadView];
-
- if ([self.navigationController.viewControllers count] == 1) {
- self.searchDisplayController.displaysSearchBarInNavigationBar = YES;
- }
- else {
- self.title = @"Detail";
- }
-
- self.searchDisplayController.searchResultsTableView.emptyDataSetSource = self;
- self.searchDisplayController.searchResultsTableView.emptyDataSetDelegate = self;
-
- self.searchDisplayController.searchBar.placeholder = @"Search color";
- self.searchDisplayController.searchResultsTableView.tableFooterView = [UIView new];
- [self.searchDisplayController setValue:@"" forKey:@"_noResultsMessage"];
-
- for (UIView *subview in self.view.subviews) {
- subview.autoresizingMask = UIViewAutoresizingNone;
- }
-}
+#pragma mark - Life Cycle
- (void)viewDidLoad
{
+ self.tableView.delegate = self;
+ self.tableView.dataSource = self;
+ self.tableView.emptyDataSetSource = self;
+ self.tableView.emptyDataSetDelegate = self;
+ self.tableView.tableFooterView = [UIView new];
+
+ // SEE: "Listing 1 Creating and configuring a search controller on iOS"
+ // https://developer.apple.com/documentation/uikit/uisearchcontroller
+ // Create the search results controller and store a reference to it.
+ self.searchController = [[UISearchController alloc] initWithSearchResultsController:nil];
+ // Use the current view controller to update the search results.
+ self.searchController.searchResultsUpdater = self;
+ // Install the search bar as the table header.
+ self.tableView.tableHeaderView = self.searchController.searchBar;
+ // It is usually good to set the presentation context.
+ self.definesPresentationContext = YES;
+
+ self.searchController.searchBar.placeholder = @"Search color";
+ self.searchController.delegate = self;
+ self.searchController.dimsBackgroundDuringPresentation = NO;
+ self.searchController.searchBar.delegate = self;
+
[super viewDidLoad];
-
- self.showingLandscape = UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation);
- [self updateLayoutAnimatedWithDuration:0.0];
}
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
-
- [self updateContent];
+ self.filteredColors = nil;
+ [self.tableView reloadData];
}
-
#pragma mark - Getters
-- (NSArray *)searchResult
+- (NSMutableArray *)filteredColors
{
- if (_searchResult) {
- return _searchResult;
- }
-
- NSString *searchString = self.searchDisplayController.searchBar.text;
-
- if (searchString.length == 0) {
- return nil;
+ if (!_filteredColors)
+ {
+ UISearchBar *searchBar = self.searchController.searchBar;
+ _filteredColors = [[[Palette sharedPalette] colors] mutableCopy];
+ if ([searchBar isFirstResponder] && searchBar.text.length > 0)
+ {
+ NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name CONTAINS[cd] %@", searchBar.text];
+ [_filteredColors filterUsingPredicate:predicate];
+ }
}
-
- NSArray *colors = [[Palette sharedPalette] colors];
- NSPredicate *precidate = [NSPredicate predicateWithFormat:@"name CONTAINS[cd] %@ || hex CONTAINS[cd] %@", searchString, searchString];
-
- _searchResult = [colors filteredArrayUsingPredicate:precidate];
-
- return _searchResult;
+ return _filteredColors;
}
-
#pragma mark - Actions
-- (void)updateLayoutAnimatedWithDuration:(NSTimeInterval)duration
+- (IBAction)refreshColors:(id)sender
{
- [UIView beginAnimations:@"" context:nil];
- [UIView setAnimationDuration:duration];
- [UIView setAnimationBeginsFromCurrentState:YES];
-
- if (self.showingLandscape) {
- self.colorView.frame = CGRectMake(45.0, 88.0, 160.0, 160.0);
- self.nameLabel.frame = CGRectMake(240.0, 114.0, 280.0, 35.0);
- self.hexLabel.frame = CGRectMake(300.0, 170.0, 140.0, 20.0);
- self.rgbLabel.frame = CGRectMake(300.0, 200.0, 140.0, 20.0);
- self.hexLegend.frame = CGRectMake(240.0, 170.0, 60.0, 20.0);
- self.rgbLegend.frame = CGRectMake(240.0, 200.0, 60.0, 20.0);
-
- self.nameLabel.textAlignment = NSTextAlignmentLeft;
- }
- else {
- self.colorView.frame = CGRectMake(60.0, 130.0, 200.0, 200.0);
- self.nameLabel.frame = CGRectMake(20.0, 350.0, 280.0, 35.0);
- self.hexLabel.frame = CGRectMake(120.0, 420.0, 140.0, 20.0);
- self.rgbLabel.frame = CGRectMake(120.0, 450.0, 140.0, 20.0);
- self.hexLegend.frame = CGRectMake(60.0, 420.0, 60.0, 20.0);
- self.rgbLegend.frame = CGRectMake(60.0, 450.0, 60.0, 20.0);
-
- self.nameLabel.textAlignment = NSTextAlignmentCenter;
- }
-
- [UIView commitAnimations];
+ [[Palette sharedPalette] reloadAll];
+ self.filteredColors = nil;
+ [self.tableView reloadData];
}
-- (void)updateContent
+- (IBAction)removeColors:(id)sender
{
- BOOL hide = self.selectedColor ? NO : YES;
-
- self.colorView.hidden = hide;
- self.nameLabel.hidden = hide;
- self.hexLabel.hidden = hide;
- self.rgbLabel.hidden = hide;
- self.hexLegend.hidden = hide;
- self.rgbLegend.hidden = hide;
-
- self.colorView.image = [Color roundImageForSize:self.colorView.frame.size withColor:self.selectedColor.color];
-
- self.nameLabel.text = self.selectedColor.name;
- self.hexLabel.text = [NSString stringWithFormat:@"#%@", self.selectedColor.hex];
- self.rgbLabel.text = self.selectedColor.rgb;
+ [[Palette sharedPalette] removeAll];
+ [_filteredColors removeAllObjects];
+ [self.tableView reloadData];
}
-- (void)adjustToDeviceOrientation
+- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
- self.showingLandscape = UIDeviceOrientationIsLandscape([UIDevice currentDevice].orientation);
- [self updateLayoutAnimatedWithDuration:0.25];
-
- [self.searchDisplayController.searchResultsTableView reloadEmptyDataSet];
+ if ([[segue identifier] isEqualToString:@"search_push_detail"])
+ {
+ DetailViewController *controller = [segue destinationViewController];
+ controller.selectedColor = sender;
+ }
}
-
#pragma mark - DZNEmptyDataSetSource Methods
- (NSAttributedString *)titleForEmptyDataSet:(UIScrollView *)scrollView
@@ -185,9 +134,8 @@ - (NSAttributedString *)descriptionForEmptyDataSet:(UIScrollView *)scrollView
- (NSAttributedString *)buttonTitleForEmptyDataSet:(UIScrollView *)scrollView forState:(UIControlState)state
{
NSString *text = @"Add a New Color";
- UIColor *color = nil;
+ UIColor *color = [UIColor colorWithRed:44/255.0 green:137/255.0 blue:202/255.0 alpha:1.0];
- if (state == UIControlStateNormal) color = [UIColor colorWithRed:44/255.0 green:137/255.0 blue:202/255.0 alpha:1.0];
if (state == UIControlStateHighlighted) color = [UIColor colorWithRed:106/255.0 green:187/255.0 blue:227/255.0 alpha:1.0];
NSMutableParagraphStyle *paragraphStyle = [NSMutableParagraphStyle new];
@@ -233,13 +181,13 @@ - (BOOL)emptyDataSetShouldAllowTouch:(UIScrollView *)scrollView
- (BOOL)emptyDataSetShouldAllowScroll:(UIScrollView *)scrollView
{
- return NO;
+ return YES;
}
- (void)emptyDataSet:(UIScrollView *)scrollView didTapView:(UIView *)view
{
- [self.searchDisplayController setActive:NO animated:YES];
+ // TODO: [self.searchController setActive:NO animated:YES];
}
- (void)emptyDataSet:(UIScrollView *)scrollView didTapButton:(UIButton *)button
@@ -257,7 +205,9 @@ - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
- return self.searchResult.count;
+ NSInteger rowCount = [self filteredColors].count;
+
+ return rowCount;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
@@ -275,7 +225,7 @@ - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(N
cell.detailTextLabel.textColor = [UIColor colorWithWhite:0.5 alpha:1.0];
}
- Color *color = self.searchResult[indexPath.row];
+ Color *color = [[self filteredColors] objectAtIndex:indexPath.row];
cell.textLabel.text = color.name;
cell.detailTextLabel.text = [NSString stringWithFormat:@"#%@", color.hex];
@@ -290,60 +240,101 @@ - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPa
return 56.0;
}
-
#pragma mark - UITableViewDelegate Methods
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
- self.selectedColor = self.searchResult[indexPath.row];
- [self updateContent];
+ Color *color = [[self filteredColors] objectAtIndex:indexPath.row];
+
+ if ([self shouldPerformSegueWithIdentifier:@"search_push_detail" sender:color]) {
+ [self performSegueWithIdentifier:@"search_push_detail" sender:color];
+ }
- [self.searchDisplayController setActive:NO animated:YES];
+ [tableView deselectRowAtIndexPath:indexPath animated:YES];
}
+#pragma mark - UISearchBarDelegate Methods
-#pragma mark - UISearchDisplayControllerDelegate Methods
+- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar
+{
+ return YES;
+}
-- (BOOL)searchDisplayController:(UISearchDisplayController *)controller shouldReloadTableForSearchString:(NSString *)searchString
+- (BOOL)searchBarShouldEndEditing:(UISearchBar *)searchBar
{
- _searchResult = nil;
-
return YES;
}
-- (void)searchDisplayController:(UISearchDisplayController *)controller willShowSearchResultsTableView:(UITableView *)tableView
+- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar
{
// Do something
}
-- (void)searchDisplayController:(UISearchDisplayController *)controller didShowSearchResultsTableView:(UITableView *)tableView
+- (void)searchBarTextDidEndEditing:(UISearchBar *)searchBar
{
// Do something
}
+- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar
+{
+ // Do something
+}
-#pragma mark - View Auto-Rotation
+- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar
+{
+ // Do something
+}
-- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
+- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText
{
- if (![self respondsToSelector:@selector(willTransitionToTraitCollection:withTransitionCoordinator:)]) {
- [self adjustToDeviceOrientation];
- }
+ [self updateSearchResultsForSearchController:self.searchController];
}
-- (void)willTransitionToTraitCollection:(UITraitCollection *)newCollection withTransitionCoordinator:(id)coordinator
+- (void)searchBar:(UISearchBar *)searchBar selectedScopeButtonIndexDidChange:(NSInteger)selectedScope
{
- [self adjustToDeviceOrientation];
+ [self updateSearchResultsForSearchController:self.searchController];
}
-- (UIInterfaceOrientationMask)supportedInterfaceOrientations
+- (void)searchForText:(NSString *)searchString
{
- return UIInterfaceOrientationMaskAll;
+ //NSLog(@"searchString == %@",searchString);
}
-- (BOOL)shouldAutorotate
+#pragma mark - UISearchResultsUpdating Protocol
+
+- (void)updateSearchResultsForSearchController:(UISearchController *)searchController
{
- return YES;
+ NSString *searchString = _searchController.searchBar.text;
+ [self searchForText:searchString];
+ self.filteredColors = nil;
+ [self.tableView reloadData];
+}
+
+#pragma mark - UISearchControllerDelegate Protocol
+
+- (void)didDismissSearchController:(UISearchController *)searchController
+{
+ // Do something
+}
+
+- (void)didPresentSearchController:(UISearchController *)searchController
+{
+ // Do something
+}
+
+- (void)presentSearchController:(UISearchController *)searchController
+{
+ // Do something
+}
+
+- (void)willDismissSearchController:(UISearchController *)searchController
+{
+ // Do something
+}
+
+- (void)willPresentSearchController:(UISearchController *)searchController
+{
+ // Do something
}
@end
diff --git a/DZNEmptyDataSet/Colors/SecondContainerController.h b/DZNEmptyDataSet/Colors/SecondContainerController.h
new file mode 100644
index 00000000..f0bfd2a2
--- /dev/null
+++ b/DZNEmptyDataSet/Colors/SecondContainerController.h
@@ -0,0 +1,17 @@
+//
+// SecondContainerController.h
+// Colors
+//
+// Created by Kelly Roach on 9/4/18.
+// Copyright © 2018 DZN. All rights reserved.
+//
+
+#import
+
+@interface SecondContainerController : UIViewController
+@property (nonatomic, weak) IBOutlet UILabel *nameLabel;
+@property (nonatomic, weak) IBOutlet UILabel *hexLegend;
+@property (nonatomic, weak) IBOutlet UILabel *hexLabel;
+@property (nonatomic, weak) IBOutlet UILabel *rgbLegend;
+@property (nonatomic, weak) IBOutlet UILabel *rgbLabel;
+@end
diff --git a/DZNEmptyDataSet/Colors/SecondContainerController.m b/DZNEmptyDataSet/Colors/SecondContainerController.m
new file mode 100644
index 00000000..0b099bad
--- /dev/null
+++ b/DZNEmptyDataSet/Colors/SecondContainerController.m
@@ -0,0 +1,13 @@
+//
+// SecondContainerController.m
+// Colors
+//
+// Created by Kelly Roach on 9/4/18.
+// Copyright © 2018 DZN. All rights reserved.
+//
+
+#import "SecondContainerController.h"
+
+@implementation SecondContainerController
+
+@end
diff --git a/DZNEmptyDataSet/Colors/Storyboard.storyboard b/DZNEmptyDataSet/Colors/Storyboard.storyboard
deleted file mode 100755
index 377da234..00000000
--- a/DZNEmptyDataSet/Colors/Storyboard.storyboard
+++ /dev/null
@@ -1,255 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/DZNEmptyDataSet/Colors/TableViewController.m b/DZNEmptyDataSet/Colors/TableViewController.m
index 781f3722..ab220354 100644
--- a/DZNEmptyDataSet/Colors/TableViewController.m
+++ b/DZNEmptyDataSet/Colors/TableViewController.m
@@ -7,7 +7,7 @@
//
#import "TableViewController.h"
-#import "SearchViewController.h"
+#import "DetailViewController.h"
#import "Palette.h"
#import "Color.h"
@@ -18,27 +18,11 @@ @interface TableViewController () 0) [[UIPasteboard generalPasteboard] setString:color.hex];
@@ -233,17 +199,4 @@ - (void)tableView:(UITableView *)tableView performAction:(SEL)action forRowAtInd
});
}
-
-#pragma mark - View Auto-Rotation
-
-- (UIInterfaceOrientationMask)supportedInterfaceOrientations
-{
- return UIInterfaceOrientationMaskAll;
-}
-
-- (BOOL)shouldAutorotate
-{
- return YES;
-}
-
@end
diff --git a/DZNEmptyDataSet/DZNEmptyDataSet.xcodeproj/project.pbxproj b/DZNEmptyDataSet/DZNEmptyDataSet.xcodeproj/project.pbxproj
index ea20bc1a..3a081a3b 100644
--- a/DZNEmptyDataSet/DZNEmptyDataSet.xcodeproj/project.pbxproj
+++ b/DZNEmptyDataSet/DZNEmptyDataSet.xcodeproj/project.pbxproj
@@ -8,67 +8,166 @@
/* Begin PBXBuildFile section */
B2BC14E3498BA30F9A20FE75 /* Pods_DZNEmptyDataSetTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 391AA672D1AC4F1C3C5186F7 /* Pods_DZNEmptyDataSetTests.framework */; };
- F56CEC4B1E67430000E2FACA /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F58A3E7F1E66B62F0086E0EF /* Assets.xcassets */; };
+ E108711F21644A7C0023FC5E /* DZNEmptyDataSet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F58A3E321E66AEE90086E0EF /* DZNEmptyDataSet.framework */; };
+ E108712021644A7C0023FC5E /* DZNEmptyDataSet.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = F58A3E321E66AEE90086E0EF /* DZNEmptyDataSet.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
+ E108712421644A9B0023FC5E /* DZNEmptyDataSet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F58A3E321E66AEE90086E0EF /* DZNEmptyDataSet.framework */; };
+ E108712521644A9B0023FC5E /* DZNEmptyDataSet.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = F58A3E321E66AEE90086E0EF /* DZNEmptyDataSet.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
+ E139974F213F6E8A00689E6F /* UIColor+Hexadecimal.m in Sources */ = {isa = PBXBuildFile; fileRef = E14E1D93213E4F2C00647A29 /* UIColor+Hexadecimal.m */; };
+ E1399750213F6E9A00689E6F /* Application.m in Sources */ = {isa = PBXBuildFile; fileRef = E14E1D88213E4F2C00647A29 /* Application.m */; };
+ E1399751213F6EAB00689E6F /* DetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E14E1D8C213E4F2C00647A29 /* DetailViewController.m */; };
+ E1399752213F6EC300689E6F /* applications.json in Resources */ = {isa = PBXBuildFile; fileRef = E14E1D87213E4F2C00647A29 /* applications.json */; };
+ E1399753213F6ECD00689E6F /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E14E1D8B213E4F2C00647A29 /* Assets.xcassets */; };
+ E14E1D76213E4F1B00647A29 /* Palette.m in Sources */ = {isa = PBXBuildFile; fileRef = E14E1D5E213E4F1B00647A29 /* Palette.m */; };
+ E14E1D77213E4F1B00647A29 /* UIColor+Hex.m in Sources */ = {isa = PBXBuildFile; fileRef = E14E1D5F213E4F1B00647A29 /* UIColor+Hex.m */; };
+ E14E1D78213E4F1B00647A29 /* colors.json in Resources */ = {isa = PBXBuildFile; fileRef = E14E1D63213E4F1B00647A29 /* colors.json */; };
+ E14E1D79213E4F1B00647A29 /* Color.m in Sources */ = {isa = PBXBuildFile; fileRef = E14E1D64213E4F1B00647A29 /* Color.m */; };
+ E14E1D7A213E4F1B00647A29 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E14E1D68213E4F1B00647A29 /* Assets.xcassets */; };
+ E14E1D7B213E4F1B00647A29 /* SearchViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E14E1D69213E4F1B00647A29 /* SearchViewController.m */; };
+ E14E1D7C213E4F1B00647A29 /* DetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E14E1D6A213E4F1B00647A29 /* DetailViewController.m */; };
+ E14E1D7D213E4F1B00647A29 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = E14E1D6B213E4F1B00647A29 /* LaunchScreen.storyboard */; };
+ E14E1D7E213E4F1B00647A29 /* Storyboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = E14E1D6D213E4F1B00647A29 /* Storyboard.storyboard */; };
+ E14E1D7F213E4F1B00647A29 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = E14E1D6F213E4F1B00647A29 /* main.m */; };
+ E14E1D80213E4F1B00647A29 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = E14E1D70213E4F1B00647A29 /* AppDelegate.m */; };
+ E14E1D81213E4F1B00647A29 /* CollectionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E14E1D71213E4F1B00647A29 /* CollectionViewController.m */; };
+ E14E1D82213E4F1B00647A29 /* TableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E14E1D72213E4F1B00647A29 /* TableViewController.m */; };
+ E14E1D9D213E4F2C00647A29 /* applications.json in Resources */ = {isa = PBXBuildFile; fileRef = E14E1D87213E4F2C00647A29 /* applications.json */; };
+ E14E1D9E213E4F2C00647A29 /* Application.m in Sources */ = {isa = PBXBuildFile; fileRef = E14E1D88213E4F2C00647A29 /* Application.m */; };
+ E14E1D9F213E4F2C00647A29 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = E14E1D8B213E4F2C00647A29 /* Assets.xcassets */; };
+ E14E1DA0213E4F2C00647A29 /* DetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E14E1D8C213E4F2C00647A29 /* DetailViewController.m */; };
+ E14E1DA1213E4F2C00647A29 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = E14E1D8D213E4F2C00647A29 /* LaunchScreen.storyboard */; };
+ E14E1DA2213E4F2C00647A29 /* Storyboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = E14E1D8F213E4F2C00647A29 /* Storyboard.storyboard */; };
+ E14E1DA3213E4F2C00647A29 /* MainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = E14E1D91213E4F2C00647A29 /* MainViewController.m */; };
+ E14E1DA4213E4F2C00647A29 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = E14E1D92213E4F2C00647A29 /* main.m */; };
+ E14E1DA5213E4F2C00647A29 /* UIColor+Hexadecimal.m in Sources */ = {isa = PBXBuildFile; fileRef = E14E1D93213E4F2C00647A29 /* UIColor+Hexadecimal.m */; };
+ E14E1DA6213E4F2C00647A29 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = E14E1D94213E4F2C00647A29 /* AppDelegate.m */; };
+ E14E1DA7213E4F2C00647A29 /* IdealSans-Book-Pro.otf in Resources */ = {isa = PBXBuildFile; fileRef = E14E1D97213E4F2C00647A29 /* IdealSans-Book-Pro.otf */; };
+ E14E1DA8213E4F2C00647A29 /* Lato-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = E14E1D99213E4F2C00647A29 /* Lato-Regular.ttf */; };
+ E18BE440213FAB9C00D0AD21 /* FirstContainerController.m in Sources */ = {isa = PBXBuildFile; fileRef = E18BE43F213FAB9C00D0AD21 /* FirstContainerController.m */; };
+ E18BE443213FABCF00D0AD21 /* SecondContainerController.m in Sources */ = {isa = PBXBuildFile; fileRef = E18BE442213FABCF00D0AD21 /* SecondContainerController.m */; };
+ E1DB652E2142009D0083EDBE /* NoApplication.png in Resources */ = {isa = PBXBuildFile; fileRef = E1DB652D2142009D0083EDBE /* NoApplication.png */; };
+ E1DB6530214203BF0083EDBE /* NoColor.png in Resources */ = {isa = PBXBuildFile; fileRef = E1DB652F214203BF0083EDBE /* NoColor.png */; };
F58A3E3C1E66AEE90086E0EF /* DZNEmptyDataSet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F58A3E321E66AEE90086E0EF /* DZNEmptyDataSet.framework */; };
F58A3E411E66AEE90086E0EF /* ApplicationsSnapshotTests.m in Sources */ = {isa = PBXBuildFile; fileRef = F58A3E401E66AEE90086E0EF /* ApplicationsSnapshotTests.m */; };
F58A3E431E66AEE90086E0EF /* DZNEmptyDataSet.h in Headers */ = {isa = PBXBuildFile; fileRef = F58A3E351E66AEE90086E0EF /* DZNEmptyDataSet.h */; settings = {ATTRIBUTES = (Public, ); }; };
F58A3E4E1E66AF400086E0EF /* UIScrollView+EmptyDataSet.h in Headers */ = {isa = PBXBuildFile; fileRef = F58A3E4C1E66AF400086E0EF /* UIScrollView+EmptyDataSet.h */; settings = {ATTRIBUTES = (Public, ); }; };
F58A3E4F1E66AF400086E0EF /* UIScrollView+EmptyDataSet.m in Sources */ = {isa = PBXBuildFile; fileRef = F58A3E4D1E66AF400086E0EF /* UIScrollView+EmptyDataSet.m */; };
- F58A3E931E66B62F0086E0EF /* Application.m in Sources */ = {isa = PBXBuildFile; fileRef = F58A3E7B1E66B62F0086E0EF /* Application.m */; };
- F58A3E951E66B62F0086E0EF /* applications.json in Resources */ = {isa = PBXBuildFile; fileRef = F58A3E7E1E66B62F0086E0EF /* applications.json */; };
- F58A3E961E66B62F0086E0EF /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F58A3E7F1E66B62F0086E0EF /* Assets.xcassets */; };
- F58A3E971E66B62F0086E0EF /* DetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F58A3E811E66B62F0086E0EF /* DetailViewController.m */; };
- F58A3E981E66B62F0086E0EF /* IdealSans-Book-Pro.otf in Resources */ = {isa = PBXBuildFile; fileRef = F58A3E841E66B62F0086E0EF /* IdealSans-Book-Pro.otf */; };
- F58A3E991E66B62F0086E0EF /* Lato-Regular.ttf in Resources */ = {isa = PBXBuildFile; fileRef = F58A3E861E66B62F0086E0EF /* Lato-Regular.ttf */; };
- F58A3E9A1E66B62F0086E0EF /* MainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F58A3E881E66B62F0086E0EF /* MainViewController.m */; };
- F58A3E9C1E66B62F0086E0EF /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F58A3E8B1E66B62F0086E0EF /* LaunchScreen.storyboard */; };
- F58A3E9F1E66B62F0086E0EF /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = F58A3E901E66B62F0086E0EF /* main.m */; };
- F58A3EA01E66B62F0086E0EF /* UIColor+Hexadecimal.m in Sources */ = {isa = PBXBuildFile; fileRef = F58A3E921E66B62F0086E0EF /* UIColor+Hexadecimal.m */; };
- F58A3EA31E66B6C70086E0EF /* Applications-Prefix.pch in Headers */ = {isa = PBXBuildFile; fileRef = F58A3EA21E66B6C70086E0EF /* Applications-Prefix.pch */; };
- F58A3EA51E66B6D70086E0EF /* Storyboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F58A3EA41E66B6D70086E0EF /* Storyboard.storyboard */; };
- F58A3EA81E66B6F10086E0EF /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = F58A3EA71E66B6F10086E0EF /* AppDelegate.m */; };
- F58A3EA91E66B7940086E0EF /* DZNEmptyDataSet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F58A3E321E66AEE90086E0EF /* DZNEmptyDataSet.framework */; };
- F58A3EAA1E66BD5A0086E0EF /* applications.json in Resources */ = {isa = PBXBuildFile; fileRef = F58A3E7E1E66B62F0086E0EF /* applications.json */; };
- F58A3EAB1E66BD5D0086E0EF /* Application.m in Sources */ = {isa = PBXBuildFile; fileRef = F58A3E7B1E66B62F0086E0EF /* Application.m */; };
- F58A3EAC1E66BD620086E0EF /* DetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F58A3E811E66B62F0086E0EF /* DetailViewController.m */; };
- F58A3EAD1E66BF270086E0EF /* UIColor+Hexadecimal.m in Sources */ = {isa = PBXBuildFile; fileRef = F58A3E921E66B62F0086E0EF /* UIColor+Hexadecimal.m */; };
- F5BE15291E713E2100F6FBEA /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = F5BE15281E713E2100F6FBEA /* main.m */; };
- F5BE152C1E713E2100F6FBEA /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = F5BE152B1E713E2100F6FBEA /* AppDelegate.m */; };
- F5BE15341E713E2100F6FBEA /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F5BE15331E713E2100F6FBEA /* Assets.xcassets */; };
- F5BE15371E713E2100F6FBEA /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F5BE15351E713E2100F6FBEA /* LaunchScreen.storyboard */; };
- F5BE154A1E713E9300F6FBEA /* CollectionViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F5BE153D1E713E9300F6FBEA /* CollectionViewController.m */; };
- F5BE154B1E713E9300F6FBEA /* Color.m in Sources */ = {isa = PBXBuildFile; fileRef = F5BE15401E713E9300F6FBEA /* Color.m */; };
- F5BE154C1E713E9300F6FBEA /* colors.json in Resources */ = {isa = PBXBuildFile; fileRef = F5BE15411E713E9300F6FBEA /* colors.json */; };
- F5BE154D1E713E9300F6FBEA /* Palette.m in Sources */ = {isa = PBXBuildFile; fileRef = F5BE15431E713E9300F6FBEA /* Palette.m */; };
- F5BE154E1E713E9300F6FBEA /* UIColor+Hex.m in Sources */ = {isa = PBXBuildFile; fileRef = F5BE15451E713E9300F6FBEA /* UIColor+Hex.m */; };
- F5BE154F1E713E9300F6FBEA /* SearchViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F5BE15471E713E9300F6FBEA /* SearchViewController.m */; };
- F5BE15501E713E9300F6FBEA /* TableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = F5BE15491E713E9300F6FBEA /* TableViewController.m */; };
- F5BE15521E713E9B00F6FBEA /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F5BE15511E713E9B00F6FBEA /* Images.xcassets */; };
- F5BE15561E713EC800F6FBEA /* Storyboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F5BE15551E713EC800F6FBEA /* Storyboard.storyboard */; };
- F5BE15571E71446300F6FBEA /* DZNEmptyDataSet.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F58A3E321E66AEE90086E0EF /* DZNEmptyDataSet.framework */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
- F58A3E3D1E66AEE90086E0EF /* PBXContainerItemProxy */ = {
+ E1075A1C216451F10037C940 /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = F58A3E291E66AEE90086E0EF /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = F58A3E621E66B5410086E0EF;
+ remoteInfo = Applications;
+ };
+ E108712121644A7C0023FC5E /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = F58A3E291E66AEE90086E0EF /* Project object */;
proxyType = 1;
remoteGlobalIDString = F58A3E311E66AEE90086E0EF;
remoteInfo = DZNEmptyDataSet;
};
- F5BE151F1E713A7100F6FBEA /* PBXContainerItemProxy */ = {
+ E108712621644A9B0023FC5E /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = F58A3E291E66AEE90086E0EF /* Project object */;
proxyType = 1;
- remoteGlobalIDString = F58A3E621E66B5410086E0EF;
- remoteInfo = Applications;
+ remoteGlobalIDString = F58A3E311E66AEE90086E0EF;
+ remoteInfo = DZNEmptyDataSet;
+ };
+ F58A3E3D1E66AEE90086E0EF /* PBXContainerItemProxy */ = {
+ isa = PBXContainerItemProxy;
+ containerPortal = F58A3E291E66AEE90086E0EF /* Project object */;
+ proxyType = 1;
+ remoteGlobalIDString = F58A3E311E66AEE90086E0EF;
+ remoteInfo = DZNEmptyDataSet;
};
/* End PBXContainerItemProxy section */
+/* Begin PBXCopyFilesBuildPhase section */
+ E108712321644A7C0023FC5E /* Embed Frameworks */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ E108712021644A7C0023FC5E /* DZNEmptyDataSet.framework in Embed Frameworks */,
+ );
+ name = "Embed Frameworks";
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ E108712821644A9B0023FC5E /* Embed Frameworks */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ E108712521644A9B0023FC5E /* DZNEmptyDataSet.framework in Embed Frameworks */,
+ );
+ name = "Embed Frameworks";
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ E108712921644CBB0023FC5E /* CopyFiles */ = {
+ isa = PBXCopyFilesBuildPhase;
+ buildActionMask = 2147483647;
+ dstPath = "";
+ dstSubfolderSpec = 10;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXCopyFilesBuildPhase section */
+
/* Begin PBXFileReference section */
273E51E5FA96821F8F582949 /* Pods-DZNEmptyDataSetTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DZNEmptyDataSetTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests.release.xcconfig"; sourceTree = ""; };
391AA672D1AC4F1C3C5186F7 /* Pods_DZNEmptyDataSetTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_DZNEmptyDataSetTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
52A7392318BDCC558DB8399F /* Pods-DZNEmptyDataSetTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-DZNEmptyDataSetTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests.debug.xcconfig"; sourceTree = ""; };
+ E14E1D5E213E4F1B00647A29 /* Palette.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Palette.m; sourceTree = ""; };
+ E14E1D5F213E4F1B00647A29 /* UIColor+Hex.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIColor+Hex.m"; sourceTree = ""; };
+ E14E1D60213E4F1B00647A29 /* Color.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Color.h; sourceTree = ""; };
+ E14E1D61213E4F1B00647A29 /* Palette.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Palette.h; sourceTree = ""; };
+ E14E1D62213E4F1B00647A29 /* UIColor+Hex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIColor+Hex.h"; sourceTree = ""; };
+ E14E1D63213E4F1B00647A29 /* colors.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = colors.json; sourceTree = ""; };
+ E14E1D64213E4F1B00647A29 /* Color.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Color.m; sourceTree = ""; };
+ E14E1D65213E4F1B00647A29 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
+ E14E1D66213E4F1B00647A29 /* TableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TableViewController.h; sourceTree = ""; };
+ E14E1D67213E4F1B00647A29 /* CollectionViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CollectionViewController.h; sourceTree = ""; };
+ E14E1D68213E4F1B00647A29 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
+ E14E1D69213E4F1B00647A29 /* SearchViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SearchViewController.m; sourceTree = ""; };
+ E14E1D6A213E4F1B00647A29 /* DetailViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DetailViewController.m; sourceTree = ""; };
+ E14E1D6C213E4F1B00647A29 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
+ E14E1D6E213E4F1B00647A29 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Storyboard.storyboard; sourceTree = ""; };
+ E14E1D6F213E4F1B00647A29 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
+ E14E1D70213E4F1B00647A29 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; };
+ E14E1D71213E4F1B00647A29 /* CollectionViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CollectionViewController.m; sourceTree = ""; };
+ E14E1D72213E4F1B00647A29 /* TableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TableViewController.m; sourceTree = ""; };
+ E14E1D73213E4F1B00647A29 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ E14E1D74213E4F1B00647A29 /* SearchViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SearchViewController.h; sourceTree = ""; };
+ E14E1D75213E4F1B00647A29 /* DetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DetailViewController.h; sourceTree = ""; };
+ E14E1D86213E4F2C00647A29 /* Application.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Application.h; sourceTree = ""; };
+ E14E1D87213E4F2C00647A29 /* applications.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = applications.json; sourceTree = ""; };
+ E14E1D88213E4F2C00647A29 /* Application.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Application.m; sourceTree = ""; };
+ E14E1D89213E4F2C00647A29 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
+ E14E1D8A213E4F2C00647A29 /* UIColor+Hexadecimal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIColor+Hexadecimal.h"; sourceTree = ""; };
+ E14E1D8B213E4F2C00647A29 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
+ E14E1D8C213E4F2C00647A29 /* DetailViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DetailViewController.m; sourceTree = ""; };
+ E14E1D8E213E4F2C00647A29 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
+ E14E1D90213E4F2C00647A29 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Storyboard.storyboard; sourceTree = ""; };
+ E14E1D91213E4F2C00647A29 /* MainViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MainViewController.m; sourceTree = ""; };
+ E14E1D92213E4F2C00647A29 /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
+ E14E1D93213E4F2C00647A29 /* UIColor+Hexadecimal.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIColor+Hexadecimal.m"; sourceTree = ""; };
+ E14E1D94213E4F2C00647A29 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; };
+ E14E1D97213E4F2C00647A29 /* IdealSans-Book-Pro.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "IdealSans-Book-Pro.otf"; sourceTree = ""; };
+ E14E1D99213E4F2C00647A29 /* Lato-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Lato-Regular.ttf"; sourceTree = ""; };
+ E14E1D9A213E4F2C00647A29 /* MainViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MainViewController.h; sourceTree = ""; };
+ E14E1D9B213E4F2C00647A29 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ E14E1D9C213E4F2C00647A29 /* DetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DetailViewController.h; sourceTree = ""; };
+ E18BE43E213FAB9C00D0AD21 /* FirstContainerController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = FirstContainerController.h; sourceTree = ""; };
+ E18BE43F213FAB9C00D0AD21 /* FirstContainerController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = FirstContainerController.m; sourceTree = ""; };
+ E18BE441213FABCF00D0AD21 /* SecondContainerController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SecondContainerController.h; sourceTree = ""; };
+ E18BE442213FABCF00D0AD21 /* SecondContainerController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SecondContainerController.m; sourceTree = ""; };
+ E1DB652D2142009D0083EDBE /* NoApplication.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = NoApplication.png; sourceTree = ""; };
+ E1DB652F214203BF0083EDBE /* NoColor.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = NoColor.png; sourceTree = ""; };
F58A3E321E66AEE90086E0EF /* DZNEmptyDataSet.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = DZNEmptyDataSet.framework; sourceTree = BUILT_PRODUCTS_DIR; };
F58A3E351E66AEE90086E0EF /* DZNEmptyDataSet.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DZNEmptyDataSet.h; sourceTree = ""; };
F58A3E361E66AEE90086E0EF /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
@@ -78,48 +177,7 @@
F58A3E4C1E66AF400086E0EF /* UIScrollView+EmptyDataSet.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "UIScrollView+EmptyDataSet.h"; path = "../../Source/UIScrollView+EmptyDataSet.h"; sourceTree = ""; };
F58A3E4D1E66AF400086E0EF /* UIScrollView+EmptyDataSet.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = "UIScrollView+EmptyDataSet.m"; path = "../../Source/UIScrollView+EmptyDataSet.m"; sourceTree = ""; };
F58A3E631E66B5410086E0EF /* Applications.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Applications.app; sourceTree = BUILT_PRODUCTS_DIR; };
- F58A3E7A1E66B62F0086E0EF /* Application.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Application.h; sourceTree = ""; };
- F58A3E7B1E66B62F0086E0EF /* Application.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Application.m; sourceTree = ""; };
- F58A3E7E1E66B62F0086E0EF /* applications.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = applications.json; sourceTree = ""; };
- F58A3E7F1E66B62F0086E0EF /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
- F58A3E801E66B62F0086E0EF /* DetailViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DetailViewController.h; sourceTree = ""; };
- F58A3E811E66B62F0086E0EF /* DetailViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = DetailViewController.m; sourceTree = ""; };
- F58A3E841E66B62F0086E0EF /* IdealSans-Book-Pro.otf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "IdealSans-Book-Pro.otf"; sourceTree = ""; };
- F58A3E861E66B62F0086E0EF /* Lato-Regular.ttf */ = {isa = PBXFileReference; lastKnownFileType = file; path = "Lato-Regular.ttf"; sourceTree = ""; };
- F58A3E871E66B62F0086E0EF /* MainViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MainViewController.h; sourceTree = ""; };
- F58A3E881E66B62F0086E0EF /* MainViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MainViewController.m; sourceTree = ""; };
- F58A3E8C1E66B62F0086E0EF /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
- F58A3E8E1E66B62F0086E0EF /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = ""; };
- F58A3E8F1E66B62F0086E0EF /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
- F58A3E901E66B62F0086E0EF /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
- F58A3E911E66B62F0086E0EF /* UIColor+Hexadecimal.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIColor+Hexadecimal.h"; sourceTree = ""; };
- F58A3E921E66B62F0086E0EF /* UIColor+Hexadecimal.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIColor+Hexadecimal.m"; sourceTree = ""; };
- F58A3EA21E66B6C70086E0EF /* Applications-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Applications-Prefix.pch"; sourceTree = ""; };
- F58A3EA41E66B6D70086E0EF /* Storyboard.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Storyboard.storyboard; sourceTree = ""; };
- F58A3EA61E66B6F10086E0EF /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
- F58A3EA71E66B6F10086E0EF /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; };
F5BE15251E713E2100F6FBEA /* Colors.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Colors.app; sourceTree = BUILT_PRODUCTS_DIR; };
- F5BE15281E713E2100F6FBEA /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = ""; };
- F5BE152A1E713E2100F6FBEA /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = ""; };
- F5BE152B1E713E2100F6FBEA /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = ""; };
- F5BE15331E713E2100F6FBEA /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; };
- F5BE15361E713E2100F6FBEA /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; };
- F5BE15381E713E2100F6FBEA /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
- F5BE153C1E713E9300F6FBEA /* CollectionViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CollectionViewController.h; sourceTree = ""; };
- F5BE153D1E713E9300F6FBEA /* CollectionViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CollectionViewController.m; sourceTree = ""; };
- F5BE153F1E713E9300F6FBEA /* Color.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Color.h; sourceTree = ""; };
- F5BE15401E713E9300F6FBEA /* Color.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Color.m; sourceTree = ""; };
- F5BE15411E713E9300F6FBEA /* colors.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = colors.json; sourceTree = ""; };
- F5BE15421E713E9300F6FBEA /* Palette.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Palette.h; sourceTree = ""; };
- F5BE15431E713E9300F6FBEA /* Palette.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Palette.m; sourceTree = ""; };
- F5BE15441E713E9300F6FBEA /* UIColor+Hex.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIColor+Hex.h"; sourceTree = ""; };
- F5BE15451E713E9300F6FBEA /* UIColor+Hex.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIColor+Hex.m"; sourceTree = ""; };
- F5BE15461E713E9300F6FBEA /* SearchViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SearchViewController.h; sourceTree = ""; };
- F5BE15471E713E9300F6FBEA /* SearchViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SearchViewController.m; sourceTree = ""; };
- F5BE15481E713E9300F6FBEA /* TableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TableViewController.h; sourceTree = ""; };
- F5BE15491E713E9300F6FBEA /* TableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = TableViewController.m; sourceTree = ""; };
- F5BE15511E713E9B00F6FBEA /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = ""; };
- F5BE15551E713EC800F6FBEA /* Storyboard.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Storyboard.storyboard; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -143,7 +201,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- F58A3EA91E66B7940086E0EF /* DZNEmptyDataSet.framework in Frameworks */,
+ E108711F21644A7C0023FC5E /* DZNEmptyDataSet.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -151,7 +209,7 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- F5BE15571E71446300F6FBEA /* DZNEmptyDataSet.framework in Frameworks */,
+ E108712421644A9B0023FC5E /* DZNEmptyDataSet.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -175,161 +233,148 @@
name = Frameworks;
sourceTree = "";
};
- F58A3E281E66AEE90086E0EF = {
+ E14E1D5C213E4F1B00647A29 /* Colors */ = {
isa = PBXGroup;
children = (
- F58A3E341E66AEE90086E0EF /* DZNEmptyDataSet */,
- F58A3E3F1E66AEE90086E0EF /* DZNEmptyDataSetTests */,
- F58A3E641E66B5410086E0EF /* Sample - Applications */,
- F5BE15261E713E2100F6FBEA /* Sample - Colors */,
- F58A3E331E66AEE90086E0EF /* Products */,
- 242E9BB031D3264D62C731D6 /* Pods */,
- A7CC5E0B0809CA256BDA9067 /* Frameworks */,
+ E14E1D65213E4F1B00647A29 /* AppDelegate.h */,
+ E14E1D70213E4F1B00647A29 /* AppDelegate.m */,
+ E14E1D68213E4F1B00647A29 /* Assets.xcassets */,
+ E14E1D67213E4F1B00647A29 /* CollectionViewController.h */,
+ E14E1D71213E4F1B00647A29 /* CollectionViewController.m */,
+ E14E1D5D213E4F1B00647A29 /* DataSource */,
+ E14E1D75213E4F1B00647A29 /* DetailViewController.h */,
+ E14E1D6A213E4F1B00647A29 /* DetailViewController.m */,
+ E18BE43E213FAB9C00D0AD21 /* FirstContainerController.h */,
+ E18BE43F213FAB9C00D0AD21 /* FirstContainerController.m */,
+ E14E1D73213E4F1B00647A29 /* Info.plist */,
+ E1DB652F214203BF0083EDBE /* NoColor.png */,
+ E14E1D6B213E4F1B00647A29 /* LaunchScreen.storyboard */,
+ E14E1D6F213E4F1B00647A29 /* main.m */,
+ E14E1D74213E4F1B00647A29 /* SearchViewController.h */,
+ E14E1D69213E4F1B00647A29 /* SearchViewController.m */,
+ E18BE441213FABCF00D0AD21 /* SecondContainerController.h */,
+ E18BE442213FABCF00D0AD21 /* SecondContainerController.m */,
+ E14E1D6D213E4F1B00647A29 /* Storyboard.storyboard */,
+ E14E1D66213E4F1B00647A29 /* TableViewController.h */,
+ E14E1D72213E4F1B00647A29 /* TableViewController.m */,
);
+ path = Colors;
sourceTree = "";
};
- F58A3E331E66AEE90086E0EF /* Products */ = {
+ E14E1D5D213E4F1B00647A29 /* DataSource */ = {
isa = PBXGroup;
children = (
- F58A3E321E66AEE90086E0EF /* DZNEmptyDataSet.framework */,
- F58A3E3B1E66AEE90086E0EF /* DZNEmptyDataSetTests.xctest */,
- F58A3E631E66B5410086E0EF /* Applications.app */,
- F5BE15251E713E2100F6FBEA /* Colors.app */,
+ E14E1D60213E4F1B00647A29 /* Color.h */,
+ E14E1D64213E4F1B00647A29 /* Color.m */,
+ E14E1D63213E4F1B00647A29 /* colors.json */,
+ E14E1D61213E4F1B00647A29 /* Palette.h */,
+ E14E1D5E213E4F1B00647A29 /* Palette.m */,
+ E14E1D62213E4F1B00647A29 /* UIColor+Hex.h */,
+ E14E1D5F213E4F1B00647A29 /* UIColor+Hex.m */,
);
- name = Products;
+ path = DataSource;
sourceTree = "";
};
- F58A3E341E66AEE90086E0EF /* DZNEmptyDataSet */ = {
+ E14E1D84213E4F2C00647A29 /* Applications */ = {
isa = PBXGroup;
children = (
- F58A3E351E66AEE90086E0EF /* DZNEmptyDataSet.h */,
- F58A3E4C1E66AF400086E0EF /* UIScrollView+EmptyDataSet.h */,
- F58A3E4D1E66AF400086E0EF /* UIScrollView+EmptyDataSet.m */,
- F58A3E361E66AEE90086E0EF /* Info.plist */,
+ E14E1D89213E4F2C00647A29 /* AppDelegate.h */,
+ E14E1D94213E4F2C00647A29 /* AppDelegate.m */,
+ E14E1D8B213E4F2C00647A29 /* Assets.xcassets */,
+ E14E1D85213E4F2C00647A29 /* DataSource */,
+ E14E1D9C213E4F2C00647A29 /* DetailViewController.h */,
+ E14E1D8C213E4F2C00647A29 /* DetailViewController.m */,
+ E14E1D95213E4F2C00647A29 /* Fonts */,
+ E14E1D9B213E4F2C00647A29 /* Info.plist */,
+ E1DB652D2142009D0083EDBE /* NoApplication.png */,
+ E14E1D8D213E4F2C00647A29 /* LaunchScreen.storyboard */,
+ E14E1D92213E4F2C00647A29 /* main.m */,
+ E14E1D9A213E4F2C00647A29 /* MainViewController.h */,
+ E14E1D91213E4F2C00647A29 /* MainViewController.m */,
+ E14E1D8F213E4F2C00647A29 /* Storyboard.storyboard */,
+ E14E1D8A213E4F2C00647A29 /* UIColor+Hexadecimal.h */,
+ E14E1D93213E4F2C00647A29 /* UIColor+Hexadecimal.m */,
);
- path = DZNEmptyDataSet;
+ path = Applications;
sourceTree = "";
};
- F58A3E3F1E66AEE90086E0EF /* DZNEmptyDataSetTests */ = {
+ E14E1D85213E4F2C00647A29 /* DataSource */ = {
isa = PBXGroup;
children = (
- F58A3E401E66AEE90086E0EF /* ApplicationsSnapshotTests.m */,
- F58A3E421E66AEE90086E0EF /* Info.plist */,
+ E14E1D86213E4F2C00647A29 /* Application.h */,
+ E14E1D88213E4F2C00647A29 /* Application.m */,
+ E14E1D87213E4F2C00647A29 /* applications.json */,
);
- path = DZNEmptyDataSetTests;
- sourceTree = "";
- };
- F58A3E641E66B5410086E0EF /* Sample - Applications */ = {
- isa = PBXGroup;
- children = (
- F58A3EA61E66B6F10086E0EF /* AppDelegate.h */,
- F58A3EA71E66B6F10086E0EF /* AppDelegate.m */,
- F58A3E871E66B62F0086E0EF /* MainViewController.h */,
- F58A3E881E66B62F0086E0EF /* MainViewController.m */,
- F58A3E801E66B62F0086E0EF /* DetailViewController.h */,
- F58A3E811E66B62F0086E0EF /* DetailViewController.m */,
- F58A3E7A1E66B62F0086E0EF /* Application.h */,
- F58A3E7B1E66B62F0086E0EF /* Application.m */,
- F58A3E911E66B62F0086E0EF /* UIColor+Hexadecimal.h */,
- F58A3E921E66B62F0086E0EF /* UIColor+Hexadecimal.m */,
- F58A3EA11E66B6970086E0EF /* Resources */,
- F58A3E8A1E66B62F0086E0EF /* Supporting Files */,
- );
- name = "Sample - Applications";
- path = Applications;
+ path = DataSource;
sourceTree = "";
};
- F58A3E821E66B62F0086E0EF /* Fonts */ = {
+ E14E1D95213E4F2C00647A29 /* Fonts */ = {
isa = PBXGroup;
children = (
- F58A3E831E66B62F0086E0EF /* Ideal Sans */,
- F58A3E851E66B62F0086E0EF /* Lato */,
+ E14E1D96213E4F2C00647A29 /* Ideal Sans */,
+ E14E1D98213E4F2C00647A29 /* Lato */,
);
path = Fonts;
sourceTree = "";
};
- F58A3E831E66B62F0086E0EF /* Ideal Sans */ = {
+ E14E1D96213E4F2C00647A29 /* Ideal Sans */ = {
isa = PBXGroup;
children = (
- F58A3E841E66B62F0086E0EF /* IdealSans-Book-Pro.otf */,
+ E14E1D97213E4F2C00647A29 /* IdealSans-Book-Pro.otf */,
);
path = "Ideal Sans";
sourceTree = "";
};
- F58A3E851E66B62F0086E0EF /* Lato */ = {
+ E14E1D98213E4F2C00647A29 /* Lato */ = {
isa = PBXGroup;
children = (
- F58A3E861E66B62F0086E0EF /* Lato-Regular.ttf */,
+ E14E1D99213E4F2C00647A29 /* Lato-Regular.ttf */,
);
path = Lato;
sourceTree = "";
};
- F58A3E8A1E66B62F0086E0EF /* Supporting Files */ = {
- isa = PBXGroup;
- children = (
- F58A3EA41E66B6D70086E0EF /* Storyboard.storyboard */,
- F58A3E8B1E66B62F0086E0EF /* LaunchScreen.storyboard */,
- F58A3EA21E66B6C70086E0EF /* Applications-Prefix.pch */,
- F58A3E8D1E66B62F0086E0EF /* InfoPlist.strings */,
- F58A3E8F1E66B62F0086E0EF /* Info.plist */,
- F58A3E901E66B62F0086E0EF /* main.m */,
- );
- path = "Supporting Files";
- sourceTree = "";
- };
- F58A3EA11E66B6970086E0EF /* Resources */ = {
+ F58A3E281E66AEE90086E0EF = {
isa = PBXGroup;
children = (
- F58A3E7E1E66B62F0086E0EF /* applications.json */,
- F58A3E821E66B62F0086E0EF /* Fonts */,
- F58A3E7F1E66B62F0086E0EF /* Assets.xcassets */,
+ E14E1D84213E4F2C00647A29 /* Applications */,
+ E14E1D5C213E4F1B00647A29 /* Colors */,
+ F58A3E341E66AEE90086E0EF /* DZNEmptyDataSet */,
+ F58A3E3F1E66AEE90086E0EF /* DZNEmptyDataSetTests */,
+ F58A3E331E66AEE90086E0EF /* Products */,
+ 242E9BB031D3264D62C731D6 /* Pods */,
+ A7CC5E0B0809CA256BDA9067 /* Frameworks */,
);
- name = Resources;
sourceTree = "";
};
- F5BE15261E713E2100F6FBEA /* Sample - Colors */ = {
+ F58A3E331E66AEE90086E0EF /* Products */ = {
isa = PBXGroup;
children = (
- F5BE152A1E713E2100F6FBEA /* AppDelegate.h */,
- F5BE152B1E713E2100F6FBEA /* AppDelegate.m */,
- F5BE153C1E713E9300F6FBEA /* CollectionViewController.h */,
- F5BE153D1E713E9300F6FBEA /* CollectionViewController.m */,
- F5BE15461E713E9300F6FBEA /* SearchViewController.h */,
- F5BE15471E713E9300F6FBEA /* SearchViewController.m */,
- F5BE15481E713E9300F6FBEA /* TableViewController.h */,
- F5BE15491E713E9300F6FBEA /* TableViewController.m */,
- F5BE153E1E713E9300F6FBEA /* DataSource */,
- F5BE15551E713EC800F6FBEA /* Storyboard.storyboard */,
- F5BE15511E713E9B00F6FBEA /* Images.xcassets */,
- F5BE15331E713E2100F6FBEA /* Assets.xcassets */,
- F5BE15351E713E2100F6FBEA /* LaunchScreen.storyboard */,
- F5BE15381E713E2100F6FBEA /* Info.plist */,
- F5BE15271E713E2100F6FBEA /* Supporting Files */,
- );
- name = "Sample - Colors";
- path = Colors;
+ F58A3E321E66AEE90086E0EF /* DZNEmptyDataSet.framework */,
+ F58A3E3B1E66AEE90086E0EF /* DZNEmptyDataSetTests.xctest */,
+ F58A3E631E66B5410086E0EF /* Applications.app */,
+ F5BE15251E713E2100F6FBEA /* Colors.app */,
+ );
+ name = Products;
sourceTree = "";
};
- F5BE15271E713E2100F6FBEA /* Supporting Files */ = {
+ F58A3E341E66AEE90086E0EF /* DZNEmptyDataSet */ = {
isa = PBXGroup;
children = (
- F5BE15281E713E2100F6FBEA /* main.m */,
+ F58A3E351E66AEE90086E0EF /* DZNEmptyDataSet.h */,
+ F58A3E4C1E66AF400086E0EF /* UIScrollView+EmptyDataSet.h */,
+ F58A3E4D1E66AF400086E0EF /* UIScrollView+EmptyDataSet.m */,
+ F58A3E361E66AEE90086E0EF /* Info.plist */,
);
- name = "Supporting Files";
+ path = DZNEmptyDataSet;
sourceTree = "";
};
- F5BE153E1E713E9300F6FBEA /* DataSource */ = {
+ F58A3E3F1E66AEE90086E0EF /* DZNEmptyDataSetTests */ = {
isa = PBXGroup;
children = (
- F5BE15411E713E9300F6FBEA /* colors.json */,
- F5BE153F1E713E9300F6FBEA /* Color.h */,
- F5BE15401E713E9300F6FBEA /* Color.m */,
- F5BE15421E713E9300F6FBEA /* Palette.h */,
- F5BE15431E713E9300F6FBEA /* Palette.m */,
- F5BE15441E713E9300F6FBEA /* UIColor+Hex.h */,
- F5BE15451E713E9300F6FBEA /* UIColor+Hex.m */,
+ F58A3E401E66AEE90086E0EF /* ApplicationsSnapshotTests.m */,
+ F58A3E421E66AEE90086E0EF /* Info.plist */,
);
- path = DataSource;
+ path = DZNEmptyDataSetTests;
sourceTree = "";
};
/* End PBXGroup section */
@@ -339,7 +384,6 @@
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
- F58A3EA31E66B6C70086E0EF /* Applications-Prefix.pch in Headers */,
F58A3E431E66AEE90086E0EF /* DZNEmptyDataSet.h in Headers */,
F58A3E4E1E66AF400086E0EF /* UIScrollView+EmptyDataSet.h in Headers */,
);
@@ -376,12 +420,13 @@
F58A3E391E66AEE90086E0EF /* Resources */,
41E8FAF2556733821B42B61F /* [CP] Embed Pods Frameworks */,
C99FFA9F6DFE074B412088E9 /* [CP] Copy Pods Resources */,
+ E108712921644CBB0023FC5E /* CopyFiles */,
);
buildRules = (
);
dependencies = (
+ E1075A1D216451F10037C940 /* PBXTargetDependency */,
F58A3E3E1E66AEE90086E0EF /* PBXTargetDependency */,
- F5BE15201E713A7100F6FBEA /* PBXTargetDependency */,
);
name = DZNEmptyDataSetTests;
productName = DZNEmptyDataSetTests;
@@ -395,10 +440,12 @@
F58A3E5F1E66B5410086E0EF /* Sources */,
F58A3E601E66B5410086E0EF /* Frameworks */,
F58A3E611E66B5410086E0EF /* Resources */,
+ E108712321644A7C0023FC5E /* Embed Frameworks */,
);
buildRules = (
);
dependencies = (
+ E108712221644A7C0023FC5E /* PBXTargetDependency */,
);
name = Applications;
productName = Applications;
@@ -412,10 +459,12 @@
F5BE15211E713E2100F6FBEA /* Sources */,
F5BE15221E713E2100F6FBEA /* Frameworks */,
F5BE15231E713E2100F6FBEA /* Resources */,
+ E108712821644A9B0023FC5E /* Embed Frameworks */,
);
buildRules = (
);
dependencies = (
+ E108712721644A9B0023FC5E /* PBXTargetDependency */,
);
name = Colors;
productName = Colors;
@@ -428,20 +477,20 @@
F58A3E291E66AEE90086E0EF /* Project object */ = {
isa = PBXProject;
attributes = {
- LastUpgradeCheck = 0920;
+ LastUpgradeCheck = 1000;
ORGANIZATIONNAME = DZN;
TargetAttributes = {
F58A3E311E66AEE90086E0EF = {
CreatedOnToolsVersion = 8.2.1;
- ProvisioningStyle = Manual;
+ ProvisioningStyle = Automatic;
};
F58A3E3A1E66AEE90086E0EF = {
CreatedOnToolsVersion = 8.2.1;
- ProvisioningStyle = Manual;
+ ProvisioningStyle = Automatic;
};
F58A3E621E66B5410086E0EF = {
CreatedOnToolsVersion = 8.2.1;
- ProvisioningStyle = Manual;
+ ProvisioningStyle = Automatic;
};
F5BE15241E713E2100F6FBEA = {
CreatedOnToolsVersion = 8.2.1;
@@ -482,8 +531,8 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- F56CEC4B1E67430000E2FACA /* Assets.xcassets in Resources */,
- F58A3EAA1E66BD5A0086E0EF /* applications.json in Resources */,
+ E1399753213F6ECD00689E6F /* Assets.xcassets in Resources */,
+ E1399752213F6EC300689E6F /* applications.json in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -491,12 +540,13 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- F58A3E951E66B62F0086E0EF /* applications.json in Resources */,
- F58A3E961E66B62F0086E0EF /* Assets.xcassets in Resources */,
- F58A3E991E66B62F0086E0EF /* Lato-Regular.ttf in Resources */,
- F58A3E9C1E66B62F0086E0EF /* LaunchScreen.storyboard in Resources */,
- F58A3E981E66B62F0086E0EF /* IdealSans-Book-Pro.otf in Resources */,
- F58A3EA51E66B6D70086E0EF /* Storyboard.storyboard in Resources */,
+ E14E1DA1213E4F2C00647A29 /* LaunchScreen.storyboard in Resources */,
+ E14E1DA8213E4F2C00647A29 /* Lato-Regular.ttf in Resources */,
+ E14E1DA2213E4F2C00647A29 /* Storyboard.storyboard in Resources */,
+ E1DB652E2142009D0083EDBE /* NoApplication.png in Resources */,
+ E14E1D9F213E4F2C00647A29 /* Assets.xcassets in Resources */,
+ E14E1DA7213E4F2C00647A29 /* IdealSans-Book-Pro.otf in Resources */,
+ E14E1D9D213E4F2C00647A29 /* applications.json in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -504,11 +554,11 @@
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- F5BE15371E713E2100F6FBEA /* LaunchScreen.storyboard in Resources */,
- F5BE15521E713E9B00F6FBEA /* Images.xcassets in Resources */,
- F5BE154C1E713E9300F6FBEA /* colors.json in Resources */,
- F5BE15341E713E2100F6FBEA /* Assets.xcassets in Resources */,
- F5BE15561E713EC800F6FBEA /* Storyboard.storyboard in Resources */,
+ E14E1D7D213E4F1B00647A29 /* LaunchScreen.storyboard in Resources */,
+ E1DB6530214203BF0083EDBE /* NoColor.png in Resources */,
+ E14E1D7E213E4F1B00647A29 /* Storyboard.storyboard in Resources */,
+ E14E1D7A213E4F1B00647A29 /* Assets.xcassets in Resources */,
+ E14E1D78213E4F1B00647A29 /* colors.json in Resources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -575,10 +625,10 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- F58A3EAB1E66BD5D0086E0EF /* Application.m in Sources */,
- F58A3EAD1E66BF270086E0EF /* UIColor+Hexadecimal.m in Sources */,
+ E1399751213F6EAB00689E6F /* DetailViewController.m in Sources */,
+ E1399750213F6E9A00689E6F /* Application.m in Sources */,
+ E139974F213F6E8A00689E6F /* UIColor+Hexadecimal.m in Sources */,
F58A3E411E66AEE90086E0EF /* ApplicationsSnapshotTests.m in Sources */,
- F58A3EAC1E66BD620086E0EF /* DetailViewController.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -586,12 +636,12 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- F58A3E931E66B62F0086E0EF /* Application.m in Sources */,
- F58A3E9A1E66B62F0086E0EF /* MainViewController.m in Sources */,
- F58A3EA81E66B6F10086E0EF /* AppDelegate.m in Sources */,
- F58A3EA01E66B62F0086E0EF /* UIColor+Hexadecimal.m in Sources */,
- F58A3E9F1E66B62F0086E0EF /* main.m in Sources */,
- F58A3E971E66B62F0086E0EF /* DetailViewController.m in Sources */,
+ E14E1D9E213E4F2C00647A29 /* Application.m in Sources */,
+ E14E1DA3213E4F2C00647A29 /* MainViewController.m in Sources */,
+ E14E1DA6213E4F2C00647A29 /* AppDelegate.m in Sources */,
+ E14E1DA5213E4F2C00647A29 /* UIColor+Hexadecimal.m in Sources */,
+ E14E1DA4213E4F2C00647A29 /* main.m in Sources */,
+ E14E1DA0213E4F2C00647A29 /* DetailViewController.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -599,57 +649,78 @@
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- F5BE154A1E713E9300F6FBEA /* CollectionViewController.m in Sources */,
- F5BE154B1E713E9300F6FBEA /* Color.m in Sources */,
- F5BE154D1E713E9300F6FBEA /* Palette.m in Sources */,
- F5BE15501E713E9300F6FBEA /* TableViewController.m in Sources */,
- F5BE154E1E713E9300F6FBEA /* UIColor+Hex.m in Sources */,
- F5BE152C1E713E2100F6FBEA /* AppDelegate.m in Sources */,
- F5BE154F1E713E9300F6FBEA /* SearchViewController.m in Sources */,
- F5BE15291E713E2100F6FBEA /* main.m in Sources */,
+ E14E1D81213E4F1B00647A29 /* CollectionViewController.m in Sources */,
+ E14E1D7C213E4F1B00647A29 /* DetailViewController.m in Sources */,
+ E14E1D79213E4F1B00647A29 /* Color.m in Sources */,
+ E14E1D76213E4F1B00647A29 /* Palette.m in Sources */,
+ E18BE440213FAB9C00D0AD21 /* FirstContainerController.m in Sources */,
+ E14E1D82213E4F1B00647A29 /* TableViewController.m in Sources */,
+ E14E1D7B213E4F1B00647A29 /* SearchViewController.m in Sources */,
+ E14E1D7F213E4F1B00647A29 /* main.m in Sources */,
+ E18BE443213FABCF00D0AD21 /* SecondContainerController.m in Sources */,
+ E14E1D77213E4F1B00647A29 /* UIColor+Hex.m in Sources */,
+ E14E1D80213E4F1B00647A29 /* AppDelegate.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
- F58A3E3E1E66AEE90086E0EF /* PBXTargetDependency */ = {
+ E1075A1D216451F10037C940 /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = F58A3E621E66B5410086E0EF /* Applications */;
+ targetProxy = E1075A1C216451F10037C940 /* PBXContainerItemProxy */;
+ };
+ E108712221644A7C0023FC5E /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = F58A3E311E66AEE90086E0EF /* DZNEmptyDataSet */;
- targetProxy = F58A3E3D1E66AEE90086E0EF /* PBXContainerItemProxy */;
+ targetProxy = E108712121644A7C0023FC5E /* PBXContainerItemProxy */;
};
- F5BE15201E713A7100F6FBEA /* PBXTargetDependency */ = {
+ E108712721644A9B0023FC5E /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
- target = F58A3E621E66B5410086E0EF /* Applications */;
- targetProxy = F5BE151F1E713A7100F6FBEA /* PBXContainerItemProxy */;
+ target = F58A3E311E66AEE90086E0EF /* DZNEmptyDataSet */;
+ targetProxy = E108712621644A9B0023FC5E /* PBXContainerItemProxy */;
+ };
+ F58A3E3E1E66AEE90086E0EF /* PBXTargetDependency */ = {
+ isa = PBXTargetDependency;
+ target = F58A3E311E66AEE90086E0EF /* DZNEmptyDataSet */;
+ targetProxy = F58A3E3D1E66AEE90086E0EF /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin PBXVariantGroup section */
- F58A3E8B1E66B62F0086E0EF /* LaunchScreen.storyboard */ = {
+ E14E1D6B213E4F1B00647A29 /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
- F58A3E8C1E66B62F0086E0EF /* Base */,
+ E14E1D6C213E4F1B00647A29 /* Base */,
);
name = LaunchScreen.storyboard;
sourceTree = "";
};
- F58A3E8D1E66B62F0086E0EF /* InfoPlist.strings */ = {
+ E14E1D6D213E4F1B00647A29 /* Storyboard.storyboard */ = {
isa = PBXVariantGroup;
children = (
- F58A3E8E1E66B62F0086E0EF /* en */,
+ E14E1D6E213E4F1B00647A29 /* Base */,
);
- name = InfoPlist.strings;
+ name = Storyboard.storyboard;
sourceTree = "";
};
- F5BE15351E713E2100F6FBEA /* LaunchScreen.storyboard */ = {
+ E14E1D8D213E4F2C00647A29 /* LaunchScreen.storyboard */ = {
isa = PBXVariantGroup;
children = (
- F5BE15361E713E2100F6FBEA /* Base */,
+ E14E1D8E213E4F2C00647A29 /* Base */,
);
name = LaunchScreen.storyboard;
sourceTree = "";
};
+ E14E1D8F213E4F2C00647A29 /* Storyboard.storyboard */ = {
+ isa = PBXVariantGroup;
+ children = (
+ E14E1D90213E4F2C00647A29 /* Base */,
+ );
+ name = Storyboard.storyboard;
+ sourceTree = "";
+ };
/* End PBXVariantGroup section */
/* Begin XCBuildConfiguration section */
@@ -666,6 +737,7 @@
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
@@ -673,6 +745,7 @@
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
@@ -700,7 +773,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
@@ -723,6 +796,7 @@
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
+ CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
@@ -730,6 +804,7 @@
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
+ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
@@ -751,7 +826,7 @@
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
MTL_ENABLE_DEBUG_INFO = NO;
SDKROOT = iphoneos;
TARGETED_DEVICE_FAMILY = "1,2";
@@ -764,7 +839,8 @@
F58A3E471E66AEE90086E0EF /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
- CODE_SIGN_IDENTITY = "";
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ CODE_SIGN_STYLE = Automatic;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = "";
DYLIB_COMPATIBILITY_VERSION = 1;
@@ -775,6 +851,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.dzn.DZNEmptyDataSet;
PRODUCT_NAME = "$(TARGET_NAME)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
SKIP_INSTALL = YES;
};
name = Debug;
@@ -782,7 +859,8 @@
F58A3E481E66AEE90086E0EF /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
- CODE_SIGN_IDENTITY = "";
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ CODE_SIGN_STYLE = Automatic;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = "";
DYLIB_COMPATIBILITY_VERSION = 1;
@@ -793,6 +871,7 @@
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.dzn.DZNEmptyDataSet;
PRODUCT_NAME = "$(TARGET_NAME)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
SKIP_INSTALL = YES;
};
name = Release;
@@ -802,11 +881,14 @@
baseConfigurationReference = 52A7392318BDCC558DB8399F /* Pods-DZNEmptyDataSetTests.debug.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = "";
INFOPLIST_FILE = DZNEmptyDataSetTests/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator";
PRODUCT_BUNDLE_IDENTIFIER = com.dzn.DZNEmptyDataSetTests;
PRODUCT_NAME = "$(TARGET_NAME)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
};
name = Debug;
};
@@ -815,11 +897,14 @@
baseConfigurationReference = 273E51E5FA96821F8F582949 /* Pods-DZNEmptyDataSetTests.release.xcconfig */;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = "";
INFOPLIST_FILE = DZNEmptyDataSetTests/Info.plist;
- LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
+ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphonesimulator";
PRODUCT_BUNDLE_IDENTIFIER = com.dzn.DZNEmptyDataSetTests;
PRODUCT_NAME = "$(TARGET_NAME)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
};
name = Release;
};
@@ -827,13 +912,15 @@
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "LaunchImage-3";
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = "";
- INFOPLIST_FILE = "$(SRCROOT)/Applications/Supporting Files/Info.plist";
- IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ INFOPLIST_FILE = "$(SRCROOT)/Applications/Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.dzn.Applications;
PRODUCT_NAME = "$(TARGET_NAME)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
};
name = Debug;
};
@@ -841,13 +928,15 @@
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
- ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = "LaunchImage-3";
+ CODE_SIGN_IDENTITY = "iPhone Developer";
+ CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = "";
- INFOPLIST_FILE = "$(SRCROOT)/Applications/Supporting Files/Info.plist";
- IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ INFOPLIST_FILE = "$(SRCROOT)/Applications/Info.plist";
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.dzn.Applications;
PRODUCT_NAME = "$(TARGET_NAME)";
+ PROVISIONING_PROFILE_SPECIFIER = "";
};
name = Release;
};
@@ -855,8 +944,9 @@
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ DEVELOPMENT_TEAM = "";
INFOPLIST_FILE = Colors/Info.plist;
- IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.dzn.Colors;
PRODUCT_NAME = "$(TARGET_NAME)";
@@ -867,8 +957,9 @@
isa = XCBuildConfiguration;
buildSettings = {
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+ DEVELOPMENT_TEAM = "";
INFOPLIST_FILE = Colors/Info.plist;
- IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
PRODUCT_BUNDLE_IDENTIFIER = com.dzn.Colors;
PRODUCT_NAME = "$(TARGET_NAME)";
diff --git a/DZNEmptyDataSet/DZNEmptyDataSet.xcodeproj/xcshareddata/xcschemes/DZNEmptyDataSet.xcscheme b/DZNEmptyDataSet/DZNEmptyDataSet.xcodeproj/xcshareddata/xcschemes/DZNEmptyDataSet.xcscheme
index 67b2997d..cd5f7e21 100644
--- a/DZNEmptyDataSet/DZNEmptyDataSet.xcodeproj/xcshareddata/xcschemes/DZNEmptyDataSet.xcscheme
+++ b/DZNEmptyDataSet/DZNEmptyDataSet.xcodeproj/xcshareddata/xcschemes/DZNEmptyDataSet.xcscheme
@@ -1,6 +1,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/DZNEmptyDataSet/DZNEmptyDataSet.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/DZNEmptyDataSet/DZNEmptyDataSet.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
new file mode 100644
index 00000000..18d98100
--- /dev/null
+++ b/DZNEmptyDataSet/DZNEmptyDataSet.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
@@ -0,0 +1,8 @@
+
+
+
+
+ IDEDidComputeMac32BitWarning
+
+
+
diff --git a/DZNEmptyDataSet/DZNEmptyDataSetTests/ApplicationsSnapshotTests.m b/DZNEmptyDataSet/DZNEmptyDataSetTests/ApplicationsSnapshotTests.m
index ae9dc62a..516a040a 100644
--- a/DZNEmptyDataSet/DZNEmptyDataSetTests/ApplicationsSnapshotTests.m
+++ b/DZNEmptyDataSet/DZNEmptyDataSetTests/ApplicationsSnapshotTests.m
@@ -23,14 +23,18 @@ - (void)setUp {
self.recordMode = NO;
// Snaphot tests are not yet configured to be running for multiple hardware configuration (device type, system version, screen density, etc.).
- // We make sure tests are only ran for @2x iPhone simulators, with iOS 10 or above.
+ // We make sure tests are only ran for iPhone 8 simulator, with iOS 12 or compatible.
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
UIDevice *device = [UIDevice currentDevice];
UIScreen *screen = [UIScreen mainScreen];
-
+ CGFloat width = screen.bounds.size.width;
+ CGFloat height = screen.bounds.size.height;
+ CGFloat minLength = MIN(width,height);
+ CGFloat maxLength = MAX(width,height);
// Using XCTAssert instead of NSAssert since these do not cause the tests to fail.
XCTAssert([device.model containsString:@"iPhone"], @"Please run snapshot tests on an iPhone.");
+ XCTAssert((minLength==375)&&(maxLength==667), @"Please run snapshot tests on an iPhone 6, 6s, 7, or 8.");
XCTAssert([device.systemVersion doubleValue] > 11.0, @"Please run snapshot tests on a simulator with iOS 11.0 or above.");
XCTAssert(screen.scale == 2.0, @"Please run snapshot tests on a @2x density simulator.");
});
@@ -65,6 +69,7 @@ - (NSString *)getReferenceImageDirectoryWithDefault:(NSString *)dir
- (void)verifyView:(UIView *)view withIdentifier:(NSString *)identifier
{
+ NSLog(@"%@", identifier);
FBSnapshotVerifyViewWithOptions(view, identifier, FBSnapshotTestCaseDefaultSuffixes(), 0);
}
diff --git a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_500px@2x.png b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_500px@2x.png
index a4f7e84b..35ac6a8f 100644
Binary files a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_500px@2x.png and b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_500px@2x.png differ
diff --git a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Airbnb@2x.png b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Airbnb@2x.png
index a88f80f8..afd5fa87 100644
Binary files a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Airbnb@2x.png and b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Airbnb@2x.png differ
diff --git a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_AppStore@2x.png b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_AppStore@2x.png
index d4f49efd..a9704c8e 100644
Binary files a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_AppStore@2x.png and b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_AppStore@2x.png differ
diff --git a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Camera@2x.png b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Camera@2x.png
index ba75636c..a0df944f 100644
Binary files a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Camera@2x.png and b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Camera@2x.png differ
diff --git a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Dropbox@2x.png b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Dropbox@2x.png
index f5f4dffb..9041c573 100644
Binary files a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Dropbox@2x.png and b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Dropbox@2x.png differ
diff --git a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Facebook@2x.png b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Facebook@2x.png
index e656a028..f022e91e 100644
Binary files a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Facebook@2x.png and b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Facebook@2x.png differ
diff --git a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Fancy@2x.png b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Fancy@2x.png
index c4a00a37..1d8ead12 100644
Binary files a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Fancy@2x.png and b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Fancy@2x.png differ
diff --git a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Foursquare@2x.png b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Foursquare@2x.png
index a14cc73a..e0ee083f 100644
Binary files a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Foursquare@2x.png and b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Foursquare@2x.png differ
diff --git a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Instagram@2x.png b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Instagram@2x.png
index 5182bbb5..50c06751 100644
Binary files a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Instagram@2x.png and b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Instagram@2x.png differ
diff --git a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Kickstarter@2x.png b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Kickstarter@2x.png
index cc25a7d4..e0093776 100644
Binary files a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Kickstarter@2x.png and b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Kickstarter@2x.png differ
diff --git a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Path@2x.png b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Path@2x.png
index a804f2a2..4a63370f 100644
Binary files a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Path@2x.png and b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Path@2x.png differ
diff --git a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Photos@2x.png b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Photos@2x.png
index f43d18c8..6eb92515 100644
Binary files a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Photos@2x.png and b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Photos@2x.png differ
diff --git a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Pinterest@2x.png b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Pinterest@2x.png
index 690930cf..25d7ebfa 100644
Binary files a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Pinterest@2x.png and b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Pinterest@2x.png differ
diff --git a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Podcasts@2x.png b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Podcasts@2x.png
index 4267d286..1fe5190b 100644
Binary files a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Podcasts@2x.png and b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Podcasts@2x.png differ
diff --git a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Remote@2x.png b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Remote@2x.png
index 0fff79f8..077f114a 100644
Binary files a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Remote@2x.png and b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Remote@2x.png differ
diff --git a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Safari@2x.png b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Safari@2x.png
index 9b2a53dc..ce029d8c 100644
Binary files a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Safari@2x.png and b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Safari@2x.png differ
diff --git a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Slack@2x.png b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Slack@2x.png
index 97884afd..fbaf1fe4 100644
Binary files a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Slack@2x.png and b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Slack@2x.png differ
diff --git a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Tumblr@2x.png b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Tumblr@2x.png
index d3b387ef..2acaf212 100644
Binary files a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Tumblr@2x.png and b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Tumblr@2x.png differ
diff --git a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Twitter@2x.png b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Twitter@2x.png
index ef0072ca..10e21fbf 100644
Binary files a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Twitter@2x.png and b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Twitter@2x.png differ
diff --git a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Vesper@2x.png b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Vesper@2x.png
index 0b5c1e67..17cea4b6 100644
Binary files a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Vesper@2x.png and b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Vesper@2x.png differ
diff --git a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Videos@2x.png b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Videos@2x.png
index a754617b..12d4383c 100644
Binary files a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Videos@2x.png and b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Videos@2x.png differ
diff --git a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Vine@2x.png b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Vine@2x.png
index 084804dc..fa08861c 100644
Binary files a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Vine@2x.png and b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_Vine@2x.png differ
diff --git a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_WWDC@2x.png b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_WWDC@2x.png
index f6ad56eb..7b94b94a 100644
Binary files a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_WWDC@2x.png and b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_WWDC@2x.png differ
diff --git a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_WhatsApp@2x.png b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_WhatsApp@2x.png
index 1e4a19bb..be3ace3b 100644
Binary files a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_WhatsApp@2x.png and b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_WhatsApp@2x.png differ
diff --git a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_iCloud@2x.png b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_iCloud@2x.png
index da291cec..adb3da76 100644
Binary files a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_iCloud@2x.png and b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_iCloud@2x.png differ
diff --git a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_iTunes Connect@2x.png b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_iTunes Connect@2x.png
index 97a0a9d2..a0779b4d 100644
Binary files a/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_iTunes Connect@2x.png and b/DZNEmptyDataSet/DZNEmptyDataSetTests/ReferenceImages_64/ApplicationsSnapshotTests/testApplicationEmptyDataSets_iTunes Connect@2x.png differ
diff --git a/DZNEmptyDataSet/Podfile b/DZNEmptyDataSet/Podfile
index ab6394d1..f7b4617d 100644
--- a/DZNEmptyDataSet/Podfile
+++ b/DZNEmptyDataSet/Podfile
@@ -1,21 +1,20 @@
-platform :ios, '8.0'
+platform :ios, '9.0'
use_frameworks!
-inhibit_all_warnings!
+# inhibit_all_warnings!
workspace 'DZNEmptyDataSet.xcworkspace'
target 'DZNEmptyDataSetTests' do
project 'DZNEmptyDataSet.xcodeproj'
-
- pod 'FBSnapshotTestCase'
+ pod 'iOSSnapshotTestCase', '~> 4.0.0'
end
post_install do |installer_representation|
installer_representation.pods_project.targets.each do |target|
target.build_configurations.each do |config|
- # Forces all pods to be configured against Swift 3.0
- config.build_settings['SWIFT_VERSION'] = '3.0'
+ # Forces all pods to be configured against Swift 4.0
+ config.build_settings['SWIFT_VERSION'] = '4.0'
end
end
end
diff --git a/DZNEmptyDataSet/Podfile.lock b/DZNEmptyDataSet/Podfile.lock
index 61f95a3c..55e3ff1b 100644
--- a/DZNEmptyDataSet/Podfile.lock
+++ b/DZNEmptyDataSet/Podfile.lock
@@ -1,16 +1,16 @@
PODS:
- - FBSnapshotTestCase (2.1.4):
- - FBSnapshotTestCase/SwiftSupport (= 2.1.4)
- - FBSnapshotTestCase/Core (2.1.4)
- - FBSnapshotTestCase/SwiftSupport (2.1.4):
- - FBSnapshotTestCase/Core
+ - iOSSnapshotTestCase (4.0.0):
+ - iOSSnapshotTestCase/SwiftSupport (= 4.0.0)
+ - iOSSnapshotTestCase/Core (4.0.0)
+ - iOSSnapshotTestCase/SwiftSupport (4.0.0):
+ - iOSSnapshotTestCase/Core
DEPENDENCIES:
- - FBSnapshotTestCase
+ - iOSSnapshotTestCase (~> 4.0.0)
SPEC CHECKSUMS:
- FBSnapshotTestCase: '094f9f314decbabe373b87cc339bea235a63e07a'
+ iOSSnapshotTestCase: 711379b19f69a22c131527df862352c877c2773c
-PODFILE CHECKSUM: 23f23142a4039f5905874937cc9e8f0e7a21cad5
+PODFILE CHECKSUM: 7d5efd77852d0f48cbb5b4eebd5201dd245c8dd5
-COCOAPODS: 1.1.1
+COCOAPODS: 1.2.0
diff --git a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h b/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h
deleted file mode 100644
index eefe11ba..00000000
--- a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/*
- * Copyright (c) 2015, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#import
-
-@interface UIApplication (StrictKeyWindow)
-
-/**
- @return The receiver's @c keyWindow. Raises an assertion if @c nil.
- */
-- (UIWindow *)fb_strictKeyWindow;
-
-@end
diff --git a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m b/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m
deleted file mode 100644
index 0f7a0c25..00000000
--- a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) 2015, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#import
-
-@implementation UIApplication (StrictKeyWindow)
-
-- (UIWindow *)fb_strictKeyWindow
-{
- UIWindow *keyWindow = [UIApplication sharedApplication].keyWindow;
- if (!keyWindow) {
- [NSException raise:@"FBSnapshotTestCaseNilKeyWindowException"
- format:@"Snapshot tests must be hosted by an application with a key window. Please ensure your test"
- " host sets up a key window at launch (either via storyboards or programmatically) and doesn't"
- " do anything to remove it while snapshot tests are running."];
- }
- return keyWindow;
-}
-
-@end
diff --git a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.m b/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.m
deleted file mode 100644
index c997f578..00000000
--- a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.m
+++ /dev/null
@@ -1,134 +0,0 @@
-//
-// Created by Gabriel Handford on 3/1/09.
-// Copyright 2009-2013. All rights reserved.
-// Created by John Boiles on 10/20/11.
-// Copyright (c) 2011. All rights reserved
-// Modified by Felix Schulze on 2/11/13.
-// Copyright 2013. All rights reserved.
-//
-// Permission is hereby granted, free of charge, to any person
-// obtaining a copy of this software and associated documentation
-// files (the "Software"), to deal in the Software without
-// restriction, including without limitation the rights to use,
-// copy, modify, merge, publish, distribute, sublicense, and/or sell
-// copies of the Software, and to permit persons to whom the
-// Software is furnished to do so, subject to the following
-// conditions:
-//
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-//
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
-// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
-// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
-// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
-// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
-// OTHER DEALINGS IN THE SOFTWARE.
-//
-
-#import
-
-// This makes debugging much more fun
-typedef union {
- uint32_t raw;
- unsigned char bytes[4];
- struct {
- char red;
- char green;
- char blue;
- char alpha;
- } __attribute__ ((packed)) pixels;
-} FBComparePixel;
-
-@implementation UIImage (Compare)
-
-- (BOOL)fb_compareWithImage:(UIImage *)image tolerance:(CGFloat)tolerance
-{
- NSAssert(CGSizeEqualToSize(self.size, image.size), @"Images must be same size.");
-
- CGSize referenceImageSize = CGSizeMake(CGImageGetWidth(self.CGImage), CGImageGetHeight(self.CGImage));
- CGSize imageSize = CGSizeMake(CGImageGetWidth(image.CGImage), CGImageGetHeight(image.CGImage));
-
- // The images have the equal size, so we could use the smallest amount of bytes because of byte padding
- size_t minBytesPerRow = MIN(CGImageGetBytesPerRow(self.CGImage), CGImageGetBytesPerRow(image.CGImage));
- size_t referenceImageSizeBytes = referenceImageSize.height * minBytesPerRow;
- void *referenceImagePixels = calloc(1, referenceImageSizeBytes);
- void *imagePixels = calloc(1, referenceImageSizeBytes);
-
- if (!referenceImagePixels || !imagePixels) {
- free(referenceImagePixels);
- free(imagePixels);
- return NO;
- }
-
- CGContextRef referenceImageContext = CGBitmapContextCreate(referenceImagePixels,
- referenceImageSize.width,
- referenceImageSize.height,
- CGImageGetBitsPerComponent(self.CGImage),
- minBytesPerRow,
- CGImageGetColorSpace(self.CGImage),
- (CGBitmapInfo)kCGImageAlphaPremultipliedLast
- );
- CGContextRef imageContext = CGBitmapContextCreate(imagePixels,
- imageSize.width,
- imageSize.height,
- CGImageGetBitsPerComponent(image.CGImage),
- minBytesPerRow,
- CGImageGetColorSpace(image.CGImage),
- (CGBitmapInfo)kCGImageAlphaPremultipliedLast
- );
-
- if (!referenceImageContext || !imageContext) {
- CGContextRelease(referenceImageContext);
- CGContextRelease(imageContext);
- free(referenceImagePixels);
- free(imagePixels);
- return NO;
- }
-
- CGContextDrawImage(referenceImageContext, CGRectMake(0, 0, referenceImageSize.width, referenceImageSize.height), self.CGImage);
- CGContextDrawImage(imageContext, CGRectMake(0, 0, imageSize.width, imageSize.height), image.CGImage);
-
- CGContextRelease(referenceImageContext);
- CGContextRelease(imageContext);
-
- BOOL imageEqual = YES;
-
- // Do a fast compare if we can
- if (tolerance == 0) {
- imageEqual = (memcmp(referenceImagePixels, imagePixels, referenceImageSizeBytes) == 0);
- } else {
- // Go through each pixel in turn and see if it is different
- const NSInteger pixelCount = referenceImageSize.width * referenceImageSize.height;
-
- FBComparePixel *p1 = referenceImagePixels;
- FBComparePixel *p2 = imagePixels;
-
- NSInteger numDiffPixels = 0;
- for (int n = 0; n < pixelCount; ++n) {
- // If this pixel is different, increment the pixel diff count and see
- // if we have hit our limit.
- if (p1->raw != p2->raw) {
- numDiffPixels ++;
-
- CGFloat percent = (CGFloat)numDiffPixels / pixelCount;
- if (percent > tolerance) {
- imageEqual = NO;
- break;
- }
- }
-
- p1++;
- p2++;
- }
- }
-
- free(referenceImagePixels);
- free(imagePixels);
-
- return imageEqual;
-}
-
-@end
diff --git a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h b/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h
deleted file mode 100644
index b0d5b26b..00000000
--- a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (c) 2015, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#import
-
-@interface UIImage (Snapshot)
-
-/// Uses renderInContext: to get a snapshot of the layer.
-+ (UIImage *)fb_imageForLayer:(CALayer *)layer;
-
-/// Uses renderInContext: to get a snapshot of the view layer.
-+ (UIImage *)fb_imageForViewLayer:(UIView *)view;
-
-/// Uses drawViewHierarchyInRect: to get a snapshot of the view and adds the view into a window if needed.
-+ (UIImage *)fb_imageForView:(UIView *)view;
-
-@end
diff --git a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.m b/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.m
deleted file mode 100644
index 968091b9..00000000
--- a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.m
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 2015, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#import
-#import
-
-@implementation UIImage (Snapshot)
-
-+ (UIImage *)fb_imageForLayer:(CALayer *)layer
-{
- CGRect bounds = layer.bounds;
- NSAssert1(CGRectGetWidth(bounds), @"Zero width for layer %@", layer);
- NSAssert1(CGRectGetHeight(bounds), @"Zero height for layer %@", layer);
-
- UIGraphicsBeginImageContextWithOptions(bounds.size, NO, 0);
- CGContextRef context = UIGraphicsGetCurrentContext();
- NSAssert1(context, @"Could not generate context for layer %@", layer);
- CGContextSaveGState(context);
- [layer layoutIfNeeded];
- [layer renderInContext:context];
- CGContextRestoreGState(context);
-
- UIImage *snapshot = UIGraphicsGetImageFromCurrentImageContext();
- UIGraphicsEndImageContext();
- return snapshot;
-}
-
-+ (UIImage *)fb_imageForViewLayer:(UIView *)view
-{
- [view layoutIfNeeded];
- return [self fb_imageForLayer:view.layer];
-}
-
-+ (UIImage *)fb_imageForView:(UIView *)view
-{
- CGRect bounds = view.bounds;
- NSAssert1(CGRectGetWidth(bounds), @"Zero width for view %@", view);
- NSAssert1(CGRectGetHeight(bounds), @"Zero height for view %@", view);
-
- // If the input view is already a UIWindow, then just use that. Otherwise wrap in a window.
- UIWindow *window = [view isKindOfClass:[UIWindow class]] ? (UIWindow *)view : view.window;
- BOOL removeFromSuperview = NO;
- if (!window) {
- window = [[UIApplication sharedApplication] fb_strictKeyWindow];
- }
-
- if (!view.window && view != window) {
- [window addSubview:view];
- removeFromSuperview = YES;
- }
-
- UIGraphicsBeginImageContextWithOptions(bounds.size, NO, 0);
- [view layoutIfNeeded];
- [view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES];
-
- UIImage *snapshot = UIGraphicsGetImageFromCurrentImageContext();
- UIGraphicsEndImageContext();
-
- if (removeFromSuperview) {
- [view removeFromSuperview];
- }
-
- return snapshot;
-}
-
-@end
diff --git a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m b/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m
deleted file mode 100644
index f44458ce..00000000
--- a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * Copyright (c) 2015, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#import
-#import
-
-@implementation FBSnapshotTestCase
-{
- FBSnapshotTestController *_snapshotController;
-}
-
-#pragma mark - Overrides
-
-- (void)setUp
-{
- [super setUp];
- _snapshotController = [[FBSnapshotTestController alloc] initWithTestName:NSStringFromClass([self class])];
-}
-
-- (void)tearDown
-{
- _snapshotController = nil;
- [super tearDown];
-}
-
-- (BOOL)recordMode
-{
- return _snapshotController.recordMode;
-}
-
-- (void)setRecordMode:(BOOL)recordMode
-{
- NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__);
- _snapshotController.recordMode = recordMode;
-}
-
-- (BOOL)isDeviceAgnostic
-{
- return _snapshotController.deviceAgnostic;
-}
-
-- (void)setDeviceAgnostic:(BOOL)deviceAgnostic
-{
- NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__);
- _snapshotController.deviceAgnostic = deviceAgnostic;
-}
-
-- (BOOL)usesDrawViewHierarchyInRect
-{
- return _snapshotController.usesDrawViewHierarchyInRect;
-}
-
-- (void)setUsesDrawViewHierarchyInRect:(BOOL)usesDrawViewHierarchyInRect
-{
- NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__);
- _snapshotController.usesDrawViewHierarchyInRect = usesDrawViewHierarchyInRect;
-}
-
-#pragma mark - Public API
-
-- (NSString *)snapshotVerifyViewOrLayer:(id)viewOrLayer
- identifier:(NSString *)identifier
- suffixes:(NSOrderedSet *)suffixes
- tolerance:(CGFloat)tolerance
-{
- if (nil == viewOrLayer) {
- return @"Object to be snapshotted must not be nil";
- }
- NSString *referenceImageDirectory = [self getReferenceImageDirectoryWithDefault:(@ FB_REFERENCE_IMAGE_DIR)];
- if (referenceImageDirectory == nil) {
- return @"Missing value for referenceImagesDirectory - Set FB_REFERENCE_IMAGE_DIR as Environment variable in your scheme.";
- }
- if (suffixes.count == 0) {
- return [NSString stringWithFormat:@"Suffixes set cannot be empty %@", suffixes];
- }
-
- BOOL testSuccess = NO;
- NSError *error = nil;
- NSMutableArray *errors = [NSMutableArray array];
-
- if (self.recordMode) {
- NSString *referenceImagesDirectory = [NSString stringWithFormat:@"%@%@", referenceImageDirectory, suffixes.firstObject];
- BOOL referenceImageSaved = [self _compareSnapshotOfViewOrLayer:viewOrLayer referenceImagesDirectory:referenceImagesDirectory identifier:(identifier) tolerance:tolerance error:&error];
- if (!referenceImageSaved) {
- [errors addObject:error];
- }
- } else {
- for (NSString *suffix in suffixes) {
- NSString *referenceImagesDirectory = [NSString stringWithFormat:@"%@%@", referenceImageDirectory, suffix];
- BOOL referenceImageAvailable = [self referenceImageRecordedInDirectory:referenceImagesDirectory identifier:(identifier) error:&error];
-
- if (referenceImageAvailable) {
- BOOL comparisonSuccess = [self _compareSnapshotOfViewOrLayer:viewOrLayer referenceImagesDirectory:referenceImagesDirectory identifier:identifier tolerance:tolerance error:&error];
- [errors removeAllObjects];
- if (comparisonSuccess) {
- testSuccess = YES;
- break;
- } else {
- [errors addObject:error];
- }
- } else {
- [errors addObject:error];
- }
- }
- }
-
- if (!testSuccess) {
- return [NSString stringWithFormat:@"Snapshot comparison failed: %@", errors.firstObject];
- }
- if (self.recordMode) {
- return @"Test ran in record mode. Reference image is now saved. Disable record mode to perform an actual snapshot comparison!";
- }
-
- return nil;
-}
-
-- (BOOL)compareSnapshotOfLayer:(CALayer *)layer
- referenceImagesDirectory:(NSString *)referenceImagesDirectory
- identifier:(NSString *)identifier
- tolerance:(CGFloat)tolerance
- error:(NSError **)errorPtr
-{
- return [self _compareSnapshotOfViewOrLayer:layer
- referenceImagesDirectory:referenceImagesDirectory
- identifier:identifier
- tolerance:tolerance
- error:errorPtr];
-}
-
-- (BOOL)compareSnapshotOfView:(UIView *)view
- referenceImagesDirectory:(NSString *)referenceImagesDirectory
- identifier:(NSString *)identifier
- tolerance:(CGFloat)tolerance
- error:(NSError **)errorPtr
-{
- return [self _compareSnapshotOfViewOrLayer:view
- referenceImagesDirectory:referenceImagesDirectory
- identifier:identifier
- tolerance:tolerance
- error:errorPtr];
-}
-
-- (BOOL)referenceImageRecordedInDirectory:(NSString *)referenceImagesDirectory
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr
-{
- NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__);
- _snapshotController.referenceImagesDirectory = referenceImagesDirectory;
- UIImage *referenceImage = [_snapshotController referenceImageForSelector:self.invocation.selector
- identifier:identifier
- error:errorPtr];
-
- return (referenceImage != nil);
-}
-
-- (NSString *)getReferenceImageDirectoryWithDefault:(NSString *)dir
-{
- NSString *envReferenceImageDirectory = [NSProcessInfo processInfo].environment[@"FB_REFERENCE_IMAGE_DIR"];
- if (envReferenceImageDirectory) {
- return envReferenceImageDirectory;
- }
- if (dir && dir.length > 0) {
- return dir;
- }
- return [[NSBundle bundleForClass:self.class].resourcePath stringByAppendingPathComponent:@"ReferenceImages"];
-}
-
-
-#pragma mark - Private API
-
-- (BOOL)_compareSnapshotOfViewOrLayer:(id)viewOrLayer
- referenceImagesDirectory:(NSString *)referenceImagesDirectory
- identifier:(NSString *)identifier
- tolerance:(CGFloat)tolerance
- error:(NSError **)errorPtr
-{
- _snapshotController.referenceImagesDirectory = referenceImagesDirectory;
- return [_snapshotController compareSnapshotOfViewOrLayer:viewOrLayer
- selector:self.invocation.selector
- identifier:identifier
- tolerance:tolerance
- error:errorPtr];
-}
-
-@end
diff --git a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h b/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h
deleted file mode 100644
index e04acf2f..00000000
--- a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 2015, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#import
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/**
- Returns a Boolean value that indicates whether the snapshot test is running in 64Bit.
- This method is a convenience for creating the suffixes set based on the architecture
- that the test is running.
-
- @returns @c YES if the test is running in 64bit, otherwise @c NO.
- */
-BOOL FBSnapshotTestCaseIs64Bit(void);
-
-/**
- Returns a default set of strings that is used to append a suffix based on the architectures.
- @warning Do not modify this function, you can create your own and use it with @c FBSnapshotVerifyViewWithOptions()
-
- @returns An @c NSOrderedSet object containing strings that are appended to the reference images directory.
- */
-NSOrderedSet *FBSnapshotTestCaseDefaultSuffixes(void);
-
-/**
- Returns a fully «normalized» file name.
- Strips punctuation and spaces and replaces them with @c _. Also appends the device model, running OS and screen size to the file name.
-
- @returns An @c NSString object containing the passed @c fileName with the device model, OS and screen size appended at the end.
- */
-NSString *FBDeviceAgnosticNormalizedFileName(NSString *fileName);
-
-#ifdef __cplusplus
-}
-#endif
diff --git a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m b/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m
deleted file mode 100644
index d8709d8b..00000000
--- a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 2015, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#import
-#import
-#import
-
-BOOL FBSnapshotTestCaseIs64Bit(void)
-{
-#if __LP64__
- return YES;
-#else
- return NO;
-#endif
-}
-
-NSOrderedSet *FBSnapshotTestCaseDefaultSuffixes(void)
-{
- NSMutableOrderedSet *suffixesSet = [[NSMutableOrderedSet alloc] init];
- [suffixesSet addObject:@"_32"];
- [suffixesSet addObject:@"_64"];
- if (FBSnapshotTestCaseIs64Bit()) {
- return [suffixesSet reversedOrderedSet];
- }
- return [suffixesSet copy];
-}
-
-NSString *FBDeviceAgnosticNormalizedFileName(NSString *fileName)
-{
- UIDevice *device = [UIDevice currentDevice];
- UIWindow *keyWindow = [[UIApplication sharedApplication] fb_strictKeyWindow];
- CGSize screenSize = keyWindow.bounds.size;
- NSString *os = device.systemVersion;
-
- fileName = [NSString stringWithFormat:@"%@_%@%@_%.0fx%.0f", fileName, device.model, os, screenSize.width, screenSize.height];
-
- NSMutableCharacterSet *invalidCharacters = [NSMutableCharacterSet new];
- [invalidCharacters formUnionWithCharacterSet:[NSCharacterSet whitespaceCharacterSet]];
- [invalidCharacters formUnionWithCharacterSet:[NSCharacterSet punctuationCharacterSet]];
- NSArray *validComponents = [fileName componentsSeparatedByCharactersInSet:invalidCharacters];
- fileName = [validComponents componentsJoinedByString:@"_"];
-
- return fileName;
-}
\ No newline at end of file
diff --git a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m b/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m
deleted file mode 100644
index 74c5a0a6..00000000
--- a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m
+++ /dev/null
@@ -1,358 +0,0 @@
-/*
- * Copyright (c) 2015, Facebook, Inc.
- * All rights reserved.
- *
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
- *
- */
-
-#import
-#import
-#import
-#import
-#import
-
-#import
-
-NSString *const FBSnapshotTestControllerErrorDomain = @"FBSnapshotTestControllerErrorDomain";
-NSString *const FBReferenceImageFilePathKey = @"FBReferenceImageFilePathKey";
-NSString *const FBReferenceImageKey = @"FBReferenceImageKey";
-NSString *const FBCapturedImageKey = @"FBCapturedImageKey";
-NSString *const FBDiffedImageKey = @"FBDiffedImageKey";
-
-typedef NS_ENUM(NSUInteger, FBTestSnapshotFileNameType) {
- FBTestSnapshotFileNameTypeReference,
- FBTestSnapshotFileNameTypeFailedReference,
- FBTestSnapshotFileNameTypeFailedTest,
- FBTestSnapshotFileNameTypeFailedTestDiff,
-};
-
-@implementation FBSnapshotTestController
-{
- NSString *_testName;
- NSFileManager *_fileManager;
-}
-
-#pragma mark - Initializers
-
-- (instancetype)initWithTestClass:(Class)testClass;
-{
- return [self initWithTestName:NSStringFromClass(testClass)];
-}
-
-- (instancetype)initWithTestName:(NSString *)testName
-{
- if (self = [super init]) {
- _testName = [testName copy];
- _deviceAgnostic = NO;
-
- _fileManager = [[NSFileManager alloc] init];
- }
- return self;
-}
-
-#pragma mark - Overrides
-
-- (NSString *)description
-{
- return [NSString stringWithFormat:@"%@ %@", [super description], _referenceImagesDirectory];
-}
-
-#pragma mark - Public API
-
-- (BOOL)compareSnapshotOfLayer:(CALayer *)layer
- selector:(SEL)selector
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr
-{
- return [self compareSnapshotOfViewOrLayer:layer
- selector:selector
- identifier:identifier
- tolerance:0
- error:errorPtr];
-}
-
-- (BOOL)compareSnapshotOfView:(UIView *)view
- selector:(SEL)selector
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr
-{
- return [self compareSnapshotOfViewOrLayer:view
- selector:selector
- identifier:identifier
- tolerance:0
- error:errorPtr];
-}
-
-- (BOOL)compareSnapshotOfViewOrLayer:(id)viewOrLayer
- selector:(SEL)selector
- identifier:(NSString *)identifier
- tolerance:(CGFloat)tolerance
- error:(NSError **)errorPtr
-{
- if (self.recordMode) {
- return [self _recordSnapshotOfViewOrLayer:viewOrLayer selector:selector identifier:identifier error:errorPtr];
- } else {
- return [self _performPixelComparisonWithViewOrLayer:viewOrLayer selector:selector identifier:identifier tolerance:tolerance error:errorPtr];
- }
-}
-
-- (UIImage *)referenceImageForSelector:(SEL)selector
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr
-{
- NSString *filePath = [self _referenceFilePathForSelector:selector identifier:identifier];
- UIImage *image = [UIImage imageWithContentsOfFile:filePath];
- if (nil == image && NULL != errorPtr) {
- BOOL exists = [_fileManager fileExistsAtPath:filePath];
- if (!exists) {
- *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain
- code:FBSnapshotTestControllerErrorCodeNeedsRecord
- userInfo:@{
- FBReferenceImageFilePathKey: filePath,
- NSLocalizedDescriptionKey: @"Unable to load reference image.",
- NSLocalizedFailureReasonErrorKey: @"Reference image not found. You need to run the test in record mode",
- }];
- } else {
- *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain
- code:FBSnapshotTestControllerErrorCodeUnknown
- userInfo:nil];
- }
- }
- return image;
-}
-
-- (BOOL)compareReferenceImage:(UIImage *)referenceImage
- toImage:(UIImage *)image
- tolerance:(CGFloat)tolerance
- error:(NSError **)errorPtr
-{
- BOOL sameImageDimensions = CGSizeEqualToSize(referenceImage.size, image.size);
- if (sameImageDimensions && [referenceImage fb_compareWithImage:image tolerance:tolerance]) {
- return YES;
- }
-
- if (NULL != errorPtr) {
- NSString *errorDescription = sameImageDimensions ? @"Images different" : @"Images different sizes";
- NSString *errorReason = sameImageDimensions ? [NSString stringWithFormat:@"image pixels differed by more than %.2f%% from the reference image", tolerance * 100]
- : [NSString stringWithFormat:@"referenceImage:%@, image:%@", NSStringFromCGSize(referenceImage.size), NSStringFromCGSize(image.size)];
- FBSnapshotTestControllerErrorCode errorCode = sameImageDimensions ? FBSnapshotTestControllerErrorCodeImagesDifferent : FBSnapshotTestControllerErrorCodeImagesDifferentSizes;
-
- *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain
- code:errorCode
- userInfo:@{
- NSLocalizedDescriptionKey: errorDescription,
- NSLocalizedFailureReasonErrorKey: errorReason,
- FBReferenceImageKey: referenceImage,
- FBCapturedImageKey: image,
- FBDiffedImageKey: [referenceImage fb_diffWithImage:image],
- }];
- }
- return NO;
-}
-
-- (BOOL)saveFailedReferenceImage:(UIImage *)referenceImage
- testImage:(UIImage *)testImage
- selector:(SEL)selector
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr
-{
- NSData *referencePNGData = UIImagePNGRepresentation(referenceImage);
- NSData *testPNGData = UIImagePNGRepresentation(testImage);
-
- NSString *referencePath = [self _failedFilePathForSelector:selector
- identifier:identifier
- fileNameType:FBTestSnapshotFileNameTypeFailedReference];
-
- NSError *creationError = nil;
- BOOL didCreateDir = [_fileManager createDirectoryAtPath:[referencePath stringByDeletingLastPathComponent]
- withIntermediateDirectories:YES
- attributes:nil
- error:&creationError];
- if (!didCreateDir) {
- if (NULL != errorPtr) {
- *errorPtr = creationError;
- }
- return NO;
- }
-
- if (![referencePNGData writeToFile:referencePath options:NSDataWritingAtomic error:errorPtr]) {
- return NO;
- }
-
- NSString *testPath = [self _failedFilePathForSelector:selector
- identifier:identifier
- fileNameType:FBTestSnapshotFileNameTypeFailedTest];
-
- if (![testPNGData writeToFile:testPath options:NSDataWritingAtomic error:errorPtr]) {
- return NO;
- }
-
- NSString *diffPath = [self _failedFilePathForSelector:selector
- identifier:identifier
- fileNameType:FBTestSnapshotFileNameTypeFailedTestDiff];
-
- UIImage *diffImage = [referenceImage fb_diffWithImage:testImage];
- NSData *diffImageData = UIImagePNGRepresentation(diffImage);
-
- if (![diffImageData writeToFile:diffPath options:NSDataWritingAtomic error:errorPtr]) {
- return NO;
- }
-
- NSLog(@"If you have Kaleidoscope installed you can run this command to see an image diff:\n"
- @"ksdiff \"%@\" \"%@\"", referencePath, testPath);
-
- return YES;
-}
-
-#pragma mark - Private API
-
-- (NSString *)_fileNameForSelector:(SEL)selector
- identifier:(NSString *)identifier
- fileNameType:(FBTestSnapshotFileNameType)fileNameType
-{
- NSString *fileName = nil;
- switch (fileNameType) {
- case FBTestSnapshotFileNameTypeFailedReference:
- fileName = @"reference_";
- break;
- case FBTestSnapshotFileNameTypeFailedTest:
- fileName = @"failed_";
- break;
- case FBTestSnapshotFileNameTypeFailedTestDiff:
- fileName = @"diff_";
- break;
- default:
- fileName = @"";
- break;
- }
- fileName = [fileName stringByAppendingString:NSStringFromSelector(selector)];
- if (0 < identifier.length) {
- fileName = [fileName stringByAppendingFormat:@"_%@", identifier];
- }
-
- if (self.isDeviceAgnostic) {
- fileName = FBDeviceAgnosticNormalizedFileName(fileName);
- }
-
- if ([[UIScreen mainScreen] scale] > 1) {
- fileName = [fileName stringByAppendingFormat:@"@%.fx", [[UIScreen mainScreen] scale]];
- }
- fileName = [fileName stringByAppendingPathExtension:@"png"];
- return fileName;
-}
-
-- (NSString *)_referenceFilePathForSelector:(SEL)selector
- identifier:(NSString *)identifier
-{
- NSString *fileName = [self _fileNameForSelector:selector
- identifier:identifier
- fileNameType:FBTestSnapshotFileNameTypeReference];
- NSString *filePath = [_referenceImagesDirectory stringByAppendingPathComponent:_testName];
- filePath = [filePath stringByAppendingPathComponent:fileName];
- return filePath;
-}
-
-- (NSString *)_failedFilePathForSelector:(SEL)selector
- identifier:(NSString *)identifier
- fileNameType:(FBTestSnapshotFileNameType)fileNameType
-{
- NSString *fileName = [self _fileNameForSelector:selector
- identifier:identifier
- fileNameType:fileNameType];
- NSString *folderPath = NSTemporaryDirectory();
- if (getenv("IMAGE_DIFF_DIR")) {
- folderPath = @(getenv("IMAGE_DIFF_DIR"));
- }
- NSString *filePath = [folderPath stringByAppendingPathComponent:_testName];
- filePath = [filePath stringByAppendingPathComponent:fileName];
- return filePath;
-}
-
-- (BOOL)_performPixelComparisonWithViewOrLayer:(id)viewOrLayer
- selector:(SEL)selector
- identifier:(NSString *)identifier
- tolerance:(CGFloat)tolerance
- error:(NSError **)errorPtr
-{
- UIImage *referenceImage = [self referenceImageForSelector:selector identifier:identifier error:errorPtr];
- if (nil != referenceImage) {
- UIImage *snapshot = [self _imageForViewOrLayer:viewOrLayer];
- BOOL imagesSame = [self compareReferenceImage:referenceImage toImage:snapshot tolerance:tolerance error:errorPtr];
- if (!imagesSame) {
- NSError *saveError = nil;
- if ([self saveFailedReferenceImage:referenceImage testImage:snapshot selector:selector identifier:identifier error:&saveError] == NO) {
- NSLog(@"Error saving test images: %@", saveError);
- }
- }
- return imagesSame;
- }
- return NO;
-}
-
-- (BOOL)_recordSnapshotOfViewOrLayer:(id)viewOrLayer
- selector:(SEL)selector
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr
-{
- UIImage *snapshot = [self _imageForViewOrLayer:viewOrLayer];
- return [self _saveReferenceImage:snapshot selector:selector identifier:identifier error:errorPtr];
-}
-
-- (BOOL)_saveReferenceImage:(UIImage *)image
- selector:(SEL)selector
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr
-{
- BOOL didWrite = NO;
- if (nil != image) {
- NSString *filePath = [self _referenceFilePathForSelector:selector identifier:identifier];
- NSData *pngData = UIImagePNGRepresentation(image);
- if (nil != pngData) {
- NSError *creationError = nil;
- BOOL didCreateDir = [_fileManager createDirectoryAtPath:[filePath stringByDeletingLastPathComponent]
- withIntermediateDirectories:YES
- attributes:nil
- error:&creationError];
- if (!didCreateDir) {
- if (NULL != errorPtr) {
- *errorPtr = creationError;
- }
- return NO;
- }
- didWrite = [pngData writeToFile:filePath options:NSDataWritingAtomic error:errorPtr];
- if (didWrite) {
- NSLog(@"Reference image save at: %@", filePath);
- }
- } else {
- if (nil != errorPtr) {
- *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain
- code:FBSnapshotTestControllerErrorCodePNGCreationFailed
- userInfo:@{
- FBReferenceImageFilePathKey: filePath,
- }];
- }
- }
- }
- return didWrite;
-}
-
-- (UIImage *)_imageForViewOrLayer:(id)viewOrLayer
-{
- if ([viewOrLayer isKindOfClass:[UIView class]]) {
- if (_usesDrawViewHierarchyInRect) {
- return [UIImage fb_imageForView:viewOrLayer];
- } else {
- return [UIImage fb_imageForViewLayer:viewOrLayer];
- }
- } else if ([viewOrLayer isKindOfClass:[CALayer class]]) {
- return [UIImage fb_imageForLayer:viewOrLayer];
- } else {
- [NSException raise:@"Only UIView and CALayer classes can be snapshotted" format:@"%@", viewOrLayer];
- }
- return nil;
-}
-
-@end
diff --git a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/SwiftSupport.swift b/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/SwiftSupport.swift
deleted file mode 100644
index 471bb0df..00000000
--- a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/SwiftSupport.swift
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
-* Copyright (c) 2015, Facebook, Inc.
-* All rights reserved.
-*
-* This source code is licensed under the BSD-style license found in the
-* LICENSE file in the root directory of this source tree. An additional grant
-* of patent rights can be found in the PATENTS file in the same directory.
-*
-*/
-
-#if swift(>=3)
- public extension FBSnapshotTestCase {
- public func FBSnapshotVerifyView(_ view: UIView, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) {
- FBSnapshotVerifyViewOrLayer(view, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line)
- }
-
- public func FBSnapshotVerifyLayer(_ layer: CALayer, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) {
- FBSnapshotVerifyViewOrLayer(layer, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line)
- }
-
- private func FBSnapshotVerifyViewOrLayer(_ viewOrLayer: AnyObject, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) {
- let envReferenceImageDirectory = self.getReferenceImageDirectory(withDefault: FB_REFERENCE_IMAGE_DIR)
- var error: NSError?
- var comparisonSuccess = false
-
- if let envReferenceImageDirectory = envReferenceImageDirectory {
- for suffix in suffixes {
- let referenceImagesDirectory = "\(envReferenceImageDirectory)\(suffix)"
- if viewOrLayer.isKind(of: UIView.self) {
- do {
- try compareSnapshot(of: viewOrLayer as! UIView, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: tolerance)
- comparisonSuccess = true
- } catch let error1 as NSError {
- error = error1
- comparisonSuccess = false
- }
- } else if viewOrLayer.isKind(of: CALayer.self) {
- do {
- try compareSnapshot(of: viewOrLayer as! CALayer, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: tolerance)
- comparisonSuccess = true
- } catch let error1 as NSError {
- error = error1
- comparisonSuccess = false
- }
- } else {
- assertionFailure("Only UIView and CALayer classes can be snapshotted")
- }
-
- assert(recordMode == false, message: "Test ran in record mode. Reference image is now saved. Disable record mode to perform an actual snapshot comparison!", file: file, line: line)
-
- if comparisonSuccess || recordMode {
- break
- }
-
- assert(comparisonSuccess, message: "Snapshot comparison failed: \(error)", file: file, line: line)
- }
- } else {
- XCTFail("Missing value for referenceImagesDirectory - Set FB_REFERENCE_IMAGE_DIR as Environment variable in your scheme.")
- }
- }
-
- func assert(_ assertion: Bool, message: String, file: StaticString, line: UInt) {
- if !assertion {
- XCTFail(message, file: file, line: line)
- }
- }
- }
-#else
-public extension FBSnapshotTestCase {
- public func FBSnapshotVerifyView(view: UIView, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) {
- FBSnapshotVerifyViewOrLayer(view, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line)
- }
-
- public func FBSnapshotVerifyLayer(layer: CALayer, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) {
- FBSnapshotVerifyViewOrLayer(layer, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line)
- }
-
- private func FBSnapshotVerifyViewOrLayer(viewOrLayer: AnyObject, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) {
- let envReferenceImageDirectory = self.getReferenceImageDirectoryWithDefault(FB_REFERENCE_IMAGE_DIR)
- var error: NSError?
- var comparisonSuccess = false
-
- if let envReferenceImageDirectory = envReferenceImageDirectory {
- for suffix in suffixes {
- let referenceImagesDirectory = "\(envReferenceImageDirectory)\(suffix)"
- if viewOrLayer.isKindOfClass(UIView) {
- do {
- try compareSnapshotOfView(viewOrLayer as! UIView, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: tolerance)
- comparisonSuccess = true
- } catch let error1 as NSError {
- error = error1
- comparisonSuccess = false
- }
- } else if viewOrLayer.isKindOfClass(CALayer) {
- do {
- try compareSnapshotOfLayer(viewOrLayer as! CALayer, referenceImagesDirectory: referenceImagesDirectory, identifier: identifier, tolerance: tolerance)
- comparisonSuccess = true
- } catch let error1 as NSError {
- error = error1
- comparisonSuccess = false
- }
- } else {
- assertionFailure("Only UIView and CALayer classes can be snapshotted")
- }
-
- assert(recordMode == false, message: "Test ran in record mode. Reference image is now saved. Disable record mode to perform an actual snapshot comparison!", file: file, line: line)
-
- if comparisonSuccess || recordMode {
- break
- }
-
- assert(comparisonSuccess, message: "Snapshot comparison failed: \(error)", file: file, line: line)
- }
- } else {
- XCTFail("Missing value for referenceImagesDirectory - Set FB_REFERENCE_IMAGE_DIR as Environment variable in your scheme.")
- }
- }
-
- func assert(assertion: Bool, message: String, file: StaticString, line: UInt) {
- if !assertion {
- XCTFail(message, file: file, line: line)
- }
- }
-}
-#endif
diff --git a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/LICENSE b/DZNEmptyDataSet/Pods/FBSnapshotTestCase/LICENSE
deleted file mode 100644
index 2dd780cb..00000000
--- a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/LICENSE
+++ /dev/null
@@ -1,29 +0,0 @@
-BSD License
-
-For the FBSnapshotTestCase software
-
-Copyright (c) 2013, Facebook, Inc.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
- * Neither the name Facebook nor the names of its contributors may be used to
- endorse or promote products derived from this software without specific
- prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/DZNEmptyDataSet/Pods/Manifest.lock b/DZNEmptyDataSet/Pods/Manifest.lock
index 61f95a3c..55e3ff1b 100644
--- a/DZNEmptyDataSet/Pods/Manifest.lock
+++ b/DZNEmptyDataSet/Pods/Manifest.lock
@@ -1,16 +1,16 @@
PODS:
- - FBSnapshotTestCase (2.1.4):
- - FBSnapshotTestCase/SwiftSupport (= 2.1.4)
- - FBSnapshotTestCase/Core (2.1.4)
- - FBSnapshotTestCase/SwiftSupport (2.1.4):
- - FBSnapshotTestCase/Core
+ - iOSSnapshotTestCase (4.0.0):
+ - iOSSnapshotTestCase/SwiftSupport (= 4.0.0)
+ - iOSSnapshotTestCase/Core (4.0.0)
+ - iOSSnapshotTestCase/SwiftSupport (4.0.0):
+ - iOSSnapshotTestCase/Core
DEPENDENCIES:
- - FBSnapshotTestCase
+ - iOSSnapshotTestCase (~> 4.0.0)
SPEC CHECKSUMS:
- FBSnapshotTestCase: '094f9f314decbabe373b87cc339bea235a63e07a'
+ iOSSnapshotTestCase: 711379b19f69a22c131527df862352c877c2773c
-PODFILE CHECKSUM: 23f23142a4039f5905874937cc9e8f0e7a21cad5
+PODFILE CHECKSUM: 7d5efd77852d0f48cbb5b4eebd5201dd245c8dd5
-COCOAPODS: 1.1.1
+COCOAPODS: 1.2.0
diff --git a/DZNEmptyDataSet/Pods/Pods.xcodeproj/project.pbxproj b/DZNEmptyDataSet/Pods/Pods.xcodeproj/project.pbxproj
index 883fa489..1775e578 100644
--- a/DZNEmptyDataSet/Pods/Pods.xcodeproj/project.pbxproj
+++ b/DZNEmptyDataSet/Pods/Pods.xcodeproj/project.pbxproj
@@ -7,145 +7,154 @@
objects = {
/* Begin PBXBuildFile section */
- 051A816D6DD0CAE13496DDCFE0829167 /* UIImage+Diff.h in Headers */ = {isa = PBXBuildFile; fileRef = 85E250EF19C5B5671AEC10BEB508D087 /* UIImage+Diff.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 0B8DBAB184BB7E8E1D9C5E3386A8DEDB /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA75099E263FEEEAC4EABC8DDDC7FEE0 /* Foundation.framework */; };
- 1B9CD9B6D735874DB6B698EBA615EA6B /* UIImage+Compare.m in Sources */ = {isa = PBXBuildFile; fileRef = 3B5E22F9517F21D3A0251F88FCAB281E /* UIImage+Compare.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
- 2F485B69F51E4F723A38410F31F08550 /* FBSnapshotTestController.h in Headers */ = {isa = PBXBuildFile; fileRef = 1374B79237CAC07693E99442FBED1F15 /* FBSnapshotTestController.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 3B83A2F08BC090A6FD3EBA869E1BD39D /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 41342C8431DAAFD900CDBA3C3B840CBB /* QuartzCore.framework */; };
- 421CDD701AEE0F2458A84200366CDD0F /* UIImage+Snapshot.h in Headers */ = {isa = PBXBuildFile; fileRef = 0B161931541BFE46DFEA2092EDDDA815 /* UIImage+Snapshot.h */; settings = {ATTRIBUTES = (Private, ); }; };
- 56714A3A615A3F2DBA4CC98EE8254200 /* Pods-DZNEmptyDataSetTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D2C5DE8C818D9F1E47A3EFEB3B141910 /* Pods-DZNEmptyDataSetTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
- 5F65495211297994220A8D081EAEFE15 /* SwiftSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = D97545C39C4A5EE2631DD9FFECE76A40 /* SwiftSupport.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
- 61100C0E6FB329EE38659B3E5A1B7090 /* UIApplication+StrictKeyWindow.m in Sources */ = {isa = PBXBuildFile; fileRef = 2EECE81A9AEC1ED1057A9C3C88DBCEBE /* UIApplication+StrictKeyWindow.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
- 640776F175B648FBC2E43C16ECF3F39B /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0E496C2E8F5310CCD9757EFC3961482B /* UIKit.framework */; };
- 66DB0E9CC5F9B9AE2F11D99CBE8DBCA3 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA75099E263FEEEAC4EABC8DDDC7FEE0 /* Foundation.framework */; };
- 6FAB5298272C4B4E26438CF8C9F14BA4 /* UIImage+Snapshot.m in Sources */ = {isa = PBXBuildFile; fileRef = 3DBFBDCC891B770A2AC9EF0FB164B751 /* UIImage+Snapshot.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
- 7408D9BD00535B58DA91AF916EE58641 /* UIImage+Diff.m in Sources */ = {isa = PBXBuildFile; fileRef = B9CEF7D6C5E08AB80E58DABC75D882BC /* UIImage+Diff.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
- 7F97C4BCF71877056A7829143E78F33B /* FBSnapshotTestCasePlatform.m in Sources */ = {isa = PBXBuildFile; fileRef = 58A2557E7CE20AACCD1B28B1CD1F920D /* FBSnapshotTestCasePlatform.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
- 9673CF780F48C8E4EC2A331717B1F67C /* FBSnapshotTestCase.h in Headers */ = {isa = PBXBuildFile; fileRef = E37899BD4B349060AA147E2A3721D3A2 /* FBSnapshotTestCase.h */; settings = {ATTRIBUTES = (Public, ); }; };
- B758FB09FE2C06C1B8E36A71A9D76D41 /* FBSnapshotTestCase-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 73D037B3C804B9E1BB70538E342E5104 /* FBSnapshotTestCase-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
- BC952FC04FC963C1294DCD619C9B6B3B /* UIApplication+StrictKeyWindow.h in Headers */ = {isa = PBXBuildFile; fileRef = B9109B8B333B5A1A3E92EFC09EDC10AC /* UIApplication+StrictKeyWindow.h */; settings = {ATTRIBUTES = (Project, ); }; };
- BFCE460CC33E8872B7156D4166340178 /* FBSnapshotTestCasePlatform.h in Headers */ = {isa = PBXBuildFile; fileRef = 7E3DB4D092B985E76E227F7F313C6981 /* FBSnapshotTestCasePlatform.h */; settings = {ATTRIBUTES = (Public, ); }; };
- C0D0EBCEBAD879ADDC3CFC9E5A2106B6 /* Pods-DZNEmptyDataSetTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2711A4ADEA10C0A0543D8E7180EEFC68 /* Pods-DZNEmptyDataSetTests-dummy.m */; };
- CAFA5E486BCE117A7D8C0FBF9DA6666B /* UIImage+Compare.h in Headers */ = {isa = PBXBuildFile; fileRef = 432938111B6FF0189EFFEDF2F845B308 /* UIImage+Compare.h */; settings = {ATTRIBUTES = (Private, ); }; };
- D097F3914F8E2EA14FB7C88FA3099F26 /* FBSnapshotTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 39577E2B806B8B2D019998DE60728F63 /* FBSnapshotTestCase.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
- D32332CA40D4F631E8DBA950B25A18FA /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C32099E0A716483F90035D502A494AC /* XCTest.framework */; };
- E9D5EF482949E65F0E84B0810721CFBF /* FBSnapshotTestController.m in Sources */ = {isa = PBXBuildFile; fileRef = 052258A488A96C35531FAC73C4F42924 /* FBSnapshotTestController.m */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; };
- F33986F4969B4F178AF9EB568FE8B1AA /* FBSnapshotTestCase-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 52C18C0EB1FED5EB5CE3B0E768AC510F /* FBSnapshotTestCase-dummy.m */; };
+ 0A21482B840E435BD920CFDA8CBA7058 /* SwiftSupport.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE05CEDCC94943B72EF7FED9A71E3337 /* SwiftSupport.swift */; };
+ 1A5A6E183160B640DF814E2CC25B6937 /* FBSnapshotTestController.m in Sources */ = {isa = PBXBuildFile; fileRef = CD72CFD979F343D37CB387971F514B01 /* FBSnapshotTestController.m */; };
+ 29FF55B7B09815A5389D3BBD129E4473 /* iOSSnapshotTestCase-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D75D1D209CD3519A7ED75708A53731AC /* iOSSnapshotTestCase-dummy.m */; };
+ 2CCCDE011307A4929FDAD3DA0FEF4135 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3C32099E0A716483F90035D502A494AC /* XCTest.framework */; };
+ 30FC8B30CE5CAFE5E90D8AE7261AE5D4 /* iOSSnapshotTestCase-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5C06DB657AB1E8FF9A66D369DE9B0241 /* iOSSnapshotTestCase-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 32A55AE0DD706E7BC8F18CA6B21505B3 /* FBSnapshotTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 6462F24C3105950F66A5DF1F0A12E98B /* FBSnapshotTestCase.m */; };
+ 36BB247B998DA0921FCFA03D8B269A14 /* QuartzCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 41342C8431DAAFD900CDBA3C3B840CBB /* QuartzCore.framework */; };
+ 378EEE0B1A986D3F82344A8E1F9961EB /* UIImage+Snapshot.m in Sources */ = {isa = PBXBuildFile; fileRef = B27E856B69CEA127575B3CE2F297224F /* UIImage+Snapshot.m */; };
+ 4C9D350DB2A8F0727E7CE4D79192AC55 /* FBSnapshotTestCasePlatform.h in Headers */ = {isa = PBXBuildFile; fileRef = B63A46EB407C0A5960C6AA0C29BA2CEE /* FBSnapshotTestCasePlatform.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 4CBE669E5155E026F74732CBB0E77362 /* UIImage+Compare.m in Sources */ = {isa = PBXBuildFile; fileRef = CA462AF44B6E1F01BC448A33FBA48F04 /* UIImage+Compare.m */; };
+ 774A420FCFA15B67B466C60405F5084C /* FBSnapshotTestCase.h in Headers */ = {isa = PBXBuildFile; fileRef = FA93DD32367181582259A0BF4AF2C0D7 /* FBSnapshotTestCase.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 79F8DA087C92A87D097EC073BE7DE7E3 /* UIImage+Diff.h in Headers */ = {isa = PBXBuildFile; fileRef = 705BA72351A95278B19D57FBFD089DFC /* UIImage+Diff.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ 7A5FC1B55B42A907E401D4C59A32EBEF /* UIImage+Compare.h in Headers */ = {isa = PBXBuildFile; fileRef = DF36DAF810A4891871D88EC736F16A7D /* UIImage+Compare.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ 8AE3CAC681FC05FB5437E78613972BD8 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA75099E263FEEEAC4EABC8DDDC7FEE0 /* Foundation.framework */; };
+ 94AF4A61AC2B9EDA3A1451740747B45E /* FBSnapshotTestCasePlatform.m in Sources */ = {isa = PBXBuildFile; fileRef = 387A6D96DB403759A67B281B55AE83D4 /* FBSnapshotTestCasePlatform.m */; };
+ 94F3DD798E7E51E7F303CFAA4464C2F2 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 0E496C2E8F5310CCD9757EFC3961482B /* UIKit.framework */; };
+ A8FC62BD98C8E89EDCB69E528F531DB2 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DA75099E263FEEEAC4EABC8DDDC7FEE0 /* Foundation.framework */; };
+ B6EE380A20E764D912CF7CF9DDCCA9BA /* UIImage+Diff.m in Sources */ = {isa = PBXBuildFile; fileRef = C23E2EEB5492EDEF09E04FA32A1CCC45 /* UIImage+Diff.m */; };
+ CDD5625A77094A45BABC524EC3516C4F /* Pods-DZNEmptyDataSetTests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D2C5DE8C818D9F1E47A3EFEB3B141910 /* Pods-DZNEmptyDataSetTests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ D90EE23157EF1E2B029149E2ABCDDED4 /* UIImage+Snapshot.h in Headers */ = {isa = PBXBuildFile; fileRef = D16195EDEF3FA143C0A303E63E0BCD18 /* UIImage+Snapshot.h */; settings = {ATTRIBUTES = (Private, ); }; };
+ DD1194FD31222C55B4CF6026A13C55A5 /* Pods-DZNEmptyDataSetTests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2711A4ADEA10C0A0543D8E7180EEFC68 /* Pods-DZNEmptyDataSetTests-dummy.m */; };
+ E5A23E9758FEED86555B3C62F1138C01 /* FBSnapshotTestController.h in Headers */ = {isa = PBXBuildFile; fileRef = D94F7F72C0A8169FAEC9850E79D05F93 /* FBSnapshotTestController.h */; settings = {ATTRIBUTES = (Public, ); }; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
- 137CED399020A4C91F6D16D350EC19DC /* PBXContainerItemProxy */ = {
+ DE3B6FBE18A19B7BEA0A12B325959AC3 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */;
proxyType = 1;
- remoteGlobalIDString = 34CD2E3428AB802BACA62286FF5074B1;
- remoteInfo = FBSnapshotTestCase;
+ remoteGlobalIDString = BFC6DB46D0F2DC7150A42264441BA14D;
+ remoteInfo = iOSSnapshotTestCase;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
003550A8A1F6582EAFC89EC244F876C2 /* Pods-DZNEmptyDataSetTests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-DZNEmptyDataSetTests-acknowledgements.plist"; sourceTree = ""; };
0346C76CC39DC036BE67AB6CA8D034CC /* Pods-DZNEmptyDataSetTests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-DZNEmptyDataSetTests-resources.sh"; sourceTree = ""; };
- 052258A488A96C35531FAC73C4F42924 /* FBSnapshotTestController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestController.m; path = FBSnapshotTestCase/FBSnapshotTestController.m; sourceTree = ""; };
- 0B161931541BFE46DFEA2092EDDDA815 /* UIImage+Snapshot.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Snapshot.h"; path = "FBSnapshotTestCase/Categories/UIImage+Snapshot.h"; sourceTree = ""; };
0E496C2E8F5310CCD9757EFC3961482B /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; };
0FB967BB2DBBA7964F67D02B3EF564E4 /* Pods-DZNEmptyDataSetTests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-DZNEmptyDataSetTests-acknowledgements.markdown"; sourceTree = ""; };
- 1374B79237CAC07693E99442FBED1F15 /* FBSnapshotTestController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestController.h; path = FBSnapshotTestCase/FBSnapshotTestController.h; sourceTree = ""; };
203C357C2053664409B6F57E85862F88 /* Pods-DZNEmptyDataSetTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-DZNEmptyDataSetTests.release.xcconfig"; sourceTree = ""; };
2711A4ADEA10C0A0543D8E7180EEFC68 /* Pods-DZNEmptyDataSetTests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-DZNEmptyDataSetTests-dummy.m"; sourceTree = ""; };
276828F37C5435E18CE11B14B199B707 /* Pods-DZNEmptyDataSetTests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-DZNEmptyDataSetTests-frameworks.sh"; sourceTree = ""; };
- 2EECE81A9AEC1ED1057A9C3C88DBCEBE /* UIApplication+StrictKeyWindow.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIApplication+StrictKeyWindow.m"; path = "FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.m"; sourceTree = ""; };
- 39577E2B806B8B2D019998DE60728F63 /* FBSnapshotTestCase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestCase.m; path = FBSnapshotTestCase/FBSnapshotTestCase.m; sourceTree = ""; };
- 3B5E22F9517F21D3A0251F88FCAB281E /* UIImage+Compare.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Compare.m"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.m"; sourceTree = ""; };
+ 38761B7C4306AF333DD60A0DFCD5EACA /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
+ 387A6D96DB403759A67B281B55AE83D4 /* FBSnapshotTestCasePlatform.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestCasePlatform.m; path = FBSnapshotTestCase/FBSnapshotTestCasePlatform.m; sourceTree = ""; };
3C32099E0A716483F90035D502A494AC /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; };
- 3DBFBDCC891B770A2AC9EF0FB164B751 /* UIImage+Snapshot.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Snapshot.m"; path = "FBSnapshotTestCase/Categories/UIImage+Snapshot.m"; sourceTree = ""; };
+ 3DAB7D50A686BC39D47014339C46EAAE /* FBSnapshotTestCase.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = FBSnapshotTestCase.framework; path = iOSSnapshotTestCase.framework; sourceTree = BUILT_PRODUCTS_DIR; };
41342C8431DAAFD900CDBA3C3B840CBB /* QuartzCore.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = QuartzCore.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/QuartzCore.framework; sourceTree = DEVELOPER_DIR; };
- 432938111B6FF0189EFFEDF2F845B308 /* UIImage+Compare.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Compare.h"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.h"; sourceTree = ""; };
- 52C18C0EB1FED5EB5CE3B0E768AC510F /* FBSnapshotTestCase-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FBSnapshotTestCase-dummy.m"; sourceTree = ""; };
- 58A2557E7CE20AACCD1B28B1CD1F920D /* FBSnapshotTestCasePlatform.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestCasePlatform.m; path = FBSnapshotTestCase/FBSnapshotTestCasePlatform.m; sourceTree = ""; };
- 6E66B4218824CF8160D93713DDBEEA82 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
- 73D037B3C804B9E1BB70538E342E5104 /* FBSnapshotTestCase-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FBSnapshotTestCase-umbrella.h"; sourceTree = ""; };
- 7A51853ACE17A67243EB9CD454DC9DB7 /* Pods-DZNEmptyDataSetTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = "Pods-DZNEmptyDataSetTests.modulemap"; sourceTree = ""; };
- 7E3DB4D092B985E76E227F7F313C6981 /* FBSnapshotTestCasePlatform.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestCasePlatform.h; path = FBSnapshotTestCase/FBSnapshotTestCasePlatform.h; sourceTree = ""; };
- 823558E8AC8EB39D028DB5FBBEA227A3 /* FBSnapshotTestCase.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = "sourcecode.module-map"; path = FBSnapshotTestCase.modulemap; sourceTree = ""; };
+ 42E9750D383AC69CE913DCEBBE9051C6 /* Pods_DZNEmptyDataSetTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_DZNEmptyDataSetTests.framework; path = "Pods-DZNEmptyDataSetTests.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
+ 5C06DB657AB1E8FF9A66D369DE9B0241 /* iOSSnapshotTestCase-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "iOSSnapshotTestCase-umbrella.h"; sourceTree = ""; };
+ 6462F24C3105950F66A5DF1F0A12E98B /* FBSnapshotTestCase.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestCase.m; path = FBSnapshotTestCase/FBSnapshotTestCase.m; sourceTree = ""; };
+ 705BA72351A95278B19D57FBFD089DFC /* UIImage+Diff.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Diff.h"; path = "FBSnapshotTestCase/Categories/UIImage+Diff.h"; sourceTree = ""; };
+ 74D8FA8D7E60AAF327E5214A07C7454B /* iOSSnapshotTestCase-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "iOSSnapshotTestCase-prefix.pch"; sourceTree = ""; };
+ 7A51853ACE17A67243EB9CD454DC9DB7 /* Pods-DZNEmptyDataSetTests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-DZNEmptyDataSetTests.modulemap"; sourceTree = ""; };
8295B27224E25509258C6D25C48E06EE /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; };
- 85E250EF19C5B5671AEC10BEB508D087 /* UIImage+Diff.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Diff.h"; path = "FBSnapshotTestCase/Categories/UIImage+Diff.h"; sourceTree = ""; };
- 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
+ 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
+ 9D68DFDC26576427E59E9367858CEB62 /* iOSSnapshotTestCase.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = iOSSnapshotTestCase.xcconfig; sourceTree = ""; };
9DB5C2C4D709B5098593FBE989824B59 /* Pods-DZNEmptyDataSetTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-DZNEmptyDataSetTests.debug.xcconfig"; sourceTree = ""; };
- B9109B8B333B5A1A3E92EFC09EDC10AC /* UIApplication+StrictKeyWindow.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIApplication+StrictKeyWindow.h"; path = "FBSnapshotTestCase/Categories/UIApplication+StrictKeyWindow.h"; sourceTree = ""; };
- B9CEF7D6C5E08AB80E58DABC75D882BC /* UIImage+Diff.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Diff.m"; path = "FBSnapshotTestCase/Categories/UIImage+Diff.m"; sourceTree = ""; };
- CC12BCFA3FC0B8C307F5B38C673EDD12 /* FBSnapshotTestCase-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FBSnapshotTestCase-prefix.pch"; sourceTree = ""; };
+ B27E856B69CEA127575B3CE2F297224F /* UIImage+Snapshot.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Snapshot.m"; path = "FBSnapshotTestCase/Categories/UIImage+Snapshot.m"; sourceTree = ""; };
+ B63A46EB407C0A5960C6AA0C29BA2CEE /* FBSnapshotTestCasePlatform.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestCasePlatform.h; path = FBSnapshotTestCase/FBSnapshotTestCasePlatform.h; sourceTree = ""; };
+ C23E2EEB5492EDEF09E04FA32A1CCC45 /* UIImage+Diff.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Diff.m"; path = "FBSnapshotTestCase/Categories/UIImage+Diff.m"; sourceTree = ""; };
+ CA462AF44B6E1F01BC448A33FBA48F04 /* UIImage+Compare.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = "UIImage+Compare.m"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.m"; sourceTree = ""; };
+ CD72CFD979F343D37CB387971F514B01 /* FBSnapshotTestController.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; name = FBSnapshotTestController.m; path = FBSnapshotTestCase/FBSnapshotTestController.m; sourceTree = ""; };
+ CE05CEDCC94943B72EF7FED9A71E3337 /* SwiftSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftSupport.swift; path = FBSnapshotTestCase/SwiftSupport.swift; sourceTree = ""; };
+ D16195EDEF3FA143C0A303E63E0BCD18 /* UIImage+Snapshot.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Snapshot.h"; path = "FBSnapshotTestCase/Categories/UIImage+Snapshot.h"; sourceTree = ""; };
+ D238E03B80CFE29597331FF4273B9B8F /* iOSSnapshotTestCase.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = iOSSnapshotTestCase.modulemap; sourceTree = ""; };
D2C5DE8C818D9F1E47A3EFEB3B141910 /* Pods-DZNEmptyDataSetTests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-DZNEmptyDataSetTests-umbrella.h"; sourceTree = ""; };
- D97545C39C4A5EE2631DD9FFECE76A40 /* SwiftSupport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftSupport.swift; path = FBSnapshotTestCase/SwiftSupport.swift; sourceTree = ""; };
- D986A0978615C7C0A2EEC879ABC903D6 /* Pods_DZNEmptyDataSetTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_DZNEmptyDataSetTests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ D75D1D209CD3519A7ED75708A53731AC /* iOSSnapshotTestCase-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "iOSSnapshotTestCase-dummy.m"; sourceTree = ""; };
+ D94F7F72C0A8169FAEC9850E79D05F93 /* FBSnapshotTestController.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestController.h; path = FBSnapshotTestCase/FBSnapshotTestController.h; sourceTree = ""; };
DA75099E263FEEEAC4EABC8DDDC7FEE0 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; };
- DADAF30F2D84FDAAD2ADD2D50C1F40DF /* FBSnapshotTestCase.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FBSnapshotTestCase.xcconfig; sourceTree = ""; };
- E37899BD4B349060AA147E2A3721D3A2 /* FBSnapshotTestCase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestCase.h; path = FBSnapshotTestCase/FBSnapshotTestCase.h; sourceTree = ""; };
- E3CAB65856BF4AC7B1D274D5DF0A8D0E /* FBSnapshotTestCase.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FBSnapshotTestCase.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ DF36DAF810A4891871D88EC736F16A7D /* UIImage+Compare.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = "UIImage+Compare.h"; path = "FBSnapshotTestCase/Categories/UIImage+Compare.h"; sourceTree = ""; };
+ FA93DD32367181582259A0BF4AF2C0D7 /* FBSnapshotTestCase.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; name = FBSnapshotTestCase.h; path = FBSnapshotTestCase/FBSnapshotTestCase.h; sourceTree = ""; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
- 1D421A30A1BDB7E1C4216F64D0C939B1 /* Frameworks */ = {
+ 46D9BDE8342D451706A0D81F4AF10B89 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 0B8DBAB184BB7E8E1D9C5E3386A8DEDB /* Foundation.framework in Frameworks */,
- 3B83A2F08BC090A6FD3EBA869E1BD39D /* QuartzCore.framework in Frameworks */,
- 640776F175B648FBC2E43C16ECF3F39B /* UIKit.framework in Frameworks */,
- D32332CA40D4F631E8DBA950B25A18FA /* XCTest.framework in Frameworks */,
+ A8FC62BD98C8E89EDCB69E528F531DB2 /* Foundation.framework in Frameworks */,
+ 36BB247B998DA0921FCFA03D8B269A14 /* QuartzCore.framework in Frameworks */,
+ 94F3DD798E7E51E7F303CFAA4464C2F2 /* UIKit.framework in Frameworks */,
+ 2CCCDE011307A4929FDAD3DA0FEF4135 /* XCTest.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
- 43F30C5735D7530C37ED8AF4346D3EEA /* Frameworks */ = {
+ C0C590C61D597580094074212CE6D431 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
- 66DB0E9CC5F9B9AE2F11D99CBE8DBCA3 /* Foundation.framework in Frameworks */,
+ 8AE3CAC681FC05FB5437E78613972BD8 /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
- 14B8B9B15ECBE87983FF987239AB2D7B /* Frameworks */ = {
+ 032091FEE0217BC41BDBCF0E859700FD /* SwiftSupport */ = {
isa = PBXGroup;
children = (
- F76C5E10C253876355FB231229C42226 /* iOS */,
+ CE05CEDCC94943B72EF7FED9A71E3337 /* SwiftSupport.swift */,
);
- name = Frameworks;
+ name = SwiftSupport;
sourceTree = "";
};
- 1549F91FCD089822594C1F5DB8AB9E8F /* Support Files */ = {
+ 05C07DDB5937D64286E80CDCA5239CFA /* Core */ = {
isa = PBXGroup;
children = (
- 823558E8AC8EB39D028DB5FBBEA227A3 /* FBSnapshotTestCase.modulemap */,
- DADAF30F2D84FDAAD2ADD2D50C1F40DF /* FBSnapshotTestCase.xcconfig */,
- 52C18C0EB1FED5EB5CE3B0E768AC510F /* FBSnapshotTestCase-dummy.m */,
- CC12BCFA3FC0B8C307F5B38C673EDD12 /* FBSnapshotTestCase-prefix.pch */,
- 73D037B3C804B9E1BB70538E342E5104 /* FBSnapshotTestCase-umbrella.h */,
- 6E66B4218824CF8160D93713DDBEEA82 /* Info.plist */,
+ FA93DD32367181582259A0BF4AF2C0D7 /* FBSnapshotTestCase.h */,
+ 6462F24C3105950F66A5DF1F0A12E98B /* FBSnapshotTestCase.m */,
+ B63A46EB407C0A5960C6AA0C29BA2CEE /* FBSnapshotTestCasePlatform.h */,
+ 387A6D96DB403759A67B281B55AE83D4 /* FBSnapshotTestCasePlatform.m */,
+ D94F7F72C0A8169FAEC9850E79D05F93 /* FBSnapshotTestController.h */,
+ CD72CFD979F343D37CB387971F514B01 /* FBSnapshotTestController.m */,
+ DF36DAF810A4891871D88EC736F16A7D /* UIImage+Compare.h */,
+ CA462AF44B6E1F01BC448A33FBA48F04 /* UIImage+Compare.m */,
+ 705BA72351A95278B19D57FBFD089DFC /* UIImage+Diff.h */,
+ C23E2EEB5492EDEF09E04FA32A1CCC45 /* UIImage+Diff.m */,
+ D16195EDEF3FA143C0A303E63E0BCD18 /* UIImage+Snapshot.h */,
+ B27E856B69CEA127575B3CE2F297224F /* UIImage+Snapshot.m */,
);
- name = "Support Files";
- path = "../Target Support Files/FBSnapshotTestCase";
+ name = Core;
sourceTree = "";
};
- 2287B5EBEAA3C332F8DB9A1E61F5B097 /* FBSnapshotTestCase */ = {
+ 14B8B9B15ECBE87983FF987239AB2D7B /* Frameworks */ = {
isa = PBXGroup;
children = (
- F35791481CAFDD8E7715AE1B44687328 /* Core */,
- 1549F91FCD089822594C1F5DB8AB9E8F /* Support Files */,
- 99E46DD4AB2256791F111C718CB0EEF8 /* SwiftSupport */,
+ F76C5E10C253876355FB231229C42226 /* iOS */,
);
- path = FBSnapshotTestCase;
+ name = Frameworks;
sourceTree = "";
};
- 5562AD51AD0F674A0BE5CE991200804F /* Products */ = {
+ 650F028C4EAB5D4538E83B21F265B258 /* Pods */ = {
isa = PBXGroup;
children = (
- E3CAB65856BF4AC7B1D274D5DF0A8D0E /* FBSnapshotTestCase.framework */,
- D986A0978615C7C0A2EEC879ABC903D6 /* Pods_DZNEmptyDataSetTests.framework */,
+ 781E4722255ABB33F5BA9F7EFC09E1C7 /* iOSSnapshotTestCase */,
);
- name = Products;
+ name = Pods;
+ sourceTree = "";
+ };
+ 781E4722255ABB33F5BA9F7EFC09E1C7 /* iOSSnapshotTestCase */ = {
+ isa = PBXGroup;
+ children = (
+ 05C07DDB5937D64286E80CDCA5239CFA /* Core */,
+ EC39C7C2D06D5559ACC63B4691FE39B6 /* Support Files */,
+ 032091FEE0217BC41BDBCF0E859700FD /* SwiftSupport */,
+ );
+ name = iOSSnapshotTestCase;
+ path = iOSSnapshotTestCase;
sourceTree = "";
};
78F6FDED8CCA373F6FC7DE2408CA433F /* Pods-DZNEmptyDataSetTests */ = {
@@ -171,18 +180,19 @@
children = (
93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */,
14B8B9B15ECBE87983FF987239AB2D7B /* Frameworks */,
- FBD2D672921284E66F309CA3462F84D6 /* Pods */,
- 5562AD51AD0F674A0BE5CE991200804F /* Products */,
+ 650F028C4EAB5D4538E83B21F265B258 /* Pods */,
+ B0159874D442B2B8297B5C6D53BD84C7 /* Products */,
CC81C10316175BED2809544DDE234F8B /* Targets Support Files */,
);
sourceTree = "";
};
- 99E46DD4AB2256791F111C718CB0EEF8 /* SwiftSupport */ = {
+ B0159874D442B2B8297B5C6D53BD84C7 /* Products */ = {
isa = PBXGroup;
children = (
- D97545C39C4A5EE2631DD9FFECE76A40 /* SwiftSupport.swift */,
+ 3DAB7D50A686BC39D47014339C46EAAE /* FBSnapshotTestCase.framework */,
+ 42E9750D383AC69CE913DCEBBE9051C6 /* Pods_DZNEmptyDataSetTests.framework */,
);
- name = SwiftSupport;
+ name = Products;
sourceTree = "";
};
CC81C10316175BED2809544DDE234F8B /* Targets Support Files */ = {
@@ -193,25 +203,18 @@
name = "Targets Support Files";
sourceTree = "";
};
- F35791481CAFDD8E7715AE1B44687328 /* Core */ = {
+ EC39C7C2D06D5559ACC63B4691FE39B6 /* Support Files */ = {
isa = PBXGroup;
children = (
- E37899BD4B349060AA147E2A3721D3A2 /* FBSnapshotTestCase.h */,
- 39577E2B806B8B2D019998DE60728F63 /* FBSnapshotTestCase.m */,
- 7E3DB4D092B985E76E227F7F313C6981 /* FBSnapshotTestCasePlatform.h */,
- 58A2557E7CE20AACCD1B28B1CD1F920D /* FBSnapshotTestCasePlatform.m */,
- 1374B79237CAC07693E99442FBED1F15 /* FBSnapshotTestController.h */,
- 052258A488A96C35531FAC73C4F42924 /* FBSnapshotTestController.m */,
- B9109B8B333B5A1A3E92EFC09EDC10AC /* UIApplication+StrictKeyWindow.h */,
- 2EECE81A9AEC1ED1057A9C3C88DBCEBE /* UIApplication+StrictKeyWindow.m */,
- 432938111B6FF0189EFFEDF2F845B308 /* UIImage+Compare.h */,
- 3B5E22F9517F21D3A0251F88FCAB281E /* UIImage+Compare.m */,
- 85E250EF19C5B5671AEC10BEB508D087 /* UIImage+Diff.h */,
- B9CEF7D6C5E08AB80E58DABC75D882BC /* UIImage+Diff.m */,
- 0B161931541BFE46DFEA2092EDDDA815 /* UIImage+Snapshot.h */,
- 3DBFBDCC891B770A2AC9EF0FB164B751 /* UIImage+Snapshot.m */,
+ 38761B7C4306AF333DD60A0DFCD5EACA /* Info.plist */,
+ D238E03B80CFE29597331FF4273B9B8F /* iOSSnapshotTestCase.modulemap */,
+ 9D68DFDC26576427E59E9367858CEB62 /* iOSSnapshotTestCase.xcconfig */,
+ D75D1D209CD3519A7ED75708A53731AC /* iOSSnapshotTestCase-dummy.m */,
+ 74D8FA8D7E60AAF327E5214A07C7454B /* iOSSnapshotTestCase-prefix.pch */,
+ 5C06DB657AB1E8FF9A66D369DE9B0241 /* iOSSnapshotTestCase-umbrella.h */,
);
- name = Core;
+ name = "Support Files";
+ path = "../Target Support Files/iOSSnapshotTestCase";
sourceTree = "";
};
F76C5E10C253876355FB231229C42226 /* iOS */ = {
@@ -225,76 +228,67 @@
name = iOS;
sourceTree = "";
};
- FBD2D672921284E66F309CA3462F84D6 /* Pods */ = {
- isa = PBXGroup;
- children = (
- 2287B5EBEAA3C332F8DB9A1E61F5B097 /* FBSnapshotTestCase */,
- );
- name = Pods;
- sourceTree = "";
- };
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
- 9DC6F5AC11E37A1EB45C6473C9E800B6 /* Headers */ = {
+ 1C1C5854325854EE36E8AC36A8E78705 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
- B758FB09FE2C06C1B8E36A71A9D76D41 /* FBSnapshotTestCase-umbrella.h in Headers */,
- 9673CF780F48C8E4EC2A331717B1F67C /* FBSnapshotTestCase.h in Headers */,
- BFCE460CC33E8872B7156D4166340178 /* FBSnapshotTestCasePlatform.h in Headers */,
- 2F485B69F51E4F723A38410F31F08550 /* FBSnapshotTestController.h in Headers */,
- BC952FC04FC963C1294DCD619C9B6B3B /* UIApplication+StrictKeyWindow.h in Headers */,
- CAFA5E486BCE117A7D8C0FBF9DA6666B /* UIImage+Compare.h in Headers */,
- 051A816D6DD0CAE13496DDCFE0829167 /* UIImage+Diff.h in Headers */,
- 421CDD701AEE0F2458A84200366CDD0F /* UIImage+Snapshot.h in Headers */,
+ 774A420FCFA15B67B466C60405F5084C /* FBSnapshotTestCase.h in Headers */,
+ 4C9D350DB2A8F0727E7CE4D79192AC55 /* FBSnapshotTestCasePlatform.h in Headers */,
+ E5A23E9758FEED86555B3C62F1138C01 /* FBSnapshotTestController.h in Headers */,
+ 30FC8B30CE5CAFE5E90D8AE7261AE5D4 /* iOSSnapshotTestCase-umbrella.h in Headers */,
+ 7A5FC1B55B42A907E401D4C59A32EBEF /* UIImage+Compare.h in Headers */,
+ 79F8DA087C92A87D097EC073BE7DE7E3 /* UIImage+Diff.h in Headers */,
+ D90EE23157EF1E2B029149E2ABCDDED4 /* UIImage+Snapshot.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
- A017BA3952678EEAD8B431CD7D109B0F /* Headers */ = {
+ 812B75D023A3D2424A24A8A52E7C0F91 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
- 56714A3A615A3F2DBA4CC98EE8254200 /* Pods-DZNEmptyDataSetTests-umbrella.h in Headers */,
+ CDD5625A77094A45BABC524EC3516C4F /* Pods-DZNEmptyDataSetTests-umbrella.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
- 34CD2E3428AB802BACA62286FF5074B1 /* FBSnapshotTestCase */ = {
+ BFC6DB46D0F2DC7150A42264441BA14D /* iOSSnapshotTestCase */ = {
isa = PBXNativeTarget;
- buildConfigurationList = F28097D43AF5CD8DA838ABD52A053790 /* Build configuration list for PBXNativeTarget "FBSnapshotTestCase" */;
+ buildConfigurationList = 6240B299005DEA7FF4670E5681B97704 /* Build configuration list for PBXNativeTarget "iOSSnapshotTestCase" */;
buildPhases = (
- AD173CC510A850B6289189A20CD107AE /* Sources */,
- 1D421A30A1BDB7E1C4216F64D0C939B1 /* Frameworks */,
- 9DC6F5AC11E37A1EB45C6473C9E800B6 /* Headers */,
+ DE795B9D0846779A9CC3C0F1A0FBFA32 /* Sources */,
+ 46D9BDE8342D451706A0D81F4AF10B89 /* Frameworks */,
+ 1C1C5854325854EE36E8AC36A8E78705 /* Headers */,
);
buildRules = (
);
dependencies = (
);
- name = FBSnapshotTestCase;
- productName = FBSnapshotTestCase;
- productReference = E3CAB65856BF4AC7B1D274D5DF0A8D0E /* FBSnapshotTestCase.framework */;
+ name = iOSSnapshotTestCase;
+ productName = iOSSnapshotTestCase;
+ productReference = 3DAB7D50A686BC39D47014339C46EAAE /* FBSnapshotTestCase.framework */;
productType = "com.apple.product-type.framework";
};
- E94125F0FAFC8CBEC775F6155F126805 /* Pods-DZNEmptyDataSetTests */ = {
+ C31DDB8B45A5D83517BD185AA29944D9 /* Pods-DZNEmptyDataSetTests */ = {
isa = PBXNativeTarget;
- buildConfigurationList = EFF3DF2FA77DD170E281CC04AD423EC2 /* Build configuration list for PBXNativeTarget "Pods-DZNEmptyDataSetTests" */;
+ buildConfigurationList = AE83DFF9708DAB8755F7BB9247A0E4E9 /* Build configuration list for PBXNativeTarget "Pods-DZNEmptyDataSetTests" */;
buildPhases = (
- 75A3EE7B134EBB82122CFA95B58D4B3D /* Sources */,
- 43F30C5735D7530C37ED8AF4346D3EEA /* Frameworks */,
- A017BA3952678EEAD8B431CD7D109B0F /* Headers */,
+ F7D5D9E28E55F8BF17D806435EE4B823 /* Sources */,
+ C0C590C61D597580094074212CE6D431 /* Frameworks */,
+ 812B75D023A3D2424A24A8A52E7C0F91 /* Headers */,
);
buildRules = (
);
dependencies = (
- 4D0085DD5D38700462DE3BCFA695070B /* PBXTargetDependency */,
+ 8F3D76FBB309C6D6E5851477730842E4 /* PBXTargetDependency */,
);
name = "Pods-DZNEmptyDataSetTests";
productName = "Pods-DZNEmptyDataSetTests";
- productReference = D986A0978615C7C0A2EEC879ABC903D6 /* Pods_DZNEmptyDataSetTests.framework */;
+ productReference = 42E9750D383AC69CE913DCEBBE9051C6 /* Pods_DZNEmptyDataSetTests.framework */;
productType = "com.apple.product-type.framework";
};
/* End PBXNativeTarget section */
@@ -304,7 +298,7 @@
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 0730;
- LastUpgradeCheck = 0920;
+ LastUpgradeCheck = 0700;
};
buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */;
compatibilityVersion = "Xcode 3.2";
@@ -314,163 +308,56 @@
en,
);
mainGroup = 7DB346D0F39D3F0E887471402A8071AB;
- productRefGroup = 5562AD51AD0F674A0BE5CE991200804F /* Products */;
+ productRefGroup = B0159874D442B2B8297B5C6D53BD84C7 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
- 34CD2E3428AB802BACA62286FF5074B1 /* FBSnapshotTestCase */,
- E94125F0FAFC8CBEC775F6155F126805 /* Pods-DZNEmptyDataSetTests */,
+ BFC6DB46D0F2DC7150A42264441BA14D /* iOSSnapshotTestCase */,
+ C31DDB8B45A5D83517BD185AA29944D9 /* Pods-DZNEmptyDataSetTests */,
);
};
/* End PBXProject section */
/* Begin PBXSourcesBuildPhase section */
- 75A3EE7B134EBB82122CFA95B58D4B3D /* Sources */ = {
+ DE795B9D0846779A9CC3C0F1A0FBFA32 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- C0D0EBCEBAD879ADDC3CFC9E5A2106B6 /* Pods-DZNEmptyDataSetTests-dummy.m in Sources */,
+ 32A55AE0DD706E7BC8F18CA6B21505B3 /* FBSnapshotTestCase.m in Sources */,
+ 94AF4A61AC2B9EDA3A1451740747B45E /* FBSnapshotTestCasePlatform.m in Sources */,
+ 1A5A6E183160B640DF814E2CC25B6937 /* FBSnapshotTestController.m in Sources */,
+ 29FF55B7B09815A5389D3BBD129E4473 /* iOSSnapshotTestCase-dummy.m in Sources */,
+ 0A21482B840E435BD920CFDA8CBA7058 /* SwiftSupport.swift in Sources */,
+ 4CBE669E5155E026F74732CBB0E77362 /* UIImage+Compare.m in Sources */,
+ B6EE380A20E764D912CF7CF9DDCCA9BA /* UIImage+Diff.m in Sources */,
+ 378EEE0B1A986D3F82344A8E1F9961EB /* UIImage+Snapshot.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
- AD173CC510A850B6289189A20CD107AE /* Sources */ = {
+ F7D5D9E28E55F8BF17D806435EE4B823 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
- F33986F4969B4F178AF9EB568FE8B1AA /* FBSnapshotTestCase-dummy.m in Sources */,
- D097F3914F8E2EA14FB7C88FA3099F26 /* FBSnapshotTestCase.m in Sources */,
- 7F97C4BCF71877056A7829143E78F33B /* FBSnapshotTestCasePlatform.m in Sources */,
- E9D5EF482949E65F0E84B0810721CFBF /* FBSnapshotTestController.m in Sources */,
- 5F65495211297994220A8D081EAEFE15 /* SwiftSupport.swift in Sources */,
- 61100C0E6FB329EE38659B3E5A1B7090 /* UIApplication+StrictKeyWindow.m in Sources */,
- 1B9CD9B6D735874DB6B698EBA615EA6B /* UIImage+Compare.m in Sources */,
- 7408D9BD00535B58DA91AF916EE58641 /* UIImage+Diff.m in Sources */,
- 6FAB5298272C4B4E26438CF8C9F14BA4 /* UIImage+Snapshot.m in Sources */,
+ DD1194FD31222C55B4CF6026A13C55A5 /* Pods-DZNEmptyDataSetTests-dummy.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
- 4D0085DD5D38700462DE3BCFA695070B /* PBXTargetDependency */ = {
+ 8F3D76FBB309C6D6E5851477730842E4 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
- name = FBSnapshotTestCase;
- target = 34CD2E3428AB802BACA62286FF5074B1 /* FBSnapshotTestCase */;
- targetProxy = 137CED399020A4C91F6D16D350EC19DC /* PBXContainerItemProxy */;
+ name = iOSSnapshotTestCase;
+ target = BFC6DB46D0F2DC7150A42264441BA14D /* iOSSnapshotTestCase */;
+ targetProxy = DE3B6FBE18A19B7BEA0A12B325959AC3 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
- 015A368F878AC3E2CEAE21DDE8026304 /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- CLANG_ANALYZER_NONNULL = YES;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_COMMA = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INFINITE_RECURSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
- CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES;
- CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
- CLANG_WARN_STRICT_PROTOTYPES = YES;
- CLANG_WARN_SUSPICIOUS_MOVE = YES;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- CODE_SIGNING_REQUIRED = NO;
- COPY_PHASE_STRIP = NO;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- ENABLE_TESTABILITY = YES;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_NO_COMMON_BLOCKS = YES;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "POD_CONFIGURATION_DEBUG=1",
- "DEBUG=1",
- "$(inherited)",
- );
- GCC_SYMBOLS_PRIVATE_EXTERN = NO;
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.0;
- ONLY_ACTIVE_ARCH = YES;
- PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/;
- STRIP_INSTALLED_PRODUCT = NO;
- SYMROOT = "${SRCROOT}/../build";
- };
- name = Debug;
- };
- 44CDBB6D11DE06DB64D6268622BDC47E /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- CLANG_ANALYZER_NONNULL = YES;
- CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
- CLANG_CXX_LIBRARY = "libc++";
- CLANG_ENABLE_MODULES = YES;
- CLANG_ENABLE_OBJC_ARC = YES;
- CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
- CLANG_WARN_BOOL_CONVERSION = YES;
- CLANG_WARN_COMMA = YES;
- CLANG_WARN_CONSTANT_CONVERSION = YES;
- CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES;
- CLANG_WARN_EMPTY_BODY = YES;
- CLANG_WARN_ENUM_CONVERSION = YES;
- CLANG_WARN_INFINITE_RECURSION = YES;
- CLANG_WARN_INT_CONVERSION = YES;
- CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
- CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
- CLANG_WARN_OBJC_ROOT_CLASS = YES;
- CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
- CLANG_WARN_STRICT_PROTOTYPES = YES;
- CLANG_WARN_SUSPICIOUS_MOVE = YES;
- CLANG_WARN_UNREACHABLE_CODE = YES;
- CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
- CODE_SIGNING_REQUIRED = NO;
- COPY_PHASE_STRIP = YES;
- ENABLE_NS_ASSERTIONS = NO;
- ENABLE_STRICT_OBJC_MSGSEND = YES;
- GCC_C_LANGUAGE_STANDARD = gnu99;
- GCC_NO_COMMON_BLOCKS = YES;
- GCC_PREPROCESSOR_DEFINITIONS = (
- "POD_CONFIGURATION_RELEASE=1",
- "$(inherited)",
- );
- GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNDECLARED_SELECTOR = YES;
- GCC_WARN_UNINITIALIZED_AUTOS = YES;
- GCC_WARN_UNUSED_FUNCTION = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- IPHONEOS_DEPLOYMENT_TARGET = 8.0;
- PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/;
- STRIP_INSTALLED_PRODUCT = NO;
- SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule";
- SYMROOT = "${SRCROOT}/../build";
- VALIDATE_PRODUCT = YES;
- };
- name = Release;
- };
- 9DC7940AB2609170956317F0FA336D60 /* Release */ = {
+ 1CF63CA2D82A714970222AA8EBB500C1 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 203C357C2053664409B6F57E85862F88 /* Pods-DZNEmptyDataSetTests.release.xcconfig */;
buildSettings = {
- ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
@@ -484,7 +371,7 @@
GCC_NO_COMMON_BLOCKS = YES;
INFOPLIST_FILE = "Target Support Files/Pods-DZNEmptyDataSetTests/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
- IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests.modulemap";
@@ -496,16 +383,16 @@
PRODUCT_NAME = Pods_DZNEmptyDataSetTests;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
- SWIFT_VERSION = 3.0;
+ SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
- A48DF838CD32B60CBA3139D4DA2D0D1E /* Debug */ = {
+ 3D10F2AC0E6D3BB8C6930062B779961C /* Debug */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = DADAF30F2D84FDAAD2ADD2D50C1F40DF /* FBSnapshotTestCase.xcconfig */;
+ baseConfigurationReference = 9DB5C2C4D709B5098593FBE989824B59 /* Pods-DZNEmptyDataSetTests.debug.xcconfig */;
buildSettings = {
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
@@ -518,93 +405,176 @@
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_NO_COMMON_BLOCKS = YES;
- GCC_PREFIX_HEADER = "Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch";
- INFOPLIST_FILE = "Target Support Files/FBSnapshotTestCase/Info.plist";
+ INFOPLIST_FILE = "Target Support Files/Pods-DZNEmptyDataSetTests/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
- IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
- MODULEMAP_FILE = "Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap";
+ MACH_O_TYPE = staticlib;
+ MODULEMAP_FILE = "Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests.modulemap";
MTL_ENABLE_DEBUG_INFO = YES;
- PRODUCT_NAME = FBSnapshotTestCase;
+ OTHER_LDFLAGS = "";
+ OTHER_LIBTOOLFLAGS = "";
+ PODS_ROOT = "$(SRCROOT)";
+ PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
+ PRODUCT_NAME = Pods_DZNEmptyDataSetTests;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- SWIFT_VERSION = 3.0;
+ SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
- B57EE59C0A00DB99D4A5A4068B8C0C7B /* Release */ = {
+ 59B042A655B7C20CBAB90E385BF4E4C7 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ 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;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGNING_REQUIRED = NO;
+ COPY_PHASE_STRIP = NO;
+ ENABLE_TESTABILITY = YES;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "POD_CONFIGURATION_DEBUG=1",
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+ ONLY_ACTIVE_ARCH = YES;
+ PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/;
+ STRIP_INSTALLED_PRODUCT = NO;
+ SYMROOT = "${SRCROOT}/../build";
+ };
+ name = Debug;
+ };
+ AF758A008A05FABCFBFC606DF961BC88 /* Debug */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = DADAF30F2D84FDAAD2ADD2D50C1F40DF /* FBSnapshotTestCase.xcconfig */;
+ baseConfigurationReference = 9D68DFDC26576427E59E9367858CEB62 /* iOSSnapshotTestCase.xcconfig */;
buildSettings = {
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
- DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ DEBUG_INFORMATION_FORMAT = dwarf;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_NO_COMMON_BLOCKS = YES;
- GCC_PREFIX_HEADER = "Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch";
- INFOPLIST_FILE = "Target Support Files/FBSnapshotTestCase/Info.plist";
+ GCC_PREFIX_HEADER = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-prefix.pch";
+ INFOPLIST_FILE = "Target Support Files/iOSSnapshotTestCase/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
- IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.1;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
- MODULEMAP_FILE = "Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap";
- MTL_ENABLE_DEBUG_INFO = NO;
+ MODULEMAP_FILE = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.modulemap";
+ MTL_ENABLE_DEBUG_INFO = YES;
PRODUCT_NAME = FBSnapshotTestCase;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
- SWIFT_VERSION = 3.0;
+ SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+ SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
- name = Release;
+ name = Debug;
};
- FA67C1E3D7332203E07E2C272399F87E /* Debug */ = {
+ B2D0022E73B1626DFF559445BD46CBA8 /* Release */ = {
isa = XCBuildConfiguration;
- baseConfigurationReference = 9DB5C2C4D709B5098593FBE989824B59 /* Pods-DZNEmptyDataSetTests.debug.xcconfig */;
+ baseConfigurationReference = 9D68DFDC26576427E59E9367858CEB62 /* iOSSnapshotTestCase.xcconfig */;
buildSettings = {
- ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
"CODE_SIGN_IDENTITY[sdk=appletvos*]" = "";
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "";
"CODE_SIGN_IDENTITY[sdk=watchos*]" = "";
CURRENT_PROJECT_VERSION = 1;
- DEBUG_INFORMATION_FORMAT = dwarf;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_STRICT_OBJC_MSGSEND = YES;
GCC_NO_COMMON_BLOCKS = YES;
- INFOPLIST_FILE = "Target Support Files/Pods-DZNEmptyDataSetTests/Info.plist";
+ GCC_PREFIX_HEADER = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-prefix.pch";
+ INFOPLIST_FILE = "Target Support Files/iOSSnapshotTestCase/Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
- IPHONEOS_DEPLOYMENT_TARGET = 8.0;
+ IPHONEOS_DEPLOYMENT_TARGET = 8.1;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
- MACH_O_TYPE = staticlib;
- MODULEMAP_FILE = "Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests.modulemap";
- MTL_ENABLE_DEBUG_INFO = YES;
- OTHER_LDFLAGS = "";
- OTHER_LIBTOOLFLAGS = "";
- PODS_ROOT = "$(SRCROOT)";
- PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";
- PRODUCT_NAME = Pods_DZNEmptyDataSetTests;
+ MODULEMAP_FILE = "Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.modulemap";
+ MTL_ENABLE_DEBUG_INFO = NO;
+ PRODUCT_NAME = FBSnapshotTestCase;
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
- SWIFT_OPTIMIZATION_LEVEL = "-Onone";
- SWIFT_VERSION = 3.0;
+ SWIFT_VERSION = 4.0;
TARGETED_DEVICE_FAMILY = "1,2";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
- name = Debug;
+ name = Release;
+ };
+ B7324857C38B065FEB1EEE3105C2367A /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ CLANG_ANALYZER_NONNULL = YES;
+ 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;
+ CLANG_WARN_EMPTY_BODY = YES;
+ CLANG_WARN_ENUM_CONVERSION = YES;
+ CLANG_WARN_INT_CONVERSION = YES;
+ CLANG_WARN_OBJC_ROOT_CLASS = YES;
+ CLANG_WARN_UNREACHABLE_CODE = YES;
+ CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+ CODE_SIGNING_REQUIRED = NO;
+ COPY_PHASE_STRIP = YES;
+ ENABLE_NS_ASSERTIONS = NO;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "POD_CONFIGURATION_RELEASE=1",
+ "$(inherited)",
+ );
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNDECLARED_SELECTOR = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ GCC_WARN_UNUSED_FUNCTION = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+ PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/;
+ STRIP_INSTALLED_PRODUCT = NO;
+ SYMROOT = "${SRCROOT}/../build";
+ VALIDATE_PRODUCT = YES;
+ };
+ name = Release;
};
/* End XCBuildConfiguration section */
@@ -612,26 +582,26 @@
2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = {
isa = XCConfigurationList;
buildConfigurations = (
- 015A368F878AC3E2CEAE21DDE8026304 /* Debug */,
- 44CDBB6D11DE06DB64D6268622BDC47E /* Release */,
+ 59B042A655B7C20CBAB90E385BF4E4C7 /* Debug */,
+ B7324857C38B065FEB1EEE3105C2367A /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
- EFF3DF2FA77DD170E281CC04AD423EC2 /* Build configuration list for PBXNativeTarget "Pods-DZNEmptyDataSetTests" */ = {
+ 6240B299005DEA7FF4670E5681B97704 /* Build configuration list for PBXNativeTarget "iOSSnapshotTestCase" */ = {
isa = XCConfigurationList;
buildConfigurations = (
- FA67C1E3D7332203E07E2C272399F87E /* Debug */,
- 9DC7940AB2609170956317F0FA336D60 /* Release */,
+ AF758A008A05FABCFBFC606DF961BC88 /* Debug */,
+ B2D0022E73B1626DFF559445BD46CBA8 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
- F28097D43AF5CD8DA838ABD52A053790 /* Build configuration list for PBXNativeTarget "FBSnapshotTestCase" */ = {
+ AE83DFF9708DAB8755F7BB9247A0E4E9 /* Build configuration list for PBXNativeTarget "Pods-DZNEmptyDataSetTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
- A48DF838CD32B60CBA3139D4DA2D0D1E /* Debug */,
- B57EE59C0A00DB99D4A5A4068B8C0C7B /* Release */,
+ 3D10F2AC0E6D3BB8C6930062B779961C /* Debug */,
+ 1CF63CA2D82A714970222AA8EBB500C1 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
diff --git a/DZNEmptyDataSet/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-dummy.m b/DZNEmptyDataSet/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-dummy.m
deleted file mode 100644
index fb0c8fe9..00000000
--- a/DZNEmptyDataSet/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-dummy.m
+++ /dev/null
@@ -1,5 +0,0 @@
-#import
-@interface PodsDummy_FBSnapshotTestCase : NSObject
-@end
-@implementation PodsDummy_FBSnapshotTestCase
-@end
diff --git a/DZNEmptyDataSet/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch b/DZNEmptyDataSet/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch
deleted file mode 100644
index aa992a4a..00000000
--- a/DZNEmptyDataSet/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-prefix.pch
+++ /dev/null
@@ -1,4 +0,0 @@
-#ifdef __OBJC__
-#import
-#endif
-
diff --git a/DZNEmptyDataSet/Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests-acknowledgements.markdown b/DZNEmptyDataSet/Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests-acknowledgements.markdown
index 2a27ea6e..86eb1f4a 100644
--- a/DZNEmptyDataSet/Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests-acknowledgements.markdown
+++ b/DZNEmptyDataSet/Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests-acknowledgements.markdown
@@ -1,36 +1,29 @@
# Acknowledgements
This application makes use of the following third party libraries:
-## FBSnapshotTestCase
-
-BSD License
-
-For the FBSnapshotTestCase software
-
-Copyright (c) 2013, Facebook, Inc.
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
- * Neither the name Facebook nor the names of its contributors may be used to
- endorse or promote products derived from this software without specific
- prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+## iOSSnapshotTestCase
+
+MIT License
+
+Copyright (c) 2017-2018, Uber Technologies, Inc.
+Copyright (c) 2013-2018, Facebook, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
Generated by CocoaPods - https://cocoapods.org
diff --git a/DZNEmptyDataSet/Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests-acknowledgements.plist b/DZNEmptyDataSet/Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests-acknowledgements.plist
index 7f6bd1a3..f24c9fdf 100644
--- a/DZNEmptyDataSet/Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests-acknowledgements.plist
+++ b/DZNEmptyDataSet/Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests-acknowledgements.plist
@@ -14,40 +14,33 @@
FooterText
- BSD License
+ MIT License
-For the FBSnapshotTestCase software
+Copyright (c) 2017-2018, Uber Technologies, Inc.
+Copyright (c) 2013-2018, Facebook, Inc.
-Copyright (c) 2013, Facebook, Inc.
-All rights reserved.
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
- * Redistributions of source code must retain the above copyright notice,
- this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following disclaimer in the documentation
- and/or other materials provided with the distribution.
- * Neither the name Facebook nor the names of its contributors may be used to
- endorse or promote products derived from this software without specific
- prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
License
- BSD
+ MIT
Title
- FBSnapshotTestCase
+ iOSSnapshotTestCase
Type
PSGroupSpecifier
diff --git a/DZNEmptyDataSet/Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests-frameworks.sh b/DZNEmptyDataSet/Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests-frameworks.sh
index e28de50a..86f2bab3 100755
--- a/DZNEmptyDataSet/Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests-frameworks.sh
+++ b/DZNEmptyDataSet/Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests-frameworks.sh
@@ -59,8 +59,13 @@ code_sign_if_enabled() {
if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then
# Use the current code_sign_identitiy
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
- echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements \"$1\""
- /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements "$1"
+ local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements '$1'"
+
+ if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
+ code_sign_cmd="$code_sign_cmd &"
+ fi
+ echo "$code_sign_cmd"
+ eval "$code_sign_cmd"
fi
}
@@ -84,8 +89,11 @@ strip_invalid_archs() {
if [[ "$CONFIGURATION" == "Debug" ]]; then
- install_framework "$BUILT_PRODUCTS_DIR/FBSnapshotTestCase/FBSnapshotTestCase.framework"
+ install_framework "$BUILT_PRODUCTS_DIR/iOSSnapshotTestCase/FBSnapshotTestCase.framework"
fi
if [[ "$CONFIGURATION" == "Release" ]]; then
- install_framework "$BUILT_PRODUCTS_DIR/FBSnapshotTestCase/FBSnapshotTestCase.framework"
+ install_framework "$BUILT_PRODUCTS_DIR/iOSSnapshotTestCase/FBSnapshotTestCase.framework"
+fi
+if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
+ wait
fi
diff --git a/DZNEmptyDataSet/Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests-resources.sh b/DZNEmptyDataSet/Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests-resources.sh
index 25e9d377..4602c68a 100755
--- a/DZNEmptyDataSet/Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests-resources.sh
+++ b/DZNEmptyDataSet/Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests-resources.sh
@@ -18,6 +18,9 @@ case "${TARGETED_DEVICE_FAMILY}" in
2)
TARGET_DEVICE_ARGS="--target-device ipad"
;;
+ 3)
+ TARGET_DEVICE_ARGS="--target-device tv"
+ ;;
*)
TARGET_DEVICE_ARGS="--target-device mac"
;;
diff --git a/DZNEmptyDataSet/Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests-umbrella.h b/DZNEmptyDataSet/Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests-umbrella.h
index 5994218d..4fe688e5 100644
--- a/DZNEmptyDataSet/Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests-umbrella.h
+++ b/DZNEmptyDataSet/Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests-umbrella.h
@@ -1,5 +1,13 @@
#ifdef __OBJC__
#import
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
#endif
diff --git a/DZNEmptyDataSet/Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests.debug.xcconfig b/DZNEmptyDataSet/Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests.debug.xcconfig
index ef5c0a54..e56d0641 100644
--- a/DZNEmptyDataSet/Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests.debug.xcconfig
+++ b/DZNEmptyDataSet/Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests.debug.xcconfig
@@ -1,9 +1,8 @@
-ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
-FRAMEWORK_SEARCH_PATHS = $(inherited) $(PLATFORM_DIR)/Developer/Library/Frameworks "$PODS_CONFIGURATION_BUILD_DIR/FBSnapshotTestCase"
+FRAMEWORK_SEARCH_PATHS = $(inherited) $(PLATFORM_DIR)/Developer/Library/Frameworks "$PODS_CONFIGURATION_BUILD_DIR/iOSSnapshotTestCase"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
-OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSnapshotTestCase/FBSnapshotTestCase.framework/Headers"
+OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/iOSSnapshotTestCase/FBSnapshotTestCase.framework/Headers"
OTHER_LDFLAGS = $(inherited) -framework "FBSnapshotTestCase"
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
PODS_BUILD_DIR = $BUILD_DIR
diff --git a/DZNEmptyDataSet/Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests.release.xcconfig b/DZNEmptyDataSet/Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests.release.xcconfig
index ef5c0a54..e56d0641 100644
--- a/DZNEmptyDataSet/Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests.release.xcconfig
+++ b/DZNEmptyDataSet/Pods/Target Support Files/Pods-DZNEmptyDataSetTests/Pods-DZNEmptyDataSetTests.release.xcconfig
@@ -1,9 +1,8 @@
-ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
EMBEDDED_CONTENT_CONTAINS_SWIFT = YES
-FRAMEWORK_SEARCH_PATHS = $(inherited) $(PLATFORM_DIR)/Developer/Library/Frameworks "$PODS_CONFIGURATION_BUILD_DIR/FBSnapshotTestCase"
+FRAMEWORK_SEARCH_PATHS = $(inherited) $(PLATFORM_DIR)/Developer/Library/Frameworks "$PODS_CONFIGURATION_BUILD_DIR/iOSSnapshotTestCase"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
-OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/FBSnapshotTestCase/FBSnapshotTestCase.framework/Headers"
+OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/iOSSnapshotTestCase/FBSnapshotTestCase.framework/Headers"
OTHER_LDFLAGS = $(inherited) -framework "FBSnapshotTestCase"
OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
PODS_BUILD_DIR = $BUILD_DIR
diff --git a/DZNEmptyDataSet/Pods/Target Support Files/FBSnapshotTestCase/Info.plist b/DZNEmptyDataSet/Pods/Target Support Files/iOSSnapshotTestCase/Info.plist
similarity index 96%
rename from DZNEmptyDataSet/Pods/Target Support Files/FBSnapshotTestCase/Info.plist
rename to DZNEmptyDataSet/Pods/Target Support Files/iOSSnapshotTestCase/Info.plist
index 57b76a5d..3424ca66 100644
--- a/DZNEmptyDataSet/Pods/Target Support Files/FBSnapshotTestCase/Info.plist
+++ b/DZNEmptyDataSet/Pods/Target Support Files/iOSSnapshotTestCase/Info.plist
@@ -15,7 +15,7 @@
CFBundlePackageType
FMWK
CFBundleShortVersionString
- 2.1.4
+ 4.0.0
CFBundleSignature
????
CFBundleVersion
diff --git a/DZNEmptyDataSet/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-dummy.m b/DZNEmptyDataSet/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-dummy.m
new file mode 100644
index 00000000..9967d3eb
--- /dev/null
+++ b/DZNEmptyDataSet/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-dummy.m
@@ -0,0 +1,5 @@
+#import
+@interface PodsDummy_iOSSnapshotTestCase : NSObject
+@end
+@implementation PodsDummy_iOSSnapshotTestCase
+@end
diff --git a/DZNEmptyDataSet/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-prefix.pch b/DZNEmptyDataSet/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-prefix.pch
new file mode 100644
index 00000000..beb2a244
--- /dev/null
+++ b/DZNEmptyDataSet/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-prefix.pch
@@ -0,0 +1,12 @@
+#ifdef __OBJC__
+#import
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
+#endif
+
diff --git a/DZNEmptyDataSet/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h b/DZNEmptyDataSet/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-umbrella.h
similarity index 66%
rename from DZNEmptyDataSet/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h
rename to DZNEmptyDataSet/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-umbrella.h
index 3481131a..1734e029 100644
--- a/DZNEmptyDataSet/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase-umbrella.h
+++ b/DZNEmptyDataSet/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase-umbrella.h
@@ -1,5 +1,13 @@
#ifdef __OBJC__
#import
+#else
+#ifndef FOUNDATION_EXPORT
+#if defined(__cplusplus)
+#define FOUNDATION_EXPORT extern "C"
+#else
+#define FOUNDATION_EXPORT extern
+#endif
+#endif
#endif
#import "FBSnapshotTestCase.h"
diff --git a/DZNEmptyDataSet/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap b/DZNEmptyDataSet/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.modulemap
similarity index 59%
rename from DZNEmptyDataSet/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap
rename to DZNEmptyDataSet/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.modulemap
index 45b74ece..d2c2777f 100644
--- a/DZNEmptyDataSet/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.modulemap
+++ b/DZNEmptyDataSet/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.modulemap
@@ -1,5 +1,5 @@
framework module FBSnapshotTestCase {
- umbrella header "FBSnapshotTestCase-umbrella.h"
+ umbrella header "iOSSnapshotTestCase-umbrella.h"
export *
module * { export * }
diff --git a/DZNEmptyDataSet/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.xcconfig b/DZNEmptyDataSet/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.xcconfig
similarity index 76%
rename from DZNEmptyDataSet/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.xcconfig
rename to DZNEmptyDataSet/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.xcconfig
index 2fa5f79f..d0a9ed00 100644
--- a/DZNEmptyDataSet/Pods/Target Support Files/FBSnapshotTestCase/FBSnapshotTestCase.xcconfig
+++ b/DZNEmptyDataSet/Pods/Target Support Files/iOSSnapshotTestCase/iOSSnapshotTestCase.xcconfig
@@ -1,12 +1,13 @@
-CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/FBSnapshotTestCase
+CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/iOSSnapshotTestCase
ENABLE_BITCODE = NO
FRAMEWORK_SEARCH_PATHS = $(inherited) "$(PLATFORM_DIR)/Developer/Library/Frameworks"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public"
OTHER_LDFLAGS = -framework "Foundation" -framework "QuartzCore" -framework "UIKit" -framework "XCTest"
-OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" "-suppress-warnings"
+OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS"
PODS_BUILD_DIR = $BUILD_DIR
PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_ROOT = ${SRCROOT}
+PODS_TARGET_SRCROOT = ${PODS_ROOT}/iOSSnapshotTestCase
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
SKIP_INSTALL = YES
diff --git a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h
similarity index 96%
rename from DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h
rename to DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h
index 9091d62a..ecb79a3f 100644
--- a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h
+++ b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.h
@@ -30,8 +30,12 @@
#import
+NS_ASSUME_NONNULL_BEGIN
+
@interface UIImage (Compare)
- (BOOL)fb_compareWithImage:(UIImage *)image tolerance:(CGFloat)tolerance;
@end
+
+NS_ASSUME_NONNULL_END
diff --git a/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.m b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.m
new file mode 100644
index 00000000..5d50b5e4
--- /dev/null
+++ b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Compare.m
@@ -0,0 +1,132 @@
+//
+// Created by Gabriel Handford on 3/1/09.
+// Copyright 2009-2013. All rights reserved.
+// Created by John Boiles on 10/20/11.
+// Copyright (c) 2011. All rights reserved
+// Modified by Felix Schulze on 2/11/13.
+// Copyright 2013. All rights reserved.
+//
+// Permission is hereby granted, free of charge, to any person
+// obtaining a copy of this software and associated documentation
+// files (the "Software"), to deal in the Software without
+// restriction, including without limitation the rights to use,
+// copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the
+// Software is furnished to do so, subject to the following
+// conditions:
+//
+// The above copyright notice and this permission notice shall be
+// included in all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+// OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+// HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+// WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+// OTHER DEALINGS IN THE SOFTWARE.
+//
+
+#import
+
+// This makes debugging much more fun
+typedef union {
+ uint32_t raw;
+ unsigned char bytes[4];
+ struct {
+ char red;
+ char green;
+ char blue;
+ char alpha;
+ } __attribute__((packed)) pixels;
+} FBComparePixel;
+
+@implementation UIImage (Compare)
+
+- (BOOL)fb_compareWithImage:(UIImage *)image tolerance:(CGFloat)tolerance
+{
+ NSAssert(CGSizeEqualToSize(self.size, image.size), @"Images must be same size.");
+
+ CGSize referenceImageSize = CGSizeMake(CGImageGetWidth(self.CGImage), CGImageGetHeight(self.CGImage));
+ CGSize imageSize = CGSizeMake(CGImageGetWidth(image.CGImage), CGImageGetHeight(image.CGImage));
+
+ // The images have the equal size, so we could use the smallest amount of bytes because of byte padding
+ size_t minBytesPerRow = MIN(CGImageGetBytesPerRow(self.CGImage), CGImageGetBytesPerRow(image.CGImage));
+ size_t referenceImageSizeBytes = referenceImageSize.height * minBytesPerRow;
+ void *referenceImagePixels = calloc(1, referenceImageSizeBytes);
+ void *imagePixels = calloc(1, referenceImageSizeBytes);
+
+ if (!referenceImagePixels || !imagePixels) {
+ free(referenceImagePixels);
+ free(imagePixels);
+ return NO;
+ }
+
+ CGContextRef referenceImageContext = CGBitmapContextCreate(referenceImagePixels,
+ referenceImageSize.width,
+ referenceImageSize.height,
+ CGImageGetBitsPerComponent(self.CGImage),
+ minBytesPerRow,
+ CGImageGetColorSpace(self.CGImage),
+ (CGBitmapInfo)kCGImageAlphaPremultipliedLast);
+ CGContextRef imageContext = CGBitmapContextCreate(imagePixels,
+ imageSize.width,
+ imageSize.height,
+ CGImageGetBitsPerComponent(image.CGImage),
+ minBytesPerRow,
+ CGImageGetColorSpace(image.CGImage),
+ (CGBitmapInfo)kCGImageAlphaPremultipliedLast);
+
+ if (!referenceImageContext || !imageContext) {
+ CGContextRelease(referenceImageContext);
+ CGContextRelease(imageContext);
+ free(referenceImagePixels);
+ free(imagePixels);
+ return NO;
+ }
+
+ CGContextDrawImage(referenceImageContext, CGRectMake(0, 0, referenceImageSize.width, referenceImageSize.height), self.CGImage);
+ CGContextDrawImage(imageContext, CGRectMake(0, 0, imageSize.width, imageSize.height), image.CGImage);
+
+ CGContextRelease(referenceImageContext);
+ CGContextRelease(imageContext);
+
+ BOOL imageEqual = YES;
+
+ // Do a fast compare if we can
+ if (tolerance == 0) {
+ imageEqual = (memcmp(referenceImagePixels, imagePixels, referenceImageSizeBytes) == 0);
+ } else {
+ // Go through each pixel in turn and see if it is different
+ const NSInteger pixelCount = referenceImageSize.width * referenceImageSize.height;
+
+ FBComparePixel *p1 = referenceImagePixels;
+ FBComparePixel *p2 = imagePixels;
+
+ NSInteger numDiffPixels = 0;
+ for (int n = 0; n < pixelCount; ++n) {
+ // If this pixel is different, increment the pixel diff count and see
+ // if we have hit our limit.
+ if (p1->raw != p2->raw) {
+ numDiffPixels++;
+
+ CGFloat percent = (CGFloat)numDiffPixels / pixelCount;
+ if (percent > tolerance) {
+ imageEqual = NO;
+ break;
+ }
+ }
+
+ p1++;
+ p2++;
+ }
+ }
+
+ free(referenceImagePixels);
+ free(imagePixels);
+
+ return imageEqual;
+}
+
+@end
diff --git a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h
similarity index 96%
rename from DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h
rename to DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h
index a0863f30..2a97e116 100644
--- a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h
+++ b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.h
@@ -30,8 +30,12 @@
#import
+NS_ASSUME_NONNULL_BEGIN
+
@interface UIImage (Diff)
- (UIImage *)fb_diffWithImage:(UIImage *)image;
@end
+
+NS_ASSUME_NONNULL_END
diff --git a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.m b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.m
similarity index 62%
rename from DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.m
rename to DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.m
index ebb72fe3..7cb1d40b 100644
--- a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.m
+++ b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Diff.m
@@ -34,23 +34,23 @@ @implementation UIImage (Diff)
- (UIImage *)fb_diffWithImage:(UIImage *)image
{
- if (!image) {
- return nil;
- }
- CGSize imageSize = CGSizeMake(MAX(self.size.width, image.size.width), MAX(self.size.height, image.size.height));
- UIGraphicsBeginImageContextWithOptions(imageSize, YES, 0);
- CGContextRef context = UIGraphicsGetCurrentContext();
- [self drawInRect:CGRectMake(0, 0, self.size.width, self.size.height)];
- CGContextSetAlpha(context, 0.5);
- CGContextBeginTransparencyLayer(context, NULL);
- [image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)];
- CGContextSetBlendMode(context, kCGBlendModeDifference);
- CGContextSetFillColorWithColor(context,[UIColor whiteColor].CGColor);
- CGContextFillRect(context, CGRectMake(0, 0, self.size.width, self.size.height));
- CGContextEndTransparencyLayer(context);
- UIImage *returnImage = UIGraphicsGetImageFromCurrentImageContext();
- UIGraphicsEndImageContext();
- return returnImage;
+ if (!image) {
+ return nil;
+ }
+ CGSize imageSize = CGSizeMake(MAX(self.size.width, image.size.width), MAX(self.size.height, image.size.height));
+ UIGraphicsBeginImageContextWithOptions(imageSize, YES, 0);
+ CGContextRef context = UIGraphicsGetCurrentContext();
+ [self drawInRect:CGRectMake(0, 0, self.size.width, self.size.height)];
+ CGContextSetAlpha(context, 0.5);
+ CGContextBeginTransparencyLayer(context, NULL);
+ [image drawInRect:CGRectMake(0, 0, image.size.width, image.size.height)];
+ CGContextSetBlendMode(context, kCGBlendModeDifference);
+ CGContextSetFillColorWithColor(context, [UIColor whiteColor].CGColor);
+ CGContextFillRect(context, CGRectMake(0, 0, self.size.width, self.size.height));
+ CGContextEndTransparencyLayer(context);
+ UIImage *returnImage = UIGraphicsGetImageFromCurrentImageContext();
+ UIGraphicsEndImageContext();
+ return returnImage;
}
@end
diff --git a/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h
new file mode 100644
index 00000000..10c304fe
--- /dev/null
+++ b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.h
@@ -0,0 +1,27 @@
+/*
+ * Copyright (c) 2017-2018, Uber Technologies, Inc.
+ * Copyright (c) 2015-2018, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ *
+ */
+
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface UIImage (Snapshot)
+
+/// Uses renderInContext: to get a snapshot of the layer.
++ (nullable UIImage *)fb_imageForLayer:(CALayer *)layer;
+
+/// Uses renderInContext: to get a snapshot of the view layer.
++ (nullable UIImage *)fb_imageForViewLayer:(UIView *)view;
+
+/// Uses drawViewHierarchyInRect: to get a snapshot of the view and adds the view into a window if needed.
++ (nullable UIImage *)fb_imageForView:(UIView *)view;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff --git a/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.m b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.m
new file mode 100644
index 00000000..e1830b3d
--- /dev/null
+++ b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/Categories/UIImage+Snapshot.m
@@ -0,0 +1,72 @@
+/*
+ * Copyright (c) 2017-2018, Uber Technologies, Inc.
+ * Copyright (c) 2015-2018, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ *
+ */
+
+#import
+
+@implementation UIImage (Snapshot)
+
++ (UIImage *)fb_imageForLayer:(CALayer *)layer
+{
+ CGRect bounds = layer.bounds;
+ NSAssert1(CGRectGetWidth(bounds), @"Zero width for layer %@", layer);
+ NSAssert1(CGRectGetHeight(bounds), @"Zero height for layer %@", layer);
+
+ UIGraphicsBeginImageContextWithOptions(bounds.size, NO, 0);
+ CGContextRef context = UIGraphicsGetCurrentContext();
+ NSAssert1(context, @"Could not generate context for layer %@", layer);
+ CGContextSaveGState(context);
+ [layer layoutIfNeeded];
+ [layer renderInContext:context];
+ CGContextRestoreGState(context);
+
+ UIImage *snapshot = UIGraphicsGetImageFromCurrentImageContext();
+ UIGraphicsEndImageContext();
+ return snapshot;
+}
+
++ (UIImage *)fb_imageForViewLayer:(UIView *)view
+{
+ [view layoutIfNeeded];
+ return [self fb_imageForLayer:view.layer];
+}
+
++ (UIImage *)fb_imageForView:(UIView *)view
+{
+ // If the input view is already a UIWindow, then just use that. Otherwise wrap in a window.
+ UIWindow *window = [view isKindOfClass:[UIWindow class]] ? (UIWindow *)view : view.window;
+ BOOL removeFromSuperview = NO;
+ if (!window) {
+ window = [[UIApplication sharedApplication] keyWindow];
+ }
+
+ if (!view.window && view != window) {
+ [window addSubview:view];
+ removeFromSuperview = YES;
+ }
+
+ [view layoutIfNeeded];
+
+ CGRect bounds = view.bounds;
+ NSAssert1(CGRectGetWidth(bounds), @"Zero width for view %@", view);
+ NSAssert1(CGRectGetHeight(bounds), @"Zero height for view %@", view);
+
+ UIGraphicsBeginImageContextWithOptions(bounds.size, NO, 0);
+ [view drawViewHierarchyInRect:view.bounds afterScreenUpdates:YES];
+
+ UIImage *snapshot = UIGraphicsGetImageFromCurrentImageContext();
+ UIGraphicsEndImageContext();
+
+ if (removeFromSuperview) {
+ [view removeFromSuperview];
+ }
+
+ return snapshot;
+}
+
+@end
diff --git a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h
similarity index 58%
rename from DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h
rename to DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h
index 72abc3c0..5e802ec3 100644
--- a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h
+++ b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.h
@@ -1,10 +1,9 @@
/*
- * Copyright (c) 2015, Facebook, Inc.
- * All rights reserved.
+ * Copyright (c) 2017-2018, Uber Technologies, Inc.
+ * Copyright (c) 2015-2018, Facebook, Inc.
*
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
*
*/
@@ -32,6 +31,20 @@
#define FB_REFERENCE_IMAGE_DIR ""
#endif
+/*
+ There are three ways of setting failed image diff directories.
+
+ 1. Set the preprocessor macro IMAGE_DIFF_DIR to a double quoted
+ c-string with the path.
+ 2. Set an environment variable named IMAGE_DIFF_DIR with the path. This
+ takes precedence over the preprocessor macro to allow for run-time override.
+ 3. Keep everything unset, which will cause the failed image diff images to be saved
+ inside a temporary directory.
+ */
+#ifndef IMAGE_DIFF_DIR
+#define IMAGE_DIFF_DIR ""
+#endif
+
/**
Similar to our much-loved XCTAssert() macros. Use this to perform your test. No need to write an explanation, though.
@param view The view to snapshot
@@ -40,10 +53,10 @@
@param tolerance The percentage of pixels that can differ and still count as an 'identical' view
*/
#define FBSnapshotVerifyViewWithOptions(view__, identifier__, suffixes__, tolerance__) \
- FBSnapshotVerifyViewOrLayerWithOptions(View, view__, identifier__, suffixes__, tolerance__)
+ FBSnapshotVerifyViewOrLayerWithOptions(View, view__, identifier__, suffixes__, tolerance__)
#define FBSnapshotVerifyView(view__, identifier__) \
- FBSnapshotVerifyViewWithOptions(view__, identifier__, FBSnapshotTestCaseDefaultSuffixes(), 0)
+ FBSnapshotVerifyViewWithOptions(view__, identifier__, FBSnapshotTestCaseDefaultSuffixes(), 0)
/**
@@ -54,26 +67,27 @@
@param tolerance The percentage of pixels that can differ and still count as an 'identical' layer
*/
#define FBSnapshotVerifyLayerWithOptions(layer__, identifier__, suffixes__, tolerance__) \
- FBSnapshotVerifyViewOrLayerWithOptions(Layer, layer__, identifier__, suffixes__, tolerance__)
+ FBSnapshotVerifyViewOrLayerWithOptions(Layer, layer__, identifier__, suffixes__, tolerance__)
#define FBSnapshotVerifyLayer(layer__, identifier__) \
- FBSnapshotVerifyLayerWithOptions(layer__, identifier__, FBSnapshotTestCaseDefaultSuffixes(), 0)
+ FBSnapshotVerifyLayerWithOptions(layer__, identifier__, FBSnapshotTestCaseDefaultSuffixes(), 0)
-#define FBSnapshotVerifyViewOrLayerWithOptions(what__, viewOrLayer__, identifier__, suffixes__, tolerance__) \
-{ \
- NSString *errorDescription = [self snapshotVerifyViewOrLayer:viewOrLayer__ identifier:identifier__ suffixes:suffixes__ tolerance:tolerance__]; \
- BOOL noErrors = (errorDescription == nil); \
- XCTAssertTrue(noErrors, @"%@", errorDescription); \
-}
+#define FBSnapshotVerifyViewOrLayerWithOptions(what__, viewOrLayer__, identifier__, suffixes__, tolerance__) \
+ { \
+ NSString *errorDescription = [self snapshotVerifyViewOrLayer:viewOrLayer__ identifier:identifier__ suffixes:suffixes__ tolerance:tolerance__ defaultReferenceDirectory:(@FB_REFERENCE_IMAGE_DIR) defaultImageDiffDirectory:(@IMAGE_DIFF_DIR)]; \
+ BOOL noErrors = (errorDescription == nil); \
+ XCTAssertTrue(noErrors, @"%@", errorDescription); \
+ }
+NS_ASSUME_NONNULL_BEGIN
/**
The base class of view snapshotting tests. If you have small UI component, it's often easier to configure it in a test
and compare an image of the view to a reference image that write lots of complex layout-code tests.
-
+
In order to flip the tests in your subclass to record the reference images set @c recordMode to @c YES.
-
+
@attention When recording, the reference image directory should be explicitly
set, otherwise the images may be written to somewhere inside the
simulator directory.
@@ -98,7 +112,25 @@
When @c YES appends the name of the device model and OS to the snapshot file name.
The default value is @c NO.
*/
-@property (readwrite, nonatomic, assign, getter=isDeviceAgnostic) BOOL deviceAgnostic;
+@property (readwrite, nonatomic, assign, getter=isDeviceAgnostic) BOOL deviceAgnostic DEPRECATED_MSG_ATTRIBUTE("Use agnosticOptions instead. deviceAgnostic will be removed in a future version of iOS Snapshot Test Case.");
+
+/**
+ When set, allows fine-grained control over how agnostic you want the file names to be.
+
+ Allows you to combine which agnostic options you want in your snapshot file names.
+
+ The default value is FBSnapshotTestCaseAgnosticOptionNone.
+
+ @attention If deviceAgnostic is YES, this bitmask is ignored. deviceAgnostic will be deprecated in a future version of FBSnapshotTestCase.
+ */
+@property (readwrite, nonatomic, assign) FBSnapshotTestCaseAgnosticOption agnosticOptions;
+
+/**
+ Overrides the folder name in which the snapshot is going to be saved.
+
+ @attention This property *must* be called *AFTER* [super setUp].
+ */
+@property (readwrite, nonatomic, copy, nullable) NSString *folderName;
/**
When YES, renders a snapshot of the complete view hierarchy as visible onscreen.
@@ -106,7 +138,7 @@
- UIVisualEffect #70
- UIAppearance #91
- Size Classes #92
-
+
@attention If the view does't belong to a UIWindow, it will create one and add the view as a subview.
*/
@property (readwrite, nonatomic, assign) BOOL usesDrawViewHierarchyInRect;
@@ -120,17 +152,22 @@
@param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method.
@param suffixes An NSOrderedSet of strings for the different suffixes
@param tolerance The percentage difference to still count as identical - 0 mean pixel perfect, 1 means I don't care
+ @param defaultReferenceDirectory The directory to default to for reference images.
+ @param defaultImageDiffDirectory The directory to default to for failed image diffs.
@returns nil if the comparison (or saving of the reference image) succeeded. Otherwise it contains an error description.
*/
-- (NSString *)snapshotVerifyViewOrLayer:(id)viewOrLayer
- identifier:(NSString *)identifier
- suffixes:(NSOrderedSet *)suffixes
- tolerance:(CGFloat)tolerance;
+- (nullable NSString *)snapshotVerifyViewOrLayer:(id)viewOrLayer
+ identifier:(nullable NSString *)identifier
+ suffixes:(NSOrderedSet *)suffixes
+ tolerance:(CGFloat)tolerance
+ defaultReferenceDirectory:(nullable NSString *)defaultReferenceDirectory
+ defaultImageDiffDirectory:(nullable NSString *)defaultImageDiffDirectory;
/**
Performs the comparison or records a snapshot of the layer if recordMode is YES.
@param layer The Layer to snapshot
@param referenceImagesDirectory The directory in which reference images are stored.
+ @param imageDiffDirectory The directory in which failed image diffs are stored.
@param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method.
@param tolerance The percentage difference to still count as identical - 0 mean pixel perfect, 1 means I don't care
@param errorPtr An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc).
@@ -138,7 +175,8 @@
*/
- (BOOL)compareSnapshotOfLayer:(CALayer *)layer
referenceImagesDirectory:(NSString *)referenceImagesDirectory
- identifier:(NSString *)identifier
+ imageDiffDirectory:(NSString *)imageDiffDirectory
+ identifier:(nullable NSString *)identifier
tolerance:(CGFloat)tolerance
error:(NSError **)errorPtr;
@@ -146,6 +184,7 @@
Performs the comparison or records a snapshot of the view if recordMode is YES.
@param view The view to snapshot
@param referenceImagesDirectory The directory in which reference images are stored.
+ @param imageDiffDirectory The directory in which failed image diffs are stored.
@param identifier An optional identifier, used if there are multiple snapshot tests in a given -test method.
@param tolerance The percentage difference to still count as identical - 0 mean pixel perfect, 1 means I don't care
@param errorPtr An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc).
@@ -153,7 +192,8 @@
*/
- (BOOL)compareSnapshotOfView:(UIView *)view
referenceImagesDirectory:(NSString *)referenceImagesDirectory
- identifier:(NSString *)identifier
+ imageDiffDirectory:(NSString *)imageDiffDirectory
+ identifier:(nullable NSString *)identifier
tolerance:(CGFloat)tolerance
error:(NSError **)errorPtr;
@@ -165,7 +205,7 @@
@returns YES if reference image exists.
*/
- (BOOL)referenceImageRecordedInDirectory:(NSString *)referenceImagesDirectory
- identifier:(NSString *)identifier
+ identifier:(nullable NSString *)identifier
error:(NSError **)errorPtr;
/**
@@ -173,8 +213,19 @@
Helper function used to implement the assert macros.
- @param dir directory to use if environment variable not specified. Ignored if null or empty.
+ @param dir Directory to use if environment variable not specified. Ignored if null or empty.
+ */
+- (NSString *)getReferenceImageDirectoryWithDefault:(nullable NSString *)dir;
+
+/**
+ Returns the failed image diff directory.
+
+ Helper function used to implement the assert macros.
+
+ @param dir Directory to use if environment variable not specified. Ignored if null or empty.
*/
-- (NSString *)getReferenceImageDirectoryWithDefault:(NSString *)dir;
+- (NSString *)getImageDiffDirectoryWithDefault:(nullable NSString *)dir;
@end
+
+NS_ASSUME_NONNULL_END
diff --git a/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m
new file mode 100644
index 00000000..f6050e79
--- /dev/null
+++ b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCase.m
@@ -0,0 +1,237 @@
+/*
+ * Copyright (c) 2017-2018, Uber Technologies, Inc.
+ * Copyright (c) 2015-2018, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ *
+ */
+
+#import
+#import
+
+@implementation FBSnapshotTestCase {
+ FBSnapshotTestController *_snapshotController;
+}
+
+#pragma mark - Overrides
+
+- (void)setUp
+{
+ [super setUp];
+ _snapshotController = [[FBSnapshotTestController alloc] initWithTestClass:[self class]];
+}
+
+- (void)tearDown
+{
+ _snapshotController = nil;
+ [super tearDown];
+}
+
+- (BOOL)recordMode
+{
+ return _snapshotController.recordMode;
+}
+
+- (void)setRecordMode:(BOOL)recordMode
+{
+ NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__);
+ _snapshotController.recordMode = recordMode;
+}
+
+- (BOOL)isDeviceAgnostic
+{
+ return _snapshotController.deviceAgnostic;
+}
+
+- (void)setDeviceAgnostic:(BOOL)deviceAgnostic
+{
+ NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__);
+ _snapshotController.deviceAgnostic = deviceAgnostic;
+}
+
+- (FBSnapshotTestCaseAgnosticOption)agnosticOptions
+{
+ return _snapshotController.agnosticOptions;
+}
+
+- (void)setAgnosticOptions:(FBSnapshotTestCaseAgnosticOption)agnosticOptions
+{
+ NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__);
+ _snapshotController.agnosticOptions = agnosticOptions;
+}
+
+- (BOOL)usesDrawViewHierarchyInRect
+{
+ return _snapshotController.usesDrawViewHierarchyInRect;
+}
+
+- (void)setUsesDrawViewHierarchyInRect:(BOOL)usesDrawViewHierarchyInRect
+{
+ NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__);
+ _snapshotController.usesDrawViewHierarchyInRect = usesDrawViewHierarchyInRect;
+}
+
+- (NSString *)folderName
+{
+ return _snapshotController.folderName;
+}
+
+- (void)setFolderName:(NSString *)folderName
+{
+ _snapshotController.folderName = folderName;
+}
+
+#pragma mark - Public API
+
+- (NSString *)snapshotVerifyViewOrLayer:(id)viewOrLayer
+ identifier:(NSString *)identifier
+ suffixes:(NSOrderedSet *)suffixes
+ tolerance:(CGFloat)tolerance
+ defaultReferenceDirectory:(NSString *)defaultReferenceDirectory
+ defaultImageDiffDirectory:(NSString *)defaultImageDiffDirectory
+{
+ if (nil == viewOrLayer) {
+ return @"Object to be snapshotted must not be nil";
+ }
+
+ NSString *referenceImageDirectory = [self getReferenceImageDirectoryWithDefault:defaultReferenceDirectory];
+ if (referenceImageDirectory == nil) {
+ return @"Missing value for referenceImagesDirectory - Set FB_REFERENCE_IMAGE_DIR as an Environment variable in your scheme.";
+ }
+
+ NSString *imageDiffDirectory = [self getImageDiffDirectoryWithDefault:defaultImageDiffDirectory];
+ if (imageDiffDirectory == nil) {
+ return @"Missing value for imageDiffDirectory - Set IMAGE_DIFF_DIR as an Environment variable in your scheme.";
+ }
+
+ if (suffixes.count == 0) {
+ return [NSString stringWithFormat:@"Suffixes set cannot be empty %@", suffixes];
+ }
+
+ BOOL testSuccess = NO;
+ NSError *error = nil;
+ NSMutableArray *errors = [NSMutableArray array];
+
+ if (self.recordMode) {
+ NSString *referenceImagesDirectory = [NSString stringWithFormat:@"%@%@", referenceImageDirectory, suffixes.firstObject];
+ BOOL referenceImageSaved = [self _compareSnapshotOfViewOrLayer:viewOrLayer referenceImagesDirectory:referenceImagesDirectory imageDiffDirectory:imageDiffDirectory identifier:(identifier) tolerance:tolerance error:&error];
+ if (!referenceImageSaved) {
+ [errors addObject:error];
+ }
+ } else {
+ for (NSString *suffix in suffixes) {
+ NSString *referenceImagesDirectory = [NSString stringWithFormat:@"%@%@", referenceImageDirectory, suffix];
+ BOOL referenceImageAvailable = [self referenceImageRecordedInDirectory:referenceImagesDirectory identifier:(identifier) error:&error];
+
+ if (referenceImageAvailable) {
+ BOOL comparisonSuccess = [self _compareSnapshotOfViewOrLayer:viewOrLayer referenceImagesDirectory:referenceImagesDirectory imageDiffDirectory:imageDiffDirectory identifier:identifier tolerance:tolerance error:&error];
+ [errors removeAllObjects];
+ if (comparisonSuccess) {
+ testSuccess = YES;
+ break;
+ } else {
+ [errors addObject:error];
+ }
+ } else {
+ [errors addObject:error];
+ }
+ }
+ }
+
+ if (!testSuccess) {
+ return [NSString stringWithFormat:@"Snapshot comparison failed: %@", errors.firstObject];
+ }
+ if (self.recordMode) {
+ return @"Test ran in record mode. Reference image is now saved. Disable record mode to perform an actual snapshot comparison!";
+ }
+
+ return nil;
+}
+
+- (BOOL)compareSnapshotOfLayer:(CALayer *)layer
+ referenceImagesDirectory:(NSString *)referenceImagesDirectory
+ imageDiffDirectory:(NSString *)imageDiffDirectory
+ identifier:(NSString *)identifier
+ tolerance:(CGFloat)tolerance
+ error:(NSError **)errorPtr
+{
+ return [self _compareSnapshotOfViewOrLayer:layer
+ referenceImagesDirectory:referenceImagesDirectory
+ imageDiffDirectory:imageDiffDirectory
+ identifier:identifier
+ tolerance:tolerance
+ error:errorPtr];
+}
+
+- (BOOL)compareSnapshotOfView:(UIView *)view
+ referenceImagesDirectory:(NSString *)referenceImagesDirectory
+ imageDiffDirectory:(NSString *)imageDiffDirectory
+ identifier:(NSString *)identifier
+ tolerance:(CGFloat)tolerance
+ error:(NSError **)errorPtr
+{
+ return [self _compareSnapshotOfViewOrLayer:view
+ referenceImagesDirectory:referenceImagesDirectory
+ imageDiffDirectory:imageDiffDirectory
+ identifier:identifier
+ tolerance:tolerance
+ error:errorPtr];
+}
+
+- (BOOL)referenceImageRecordedInDirectory:(NSString *)referenceImagesDirectory
+ identifier:(NSString *)identifier
+ error:(NSError **)errorPtr
+{
+ NSAssert1(_snapshotController, @"%s cannot be called before [super setUp]", __FUNCTION__);
+ _snapshotController.referenceImagesDirectory = referenceImagesDirectory;
+ UIImage *referenceImage = [_snapshotController referenceImageForSelector:self.invocation.selector
+ identifier:identifier
+ error:errorPtr];
+
+ return (referenceImage != nil);
+}
+
+- (NSString *)getReferenceImageDirectoryWithDefault:(NSString *)dir
+{
+ NSString *envReferenceImageDirectory = [NSProcessInfo processInfo].environment[@"FB_REFERENCE_IMAGE_DIR"];
+ if (envReferenceImageDirectory) {
+ return envReferenceImageDirectory;
+ }
+ if (dir && dir.length > 0) {
+ return dir;
+ }
+ return [[NSBundle bundleForClass:self.class].resourcePath stringByAppendingPathComponent:@"ReferenceImages"];
+}
+
+- (NSString *)getImageDiffDirectoryWithDefault:(NSString *)dir
+{
+ NSString *envImageDiffDirectory = [NSProcessInfo processInfo].environment[@"IMAGE_DIFF_DIR"];
+ if (envImageDiffDirectory) {
+ return envImageDiffDirectory;
+ }
+ if (dir && dir.length > 0) {
+ return dir;
+ }
+ return NSTemporaryDirectory();
+}
+
+#pragma mark - Private API
+
+- (BOOL)_compareSnapshotOfViewOrLayer:(id)viewOrLayer
+ referenceImagesDirectory:(NSString *)referenceImagesDirectory
+ imageDiffDirectory:(NSString *)imageDiffDirectory
+ identifier:(NSString *)identifier
+ tolerance:(CGFloat)tolerance
+ error:(NSError **)errorPtr
+{
+ _snapshotController.referenceImagesDirectory = referenceImagesDirectory;
+ _snapshotController.imageDiffDirectory = imageDiffDirectory;
+ return [_snapshotController compareSnapshotOfViewOrLayer:viewOrLayer
+ selector:self.invocation.selector
+ identifier:identifier
+ tolerance:tolerance
+ error:errorPtr];
+}
+
+@end
diff --git a/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h
new file mode 100644
index 00000000..0bdfcc22
--- /dev/null
+++ b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.h
@@ -0,0 +1,71 @@
+/*
+ * Copyright (c) 2017-2018, Uber Technologies, Inc.
+ * Copyright (c) 2015-2018, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ *
+ */
+
+#import
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+NS_ASSUME_NONNULL_BEGIN
+
+/**
+ An option mask that allows you to cherry pick which parts you want to 'be agnostic' in the snapshot file name.
+
+ - FBSnapshotTestCaseAgnosticOptionNone: Don't make the file name agnostic at all.
+ - FBSnapshotTestCaseAgnosticOptionDevice: The file name should be agnostic on the device name, as returned by UIDevice.currentDevice.model.
+ - FBSnapshotTestCaseAgnosticOptionOS: The file name should be agnostic on the OS version, as returned by UIDevice.currentDevice.systemVersion.
+ - FBSnapshotTestCaseAgnosticOptionScreenSize: The file name should be agnostic on the screen size of the current keyWindow, as returned by UIApplication.sharedApplication.keyWindow.bounds.size.
+ */
+typedef NS_OPTIONS(NSUInteger, FBSnapshotTestCaseAgnosticOption) {
+ FBSnapshotTestCaseAgnosticOptionNone = 1 << 0,
+ FBSnapshotTestCaseAgnosticOptionDevice = 1 << 1,
+ FBSnapshotTestCaseAgnosticOptionOS = 1 << 2,
+ FBSnapshotTestCaseAgnosticOptionScreenSize = 1 << 3
+};
+
+/**
+ Returns a Boolean value that indicates whether the snapshot test is running in 64Bit.
+ This method is a convenience for creating the suffixes set based on the architecture
+ that the test is running.
+
+ @returns @c YES if the test is running in 64bit, otherwise @c NO.
+ */
+BOOL FBSnapshotTestCaseIs64Bit(void);
+
+/**
+ Returns a default set of strings that is used to append a suffix based on the architectures.
+ @warning Do not modify this function, you can create your own and use it with @c FBSnapshotVerifyViewWithOptions()
+
+ @returns An @c NSOrderedSet object containing strings that are appended to the reference images directory.
+ */
+NSOrderedSet *FBSnapshotTestCaseDefaultSuffixes(void);
+
+/**
+ Returns a fully «normalized» file name.
+ Strips punctuation and spaces and replaces them with @c _. Also appends the device model, running OS and screen size to the file name.
+
+ @returns An @c NSString object containing the passed @c fileName with the device model, OS and screen size appended at the end.
+ */
+NSString *FBDeviceAgnosticNormalizedFileName(NSString *fileName);
+
+/**
+ Returns a fully normalized file name as per the provided option mask. Strips punctuation and spaces and replaces them with @c _.
+
+ @param fileName The file name to normalize.
+ @param option Agnostic options to use before normalization.
+ @return An @c NSString object containing the passed @c fileName and optionally, with the device model and/or OS and/or screen size appended at the end.
+ */
+NSString *FBDeviceAgnosticNormalizedFileNameFromOption(NSString *fileName, FBSnapshotTestCaseAgnosticOption option);
+
+NS_ASSUME_NONNULL_END
+
+#ifdef __cplusplus
+}
+#endif
diff --git a/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m
new file mode 100644
index 00000000..98d70393
--- /dev/null
+++ b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestCasePlatform.m
@@ -0,0 +1,77 @@
+/*
+ * Copyright (c) 2017-2018, Uber Technologies, Inc.
+ * Copyright (c) 2015-2018, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ *
+ */
+
+#import
+#import
+
+BOOL FBSnapshotTestCaseIs64Bit(void)
+{
+#if __LP64__
+ return YES;
+#else
+ return NO;
+#endif
+}
+
+NSOrderedSet *FBSnapshotTestCaseDefaultSuffixes(void)
+{
+ NSMutableOrderedSet *suffixesSet = [[NSMutableOrderedSet alloc] init];
+ [suffixesSet addObject:@"_32"];
+ [suffixesSet addObject:@"_64"];
+ if (FBSnapshotTestCaseIs64Bit()) {
+ return [suffixesSet reversedOrderedSet];
+ }
+ return [suffixesSet copy];
+}
+
+NSString *FBDeviceAgnosticNormalizedFileName(NSString *fileName)
+{
+ UIDevice *device = [UIDevice currentDevice];
+ UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];
+ CGSize screenSize = keyWindow.bounds.size;
+ NSString *os = device.systemVersion;
+
+ fileName = [NSString stringWithFormat:@"%@_%@%@_%.0fx%.0f", fileName, device.model, os, screenSize.width, screenSize.height];
+
+ NSMutableCharacterSet *invalidCharacters = [NSMutableCharacterSet new];
+ [invalidCharacters formUnionWithCharacterSet:[NSCharacterSet whitespaceCharacterSet]];
+ [invalidCharacters formUnionWithCharacterSet:[NSCharacterSet punctuationCharacterSet]];
+ NSArray *validComponents = [fileName componentsSeparatedByCharactersInSet:invalidCharacters];
+ fileName = [validComponents componentsJoinedByString:@"_"];
+
+ return fileName;
+}
+
+NSString *FBDeviceAgnosticNormalizedFileNameFromOption(NSString *fileName, FBSnapshotTestCaseAgnosticOption option)
+{
+ if ((option & FBSnapshotTestCaseAgnosticOptionDevice) == FBSnapshotTestCaseAgnosticOptionDevice) {
+ UIDevice *device = [UIDevice currentDevice];
+ fileName = [fileName stringByAppendingFormat:@"_%@", device.model];
+ }
+
+ if ((option & FBSnapshotTestCaseAgnosticOptionOS) == FBSnapshotTestCaseAgnosticOptionOS) {
+ UIDevice *device = [UIDevice currentDevice];
+ NSString *os = device.systemVersion;
+ fileName = [fileName stringByAppendingFormat:@"_%@", os];
+ }
+
+ if ((option & FBSnapshotTestCaseAgnosticOptionScreenSize) == FBSnapshotTestCaseAgnosticOptionScreenSize) {
+ UIWindow *keyWindow = [[UIApplication sharedApplication] keyWindow];
+ CGSize screenSize = keyWindow.bounds.size;
+ fileName = [fileName stringByAppendingFormat:@"_%.0fx%.0f", screenSize.width, screenSize.height];
+ }
+
+ NSMutableCharacterSet *invalidCharacters = [NSMutableCharacterSet new];
+ [invalidCharacters formUnionWithCharacterSet:[NSCharacterSet whitespaceCharacterSet]];
+ [invalidCharacters formUnionWithCharacterSet:[NSCharacterSet punctuationCharacterSet]];
+ NSArray *validComponents = [fileName componentsSeparatedByCharactersInSet:invalidCharacters];
+ fileName = [validComponents componentsJoinedByString:@"_"];
+
+ return fileName;
+}
diff --git a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h
similarity index 68%
rename from DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h
rename to DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h
index a0285ad8..5161b05c 100644
--- a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h
+++ b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.h
@@ -1,23 +1,27 @@
/*
- * Copyright (c) 2015, Facebook, Inc.
- * All rights reserved.
+ * Copyright (c) 2017-2018, Uber Technologies, Inc.
+ * Copyright (c) 2015-2018, Facebook, Inc.
*
- * This source code is licensed under the BSD-style license found in the
- * LICENSE file in the root directory of this source tree. An additional grant
- * of patent rights can be found in the PATENTS file in the same directory.
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
*
*/
#import
#import
+#import
+
+NS_ASSUME_NONNULL_BEGIN
+
typedef NS_ENUM(NSInteger, FBSnapshotTestControllerErrorCode) {
- FBSnapshotTestControllerErrorCodeUnknown,
- FBSnapshotTestControllerErrorCodeNeedsRecord,
- FBSnapshotTestControllerErrorCodePNGCreationFailed,
- FBSnapshotTestControllerErrorCodeImagesDifferentSizes,
- FBSnapshotTestControllerErrorCodeImagesDifferent,
+ FBSnapshotTestControllerErrorCodeUnknown,
+ FBSnapshotTestControllerErrorCodeNeedsRecord,
+ FBSnapshotTestControllerErrorCodePNGCreationFailed,
+ FBSnapshotTestControllerErrorCodeImagesDifferentSizes,
+ FBSnapshotTestControllerErrorCodeImagesDifferent,
};
+
/**
Errors returned by the methods of FBSnapshotTestController use this domain.
*/
@@ -61,40 +65,54 @@ extern NSString *const FBDiffedImageKey;
*/
@property (readwrite, nonatomic, assign, getter=isDeviceAgnostic) BOOL deviceAgnostic;
+/**
+ When set, allows fine-grained control over how agnostic you want the file names to be.
+
+ Allows you to combine which agnostic options you want in your snapshot file names.
+
+ The default value is FBSnapshotTestCaseAgnosticOptionNone.
+
+ @attention If deviceAgnostic is YES, this bitmask is ignored. deviceAgnostic will be deprecated in a future version of FBSnapshotTestCase.
+ */
+@property (readwrite, nonatomic, assign) FBSnapshotTestCaseAgnosticOption agnosticOptions;
+
/**
Uses drawViewHierarchyInRect:afterScreenUpdates: to draw the image instead of renderInContext:
*/
@property (readwrite, nonatomic, assign) BOOL usesDrawViewHierarchyInRect;
/**
- The directory in which referfence images are stored.
+ The directory in which reference images are stored.
*/
-@property (readwrite, nonatomic, copy) NSString *referenceImagesDirectory;
+@property (readwrite, nonatomic, copy, nullable) NSString *referenceImagesDirectory;
/**
- @param testClass The subclass of FBSnapshotTestCase that is using this controller.
- @returns An instance of FBSnapshotTestController.
+ The directory in which failed snapshot images are stored.
*/
-- (instancetype)initWithTestClass:(Class)testClass;
+@property (readwrite, nonatomic, copy) NSString *imageDiffDirectory;
+
+/**
+ The name folder in which the snapshots will be saved for a given test case.
+*/
+@property (readwrite, nonatomic, copy) NSString *folderName;
/**
- Designated initializer.
- @param testName The name of the tests.
+ @param testClass The subclass of FBSnapshotTestCase that is using this controller.
@returns An instance of FBSnapshotTestController.
*/
-- (instancetype)initWithTestName:(NSString *)testName;
+- (instancetype)initWithTestClass:(Class)testClass;
/**
Performs the comparison of the layer.
@param layer The Layer to snapshot.
@param selector The test method being run.
@param identifier An optional identifier, used is there are muliptle snapshot tests in a given -test method.
- @param error An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc).
+ @param errorPtr An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc).
@returns YES if the comparison (or saving of the reference image) succeeded.
*/
- (BOOL)compareSnapshotOfLayer:(CALayer *)layer
selector:(SEL)selector
- identifier:(NSString *)identifier
+ identifier:(nullable NSString *)identifier
error:(NSError **)errorPtr;
/**
@@ -102,26 +120,26 @@ extern NSString *const FBDiffedImageKey;
@param view The view to snapshot.
@param selector The test method being run.
@param identifier An optional identifier, used is there are muliptle snapshot tests in a given -test method.
- @param error An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc).
+ @param errorPtr An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc).
@returns YES if the comparison (or saving of the reference image) succeeded.
*/
- (BOOL)compareSnapshotOfView:(UIView *)view
selector:(SEL)selector
- identifier:(NSString *)identifier
+ identifier:(nullable NSString *)identifier
error:(NSError **)errorPtr;
/**
Performs the comparison of a view or layer.
- @param view The view or layer to snapshot.
+ @param viewOrLayer The view or layer to snapshot.
@param selector The test method being run.
@param identifier An optional identifier, used is there are muliptle snapshot tests in a given -test method.
@param tolerance The percentage of pixels that can differ and still be considered 'identical'
- @param error An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc).
+ @param errorPtr An error to log in an XCTAssert() macro if the method fails (missing reference image, images differ, etc).
@returns YES if the comparison (or saving of the reference image) succeeded.
*/
- (BOOL)compareSnapshotOfViewOrLayer:(id)viewOrLayer
selector:(SEL)selector
- identifier:(NSString *)identifier
+ identifier:(nullable NSString *)identifier
tolerance:(CGFloat)tolerance
error:(NSError **)errorPtr;
@@ -132,9 +150,9 @@ extern NSString *const FBDiffedImageKey;
@param errorPtr An error, if this methods returns nil, the error will be something useful.
@returns An image.
*/
-- (UIImage *)referenceImageForSelector:(SEL)selector
- identifier:(NSString *)identifier
- error:(NSError **)errorPtr;
+- (nullable UIImage *)referenceImageForSelector:(SEL)selector
+ identifier:(nullable NSString *)identifier
+ error:(NSError **)errorPtr;
/**
Performs a pixel-by-pixel comparison of the two images with an allowable margin of error.
@@ -161,6 +179,8 @@ extern NSString *const FBDiffedImageKey;
- (BOOL)saveFailedReferenceImage:(UIImage *)referenceImage
testImage:(UIImage *)testImage
selector:(SEL)selector
- identifier:(NSString *)identifier
+ identifier:(nullable NSString *)identifier
error:(NSError **)errorPtr;
@end
+
+NS_ASSUME_NONNULL_END
diff --git a/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m
new file mode 100644
index 00000000..00293448
--- /dev/null
+++ b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/FBSnapshotTestController.m
@@ -0,0 +1,351 @@
+/*
+ * Copyright (c) 2017-2018, Uber Technologies, Inc.
+ * Copyright (c) 2015-2018, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ *
+ */
+
+#import
+#import
+#import
+#import
+#import
+
+#import
+
+NSString *const FBSnapshotTestControllerErrorDomain = @"FBSnapshotTestControllerErrorDomain";
+NSString *const FBReferenceImageFilePathKey = @"FBReferenceImageFilePathKey";
+NSString *const FBReferenceImageKey = @"FBReferenceImageKey";
+NSString *const FBCapturedImageKey = @"FBCapturedImageKey";
+NSString *const FBDiffedImageKey = @"FBDiffedImageKey";
+
+typedef NS_ENUM(NSUInteger, FBTestSnapshotFileNameType) {
+ FBTestSnapshotFileNameTypeReference,
+ FBTestSnapshotFileNameTypeFailedReference,
+ FBTestSnapshotFileNameTypeFailedTest,
+ FBTestSnapshotFileNameTypeFailedTestDiff,
+};
+
+@implementation FBSnapshotTestController {
+ NSFileManager *_fileManager;
+}
+
+#pragma mark - Initializers
+
+- (instancetype)initWithTestClass:(Class)testClass;
+{
+ if (self = [super init]) {
+ _folderName = NSStringFromClass(testClass);
+ _deviceAgnostic = NO;
+ _agnosticOptions = FBSnapshotTestCaseAgnosticOptionNone;
+
+ _fileManager = [[NSFileManager alloc] init];
+ }
+ return self;
+}
+
+#pragma mark - Overrides
+
+- (NSString *)description
+{
+ return [NSString stringWithFormat:@"%@ %@", [super description], _referenceImagesDirectory];
+}
+
+#pragma mark - Public API
+
+- (BOOL)compareSnapshotOfLayer:(CALayer *)layer
+ selector:(SEL)selector
+ identifier:(NSString *)identifier
+ error:(NSError **)errorPtr
+{
+ return [self compareSnapshotOfViewOrLayer:layer
+ selector:selector
+ identifier:identifier
+ tolerance:0
+ error:errorPtr];
+}
+
+- (BOOL)compareSnapshotOfView:(UIView *)view
+ selector:(SEL)selector
+ identifier:(NSString *)identifier
+ error:(NSError **)errorPtr
+{
+ return [self compareSnapshotOfViewOrLayer:view
+ selector:selector
+ identifier:identifier
+ tolerance:0
+ error:errorPtr];
+}
+
+- (BOOL)compareSnapshotOfViewOrLayer:(id)viewOrLayer
+ selector:(SEL)selector
+ identifier:(NSString *)identifier
+ tolerance:(CGFloat)tolerance
+ error:(NSError **)errorPtr
+{
+ if (self.recordMode) {
+ return [self _recordSnapshotOfViewOrLayer:viewOrLayer selector:selector identifier:identifier error:errorPtr];
+ } else {
+ return [self _performPixelComparisonWithViewOrLayer:viewOrLayer selector:selector identifier:identifier tolerance:tolerance error:errorPtr];
+ }
+}
+
+- (UIImage *)referenceImageForSelector:(SEL)selector
+ identifier:(NSString *)identifier
+ error:(NSError **)errorPtr
+{
+ NSString *filePath = [self _referenceFilePathForSelector:selector identifier:identifier];
+ UIImage *image = [UIImage imageWithContentsOfFile:filePath];
+ if (nil == image && NULL != errorPtr) {
+ BOOL exists = [_fileManager fileExistsAtPath:filePath];
+ if (!exists) {
+ *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain
+ code:FBSnapshotTestControllerErrorCodeNeedsRecord
+ userInfo:@{
+ FBReferenceImageFilePathKey : filePath,
+ NSLocalizedDescriptionKey : @"Unable to load reference image.",
+ NSLocalizedFailureReasonErrorKey : @"Reference image not found. You need to run the test in record mode",
+ }];
+ } else {
+ *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain
+ code:FBSnapshotTestControllerErrorCodeUnknown
+ userInfo:nil];
+ }
+ }
+ return image;
+}
+
+- (BOOL)compareReferenceImage:(UIImage *)referenceImage
+ toImage:(UIImage *)image
+ tolerance:(CGFloat)tolerance
+ error:(NSError **)errorPtr
+{
+ BOOL sameImageDimensions = CGSizeEqualToSize(referenceImage.size, image.size);
+ if (sameImageDimensions && [referenceImage fb_compareWithImage:image tolerance:tolerance]) {
+ return YES;
+ }
+
+ if (NULL != errorPtr) {
+ NSString *errorDescription = sameImageDimensions ? @"Images different" : @"Images different sizes";
+ NSString *errorReason = sameImageDimensions ? [NSString stringWithFormat:@"image pixels differed by more than %.2f%% from the reference image", tolerance * 100] : [NSString stringWithFormat:@"referenceImage:%@, image:%@", NSStringFromCGSize(referenceImage.size), NSStringFromCGSize(image.size)];
+ FBSnapshotTestControllerErrorCode errorCode = sameImageDimensions ? FBSnapshotTestControllerErrorCodeImagesDifferent : FBSnapshotTestControllerErrorCodeImagesDifferentSizes;
+
+ *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain
+ code:errorCode
+ userInfo:@{
+ NSLocalizedDescriptionKey : errorDescription,
+ NSLocalizedFailureReasonErrorKey : errorReason,
+ FBReferenceImageKey : referenceImage,
+ FBCapturedImageKey : image,
+ FBDiffedImageKey : [referenceImage fb_diffWithImage:image],
+ }];
+ }
+ return NO;
+}
+
+- (BOOL)saveFailedReferenceImage:(UIImage *)referenceImage
+ testImage:(UIImage *)testImage
+ selector:(SEL)selector
+ identifier:(NSString *)identifier
+ error:(NSError **)errorPtr
+{
+ NSData *referencePNGData = UIImagePNGRepresentation(referenceImage);
+ NSData *testPNGData = UIImagePNGRepresentation(testImage);
+
+ NSString *referencePath = [self _failedFilePathForSelector:selector
+ identifier:identifier
+ fileNameType:FBTestSnapshotFileNameTypeFailedReference];
+
+ NSError *creationError = nil;
+ BOOL didCreateDir = [_fileManager createDirectoryAtPath:[referencePath stringByDeletingLastPathComponent]
+ withIntermediateDirectories:YES
+ attributes:nil
+ error:&creationError];
+ if (!didCreateDir) {
+ if (NULL != errorPtr) {
+ *errorPtr = creationError;
+ }
+ return NO;
+ }
+
+ if (![referencePNGData writeToFile:referencePath options:NSDataWritingAtomic error:errorPtr]) {
+ return NO;
+ }
+
+ NSString *testPath = [self _failedFilePathForSelector:selector
+ identifier:identifier
+ fileNameType:FBTestSnapshotFileNameTypeFailedTest];
+
+ if (![testPNGData writeToFile:testPath options:NSDataWritingAtomic error:errorPtr]) {
+ return NO;
+ }
+
+ NSString *diffPath = [self _failedFilePathForSelector:selector
+ identifier:identifier
+ fileNameType:FBTestSnapshotFileNameTypeFailedTestDiff];
+
+ UIImage *diffImage = [referenceImage fb_diffWithImage:testImage];
+ NSData *diffImageData = UIImagePNGRepresentation(diffImage);
+
+ if (![diffImageData writeToFile:diffPath options:NSDataWritingAtomic error:errorPtr]) {
+ return NO;
+ }
+
+ NSLog(@"If you have Kaleidoscope installed you can run this command to see an image diff:\n"
+ @"ksdiff \"%@\" \"%@\"",
+ referencePath, testPath);
+
+ return YES;
+}
+
+#pragma mark - Private API
+
+- (NSString *)_fileNameForSelector:(SEL)selector
+ identifier:(NSString *)identifier
+ fileNameType:(FBTestSnapshotFileNameType)fileNameType
+{
+ NSString *fileName = nil;
+ switch (fileNameType) {
+ case FBTestSnapshotFileNameTypeFailedReference:
+ fileName = @"reference_";
+ break;
+ case FBTestSnapshotFileNameTypeFailedTest:
+ fileName = @"failed_";
+ break;
+ case FBTestSnapshotFileNameTypeFailedTestDiff:
+ fileName = @"diff_";
+ break;
+ default:
+ fileName = @"";
+ break;
+ }
+ fileName = [fileName stringByAppendingString:NSStringFromSelector(selector)];
+ if (0 < identifier.length) {
+ fileName = [fileName stringByAppendingFormat:@"_%@", identifier];
+ }
+
+ BOOL noAgnosticOption = (self.agnosticOptions & FBSnapshotTestCaseAgnosticOptionNone) == FBSnapshotTestCaseAgnosticOptionNone;
+ if (self.isDeviceAgnostic) {
+ fileName = FBDeviceAgnosticNormalizedFileName(fileName);
+ } else if (!noAgnosticOption) {
+ fileName = FBDeviceAgnosticNormalizedFileNameFromOption(fileName, self.agnosticOptions);
+ }
+
+ if ([[UIScreen mainScreen] scale] > 1) {
+ fileName = [fileName stringByAppendingFormat:@"@%.fx", [[UIScreen mainScreen] scale]];
+ }
+ fileName = [fileName stringByAppendingPathExtension:@"png"];
+ return fileName;
+}
+
+- (NSString *)_referenceFilePathForSelector:(SEL)selector
+ identifier:(NSString *)identifier
+{
+ NSString *fileName = [self _fileNameForSelector:selector
+ identifier:identifier
+ fileNameType:FBTestSnapshotFileNameTypeReference];
+ NSString *filePath = [_referenceImagesDirectory stringByAppendingPathComponent:self.folderName];
+ filePath = [filePath stringByAppendingPathComponent:fileName];
+ return filePath;
+}
+
+- (NSString *)_failedFilePathForSelector:(SEL)selector
+ identifier:(NSString *)identifier
+ fileNameType:(FBTestSnapshotFileNameType)fileNameType
+{
+ NSString *fileName = [self _fileNameForSelector:selector
+ identifier:identifier
+ fileNameType:fileNameType];
+
+ NSString *filePath = [_imageDiffDirectory stringByAppendingPathComponent:self.folderName];
+ filePath = [filePath stringByAppendingPathComponent:fileName];
+ return filePath;
+}
+
+- (BOOL)_performPixelComparisonWithViewOrLayer:(id)viewOrLayer
+ selector:(SEL)selector
+ identifier:(NSString *)identifier
+ tolerance:(CGFloat)tolerance
+ error:(NSError **)errorPtr
+{
+ UIImage *referenceImage = [self referenceImageForSelector:selector identifier:identifier error:errorPtr];
+ if (nil != referenceImage) {
+ UIImage *snapshot = [self _imageForViewOrLayer:viewOrLayer];
+ BOOL imagesSame = [self compareReferenceImage:referenceImage toImage:snapshot tolerance:tolerance error:errorPtr];
+ if (!imagesSame) {
+ NSError *saveError = nil;
+ if ([self saveFailedReferenceImage:referenceImage testImage:snapshot selector:selector identifier:identifier error:&saveError] == NO) {
+ NSLog(@"Error saving test images: %@", saveError);
+ }
+ }
+ return imagesSame;
+ }
+ return NO;
+}
+
+- (BOOL)_recordSnapshotOfViewOrLayer:(id)viewOrLayer
+ selector:(SEL)selector
+ identifier:(NSString *)identifier
+ error:(NSError **)errorPtr
+{
+ UIImage *snapshot = [self _imageForViewOrLayer:viewOrLayer];
+ return [self _saveReferenceImage:snapshot selector:selector identifier:identifier error:errorPtr];
+}
+
+- (BOOL)_saveReferenceImage:(UIImage *)image
+ selector:(SEL)selector
+ identifier:(NSString *)identifier
+ error:(NSError **)errorPtr
+{
+ BOOL didWrite = NO;
+ if (nil != image) {
+ NSString *filePath = [self _referenceFilePathForSelector:selector identifier:identifier];
+ NSData *pngData = UIImagePNGRepresentation(image);
+ if (nil != pngData) {
+ NSError *creationError = nil;
+ BOOL didCreateDir = [_fileManager createDirectoryAtPath:[filePath stringByDeletingLastPathComponent]
+ withIntermediateDirectories:YES
+ attributes:nil
+ error:&creationError];
+ if (!didCreateDir) {
+ if (NULL != errorPtr) {
+ *errorPtr = creationError;
+ }
+ return NO;
+ }
+ didWrite = [pngData writeToFile:filePath options:NSDataWritingAtomic error:errorPtr];
+ if (didWrite) {
+ NSLog(@"Reference image save at: %@", filePath);
+ }
+ } else {
+ if (nil != errorPtr) {
+ *errorPtr = [NSError errorWithDomain:FBSnapshotTestControllerErrorDomain
+ code:FBSnapshotTestControllerErrorCodePNGCreationFailed
+ userInfo:@{
+ FBReferenceImageFilePathKey : filePath,
+ }];
+ }
+ }
+ }
+ return didWrite;
+}
+
+- (UIImage *)_imageForViewOrLayer:(id)viewOrLayer
+{
+ if ([viewOrLayer isKindOfClass:[UIView class]]) {
+ if (_usesDrawViewHierarchyInRect) {
+ return [UIImage fb_imageForView:viewOrLayer];
+ } else {
+ return [UIImage fb_imageForViewLayer:viewOrLayer];
+ }
+ } else if ([viewOrLayer isKindOfClass:[CALayer class]]) {
+ return [UIImage fb_imageForLayer:viewOrLayer];
+ } else {
+ [NSException raise:@"Only UIView and CALayer classes can be snapshotted" format:@"%@", viewOrLayer];
+ }
+ return nil;
+}
+
+@end
diff --git a/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/SwiftSupport.swift b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/SwiftSupport.swift
new file mode 100644
index 00000000..1e4594e6
--- /dev/null
+++ b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/FBSnapshotTestCase/SwiftSupport.swift
@@ -0,0 +1,63 @@
+/*
+ * Copyright (c) 2017-2018, Uber Technologies, Inc.
+ * Copyright (c) 2015-2018, Facebook, Inc.
+ *
+ * This source code is licensed under the MIT license found in the
+ * LICENSE file in the root directory of this source tree.
+ *
+ */
+
+public extension FBSnapshotTestCase {
+ public func FBSnapshotVerifyView(_ view: UIView, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) {
+ FBSnapshotVerifyViewOrLayer(view, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line)
+ }
+
+ public func FBSnapshotVerifyLayer(_ layer: CALayer, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) {
+ FBSnapshotVerifyViewOrLayer(layer, identifier: identifier, suffixes: suffixes, tolerance: tolerance, file: file, line: line)
+ }
+
+ private func FBSnapshotVerifyViewOrLayer(_ viewOrLayer: AnyObject, identifier: String = "", suffixes: NSOrderedSet = FBSnapshotTestCaseDefaultSuffixes(), tolerance: CGFloat = 0, file: StaticString = #file, line: UInt = #line) {
+ let envReferenceImageDirectory = self.getReferenceImageDirectory(withDefault: FB_REFERENCE_IMAGE_DIR)
+ let envImageDiffDirectory = self.getImageDiffDirectory(withDefault: IMAGE_DIFF_DIR)
+ var error: NSError?
+ var comparisonSuccess = false
+
+ for suffix in suffixes {
+ let referenceImagesDirectory = "\(envReferenceImageDirectory)\(suffix)"
+ let imageDiffDirectory = envImageDiffDirectory
+ if viewOrLayer.isKind(of: UIView.self) {
+ do {
+ try compareSnapshot(of: viewOrLayer as! UIView, referenceImagesDirectory: referenceImagesDirectory, imageDiffDirectory: imageDiffDirectory, identifier: identifier, tolerance: tolerance)
+ comparisonSuccess = true
+ } catch let error1 as NSError {
+ error = error1
+ comparisonSuccess = false
+ }
+ } else if viewOrLayer.isKind(of: CALayer.self) {
+ do {
+ try compareSnapshot(of: viewOrLayer as! CALayer, referenceImagesDirectory: referenceImagesDirectory, imageDiffDirectory: imageDiffDirectory, identifier: identifier, tolerance: tolerance)
+ comparisonSuccess = true
+ } catch let error1 as NSError {
+ error = error1
+ comparisonSuccess = false
+ }
+ } else {
+ assertionFailure("Only UIView and CALayer classes can be snapshotted")
+ }
+
+ assert(recordMode == false, message: "Test ran in record mode. Reference image is now saved. Disable record mode to perform an actual snapshot comparison!", file: file, line: line)
+
+ if comparisonSuccess || recordMode {
+ break
+ }
+
+ assert(comparisonSuccess, message: "Snapshot comparison failed: \(String(describing: error))", file: file, line: line)
+ }
+ }
+
+ func assert(_ assertion: Bool, message: String, file: StaticString, line: UInt) {
+ if !assertion {
+ XCTFail(message, file: file, line: line)
+ }
+ }
+}
diff --git a/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/LICENSE b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/LICENSE
new file mode 100644
index 00000000..1b3cb069
--- /dev/null
+++ b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/LICENSE
@@ -0,0 +1,22 @@
+MIT License
+
+Copyright (c) 2017-2018, Uber Technologies, Inc.
+Copyright (c) 2013-2018, Facebook, Inc.
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/README.md b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/README.md
similarity index 56%
rename from DZNEmptyDataSet/Pods/FBSnapshotTestCase/README.md
rename to DZNEmptyDataSet/Pods/iOSSnapshotTestCase/README.md
index bc23b837..2310bd36 100644
--- a/DZNEmptyDataSet/Pods/FBSnapshotTestCase/README.md
+++ b/DZNEmptyDataSet/Pods/iOSSnapshotTestCase/README.md
@@ -1,7 +1,8 @@
-FBSnapshotTestCase
+iOSSnapshotTestCase (previously named FBSnapshotTestCase)
======================
-[](https://travis-ci.org/facebook/ios-snapshot-test-case) [](http://cocoadocs.org/docsets/FBSnapshotTestCase/)
+[](https://travis-ci.org/uber/ios-snapshot-test-case)
+[](https://img.shields.io/cocoapods/v/iOSSnapshotTestCase.svg)
What it does
------------
@@ -14,9 +15,8 @@ repository and fails the test if the two images don't match.
Why?
----
-At Facebook we write a lot of UI code. As you might imagine, each type of
-feed story is rendered using a subclass of `UIView`. There are a lot of edge
-cases that we want to handle correctly:
+We write a lot of UI code. There are a lot of edge
+cases that we want to handle correctly when you are creating `UIView` instances:
- What if there is more text than can fit in the space available?
- What if an image doesn't match the size of an image view?
@@ -27,29 +27,32 @@ views. You can do a lot of rectangle asserts, but these are hard to understand
or visualize. Looking at an image diff shows you exactly what changed and how
it will look to users.
-We developed `FBSnapshotTestCase` to make snapshot tests easy.
+`iOSSnapshotTestCase` was developed to make snapshot tests easy.
Installation with CocoaPods
---------------------------
1. Add the following lines to your Podfile:
- ```
+ ```ruby
target "Tests" do
- pod 'FBSnapshotTestCase'
+ use_frameworks!
+ pod 'iOSSnapshotTestCase'
end
```
- If you support iOS 7 use `FBSnapshotTestCase/Core` instead, which doesn't contain Swift support.
+ If your test target is Objective-C only use `iOSSnapshotTestCase/Core` instead, which doesn't contain Swift support.
Replace "Tests" with the name of your test project.
-2. There are [three ways](https://github.com/facebook/ios-snapshot-test-case/blob/master/FBSnapshotTestCase/FBSnapshotTestCase.h#L19-L29) of setting reference image directories, the recommended one is to define `FB_REFERENCE_IMAGE_DIR` in your scheme. This should point to the directory where you want reference images to be stored. At Facebook, we normally use this:
+2. There are [three ways](https://github.com/uber/ios-snapshot-test-case/blob/master/FBSnapshotTestCase/FBSnapshotTestCase.h#L19-L29) of setting reference image directories, the recommended one is to define `FB_REFERENCE_IMAGE_DIR` in your scheme. This should point to the directory where you want reference images to be stored. We normally use this:
|Name|Value|
|:---|:----|
|`FB_REFERENCE_IMAGE_DIR`|`$(SOURCE_ROOT)/$(PROJECT_NAME)Tests/ReferenceImages`|
+|`IMAGE_DIFF_DIR`|`$(SOURCE_ROOT)/$(PROJECT_NAME)Tests/FailureDiffs`|
+Define the `IMAGE_DIFF_DIR` to the directory where you want to store diffs of failed snapshots. There are also [three ways](https://github.com/uber/ios-snapshot-test-case/blob/master/FBSnapshotTestCase/FBSnapshotTestCase.h#L34-L43) to set failed image diff directories.

@@ -79,19 +82,27 @@ Features
Notes
-----
-Your unit test must be an "application test", not a "logic test." (That is, it
-must be run within the Simulator so that it has access to UIKit.) In Xcode 5
+Your unit tests _should_ be inside an "application" bundle, not a "logic/library" test bundle. (That is, it
+should be run within the Simulator so that it has access to UIKit.)
+
+In Xcode 5
and later new projects only offer application tests, but older projects will
have separate targets for the two types.
+*However*, if you are writing snapshot tests inside a library/framework, you might want to keep your test bundle as a library test bundle without a Test Host.
+
+Read more on this [here](docs/LibraryVsApplicationTestBundles.md).
+
Authors
-------
-`FBSnapshotTestCase` was written at Facebook by
+`iOSSnapshotTestCase` was written at Facebook by
[Jonathan Dann](https://facebook.com/j.p.dann) with significant contributions by
[Todd Krabach](https://facebook.com/toddkrabach).
+Today it is maintained by [Uber](https://github.com/uber) and [Alan Zeino](https://github.com/alanzeino).
+
License
-------
-`FBSnapshotTestCase` is BSD-licensed. See `LICENSE`.
+`iOSSnapshotTestCase` is MIT–licensed. See `LICENSE`.
diff --git a/Source/UIScrollView+EmptyDataSet.m b/Source/UIScrollView+EmptyDataSet.m
index 27d0a3a7..abc938dc 100644
--- a/Source/UIScrollView+EmptyDataSet.m
+++ b/Source/UIScrollView+EmptyDataSet.m
@@ -90,6 +90,7 @@ - (DZNEmptyDataSetView *)emptyDataSetView
if (!view)
{
view = [DZNEmptyDataSetView new];
+ // NOTE: Desirable in case an empty data set result is rotated.
view.autoresizingMask = UIViewAutoresizingFlexibleWidth|UIViewAutoresizingFlexibleHeight;
view.hidden = YES;
@@ -738,7 +739,8 @@ - (void)didMoveToSuperview
CGRect superviewBounds = self.superview.bounds;
self.frame = CGRectMake(0.0, 0.0, CGRectGetWidth(superviewBounds), CGRectGetHeight(superviewBounds));
- void(^fadeInBlock)(void) = ^{_contentView.alpha = 1.0;};
+ __weak typeof(self) weakSelf = self;
+ void(^fadeInBlock)(void) = ^{weakSelf.contentView.alpha = 1.0;};
if (self.fadeInOnDisplay) {
[UIView animateWithDuration:0.25