Browse Source

Add new Swift Example project

The project is built with FLEXFilteringTableViewController and utilizes FLEXObjectExplorerFactory to demonstrate how to use them in your own projects. It also shows how to properly import use FLEX in Swift projects.
Tanner Bennett 4 years ago
parent
commit
550c9c1120
100 changed files with 1119 additions and 10192 deletions
  1. 491 0
      Example/FLEXample.xcodeproj/project.pbxproj
  2. 1 1
      Example/UICatalog.xcodeproj/project.xcworkspace/contents.xcworkspacedata
  3. 0 0
      Example/FLEXample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
  4. 2 2
      FLEX.xcworkspace/contents.xcworkspacedata
  5. 8 0
      Example/FLEXample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
  6. 123 0
      Example/FLEXample/App/Commit.swift
  7. 17 0
      Example/FLEXample/App/CommitListViewController.h
  8. 124 0
      Example/FLEXample/App/CommitListViewController.m
  9. 55 0
      Example/FLEXample/AppDelegate.swift
  10. 21 0
      Example/FLEXample/MiscNetworkRequests.h
  11. 175 0
      Example/FLEXample/MiscNetworkRequests.m
  12. 30 0
      Example/FLEXample/SceneDelegate.swift
  13. 0 0
      Example/FLEXample/Supporting Files/Assets.xcassets/AppIcon.appiconset/Contents.json
  14. 0 0
      Example/FLEXample/Supporting Files/Assets.xcassets/Contents.json
  15. 25 0
      Example/FLEXample/Supporting Files/Base.lproj/LaunchScreen.storyboard
  16. 0 0
      Example/FLEXample/Supporting Files/Bundle/dogs.realm
  17. 0 0
      Example/FLEXample/Supporting Files/Bundle/image
  18. 0 0
      Example/FLEXample/Supporting Files/Bundle/image.jpeg
  19. 0 0
      Example/FLEXample/Supporting Files/Bundle/image.jpg
  20. 0 0
      Example/FLEXample/Supporting Files/Bundle/image.png
  21. BIN
      Example/FLEXample/Supporting Files/Bundle/music_library.db
  22. BIN
      Example/FLEXample/Supporting Files/Bundle/music_library_schema.jpg
  23. 7 0
      Example/FLEXample/Supporting Files/FLEXample-Bridging-Header.h
  24. 23 16
      Example/UICatalog/UICatalog-Info.plist
  25. 6 0
      Example/FLEXample/Supporting Files/Preview Content/Preview Assets.xcassets/Contents.json
  26. 5 0
      Example/Podfile
  27. 0 50
      Example/ReadMe.txt
  28. 3 1
      Example/UICatalog/Dog.h
  29. 0 0
      Example/Realm/Dog.m
  30. 3 1
      Example/UICatalog/Owner.h
  31. 0 0
      Example/Realm/Owner.m
  32. 0 664
      Example/UICatalog.xcodeproj/project.pbxproj
  33. 0 94
      Example/UICatalog.xcodeproj/xcshareddata/xcschemes/UICatalog.xcscheme
  34. 0 51
      Example/UICatalog/AAPLActionSheetViewController.h
  35. 0 124
      Example/UICatalog/AAPLActionSheetViewController.m
  36. 0 51
      Example/UICatalog/AAPLActivityIndicatorViewController.h
  37. 0 90
      Example/UICatalog/AAPLActivityIndicatorViewController.m
  38. 0 51
      Example/UICatalog/AAPLAlertViewController.h
  39. 0 183
      Example/UICatalog/AAPLAlertViewController.m
  40. 0 54
      Example/UICatalog/AAPLAppDelegate.h
  41. 0 212
      Example/UICatalog/AAPLAppDelegate.m
  42. 0 51
      Example/UICatalog/AAPLButtonViewController.h
  43. 0 133
      Example/UICatalog/AAPLButtonViewController.m
  44. 0 11
      Example/UICatalog/AAPLCatalogTableTableViewController.h
  45. 0 67
      Example/UICatalog/AAPLCatalogTableTableViewController.m
  46. 0 51
      Example/UICatalog/AAPLCustomSearchBarViewController.h
  47. 0 105
      Example/UICatalog/AAPLCustomSearchBarViewController.m
  48. 0 51
      Example/UICatalog/AAPLCustomToolbarViewController.h
  49. 0 109
      Example/UICatalog/AAPLCustomToolbarViewController.m
  50. 0 51
      Example/UICatalog/AAPLDatePickerController.h
  51. 0 109
      Example/UICatalog/AAPLDatePickerController.m
  52. 0 51
      Example/UICatalog/AAPLDefaultSearchBarViewController.h
  53. 0 99
      Example/UICatalog/AAPLDefaultSearchBarViewController.m
  54. 0 51
      Example/UICatalog/AAPLDefaultToolbarViewController.h
  55. 0 99
      Example/UICatalog/AAPLDefaultToolbarViewController.m
  56. 0 51
      Example/UICatalog/AAPLImageViewController.h
  57. 0 79
      Example/UICatalog/AAPLImageViewController.m
  58. 0 51
      Example/UICatalog/AAPLMasterViewController.h
  59. 0 96
      Example/UICatalog/AAPLMasterViewController.m
  60. 0 51
      Example/UICatalog/AAPLPageControlViewController.h
  61. 0 98
      Example/UICatalog/AAPLPageControlViewController.m
  62. 0 51
      Example/UICatalog/AAPLPickerViewController.h
  63. 0 239
      Example/UICatalog/AAPLPickerViewController.m
  64. 0 51
      Example/UICatalog/AAPLProgressViewController.h
  65. 0 136
      Example/UICatalog/AAPLProgressViewController.m
  66. 0 51
      Example/UICatalog/AAPLSegmentedControlViewController.h
  67. 0 145
      Example/UICatalog/AAPLSegmentedControlViewController.m
  68. 0 51
      Example/UICatalog/AAPLSliderViewController.h
  69. 0 115
      Example/UICatalog/AAPLSliderViewController.m
  70. 0 51
      Example/UICatalog/AAPLSplitViewControllerDelegate.h
  71. 0 83
      Example/UICatalog/AAPLSplitViewControllerDelegate.m
  72. 0 51
      Example/UICatalog/AAPLStepperViewController.h
  73. 0 135
      Example/UICatalog/AAPLStepperViewController.m
  74. 0 51
      Example/UICatalog/AAPLSwitchViewController.h
  75. 0 93
      Example/UICatalog/AAPLSwitchViewController.m
  76. 0 51
      Example/UICatalog/AAPLTextFieldViewController.h
  77. 0 157
      Example/UICatalog/AAPLTextFieldViewController.m
  78. 0 51
      Example/UICatalog/AAPLTextViewController.h
  79. 0 216
      Example/UICatalog/AAPLTextViewController.m
  80. 0 51
      Example/UICatalog/AAPLTintedToolbarViewController.h
  81. 0 103
      Example/UICatalog/AAPLTintedToolbarViewController.m
  82. 0 51
      Example/UICatalog/AAPLWebViewController.h
  83. 0 126
      Example/UICatalog/AAPLWebViewController.m
  84. 0 2601
      Example/UICatalog/Base.lproj/Main_iPad.storyboard
  85. 0 2244
      Example/UICatalog/Base.lproj/Main_iPhone.storyboard
  86. 0 22
      Example/UICatalog/Images.xcassets/bookmark_icon.imageset/Contents.json
  87. BIN
      Example/UICatalog/Images.xcassets/bookmark_icon.imageset/bookmark_icon_1x.png
  88. BIN
      Example/UICatalog/Images.xcassets/bookmark_icon.imageset/bookmark_icon_2x.png
  89. 0 22
      Example/UICatalog/Images.xcassets/bookmark_icon_highlighted.imageset/Contents.json
  90. BIN
      Example/UICatalog/Images.xcassets/bookmark_icon_highlighted.imageset/bookmark_icon_highlighted_1x.png
  91. BIN
      Example/UICatalog/Images.xcassets/bookmark_icon_highlighted.imageset/bookmark_icon_highlighted_2x.png
  92. 0 22
      Example/UICatalog/Images.xcassets/checkmark_icon.imageset/Contents.json
  93. BIN
      Example/UICatalog/Images.xcassets/checkmark_icon.imageset/checkmark_icon_1x.png
  94. BIN
      Example/UICatalog/Images.xcassets/checkmark_icon.imageset/checkmark_icon_2x.png
  95. 0 21
      Example/UICatalog/Images.xcassets/image_animal_1.imageset/Contents.json
  96. BIN
      Example/UICatalog/Images.xcassets/image_animal_1.imageset/image_animal_5.png
  97. 0 21
      Example/UICatalog/Images.xcassets/image_animal_2.imageset/Contents.json
  98. BIN
      Example/UICatalog/Images.xcassets/image_animal_2.imageset/image_animal_2.png
  99. 0 21
      Example/UICatalog/Images.xcassets/image_animal_3.imageset/Contents.json
  100. 0 0
      Example/UICatalog/Images.xcassets/image_animal_3.imageset/image_animal_3.png

+ 491 - 0
Example/FLEXample.xcodeproj/project.pbxproj

@@ -0,0 +1,491 @@
+// !$*UTF8*$!
+{
+	archiveVersion = 1;
+	classes = {
+	};
+	objectVersion = 50;
+	objects = {
+
+/* Begin PBXBuildFile section */
+		C386D6D02419975A00699085 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C386D6CF2419975A00699085 /* AppDelegate.swift */; };
+		C386D6D22419975A00699085 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C386D6D12419975A00699085 /* SceneDelegate.swift */; };
+		C386D6D62419975B00699085 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C386D6D52419975B00699085 /* Assets.xcassets */; };
+		C386D6D92419975B00699085 /* Preview Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = C386D6D82419975B00699085 /* Preview Assets.xcassets */; };
+		C386D6DC2419975B00699085 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C386D6DA2419975B00699085 /* LaunchScreen.storyboard */; };
+		C386D6E62419984700699085 /* CommitListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = C386D6E52419984700699085 /* CommitListViewController.m */; };
+		C386D6FD241AA4B700699085 /* image.jpeg in Resources */ = {isa = PBXBuildFile; fileRef = C386D6F8241AA4B700699085 /* image.jpeg */; };
+		C386D6FE241AA4B700699085 /* image in Resources */ = {isa = PBXBuildFile; fileRef = C386D6F9241AA4B700699085 /* image */; };
+		C386D6FF241AA4B700699085 /* image.png in Resources */ = {isa = PBXBuildFile; fileRef = C386D6FA241AA4B700699085 /* image.png */; };
+		C386D701241AA4B700699085 /* image.jpg in Resources */ = {isa = PBXBuildFile; fileRef = C386D6FC241AA4B700699085 /* image.jpg */; };
+		C386D704241AA61600699085 /* music_library.db in Resources */ = {isa = PBXBuildFile; fileRef = C386D702241AA61600699085 /* music_library.db */; };
+		C386D705241AA61600699085 /* music_library_schema.jpg in Resources */ = {isa = PBXBuildFile; fileRef = C386D703241AA61600699085 /* music_library_schema.jpg */; };
+		C386D70B241AA67800699085 /* Dog.m in Sources */ = {isa = PBXBuildFile; fileRef = C386D709241AA67800699085 /* Dog.m */; };
+		C386D70C241AA67800699085 /* Owner.m in Sources */ = {isa = PBXBuildFile; fileRef = C386D70A241AA67800699085 /* Owner.m */; };
+		C3A67856241AB8AD005A4681 /* MiscNetworkRequests.m in Sources */ = {isa = PBXBuildFile; fileRef = C3A67855241AB8AD005A4681 /* MiscNetworkRequests.m */; };
+		C3A67858241ADDF7005A4681 /* Commit.swift in Sources */ = {isa = PBXBuildFile; fileRef = C3A67857241ADDF7005A4681 /* Commit.swift */; };
+		E211705F801A8167D308F94A /* libPods-FLEXample.a in Frameworks */ = {isa = PBXBuildFile; fileRef = BBD699DDBAC5A16D8CFD39AC /* libPods-FLEXample.a */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+		33A4EDAC37AA215CF95EEA24 /* Pods-FLEXample.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-FLEXample.release.xcconfig"; path = "Target Support Files/Pods-FLEXample/Pods-FLEXample.release.xcconfig"; sourceTree = "<group>"; };
+		57041F764D8B1C098B9B4073 /* Pods-FLEXample.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-FLEXample.debug.xcconfig"; path = "Target Support Files/Pods-FLEXample/Pods-FLEXample.debug.xcconfig"; sourceTree = "<group>"; };
+		BBD699DDBAC5A16D8CFD39AC /* libPods-FLEXample.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-FLEXample.a"; sourceTree = BUILT_PRODUCTS_DIR; };
+		C386D6CC2419975A00699085 /* FLEXample.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FLEXample.app; sourceTree = BUILT_PRODUCTS_DIR; };
+		C386D6CF2419975A00699085 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
+		C386D6D12419975A00699085 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = "<group>"; };
+		C386D6D52419975B00699085 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
+		C386D6D82419975B00699085 /* Preview Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = "Preview Assets.xcassets"; sourceTree = "<group>"; };
+		C386D6DB2419975B00699085 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
+		C386D6DD2419975B00699085 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
+		C386D6E32419984700699085 /* FLEXample-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "FLEXample-Bridging-Header.h"; sourceTree = "<group>"; };
+		C386D6E42419984700699085 /* CommitListViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CommitListViewController.h; sourceTree = "<group>"; };
+		C386D6E52419984700699085 /* CommitListViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CommitListViewController.m; sourceTree = "<group>"; };
+		C386D6F8241AA4B700699085 /* image.jpeg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = image.jpeg; sourceTree = "<group>"; };
+		C386D6F9241AA4B700699085 /* image */ = {isa = PBXFileReference; lastKnownFileType = file; path = image; sourceTree = "<group>"; };
+		C386D6FA241AA4B700699085 /* image.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = image.png; sourceTree = "<group>"; };
+		C386D6FC241AA4B700699085 /* image.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = image.jpg; sourceTree = "<group>"; };
+		C386D702241AA61600699085 /* music_library.db */ = {isa = PBXFileReference; lastKnownFileType = file; path = music_library.db; sourceTree = "<group>"; };
+		C386D703241AA61600699085 /* music_library_schema.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = music_library_schema.jpg; sourceTree = "<group>"; };
+		C386D706241AA66100699085 /* dogs.realm */ = {isa = PBXFileReference; lastKnownFileType = file; path = dogs.realm; sourceTree = "<group>"; };
+		C386D707241AA67800699085 /* Dog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Dog.h; sourceTree = "<group>"; };
+		C386D708241AA67800699085 /* Owner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Owner.h; sourceTree = "<group>"; };
+		C386D709241AA67800699085 /* Dog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Dog.m; sourceTree = "<group>"; };
+		C386D70A241AA67800699085 /* Owner.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Owner.m; sourceTree = "<group>"; };
+		C3A67854241AB8AD005A4681 /* MiscNetworkRequests.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MiscNetworkRequests.h; sourceTree = "<group>"; };
+		C3A67855241AB8AD005A4681 /* MiscNetworkRequests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MiscNetworkRequests.m; sourceTree = "<group>"; };
+		C3A67857241ADDF7005A4681 /* Commit.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Commit.swift; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+		C386D6C92419975A00699085 /* Frameworks */ = {
+			isa = PBXFrameworksBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				E211705F801A8167D308F94A /* libPods-FLEXample.a in Frameworks */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+		C386D6C32419975A00699085 = {
+			isa = PBXGroup;
+			children = (
+				C386D6CE2419975A00699085 /* FLEXample */,
+				C3A67853241AB88F005A4681 /* Realm */,
+				C386D6CD2419975A00699085 /* Products */,
+				E367791A4E4085CCB945F0F8 /* Pods */,
+				DCEB5037DA3D5C01CB9CEE93 /* Frameworks */,
+			);
+			sourceTree = "<group>";
+		};
+		C386D6CD2419975A00699085 /* Products */ = {
+			isa = PBXGroup;
+			children = (
+				C386D6CC2419975A00699085 /* FLEXample.app */,
+			);
+			name = Products;
+			sourceTree = "<group>";
+		};
+		C386D6CE2419975A00699085 /* FLEXample */ = {
+			isa = PBXGroup;
+			children = (
+				C386D6E72419985E00699085 /* Supporting Files */,
+				C386D6CF2419975A00699085 /* AppDelegate.swift */,
+				C386D6D12419975A00699085 /* SceneDelegate.swift */,
+				C3A67854241AB8AD005A4681 /* MiscNetworkRequests.h */,
+				C3A67855241AB8AD005A4681 /* MiscNetworkRequests.m */,
+				C3A67852241AB86D005A4681 /* App */,
+			);
+			path = FLEXample;
+			sourceTree = "<group>";
+		};
+		C386D6D72419975B00699085 /* Preview Content */ = {
+			isa = PBXGroup;
+			children = (
+				C386D6D82419975B00699085 /* Preview Assets.xcassets */,
+			);
+			path = "Preview Content";
+			sourceTree = "<group>";
+		};
+		C386D6E72419985E00699085 /* Supporting Files */ = {
+			isa = PBXGroup;
+			children = (
+				C386D6D52419975B00699085 /* Assets.xcassets */,
+				C386D6D72419975B00699085 /* Preview Content */,
+				C386D6F7241AA4AA00699085 /* Bundle */,
+				C386D6DA2419975B00699085 /* LaunchScreen.storyboard */,
+				C386D6DD2419975B00699085 /* Info.plist */,
+				C386D6E32419984700699085 /* FLEXample-Bridging-Header.h */,
+			);
+			path = "Supporting Files";
+			sourceTree = "<group>";
+		};
+		C386D6F7241AA4AA00699085 /* Bundle */ = {
+			isa = PBXGroup;
+			children = (
+				C386D702241AA61600699085 /* music_library.db */,
+				C386D703241AA61600699085 /* music_library_schema.jpg */,
+				C386D706241AA66100699085 /* dogs.realm */,
+				C386D6F9241AA4B700699085 /* image */,
+				C386D6F8241AA4B700699085 /* image.jpeg */,
+				C386D6FC241AA4B700699085 /* image.jpg */,
+				C386D6FA241AA4B700699085 /* image.png */,
+			);
+			path = Bundle;
+			sourceTree = "<group>";
+		};
+		C3A67852241AB86D005A4681 /* App */ = {
+			isa = PBXGroup;
+			children = (
+				C3A67857241ADDF7005A4681 /* Commit.swift */,
+				C386D6E42419984700699085 /* CommitListViewController.h */,
+				C386D6E52419984700699085 /* CommitListViewController.m */,
+			);
+			path = App;
+			sourceTree = "<group>";
+		};
+		C3A67853241AB88F005A4681 /* Realm */ = {
+			isa = PBXGroup;
+			children = (
+				C386D707241AA67800699085 /* Dog.h */,
+				C386D709241AA67800699085 /* Dog.m */,
+				C386D708241AA67800699085 /* Owner.h */,
+				C386D70A241AA67800699085 /* Owner.m */,
+			);
+			path = Realm;
+			sourceTree = "<group>";
+		};
+		DCEB5037DA3D5C01CB9CEE93 /* Frameworks */ = {
+			isa = PBXGroup;
+			children = (
+				BBD699DDBAC5A16D8CFD39AC /* libPods-FLEXample.a */,
+			);
+			name = Frameworks;
+			sourceTree = "<group>";
+		};
+		E367791A4E4085CCB945F0F8 /* Pods */ = {
+			isa = PBXGroup;
+			children = (
+				57041F764D8B1C098B9B4073 /* Pods-FLEXample.debug.xcconfig */,
+				33A4EDAC37AA215CF95EEA24 /* Pods-FLEXample.release.xcconfig */,
+			);
+			path = Pods;
+			sourceTree = "<group>";
+		};
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+		C386D6CB2419975A00699085 /* FLEXample */ = {
+			isa = PBXNativeTarget;
+			buildConfigurationList = C386D6E02419975B00699085 /* Build configuration list for PBXNativeTarget "FLEXample" */;
+			buildPhases = (
+				E25E87A42AA269B0CF1830D1 /* [CP] Check Pods Manifest.lock */,
+				C386D6C82419975A00699085 /* Sources */,
+				C386D6C92419975A00699085 /* Frameworks */,
+				C386D6CA2419975A00699085 /* Resources */,
+			);
+			buildRules = (
+			);
+			dependencies = (
+			);
+			name = FLEXample;
+			productName = FLEXample;
+			productReference = C386D6CC2419975A00699085 /* FLEXample.app */;
+			productType = "com.apple.product-type.application";
+		};
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+		C386D6C42419975A00699085 /* Project object */ = {
+			isa = PBXProject;
+			attributes = {
+				LastSwiftUpdateCheck = 1130;
+				LastUpgradeCheck = 1130;
+				ORGANIZATIONNAME = Flipboard;
+				TargetAttributes = {
+					C386D6CB2419975A00699085 = {
+						CreatedOnToolsVersion = 11.3.1;
+						LastSwiftMigration = 1130;
+					};
+				};
+			};
+			buildConfigurationList = C386D6C72419975A00699085 /* Build configuration list for PBXProject "FLEXample" */;
+			compatibilityVersion = "Xcode 9.3";
+			developmentRegion = en;
+			hasScannedForEncodings = 0;
+			knownRegions = (
+				en,
+				Base,
+			);
+			mainGroup = C386D6C32419975A00699085;
+			productRefGroup = C386D6CD2419975A00699085 /* Products */;
+			projectDirPath = "";
+			projectRoot = "";
+			targets = (
+				C386D6CB2419975A00699085 /* FLEXample */,
+			);
+		};
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+		C386D6CA2419975A00699085 /* Resources */ = {
+			isa = PBXResourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				C386D6DC2419975B00699085 /* LaunchScreen.storyboard in Resources */,
+				C386D6FF241AA4B700699085 /* image.png in Resources */,
+				C386D704241AA61600699085 /* music_library.db in Resources */,
+				C386D6FE241AA4B700699085 /* image in Resources */,
+				C386D6FD241AA4B700699085 /* image.jpeg in Resources */,
+				C386D701241AA4B700699085 /* image.jpg in Resources */,
+				C386D6D92419975B00699085 /* Preview Assets.xcassets in Resources */,
+				C386D6D62419975B00699085 /* Assets.xcassets in Resources */,
+				C386D705241AA61600699085 /* music_library_schema.jpg in Resources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+		E25E87A42AA269B0CF1830D1 /* [CP] Check Pods Manifest.lock */ = {
+			isa = PBXShellScriptBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+			);
+			inputFileListPaths = (
+			);
+			inputPaths = (
+				"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
+				"${PODS_ROOT}/Manifest.lock",
+			);
+			name = "[CP] Check Pods Manifest.lock";
+			outputFileListPaths = (
+			);
+			outputPaths = (
+				"$(DERIVED_FILE_DIR)/Pods-FLEXample-checkManifestLockResult.txt",
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+			shellPath = /bin/sh;
+			shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n    # print error to STDERR\n    echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n    exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
+			showEnvVarsInLog = 0;
+		};
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+		C386D6C82419975A00699085 /* Sources */ = {
+			isa = PBXSourcesBuildPhase;
+			buildActionMask = 2147483647;
+			files = (
+				C3A67858241ADDF7005A4681 /* Commit.swift in Sources */,
+				C386D6D02419975A00699085 /* AppDelegate.swift in Sources */,
+				C386D6E62419984700699085 /* CommitListViewController.m in Sources */,
+				C386D70B241AA67800699085 /* Dog.m in Sources */,
+				C3A67856241AB8AD005A4681 /* MiscNetworkRequests.m in Sources */,
+				C386D70C241AA67800699085 /* Owner.m in Sources */,
+				C386D6D22419975A00699085 /* SceneDelegate.swift in Sources */,
+			);
+			runOnlyForDeploymentPostprocessing = 0;
+		};
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+		C386D6DA2419975B00699085 /* LaunchScreen.storyboard */ = {
+			isa = PBXVariantGroup;
+			children = (
+				C386D6DB2419975B00699085 /* Base */,
+			);
+			name = LaunchScreen.storyboard;
+			sourceTree = "<group>";
+		};
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+		C386D6DE2419975B00699085 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_ANALYZER_NONNULL = YES;
+				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_ENABLE_OBJC_WEAK = YES;
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+				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;
+				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_IMPLICIT_RETAIN_SELF = YES;
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
+				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				COPY_PHASE_STRIP = NO;
+				DEBUG_INFORMATION_FORMAT = dwarf;
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				ENABLE_TESTABILITY = YES;
+				GCC_C_LANGUAGE_STANDARD = gnu11;
+				GCC_DYNAMIC_NO_PIC = NO;
+				GCC_NO_COMMON_BLOCKS = YES;
+				GCC_OPTIMIZATION_LEVEL = 0;
+				GCC_PREPROCESSOR_DEFINITIONS = (
+					"DEBUG=1",
+					"$(inherited)",
+				);
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				IPHONEOS_DEPLOYMENT_TARGET = 13.2;
+				MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
+				MTL_FAST_MATH = YES;
+				ONLY_ACTIVE_ARCH = YES;
+				SDKROOT = iphoneos;
+				SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
+				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+			};
+			name = Debug;
+		};
+		C386D6DF2419975B00699085 /* Release */ = {
+			isa = XCBuildConfiguration;
+			buildSettings = {
+				ALWAYS_SEARCH_USER_PATHS = NO;
+				CLANG_ANALYZER_NONNULL = YES;
+				CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
+				CLANG_CXX_LANGUAGE_STANDARD = "gnu++14";
+				CLANG_CXX_LIBRARY = "libc++";
+				CLANG_ENABLE_MODULES = YES;
+				CLANG_ENABLE_OBJC_ARC = YES;
+				CLANG_ENABLE_OBJC_WEAK = YES;
+				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
+				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;
+				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_IMPLICIT_RETAIN_SELF = YES;
+				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
+				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
+				CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
+				CLANG_WARN_STRICT_PROTOTYPES = YES;
+				CLANG_WARN_SUSPICIOUS_MOVE = YES;
+				CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
+				CLANG_WARN_UNREACHABLE_CODE = YES;
+				CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+				COPY_PHASE_STRIP = NO;
+				DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+				ENABLE_NS_ASSERTIONS = NO;
+				ENABLE_STRICT_OBJC_MSGSEND = YES;
+				GCC_C_LANGUAGE_STANDARD = gnu11;
+				GCC_NO_COMMON_BLOCKS = YES;
+				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
+				GCC_WARN_UNDECLARED_SELECTOR = YES;
+				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+				GCC_WARN_UNUSED_FUNCTION = YES;
+				GCC_WARN_UNUSED_VARIABLE = YES;
+				IPHONEOS_DEPLOYMENT_TARGET = 13.2;
+				MTL_ENABLE_DEBUG_INFO = NO;
+				MTL_FAST_MATH = YES;
+				SDKROOT = iphoneos;
+				SWIFT_COMPILATION_MODE = wholemodule;
+				SWIFT_OPTIMIZATION_LEVEL = "-O";
+				VALIDATE_PRODUCT = YES;
+			};
+			name = Release;
+		};
+		C386D6E12419975B00699085 /* Debug */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 57041F764D8B1C098B9B4073 /* Pods-FLEXample.debug.xcconfig */;
+			buildSettings = {
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				CLANG_ENABLE_MODULES = YES;
+				CODE_SIGN_STYLE = Automatic;
+				DEVELOPMENT_ASSET_PATHS = "\"FLEXample/Supporting Files/Preview Content\"";
+				DEVELOPMENT_TEAM = S6N2F22V2Z;
+				ENABLE_PREVIEWS = YES;
+				INFOPLIST_FILE = "FLEXample/Supporting Files/Info.plist";
+				IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+				LD_RUNPATH_SEARCH_PATHS = (
+					"$(inherited)",
+					"@executable_path/Frameworks",
+				);
+				PRODUCT_BUNDLE_IDENTIFIER = com.flipboard.flex.FLEXample;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SWIFT_OBJC_BRIDGING_HEADER = "FLEXample/Supporting Files/FLEXample-Bridging-Header.h";
+				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+				SWIFT_VERSION = 5.0;
+				TARGETED_DEVICE_FAMILY = "1,2";
+			};
+			name = Debug;
+		};
+		C386D6E22419975B00699085 /* Release */ = {
+			isa = XCBuildConfiguration;
+			baseConfigurationReference = 33A4EDAC37AA215CF95EEA24 /* Pods-FLEXample.release.xcconfig */;
+			buildSettings = {
+				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
+				CLANG_ENABLE_MODULES = YES;
+				CODE_SIGN_STYLE = Automatic;
+				DEVELOPMENT_ASSET_PATHS = "\"FLEXample/Supporting Files/Preview Content\"";
+				DEVELOPMENT_TEAM = S6N2F22V2Z;
+				ENABLE_PREVIEWS = YES;
+				INFOPLIST_FILE = "FLEXample/Supporting Files/Info.plist";
+				IPHONEOS_DEPLOYMENT_TARGET = 13.0;
+				LD_RUNPATH_SEARCH_PATHS = (
+					"$(inherited)",
+					"@executable_path/Frameworks",
+				);
+				PRODUCT_BUNDLE_IDENTIFIER = com.flipboard.flex.FLEXample;
+				PRODUCT_NAME = "$(TARGET_NAME)";
+				SWIFT_OBJC_BRIDGING_HEADER = "FLEXample/Supporting Files/FLEXample-Bridging-Header.h";
+				SWIFT_VERSION = 5.0;
+				TARGETED_DEVICE_FAMILY = "1,2";
+			};
+			name = Release;
+		};
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+		C386D6C72419975A00699085 /* Build configuration list for PBXProject "FLEXample" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				C386D6DE2419975B00699085 /* Debug */,
+				C386D6DF2419975B00699085 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+		C386D6E02419975B00699085 /* Build configuration list for PBXNativeTarget "FLEXample" */ = {
+			isa = XCConfigurationList;
+			buildConfigurations = (
+				C386D6E12419975B00699085 /* Debug */,
+				C386D6E22419975B00699085 /* Release */,
+			);
+			defaultConfigurationIsVisible = 0;
+			defaultConfigurationName = Release;
+		};
+/* End XCConfigurationList section */
+	};
+	rootObject = C386D6C42419975A00699085 /* Project object */;
+}

+ 1 - 1
Example/UICatalog.xcodeproj/project.xcworkspace/contents.xcworkspacedata

@@ -2,6 +2,6 @@
 <Workspace
    version = "1.0">
    <FileRef
-      location = "self:UICatalog.xcodeproj">
+      location = "self:FLEXample.xcodeproj">
    </FileRef>
 </Workspace>

FLEX.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist → Example/FLEXample.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist


+ 2 - 2
FLEX.xcworkspace/contents.xcworkspacedata

@@ -2,9 +2,9 @@
 <Workspace
    version = "1.0">
    <FileRef
-      location = "group:FLEX.xcodeproj">
+      location = "group:FLEXample.xcodeproj">
    </FileRef>
    <FileRef
-      location = "group:Example/UICatalog.xcodeproj">
+      location = "group:Pods/Pods.xcodeproj">
    </FileRef>
 </Workspace>

+ 8 - 0
Example/FLEXample.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+	<key>IDEDidComputeMac32BitWarning</key>
+	<true/>
+</dict>
+</plist>

+ 123 - 0
Example/FLEXample/App/Commit.swift

@@ -0,0 +1,123 @@
+//
+//  Commit.swift
+//  FLEXample
+//
+//  Created by Tanner on 3/12/20.
+//  Copyright © 2020 Flipboard. All rights reserved.
+//
+
+import Foundation
+
+infix operator ~ : ComparisonPrecedence
+
+func ~ (a: String, b: String) -> Bool {
+    return a.localizedCaseInsensitiveContains(b)
+}
+
+func ~ (a: NSString, b: String) -> Bool {
+    return a.localizedCaseInsensitiveContains(b)
+}
+
+/// Used for both commit details and the outer committer
+@objcMembers
+public class CommitIdentity: NSObject, Codable {
+    // These actually come from the "root[committer]" part
+    public let login: String?
+    public let id: Int?
+    public let avatarUrl: String?
+    public let gravatarUrl: String?
+    
+    // These actually come from the
+    // "root[commit][author/committer]" part
+    public let name: String?
+    public let email: String?
+    public let date: Date?
+    
+    public func matches(query: String) -> Bool {
+        if let login = self.login {
+            return login ~ query
+        } else if let name = self.name, let email = self.email {
+            return name ~ query || email ~ query
+        }
+        
+        return false
+    }
+}
+
+@objcMembers
+public class CommitDetails: NSObject, Codable {
+    public let message: String
+    public let url: String
+    
+    public let author: CommitIdentity
+    public let committer: CommitIdentity
+    
+    public func matches(query: String) -> Bool {
+        return message ~ query ||
+            author.matches(query: query) ||
+            committer.matches(query: query)
+    }
+}
+
+@objcMembers
+public class Commit: NSObject, Codable {
+    
+    static var formatter: DateFormatter = {
+        var f = DateFormatter()
+        f.dateFormat = "dd MMM yyyy h:mm a"
+        return f
+    }()
+    
+    /// Turn some response data into a list of commits
+    static func commits(from data: Data) -> [Commit] {
+        let decoder = JSONDecoder()
+        decoder.keyDecodingStrategy = .convertFromSnakeCase
+        decoder.dateDecodingStrategy = .iso8601
+        _ = try! decoder.decode([Commit].self, from: data)
+        if let commits = try? decoder.decode([Commit].self, from: data) {
+            return commits
+        }
+        
+        return []
+    }
+    
+    enum CodingKeys: String, CodingKey {
+        case sha, htmlUrl, committer
+        case details = "commit"
+    }
+    
+    public private(set) var sha: String = ""
+    public private(set) var htmlUrl: String = ""
+    /// Details does not contain avi URLs for users
+    public private(set) var details: CommitDetails
+    /// This does have the (g)avatar URL
+    public private(set) var committer: CommitIdentity
+    
+    public func matches(query: String) -> Bool {
+        return sha ~ query ||
+            details.matches(query: query) ||
+            committer.matches(query: query)
+    }
+    
+    // You're crazy if you think I'm going to slice strings with Swift.String
+    public lazy var shortHash: String = NSString(string: self.sha).substring(to: 8)
+    
+    public lazy var date: String = {
+        if let date = details.committer.date ?? details.author.date {
+            return Commit.formatter.string(from: date)
+        }
+        
+        return "no date found"
+    }()
+    
+    public lazy var firstLine: String = {
+        let name = details.committer.name ?? details.author.name ?? "Anonymous"
+        return name + " — " + self.date
+    }()
+    
+    public lazy var secondLine: String = {
+        return self.shortHash + "  " + self.details.message
+    }()
+    
+    public lazy var identifier: Int = self.sha.hashValue
+}

+ 17 - 0
Example/FLEXample/App/CommitListViewController.h

@@ -0,0 +1,17 @@
+//
+//  CommitListViewController.h
+//  FLEXample
+//
+//  Created by Tanner on 3/11/20.
+//  Copyright © 2020 Flipboard. All rights reserved.
+//
+
+#import "FLEXFilteringTableViewController.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface CommitListViewController : FLEXFilteringTableViewController
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 124 - 0
Example/FLEXample/App/CommitListViewController.m

@@ -0,0 +1,124 @@
+//
+//  CommitListViewController.m
+//  FLEXample
+//
+//  Created by Tanner on 3/11/20.
+//  Copyright © 2020 Flipboard. All rights reserved.
+//
+
+#import "CommitListViewController.h"
+#import "FLEXample-Swift.h"
+#import <FLEX.h>
+
+@interface CommitListViewController ()
+@property (nonatomic) FLEXMutableListSection<Commit *> *commits;
+@property (nonatomic, readonly) NSMutableDictionary<NSString *, UIImage *> *avatars;
+@end
+
+@implementation CommitListViewController
+
+- (id)init {
+    // Default style is grouped
+    return [self initWithStyle:UITableViewStylePlain];
+}
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    
+    _avatars = [NSMutableDictionary new];
+    
+    self.title = @"FLEX Commit History";
+    self.showsSearchBar = YES;
+    self.navigationItem.rightBarButtonItem = [UIBarButtonItem
+        itemWithTitle:@"FLEX" target:FLEXManager.sharedManager action:@selector(toggleExplorer)
+    ];
+    
+    // Load and process commits
+    NSString *commitsURL = @"https://api.github.com/repos/Flipboard/FLEX/commits";
+    [self startDataTask:commitsURL completion:^(NSData *data, NSInteger statusCode, NSError *error) {
+        if (statusCode == 200) {
+            self.commits.list = [Commit commitsFrom:data];
+            [self fadeInNewRows];
+        } else {
+            [FLEXAlert showAlert:@"Error" message:error.localizedDescription from:self];
+        }
+    }];
+}
+
+- (void)viewWillAppear:(BOOL)animated {
+    [super viewWillAppear:animated];
+    
+    [self disableToolbar];
+}
+
+- (NSArray<FLEXTableViewSection *> *)makeSections {
+    _commits = [FLEXMutableListSection list:@[]
+        cellConfiguration:^(__kindof UITableViewCell *cell, Commit *commit, NSInteger row) {
+            cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
+            cell.textLabel.text = commit.firstLine;
+            cell.detailTextLabel.text = commit.secondLine;
+            cell.detailTextLabel.lineBreakMode = NSLineBreakByTruncatingTail;
+//            cell.textLabel.numberOfLines = 2;
+//            cell.detailTextLabel.numberOfLines = 3;
+        
+            UIImage *avi = self.avatars[commit.committer.login];
+            if (avi) {
+                cell.imageView.image = avi;
+            } else {
+                cell.tag = commit.identifier;
+                [self loadImage:commit.committer.avatarUrl completion:^(UIImage *image) {
+                    self.avatars[commit.committer.login] = image;
+                    if (cell.tag == commit.identifier) {
+                        cell.imageView.image = image;
+                    } else {
+                        [self.tableView reloadRowsAtIndexPaths:@[
+                            [NSIndexPath indexPathForRow:row inSection:0]
+                        ] withRowAnimation:UITableViewRowAnimationAutomatic];
+                    }
+                }];
+            }
+        } filterMatcher:^BOOL(NSString *filterText, Commit *commit) {
+            return [commit matchesWithQuery:filterText];
+        }
+    ];
+    
+    self.commits.selectionHandler = ^(__kindof UIViewController *host, Commit *commit) {
+        [host.navigationController pushViewController:[
+            FLEXObjectExplorerFactory explorerViewControllerForObject:commit
+        ] animated:YES];
+    };
+    
+    return @[self.commits];
+}
+
+// Empty sections are removed by default and we always want this one section
+- (NSArray<FLEXTableViewSection *> *)nonemptySections {
+    return @[_commits];
+}
+
+- (void)fadeInNewRows {
+    NSIndexSet *sections = [NSIndexSet indexSetWithIndex:0];
+    [self.tableView reloadSections:sections withRowAnimation:UITableViewRowAnimationAutomatic];
+}
+
+- (void)loadImage:(NSString *)imageURL completion:(void(^)(UIImage *image))callback {
+    [self startDataTask:imageURL completion:^(NSData *data, NSInteger statusCode, NSError *error) {
+        if (statusCode == 200) {
+            callback([UIImage imageWithData:data]);
+        }
+    }];
+}
+
+- (void)startDataTask:(NSString *)urlString completion:(void (^)(NSData *data, NSInteger statusCode, NSError *error))completionHandler {
+//    return;
+    NSURL *url = [NSURL URLWithString:urlString];
+    [[NSURLSession.sharedSession dataTaskWithURL:url completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
+        dispatch_async(dispatch_get_main_queue(), ^{
+            NSInteger code = [(NSHTTPURLResponse *)response statusCode];
+            
+            completionHandler(data, code, error);
+        });
+    }] resume];
+}
+
+@end

+ 55 - 0
Example/FLEXample/AppDelegate.swift

@@ -0,0 +1,55 @@
+//
+//  AppDelegate.swift
+//  FLEXample
+//
+//  Created by Tanner on 3/11/20.
+//  Copyright © 2020 Flipboard. All rights reserved.
+//
+
+import UIKit
+
+@UIApplicationMain @objcMembers
+class AppDelegate: UIResponder, UIApplicationDelegate {
+    var repeatingLogExampleTimer: Timer!
+
+    func application(_ application: UIApplication,
+        didFinishLaunchingWithOptions options: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
+        FLEXManager.shared.isNetworkDebuggingEnabled = true
+        
+        // Add at least oen custom user defaults key to explore
+        UserDefaults.standard.set("foo", forKey: "FLEXamplePrefFoo")
+        
+        // To show off the system log viewer, send 10 example log messages at 3 second intervals
+        self.repeatingLogExampleTimer = Timer(
+            timeInterval: 3, target: self,
+            selector: #selector(sendExampleLogMessage),
+            userInfo: nil, repeats: true
+        )
+        
+        // To show off the network logger, send several misc network requests
+        MiscNetworkRequests.sendExampleRequests()
+        
+        return true
+    }
+
+    func application(_ application: UIApplication,
+                     configurationForConnecting session: UISceneSession,
+                     options: UIScene.ConnectionOptions) -> UISceneConfiguration {
+        // Called when a new scene session is being created.
+        // Use this method to select a configuration to create the new scene with.
+        return UISceneConfiguration(name: nil, sessionRole: session.role)
+    }
+    
+    
+    let exampleLogLimit = 10
+    var exampleLogSent = 0
+
+    func sendExampleLogMessage() {
+        NSLog("Example log \(self.exampleLogSent)")
+        
+        self.exampleLogSent += 1
+        if self.exampleLogSent > self.exampleLogLimit {
+            self.repeatingLogExampleTimer.invalidate()
+        }
+    }
+}

+ 21 - 0
Example/FLEXample/MiscNetworkRequests.h

@@ -0,0 +1,21 @@
+//
+//  MiscNetworkRequests.h
+//  FLEXample
+//
+//  Created by Tanner on 3/12/20.
+//  Copyright © 2020 Flipboard. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface MiscNetworkRequests : NSObject <NSURLConnectionDataDelegate, NSURLSessionDataDelegate, NSURLSessionDownloadDelegate>
+
++ (void)sendExampleRequests;
+
+@property (nonatomic, nullable) NSMutableArray<NSURLConnection *> *connections;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 175 - 0
Example/FLEXample/MiscNetworkRequests.m

@@ -0,0 +1,175 @@
+//
+//  MiscNetworkRequests.m
+//  FLEXample
+//
+//  Created by Tanner on 3/12/20.
+//  Copyright © 2020 Flipboard. All rights reserved.
+//
+
+#import "MiscNetworkRequests.h"
+
+@implementation MiscNetworkRequests
+
++ (void)sendExampleRequests {
+    [[self new] sendExampleNetworkRequests];
+}
+
+- (NSMutableURLRequest *)request:(NSString *)url {
+    return [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]];
+}
+
+- (void)sendExampleNetworkRequests {
+    NSString *kFlipboardIcon = @"https://cdn.flipboard.com/serviceIcons/v2/social-icon-flipboard-96.png";
+    NSString *kRandomAnimal = @"https://lorempixel.com/248/250/animals/";
+    NSString *kSnowLeopard = @"https://lorempixel.com/248/250/animals/4/";
+    NSString *kRateLimit = @"https://api.github.com/rate_limit";
+    NSString *kImgurUpload = @"https://api.imgur.com/3/upload";
+    
+    //#######################
+    //                      #
+    //     NSURLSession     #
+    //                      #
+    //#######################
+    
+    NSMutableArray *pendingTasks = [NSMutableArray array];
+    
+    // With delegate //
+    
+    NSURLSessionConfiguration *config = NSURLSessionConfiguration.defaultSessionConfiguration;
+    config.timeoutIntervalForRequest = 10.0;
+    NSURLSession *session = [NSURLSession sessionWithConfiguration:config delegate:self delegateQueue:nil];
+    // NSURLSessionDataTask
+    [pendingTasks addObject:[session dataTaskWithURL:[NSURL URLWithString:kFlipboardIcon]]];
+    // NSURLSessionDownloadTask
+    [pendingTasks addObject:[session downloadTaskWithURL:[NSURL URLWithString:kRandomAnimal]]];
+    
+    // Without delegate //
+    
+    // NSURLSessionDownloadTask
+    [pendingTasks addObject:[NSURLSession.sharedSession
+        downloadTaskWithURL:[NSURL URLWithString:kSnowLeopard]
+        completionHandler:^(NSURL *location, NSURLResponse *response, NSError *error) {
+            NSInteger status = [(NSHTTPURLResponse *)response statusCode];
+        
+            if (status == 200) {
+                NSLog(@"Image downloaded to %@", location.absoluteString);
+            } else {
+                NSLog(@"Image failed to download with status %@ (error: %@)",
+                    @(status), error.localizedDescription
+                );
+            }
+        }
+    ]];
+
+    // NSURLSessionDataTask
+    [pendingTasks addObject:[NSURLSession.sharedSession
+        dataTaskWithURL:[NSURL URLWithString:kRateLimit]
+        completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
+    }]];
+
+    // NSURLSessionUploadTask
+    NSMutableURLRequest *upload = [self request:kImgurUpload];
+    upload.HTTPMethod = @"POST";
+    [upload setValue:@"Client-ID 0e8a1cb2eb594ef" forHTTPHeaderField:@"Authorization"];
+    [pendingTasks addObject:[session
+        uploadTaskWithRequest:upload
+        fromFile:[NSBundle.mainBundle URLForResource:@"image" withExtension:@"jpg"]
+        completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
+            NSInteger status = [(NSHTTPURLResponse *)response statusCode];
+        
+            if (status == 200) {
+                NSError *jsonError = nil;
+                NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:&jsonError];
+                
+                if (json) {
+                    NSLog(@"Image uploaded to %@", json[@"data"][@"link"]);
+                } else {
+                    NSLog(@"Error decoding JSON after uploading image: %@", jsonError.localizedDescription);
+                }
+            } else if (data) {
+                NSError *jsonError = nil;
+                NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:0 error:&jsonError];
+                
+                if (json) {
+                    NSLog(@"Image failed to upload with error: %@", json[@"data"][@"error"]);
+                } else {
+                    NSLog(@"Error decoding JSON after failing to upload image: %@", jsonError.localizedDescription);
+                }
+            } else {
+                NSLog(@"Error uploading image: %@", error.localizedDescription);
+            }
+        }
+    ]];
+
+    NSTimeInterval delayTime = 5;
+    const NSTimeInterval stagger = 1;
+
+    // Stagger each task
+    for (NSURLSessionTask *task in pendingTasks) {
+        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayTime * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+            [task resume];
+        });
+        
+        delayTime += stagger;
+    }
+    
+    //########################
+    //                       #
+    //    NSURLConnection    #
+    //                       #
+    //########################
+
+    #pragma clang diagnostic push
+    #pragma clang diagnostic ignored "-Wdeprecated-declarations"
+    
+    // Remaining requests made through NSURLConnection with a delegate
+    NSArray *requestURLStrings = @[ @"https://lorempixel.com/400/400/",
+                                    @"https://google.com",
+                                    @"https://api.github.com/users/Flipboard/repos",
+                                    @"https://api.github.com/repos/Flipboard/FLEX/issues",
+                                    @"https://cloud.githubusercontent.com/assets/516562/3971767/e4e21f58-27d6-11e4-9b07-4d1fe82b80ca.png",
+                                    @"https://lorempixel.com/750/1334/" ];
+    
+    // Async NSURLConnection
+    [NSURLConnection sendAsynchronousRequest:[self request:@"https://api.github.com/repos/Flipboard/FLEX/issues"]
+        queue:NSOperationQueue.mainQueue completionHandler:^(NSURLResponse *response, NSData *data, NSError *error) {
+    }];
+    
+    // Begin staggering NSURLConnection requests
+    self.connections = [NSMutableArray array];
+    for (NSString *urlString in requestURLStrings) {
+        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayTime * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+            [self.connections addObject:[NSURLConnection connectionWithRequest:[self request:urlString] delegate:self]];
+        });
+        
+        delayTime += stagger;
+    }
+    
+    #pragma clang diagnostic pop
+}
+
+- (void)URLSession:(NSURLSession *)session didBecomeInvalidWithError:(NSError *)error {
+    NSLog(@"URLSession didBecomeInvalidWithError: %@", error.localizedDescription);
+}
+
+- (void)URLSession:(NSURLSession *)session
+          dataTask:(NSURLSessionDataTask *)dataTask
+didReceiveResponse:(NSURLResponse *)response
+ completionHandler:(void (^)(NSURLSessionResponseDisposition))completionHandler {
+    completionHandler(NSURLSessionResponseAllow);
+}
+
+- (void)URLSession:(NSURLSession *)session
+      downloadTask:(NSURLSessionDownloadTask *)downloadTask didFinishDownloadingToURL:(NSURL *)location {
+    NSLog(@"didFinishDownloadingToURL: %@", location.absoluteString);
+}
+
+- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
+    [self.connections removeObject:connection];
+}
+
+- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error {
+    [self.connections removeObject:connection];
+}
+
+@end

+ 30 - 0
Example/FLEXample/SceneDelegate.swift

@@ -0,0 +1,30 @@
+//
+//  SceneDelegate.swift
+//  FLEXample
+//
+//  Created by Tanner on 3/11/20.
+//  Copyright © 2020 Flipboard. All rights reserved.
+//
+
+import UIKit
+import SwiftUI
+
+@objcMembers
+class SceneDelegate: UIResponder, UIWindowSceneDelegate {
+
+    var window: UIWindow?
+
+    func scene(_ scene: UIScene, willConnectTo session: UISceneSession, options connectionOptions: UIScene.ConnectionOptions) {
+        if let windowScene = scene as? UIWindowScene {
+            let window = UIWindow(windowScene: windowScene)
+            window.rootViewController = FLEXNavigationController(rootViewController: CommitListViewController())
+            self.window = window
+            window.makeKeyAndVisible()
+        }
+    }
+    
+    func sceneDidBecomeActive(_ scene: UIScene) {
+        FLEXManager.shared.showExplorer()
+    }
+}
+

Example/UICatalog/Images.xcassets/AppIcon.appiconset/Contents.json → Example/FLEXample/Supporting Files/Assets.xcassets/AppIcon.appiconset/Contents.json


Example/UICatalog/Images.xcassets/Contents.json → Example/FLEXample/Supporting Files/Assets.xcassets/Contents.json


+ 25 - 0
Example/FLEXample/Supporting Files/Base.lproj/LaunchScreen.storyboard

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13122.16" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
+    <dependencies>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13104.12"/>
+        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <scenes>
+        <!--View Controller-->
+        <scene sceneID="EHf-IW-A2E">
+            <objects>
+                <viewController id="01J-lp-oVM" sceneMemberID="viewController">
+                    <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
+                        <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
+                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+                        <color key="backgroundColor" xcode11CocoaTouchSystemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
+                        <viewLayoutGuide key="safeArea" id="6Tk-OE-BBY"/>
+                    </view>
+                </viewController>
+                <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
+            </objects>
+            <point key="canvasLocation" x="53" y="375"/>
+        </scene>
+    </scenes>
+</document>

Example/UICatalog/dogs.realm → Example/FLEXample/Supporting Files/Bundle/dogs.realm


Example/UICatalog/image → Example/FLEXample/Supporting Files/Bundle/image


Example/UICatalog/image.jpeg → Example/FLEXample/Supporting Files/Bundle/image.jpeg


Example/UICatalog/image.jpg → Example/FLEXample/Supporting Files/Bundle/image.jpg


Example/UICatalog/image.png → Example/FLEXample/Supporting Files/Bundle/image.png


BIN
Example/FLEXample/Supporting Files/Bundle/music_library.db


BIN
Example/FLEXample/Supporting Files/Bundle/music_library_schema.jpg


+ 7 - 0
Example/FLEXample/Supporting Files/FLEXample-Bridging-Header.h

@@ -0,0 +1,7 @@
+//
+//  Use this file to import your target's public headers that you would like to expose to Swift.
+//
+
+#import <FLEX.h>
+#import "MiscNetworkRequests.h"
+#import "CommitListViewController.h"

+ 23 - 16
Example/UICatalog/UICatalog-Info.plist

@@ -3,25 +3,21 @@
 <plist version="1.0">
 <dict>
 	<key>CFBundleDevelopmentRegion</key>
-	<string>en</string>
-	<key>CFBundleDisplayName</key>
-	<string>${PRODUCT_NAME}</string>
+	<string>$(DEVELOPMENT_LANGUAGE)</string>
 	<key>CFBundleExecutable</key>
-	<string>${EXECUTABLE_NAME}</string>
+	<string>$(EXECUTABLE_NAME)</string>
 	<key>CFBundleIdentifier</key>
 	<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
 	<key>CFBundleInfoDictionaryVersion</key>
 	<string>6.0</string>
 	<key>CFBundleName</key>
-	<string>${PRODUCT_NAME}</string>
+	<string>$(PRODUCT_NAME)</string>
 	<key>CFBundlePackageType</key>
-	<string>APPL</string>
+	<string>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
 	<key>CFBundleShortVersionString</key>
-	<string>2.12</string>
-	<key>CFBundleSignature</key>
-	<string>????</string>
+	<string>1.0</string>
 	<key>CFBundleVersion</key>
-	<string>2.12</string>
+	<string>1</string>
 	<key>LSRequiresIPhoneOS</key>
 	<true/>
 	<key>NSAppTransportSecurity</key>
@@ -29,14 +25,25 @@
 		<key>NSAllowsArbitraryLoads</key>
 		<true/>
 	</dict>
-	<key>NSPhotoLibraryAddUsageDescription</key>
-	<string>Save photos for debugging</string>
+	<key>UIApplicationSceneManifest</key>
+	<dict>
+		<key>UIApplicationSupportsMultipleScenes</key>
+		<false/>
+		<key>UISceneConfigurations</key>
+		<dict>
+			<key>UIWindowSceneSessionRoleApplication</key>
+			<array>
+				<dict>
+					<key>UISceneConfigurationName</key>
+					<string>Default Configuration</string>
+					<key>UISceneDelegateClassName</key>
+					<string>$(PRODUCT_MODULE_NAME).SceneDelegate</string>
+				</dict>
+			</array>
+		</dict>
+	</dict>
 	<key>UILaunchStoryboardName</key>
 	<string>LaunchScreen</string>
-	<key>UIMainStoryboardFile</key>
-	<string>Main_iPhone</string>
-	<key>UIMainStoryboardFile~ipad</key>
-	<string>Main_iPad</string>
 	<key>UIRequiredDeviceCapabilities</key>
 	<array>
 		<string>armv7</string>

+ 6 - 0
Example/FLEXample/Supporting Files/Preview Content/Preview Assets.xcassets/Contents.json

@@ -0,0 +1,6 @@
+{
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

+ 5 - 0
Example/Podfile

@@ -0,0 +1,5 @@
+platform :ios, '13.0'
+
+target 'FLEXample' do
+  pod 'FLEX', :path => '../'
+end

File diff suppressed because it is too large
+ 0 - 50
Example/ReadMe.txt


+ 3 - 1
Example/UICatalog/Dog.h

@@ -12,11 +12,13 @@
 #import "Owner.h"
 
 @interface Dog : RLMObject
+
 @property NSString *name;
 @property CGFloat height;
 @property NSDate *birthdate;
 @property BOOL vaccinated;
 @property Owner *owner;
+
 @end
 
-#endif
+#endif

Example/UICatalog/Dog.m → Example/Realm/Dog.m


+ 3 - 1
Example/UICatalog/Owner.h

@@ -11,7 +11,9 @@
 #import <Realm/Realm.h>
 
 @interface Owner : RLMObject
+
 @property NSString *name;
+
 @end
 
-#endif
+#endif

Example/UICatalog/Owner.m → Example/Realm/Owner.m


+ 0 - 664
Example/UICatalog.xcodeproj/project.pbxproj

@@ -1,664 +0,0 @@
-// !$*UTF8*$!
-{
-	archiveVersion = 1;
-	classes = {
-	};
-	objectVersion = 46;
-	objects = {
-
-/* Begin PBXBuildFile section */
-		22679D581C74188D002248FC /* Dog.m in Sources */ = {isa = PBXBuildFile; fileRef = 22679D571C74188D002248FC /* Dog.m */; };
-		22679D5C1C7418B6002248FC /* Owner.m in Sources */ = {isa = PBXBuildFile; fileRef = 22679D5B1C7418B6002248FC /* Owner.m */; };
-		22679D5D1C741A7A002248FC /* dogs.realm in Resources */ = {isa = PBXBuildFile; fileRef = 22679D551C741764002248FC /* dogs.realm */; };
-		3EC6487318FF8A5000024205 /* ReadMe.txt in Resources */ = {isa = PBXBuildFile; fileRef = 3EC6487218FF8A5000024205 /* ReadMe.txt */; };
-		5356823E18F3656900BAAD62 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5356823D18F3656900BAAD62 /* Foundation.framework */; };
-		5356824018F3656900BAAD62 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5356823F18F3656900BAAD62 /* CoreGraphics.framework */; };
-		5356824218F3656900BAAD62 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5356824118F3656900BAAD62 /* UIKit.framework */; };
-		5356824A18F3656900BAAD62 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356824918F3656900BAAD62 /* main.m */; };
-		5356825118F3656900BAAD62 /* Main_iPhone.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5356824F18F3656900BAAD62 /* Main_iPhone.storyboard */; };
-		5356825418F3656900BAAD62 /* Main_iPad.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 5356825218F3656900BAAD62 /* Main_iPad.storyboard */; };
-		5356825918F3656900BAAD62 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 5356825818F3656900BAAD62 /* Images.xcassets */; };
-		535682A718F3670300BAAD62 /* AAPLActionSheetViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356827618F3670200BAAD62 /* AAPLActionSheetViewController.m */; };
-		535682A818F3670300BAAD62 /* AAPLActivityIndicatorViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356827818F3670300BAAD62 /* AAPLActivityIndicatorViewController.m */; };
-		535682A918F3670300BAAD62 /* AAPLAlertViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356827A18F3670300BAAD62 /* AAPLAlertViewController.m */; };
-		535682AA18F3670300BAAD62 /* AAPLAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356827C18F3670300BAAD62 /* AAPLAppDelegate.m */; };
-		535682AB18F3670300BAAD62 /* AAPLButtonViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356827E18F3670300BAAD62 /* AAPLButtonViewController.m */; };
-		535682AC18F3670300BAAD62 /* AAPLCustomSearchBarViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356828018F3670300BAAD62 /* AAPLCustomSearchBarViewController.m */; };
-		535682AD18F3670300BAAD62 /* AAPLCustomToolbarViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356828218F3670300BAAD62 /* AAPLCustomToolbarViewController.m */; };
-		535682AE18F3670300BAAD62 /* AAPLDatePickerController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356828418F3670300BAAD62 /* AAPLDatePickerController.m */; };
-		535682AF18F3670300BAAD62 /* AAPLDefaultSearchBarViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356828618F3670300BAAD62 /* AAPLDefaultSearchBarViewController.m */; };
-		535682B018F3670300BAAD62 /* AAPLDefaultToolbarViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356828818F3670300BAAD62 /* AAPLDefaultToolbarViewController.m */; };
-		535682B118F3670300BAAD62 /* AAPLImageViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356828A18F3670300BAAD62 /* AAPLImageViewController.m */; };
-		535682B218F3670300BAAD62 /* AAPLMasterViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356828C18F3670300BAAD62 /* AAPLMasterViewController.m */; };
-		535682B318F3670300BAAD62 /* AAPLPageControlViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356828E18F3670300BAAD62 /* AAPLPageControlViewController.m */; };
-		535682B418F3670300BAAD62 /* AAPLPickerViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356829018F3670300BAAD62 /* AAPLPickerViewController.m */; };
-		535682B518F3670300BAAD62 /* AAPLProgressViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356829218F3670300BAAD62 /* AAPLProgressViewController.m */; };
-		535682B618F3670300BAAD62 /* AAPLSegmentedControlViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356829418F3670300BAAD62 /* AAPLSegmentedControlViewController.m */; };
-		535682B718F3670300BAAD62 /* AAPLSliderViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356829618F3670300BAAD62 /* AAPLSliderViewController.m */; };
-		535682B818F3670300BAAD62 /* AAPLSplitViewControllerDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356829818F3670300BAAD62 /* AAPLSplitViewControllerDelegate.m */; };
-		535682B918F3670300BAAD62 /* AAPLStepperViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356829A18F3670300BAAD62 /* AAPLStepperViewController.m */; };
-		535682BA18F3670300BAAD62 /* AAPLSwitchViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356829C18F3670300BAAD62 /* AAPLSwitchViewController.m */; };
-		535682BB18F3670300BAAD62 /* AAPLTextFieldViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 5356829E18F3670300BAAD62 /* AAPLTextFieldViewController.m */; };
-		535682BC18F3670300BAAD62 /* AAPLTextViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 535682A018F3670300BAAD62 /* AAPLTextViewController.m */; };
-		535682BD18F3670300BAAD62 /* AAPLTintedToolbarViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 535682A218F3670300BAAD62 /* AAPLTintedToolbarViewController.m */; };
-		535682BE18F3670300BAAD62 /* AAPLWebViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 535682A418F3670300BAAD62 /* AAPLWebViewController.m */; };
-		535682BF18F3670300BAAD62 /* UIColor+AAPLApplicationSpecific.m in Sources */ = {isa = PBXBuildFile; fileRef = 535682A618F3670300BAAD62 /* UIColor+AAPLApplicationSpecific.m */; };
-		53874F9918F36B1800510922 /* Localizable.strings in Resources */ = {isa = PBXBuildFile; fileRef = 53874F9718F36B1800510922 /* Localizable.strings */; };
-		779B1EF51C0C4F25001F5E49 /* libsqlite3.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 779B1EF41C0C4F25001F5E49 /* libsqlite3.dylib */; };
-		943203FE1978F42F00E24DB3 /* AAPLCatalogTableTableViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 943203FD1978F42F00E24DB3 /* AAPLCatalogTableTableViewController.m */; };
-		94CB4D431A97183E0054A905 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 94CB4D421A97183E0054A905 /* libz.dylib */; };
-		C34A709922B2EBB4009C2C5F /* image in Resources */ = {isa = PBXBuildFile; fileRef = C34A709522B2EBB4009C2C5F /* image */; };
-		C34A709A22B2EBB4009C2C5F /* image.jpeg in Resources */ = {isa = PBXBuildFile; fileRef = C34A709622B2EBB4009C2C5F /* image.jpeg */; };
-		C34A709B22B2EBB4009C2C5F /* image.jpg in Resources */ = {isa = PBXBuildFile; fileRef = C34A709722B2EBB4009C2C5F /* image.jpg */; };
-		C34A709C22B2EBB4009C2C5F /* image.png in Resources */ = {isa = PBXBuildFile; fileRef = C34A709822B2EBB4009C2C5F /* image.png */; };
-		C34C811A22678CF5006C4D4B /* Person.m in Sources */ = {isa = PBXBuildFile; fileRef = C34C811922678CF5006C4D4B /* Person.m */; };
-		C3EF50CD22610FE200B0BE49 /* LaunchScreen.xib in Resources */ = {isa = PBXBuildFile; fileRef = C3EF50CC22610FE200B0BE49 /* LaunchScreen.xib */; };
-		C3FB77E52266367F00DF4E73 /* FLEX.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C3FB77E42266367F00DF4E73 /* FLEX.framework */; };
-		C3FB77E6226636AA00DF4E73 /* FLEX.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = C3FB77E42266367F00DF4E73 /* FLEX.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
-/* End PBXBuildFile section */
-
-/* Begin PBXCopyFilesBuildPhase section */
-		22679D691C742141002248FC /* Embed Frameworks */ = {
-			isa = PBXCopyFilesBuildPhase;
-			buildActionMask = 2147483647;
-			dstPath = "";
-			dstSubfolderSpec = 10;
-			files = (
-				C3FB77E6226636AA00DF4E73 /* FLEX.framework in Embed Frameworks */,
-			);
-			name = "Embed Frameworks";
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXCopyFilesBuildPhase section */
-
-/* Begin PBXFileReference section */
-		22679D551C741764002248FC /* dogs.realm */ = {isa = PBXFileReference; lastKnownFileType = file; path = dogs.realm; sourceTree = "<group>"; };
-		22679D561C74188D002248FC /* Dog.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Dog.h; sourceTree = "<group>"; };
-		22679D571C74188D002248FC /* Dog.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Dog.m; sourceTree = "<group>"; };
-		22679D5A1C7418B6002248FC /* Owner.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Owner.h; sourceTree = "<group>"; };
-		22679D5B1C7418B6002248FC /* Owner.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = Owner.m; sourceTree = "<group>"; };
-		3EC6487218FF8A5000024205 /* ReadMe.txt */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = ReadMe.txt; sourceTree = SOURCE_ROOT; };
-		5356823A18F3656900BAAD62 /* UICatalog.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = UICatalog.app; sourceTree = BUILT_PRODUCTS_DIR; };
-		5356823D18F3656900BAAD62 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
-		5356823F18F3656900BAAD62 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
-		5356824118F3656900BAAD62 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; };
-		5356824518F3656900BAAD62 /* UICatalog-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "UICatalog-Info.plist"; sourceTree = "<group>"; };
-		5356824918F3656900BAAD62 /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
-		5356824B18F3656900BAAD62 /* UICatalog-Prefix.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UICatalog-Prefix.pch"; sourceTree = "<group>"; };
-		5356825018F3656900BAAD62 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main_iPhone.storyboard; sourceTree = "<group>"; };
-		5356825318F3656900BAAD62 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main_iPad.storyboard; sourceTree = "<group>"; };
-		5356825818F3656900BAAD62 /* Images.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Images.xcassets; sourceTree = "<group>"; };
-		5356827518F3670200BAAD62 /* AAPLActionSheetViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLActionSheetViewController.h; sourceTree = "<group>"; };
-		5356827618F3670200BAAD62 /* AAPLActionSheetViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLActionSheetViewController.m; sourceTree = "<group>"; };
-		5356827718F3670200BAAD62 /* AAPLActivityIndicatorViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLActivityIndicatorViewController.h; sourceTree = "<group>"; };
-		5356827818F3670300BAAD62 /* AAPLActivityIndicatorViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLActivityIndicatorViewController.m; sourceTree = "<group>"; };
-		5356827918F3670300BAAD62 /* AAPLAlertViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLAlertViewController.h; sourceTree = "<group>"; };
-		5356827A18F3670300BAAD62 /* AAPLAlertViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLAlertViewController.m; sourceTree = "<group>"; };
-		5356827B18F3670300BAAD62 /* AAPLAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLAppDelegate.h; sourceTree = "<group>"; };
-		5356827C18F3670300BAAD62 /* AAPLAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLAppDelegate.m; sourceTree = "<group>"; };
-		5356827D18F3670300BAAD62 /* AAPLButtonViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLButtonViewController.h; sourceTree = "<group>"; };
-		5356827E18F3670300BAAD62 /* AAPLButtonViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLButtonViewController.m; sourceTree = "<group>"; };
-		5356827F18F3670300BAAD62 /* AAPLCustomSearchBarViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLCustomSearchBarViewController.h; sourceTree = "<group>"; };
-		5356828018F3670300BAAD62 /* AAPLCustomSearchBarViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLCustomSearchBarViewController.m; sourceTree = "<group>"; };
-		5356828118F3670300BAAD62 /* AAPLCustomToolbarViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLCustomToolbarViewController.h; sourceTree = "<group>"; };
-		5356828218F3670300BAAD62 /* AAPLCustomToolbarViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLCustomToolbarViewController.m; sourceTree = "<group>"; };
-		5356828318F3670300BAAD62 /* AAPLDatePickerController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLDatePickerController.h; sourceTree = "<group>"; };
-		5356828418F3670300BAAD62 /* AAPLDatePickerController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLDatePickerController.m; sourceTree = "<group>"; };
-		5356828518F3670300BAAD62 /* AAPLDefaultSearchBarViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLDefaultSearchBarViewController.h; sourceTree = "<group>"; };
-		5356828618F3670300BAAD62 /* AAPLDefaultSearchBarViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLDefaultSearchBarViewController.m; sourceTree = "<group>"; };
-		5356828718F3670300BAAD62 /* AAPLDefaultToolbarViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLDefaultToolbarViewController.h; sourceTree = "<group>"; };
-		5356828818F3670300BAAD62 /* AAPLDefaultToolbarViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLDefaultToolbarViewController.m; sourceTree = "<group>"; };
-		5356828918F3670300BAAD62 /* AAPLImageViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLImageViewController.h; sourceTree = "<group>"; };
-		5356828A18F3670300BAAD62 /* AAPLImageViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLImageViewController.m; sourceTree = "<group>"; };
-		5356828B18F3670300BAAD62 /* AAPLMasterViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLMasterViewController.h; sourceTree = "<group>"; };
-		5356828C18F3670300BAAD62 /* AAPLMasterViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLMasterViewController.m; sourceTree = "<group>"; };
-		5356828D18F3670300BAAD62 /* AAPLPageControlViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLPageControlViewController.h; sourceTree = "<group>"; };
-		5356828E18F3670300BAAD62 /* AAPLPageControlViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLPageControlViewController.m; sourceTree = "<group>"; };
-		5356828F18F3670300BAAD62 /* AAPLPickerViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLPickerViewController.h; sourceTree = "<group>"; };
-		5356829018F3670300BAAD62 /* AAPLPickerViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLPickerViewController.m; sourceTree = "<group>"; };
-		5356829118F3670300BAAD62 /* AAPLProgressViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLProgressViewController.h; sourceTree = "<group>"; };
-		5356829218F3670300BAAD62 /* AAPLProgressViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLProgressViewController.m; sourceTree = "<group>"; };
-		5356829318F3670300BAAD62 /* AAPLSegmentedControlViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLSegmentedControlViewController.h; sourceTree = "<group>"; };
-		5356829418F3670300BAAD62 /* AAPLSegmentedControlViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLSegmentedControlViewController.m; sourceTree = "<group>"; };
-		5356829518F3670300BAAD62 /* AAPLSliderViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLSliderViewController.h; sourceTree = "<group>"; };
-		5356829618F3670300BAAD62 /* AAPLSliderViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLSliderViewController.m; sourceTree = "<group>"; };
-		5356829718F3670300BAAD62 /* AAPLSplitViewControllerDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLSplitViewControllerDelegate.h; sourceTree = "<group>"; };
-		5356829818F3670300BAAD62 /* AAPLSplitViewControllerDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLSplitViewControllerDelegate.m; sourceTree = "<group>"; };
-		5356829918F3670300BAAD62 /* AAPLStepperViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLStepperViewController.h; sourceTree = "<group>"; };
-		5356829A18F3670300BAAD62 /* AAPLStepperViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLStepperViewController.m; sourceTree = "<group>"; };
-		5356829B18F3670300BAAD62 /* AAPLSwitchViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLSwitchViewController.h; sourceTree = "<group>"; };
-		5356829C18F3670300BAAD62 /* AAPLSwitchViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLSwitchViewController.m; sourceTree = "<group>"; };
-		5356829D18F3670300BAAD62 /* AAPLTextFieldViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLTextFieldViewController.h; sourceTree = "<group>"; };
-		5356829E18F3670300BAAD62 /* AAPLTextFieldViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLTextFieldViewController.m; sourceTree = "<group>"; };
-		5356829F18F3670300BAAD62 /* AAPLTextViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLTextViewController.h; sourceTree = "<group>"; };
-		535682A018F3670300BAAD62 /* AAPLTextViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLTextViewController.m; sourceTree = "<group>"; };
-		535682A118F3670300BAAD62 /* AAPLTintedToolbarViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLTintedToolbarViewController.h; sourceTree = "<group>"; };
-		535682A218F3670300BAAD62 /* AAPLTintedToolbarViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLTintedToolbarViewController.m; sourceTree = "<group>"; };
-		535682A318F3670300BAAD62 /* AAPLWebViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLWebViewController.h; sourceTree = "<group>"; };
-		535682A418F3670300BAAD62 /* AAPLWebViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLWebViewController.m; sourceTree = "<group>"; };
-		535682A518F3670300BAAD62 /* UIColor+AAPLApplicationSpecific.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIColor+AAPLApplicationSpecific.h"; sourceTree = "<group>"; };
-		535682A618F3670300BAAD62 /* UIColor+AAPLApplicationSpecific.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIColor+AAPLApplicationSpecific.m"; sourceTree = "<group>"; };
-		53874F9818F36B1800510922 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/Localizable.strings; sourceTree = "<group>"; };
-		779B1EF41C0C4F25001F5E49 /* libsqlite3.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libsqlite3.dylib; path = ../../../../../../usr/lib/libsqlite3.dylib; sourceTree = "<group>"; };
-		943203FC1978F42F00E24DB3 /* AAPLCatalogTableTableViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AAPLCatalogTableTableViewController.h; sourceTree = "<group>"; };
-		943203FD1978F42F00E24DB3 /* AAPLCatalogTableTableViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AAPLCatalogTableTableViewController.m; sourceTree = "<group>"; };
-		94CB4D421A97183E0054A905 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
-		C34A709522B2EBB4009C2C5F /* image */ = {isa = PBXFileReference; lastKnownFileType = file; name = image; path = UICatalog/image; sourceTree = "<group>"; };
-		C34A709622B2EBB4009C2C5F /* image.jpeg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = image.jpeg; path = UICatalog/image.jpeg; sourceTree = "<group>"; };
-		C34A709722B2EBB4009C2C5F /* image.jpg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; name = image.jpg; path = UICatalog/image.jpg; sourceTree = "<group>"; };
-		C34A709822B2EBB4009C2C5F /* image.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = image.png; path = UICatalog/image.png; sourceTree = "<group>"; };
-		C34C811822678CF5006C4D4B /* Person.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = Person.h; sourceTree = "<group>"; };
-		C34C811922678CF5006C4D4B /* Person.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = Person.m; sourceTree = "<group>"; };
-		C3EF50CC22610FE200B0BE49 /* LaunchScreen.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = LaunchScreen.xib; sourceTree = "<group>"; };
-		C3FB77E42266367F00DF4E73 /* FLEX.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = FLEX.framework; sourceTree = BUILT_PRODUCTS_DIR; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
-		5356823718F3656900BAAD62 /* Frameworks */ = {
-			isa = PBXFrameworksBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				C3FB77E52266367F00DF4E73 /* FLEX.framework in Frameworks */,
-				779B1EF51C0C4F25001F5E49 /* libsqlite3.dylib in Frameworks */,
-				94CB4D431A97183E0054A905 /* libz.dylib in Frameworks */,
-				5356824018F3656900BAAD62 /* CoreGraphics.framework in Frameworks */,
-				5356824218F3656900BAAD62 /* UIKit.framework in Frameworks */,
-				5356823E18F3656900BAAD62 /* Foundation.framework in Frameworks */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
-		22679D591C741891002248FC /* Realm */ = {
-			isa = PBXGroup;
-			children = (
-				22679D551C741764002248FC /* dogs.realm */,
-				22679D561C74188D002248FC /* Dog.h */,
-				22679D571C74188D002248FC /* Dog.m */,
-				22679D5A1C7418B6002248FC /* Owner.h */,
-				22679D5B1C7418B6002248FC /* Owner.m */,
-			);
-			name = Realm;
-			sourceTree = "<group>";
-		};
-		5356823118F3656900BAAD62 = {
-			isa = PBXGroup;
-			children = (
-				C34A709D22B2EBE0009C2C5F /* Files */,
-				5356824318F3656900BAAD62 /* UICatalog */,
-				5356823C18F3656900BAAD62 /* Frameworks */,
-				5356823B18F3656900BAAD62 /* Products */,
-			);
-			sourceTree = "<group>";
-		};
-		5356823B18F3656900BAAD62 /* Products */ = {
-			isa = PBXGroup;
-			children = (
-				5356823A18F3656900BAAD62 /* UICatalog.app */,
-			);
-			name = Products;
-			sourceTree = "<group>";
-		};
-		5356823C18F3656900BAAD62 /* Frameworks */ = {
-			isa = PBXGroup;
-			children = (
-				C3FB77E42266367F00DF4E73 /* FLEX.framework */,
-				779B1EF41C0C4F25001F5E49 /* libsqlite3.dylib */,
-				94CB4D421A97183E0054A905 /* libz.dylib */,
-				5356823D18F3656900BAAD62 /* Foundation.framework */,
-				5356823F18F3656900BAAD62 /* CoreGraphics.framework */,
-				5356824118F3656900BAAD62 /* UIKit.framework */,
-			);
-			name = Frameworks;
-			sourceTree = "<group>";
-		};
-		5356824318F3656900BAAD62 /* UICatalog */ = {
-			isa = PBXGroup;
-			children = (
-				944F74B8197B46D2009AB039 /* FLEX Integration */,
-				535682C018F3680D00BAAD62 /* View Controllers */,
-				53874F9A18F36B6900510922 /* Application */,
-				5356825818F3656900BAAD62 /* Images.xcassets */,
-				5356824418F3656900BAAD62 /* Supporting Files */,
-			);
-			path = UICatalog;
-			sourceTree = "<group>";
-		};
-		5356824418F3656900BAAD62 /* Supporting Files */ = {
-			isa = PBXGroup;
-			children = (
-				5356824518F3656900BAAD62 /* UICatalog-Info.plist */,
-				5356824B18F3656900BAAD62 /* UICatalog-Prefix.pch */,
-				53874F9718F36B1800510922 /* Localizable.strings */,
-				C3EF50CC22610FE200B0BE49 /* LaunchScreen.xib */,
-			);
-			name = "Supporting Files";
-			sourceTree = "<group>";
-		};
-		535682C018F3680D00BAAD62 /* View Controllers */ = {
-			isa = PBXGroup;
-			children = (
-				5356827518F3670200BAAD62 /* AAPLActionSheetViewController.h */,
-				5356827618F3670200BAAD62 /* AAPLActionSheetViewController.m */,
-				5356827718F3670200BAAD62 /* AAPLActivityIndicatorViewController.h */,
-				5356827818F3670300BAAD62 /* AAPLActivityIndicatorViewController.m */,
-				5356827918F3670300BAAD62 /* AAPLAlertViewController.h */,
-				5356827A18F3670300BAAD62 /* AAPLAlertViewController.m */,
-				5356827D18F3670300BAAD62 /* AAPLButtonViewController.h */,
-				5356827E18F3670300BAAD62 /* AAPLButtonViewController.m */,
-				5356828318F3670300BAAD62 /* AAPLDatePickerController.h */,
-				5356828418F3670300BAAD62 /* AAPLDatePickerController.m */,
-				5356828918F3670300BAAD62 /* AAPLImageViewController.h */,
-				5356828A18F3670300BAAD62 /* AAPLImageViewController.m */,
-				5356828D18F3670300BAAD62 /* AAPLPageControlViewController.h */,
-				5356828E18F3670300BAAD62 /* AAPLPageControlViewController.m */,
-				5356828F18F3670300BAAD62 /* AAPLPickerViewController.h */,
-				5356829018F3670300BAAD62 /* AAPLPickerViewController.m */,
-				5356829118F3670300BAAD62 /* AAPLProgressViewController.h */,
-				5356829218F3670300BAAD62 /* AAPLProgressViewController.m */,
-				5356829318F3670300BAAD62 /* AAPLSegmentedControlViewController.h */,
-				5356829418F3670300BAAD62 /* AAPLSegmentedControlViewController.m */,
-				5356829518F3670300BAAD62 /* AAPLSliderViewController.h */,
-				5356829618F3670300BAAD62 /* AAPLSliderViewController.m */,
-				5356829918F3670300BAAD62 /* AAPLStepperViewController.h */,
-				5356829A18F3670300BAAD62 /* AAPLStepperViewController.m */,
-				5356829B18F3670300BAAD62 /* AAPLSwitchViewController.h */,
-				5356829C18F3670300BAAD62 /* AAPLSwitchViewController.m */,
-				5356829D18F3670300BAAD62 /* AAPLTextFieldViewController.h */,
-				5356829E18F3670300BAAD62 /* AAPLTextFieldViewController.m */,
-				5356829F18F3670300BAAD62 /* AAPLTextViewController.h */,
-				535682A018F3670300BAAD62 /* AAPLTextViewController.m */,
-				535682A318F3670300BAAD62 /* AAPLWebViewController.h */,
-				535682A418F3670300BAAD62 /* AAPLWebViewController.m */,
-				5356828518F3670300BAAD62 /* AAPLDefaultSearchBarViewController.h */,
-				5356828618F3670300BAAD62 /* AAPLDefaultSearchBarViewController.m */,
-				5356827F18F3670300BAAD62 /* AAPLCustomSearchBarViewController.h */,
-				5356828018F3670300BAAD62 /* AAPLCustomSearchBarViewController.m */,
-				5356828718F3670300BAAD62 /* AAPLDefaultToolbarViewController.h */,
-				5356828818F3670300BAAD62 /* AAPLDefaultToolbarViewController.m */,
-				5356828118F3670300BAAD62 /* AAPLCustomToolbarViewController.h */,
-				5356828218F3670300BAAD62 /* AAPLCustomToolbarViewController.m */,
-				535682A118F3670300BAAD62 /* AAPLTintedToolbarViewController.h */,
-				535682A218F3670300BAAD62 /* AAPLTintedToolbarViewController.m */,
-				535682C118F3690500BAAD62 /* SplitView */,
-			);
-			name = "View Controllers";
-			sourceTree = "<group>";
-		};
-		535682C118F3690500BAAD62 /* SplitView */ = {
-			isa = PBXGroup;
-			children = (
-				5356828B18F3670300BAAD62 /* AAPLMasterViewController.h */,
-				5356828C18F3670300BAAD62 /* AAPLMasterViewController.m */,
-				5356829718F3670300BAAD62 /* AAPLSplitViewControllerDelegate.h */,
-				5356829818F3670300BAAD62 /* AAPLSplitViewControllerDelegate.m */,
-			);
-			name = SplitView;
-			sourceTree = "<group>";
-		};
-		53874F9A18F36B6900510922 /* Application */ = {
-			isa = PBXGroup;
-			children = (
-				22679D591C741891002248FC /* Realm */,
-				5356824918F3656900BAAD62 /* main.m */,
-				5356827B18F3670300BAAD62 /* AAPLAppDelegate.h */,
-				5356827C18F3670300BAAD62 /* AAPLAppDelegate.m */,
-				535682A518F3670300BAAD62 /* UIColor+AAPLApplicationSpecific.h */,
-				535682A618F3670300BAAD62 /* UIColor+AAPLApplicationSpecific.m */,
-				5356824F18F3656900BAAD62 /* Main_iPhone.storyboard */,
-				5356825218F3656900BAAD62 /* Main_iPad.storyboard */,
-				C34C811822678CF5006C4D4B /* Person.h */,
-				C34C811922678CF5006C4D4B /* Person.m */,
-			);
-			name = Application;
-			sourceTree = "<group>";
-		};
-		944F74B8197B46D2009AB039 /* FLEX Integration */ = {
-			isa = PBXGroup;
-			children = (
-				943203FC1978F42F00E24DB3 /* AAPLCatalogTableTableViewController.h */,
-				943203FD1978F42F00E24DB3 /* AAPLCatalogTableTableViewController.m */,
-			);
-			name = "FLEX Integration";
-			sourceTree = "<group>";
-		};
-		C34A709D22B2EBE0009C2C5F /* Files */ = {
-			isa = PBXGroup;
-			children = (
-				C34A709522B2EBB4009C2C5F /* image */,
-				C34A709622B2EBB4009C2C5F /* image.jpeg */,
-				C34A709722B2EBB4009C2C5F /* image.jpg */,
-				C34A709822B2EBB4009C2C5F /* image.png */,
-				3EC6487218FF8A5000024205 /* ReadMe.txt */,
-			);
-			name = Files;
-			sourceTree = "<group>";
-		};
-/* End PBXGroup section */
-
-/* Begin PBXNativeTarget section */
-		5356823918F3656900BAAD62 /* UICatalog */ = {
-			isa = PBXNativeTarget;
-			buildConfigurationList = 5356826F18F3656900BAAD62 /* Build configuration list for PBXNativeTarget "UICatalog" */;
-			buildPhases = (
-				5356823618F3656900BAAD62 /* Sources */,
-				5356823718F3656900BAAD62 /* Frameworks */,
-				5356823818F3656900BAAD62 /* Resources */,
-				22679D691C742141002248FC /* Embed Frameworks */,
-			);
-			buildRules = (
-			);
-			dependencies = (
-			);
-			name = UICatalog;
-			productName = UICatalog;
-			productReference = 5356823A18F3656900BAAD62 /* UICatalog.app */;
-			productType = "com.apple.product-type.application";
-		};
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
-		5356823218F3656900BAAD62 /* Project object */ = {
-			isa = PBXProject;
-			attributes = {
-				LastUpgradeCheck = 1020;
-				ORGANIZATIONNAME = f;
-				TargetAttributes = {
-					5356823918F3656900BAAD62 = {
-						DevelopmentTeam = S6N2F22V2Z;
-						ProvisioningStyle = Automatic;
-					};
-				};
-			};
-			buildConfigurationList = 5356823518F3656900BAAD62 /* Build configuration list for PBXProject "UICatalog" */;
-			compatibilityVersion = "Xcode 3.2";
-			developmentRegion = en;
-			hasScannedForEncodings = 0;
-			knownRegions = (
-				en,
-				Base,
-			);
-			mainGroup = 5356823118F3656900BAAD62;
-			productRefGroup = 5356823B18F3656900BAAD62 /* Products */;
-			projectDirPath = "";
-			projectRoot = "";
-			targets = (
-				5356823918F3656900BAAD62 /* UICatalog */,
-			);
-		};
-/* End PBXProject section */
-
-/* Begin PBXResourcesBuildPhase section */
-		5356823818F3656900BAAD62 /* Resources */ = {
-			isa = PBXResourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				C34A709922B2EBB4009C2C5F /* image in Resources */,
-				C34A709A22B2EBB4009C2C5F /* image.jpeg in Resources */,
-				C34A709B22B2EBB4009C2C5F /* image.jpg in Resources */,
-				C34A709C22B2EBB4009C2C5F /* image.png in Resources */,
-				22679D5D1C741A7A002248FC /* dogs.realm in Resources */,
-				5356825418F3656900BAAD62 /* Main_iPad.storyboard in Resources */,
-				53874F9918F36B1800510922 /* Localizable.strings in Resources */,
-				C3EF50CD22610FE200B0BE49 /* LaunchScreen.xib in Resources */,
-				5356825918F3656900BAAD62 /* Images.xcassets in Resources */,
-				3EC6487318FF8A5000024205 /* ReadMe.txt in Resources */,
-				5356825118F3656900BAAD62 /* Main_iPhone.storyboard in Resources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXResourcesBuildPhase section */
-
-/* Begin PBXSourcesBuildPhase section */
-		5356823618F3656900BAAD62 /* Sources */ = {
-			isa = PBXSourcesBuildPhase;
-			buildActionMask = 2147483647;
-			files = (
-				22679D5C1C7418B6002248FC /* Owner.m in Sources */,
-				535682AE18F3670300BAAD62 /* AAPLDatePickerController.m in Sources */,
-				535682AB18F3670300BAAD62 /* AAPLButtonViewController.m in Sources */,
-				535682B618F3670300BAAD62 /* AAPLSegmentedControlViewController.m in Sources */,
-				535682B018F3670300BAAD62 /* AAPLDefaultToolbarViewController.m in Sources */,
-				535682BD18F3670300BAAD62 /* AAPLTintedToolbarViewController.m in Sources */,
-				943203FE1978F42F00E24DB3 /* AAPLCatalogTableTableViewController.m in Sources */,
-				535682B318F3670300BAAD62 /* AAPLPageControlViewController.m in Sources */,
-				535682BA18F3670300BAAD62 /* AAPLSwitchViewController.m in Sources */,
-				535682AF18F3670300BAAD62 /* AAPLDefaultSearchBarViewController.m in Sources */,
-				535682BC18F3670300BAAD62 /* AAPLTextViewController.m in Sources */,
-				535682B418F3670300BAAD62 /* AAPLPickerViewController.m in Sources */,
-				C34C811A22678CF5006C4D4B /* Person.m in Sources */,
-				535682BE18F3670300BAAD62 /* AAPLWebViewController.m in Sources */,
-				535682BB18F3670300BAAD62 /* AAPLTextFieldViewController.m in Sources */,
-				535682BF18F3670300BAAD62 /* UIColor+AAPLApplicationSpecific.m in Sources */,
-				535682B718F3670300BAAD62 /* AAPLSliderViewController.m in Sources */,
-				535682B918F3670300BAAD62 /* AAPLStepperViewController.m in Sources */,
-				535682AA18F3670300BAAD62 /* AAPLAppDelegate.m in Sources */,
-				535682B518F3670300BAAD62 /* AAPLProgressViewController.m in Sources */,
-				22679D581C74188D002248FC /* Dog.m in Sources */,
-				535682AD18F3670300BAAD62 /* AAPLCustomToolbarViewController.m in Sources */,
-				535682A818F3670300BAAD62 /* AAPLActivityIndicatorViewController.m in Sources */,
-				535682B818F3670300BAAD62 /* AAPLSplitViewControllerDelegate.m in Sources */,
-				535682AC18F3670300BAAD62 /* AAPLCustomSearchBarViewController.m in Sources */,
-				535682A718F3670300BAAD62 /* AAPLActionSheetViewController.m in Sources */,
-				5356824A18F3656900BAAD62 /* main.m in Sources */,
-				535682B118F3670300BAAD62 /* AAPLImageViewController.m in Sources */,
-				535682A918F3670300BAAD62 /* AAPLAlertViewController.m in Sources */,
-				535682B218F3670300BAAD62 /* AAPLMasterViewController.m in Sources */,
-			);
-			runOnlyForDeploymentPostprocessing = 0;
-		};
-/* End PBXSourcesBuildPhase section */
-
-/* Begin PBXVariantGroup section */
-		5356824F18F3656900BAAD62 /* Main_iPhone.storyboard */ = {
-			isa = PBXVariantGroup;
-			children = (
-				5356825018F3656900BAAD62 /* Base */,
-			);
-			name = Main_iPhone.storyboard;
-			sourceTree = "<group>";
-		};
-		5356825218F3656900BAAD62 /* Main_iPad.storyboard */ = {
-			isa = PBXVariantGroup;
-			children = (
-				5356825318F3656900BAAD62 /* Base */,
-			);
-			name = Main_iPad.storyboard;
-			sourceTree = "<group>";
-		};
-		53874F9718F36B1800510922 /* Localizable.strings */ = {
-			isa = PBXVariantGroup;
-			children = (
-				53874F9818F36B1800510922 /* en */,
-			);
-			name = Localizable.strings;
-			sourceTree = "<group>";
-		};
-/* End PBXVariantGroup section */
-
-/* Begin XCBuildConfiguration section */
-		5356826D18F3656900BAAD62 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = 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_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
-				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
-				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_IMPLICIT_RETAIN_SELF = YES;
-				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
-				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
-				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_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
-				COPY_PHASE_STRIP = NO;
-				ENABLE_STRICT_OBJC_MSGSEND = YES;
-				ENABLE_TESTABILITY = YES;
-				GCC_C_LANGUAGE_STANDARD = gnu99;
-				GCC_DYNAMIC_NO_PIC = NO;
-				GCC_NO_COMMON_BLOCKS = YES;
-				GCC_OPTIMIZATION_LEVEL = 0;
-				GCC_PREPROCESSOR_DEFINITIONS = (
-					"DEBUG=1",
-					"$(inherited)",
-				);
-				GCC_SYMBOLS_PRIVATE_EXTERN = NO;
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				ONLY_ACTIVE_ARCH = YES;
-				SDKROOT = iphoneos;
-				TARGETED_DEVICE_FAMILY = "1,2";
-				WARNING_CFLAGS = (
-					"-Wno-deprecated-declarations",
-					"-Wno-deprecated-implementations",
-				);
-			};
-			name = Debug;
-		};
-		5356826E18F3656900BAAD62 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ALWAYS_SEARCH_USER_PATHS = NO;
-				CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = 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_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
-				CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
-				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_IMPLICIT_RETAIN_SELF = YES;
-				CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
-				CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
-				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_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
-				COPY_PHASE_STRIP = YES;
-				ENABLE_NS_ASSERTIONS = NO;
-				ENABLE_STRICT_OBJC_MSGSEND = YES;
-				GCC_C_LANGUAGE_STANDARD = gnu99;
-				GCC_NO_COMMON_BLOCKS = YES;
-				GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
-				GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
-				GCC_WARN_UNDECLARED_SELECTOR = YES;
-				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
-				GCC_WARN_UNUSED_FUNCTION = YES;
-				GCC_WARN_UNUSED_VARIABLE = YES;
-				IPHONEOS_DEPLOYMENT_TARGET = 8.0;
-				SDKROOT = iphoneos;
-				TARGETED_DEVICE_FAMILY = "1,2";
-				VALIDATE_PRODUCT = YES;
-				WARNING_CFLAGS = (
-					"-Wno-deprecated-declarations",
-					"-Wno-deprecated-implementations",
-				);
-			};
-			name = Release;
-		};
-		5356827018F3656900BAAD62 /* Debug */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-				CLANG_WARN_STRICT_PROTOTYPES = NO;
-				CODE_SIGN_IDENTITY = "iPhone Developer";
-				CODE_SIGN_STYLE = Automatic;
-				DEVELOPMENT_TEAM = S6N2F22V2Z;
-				EXCLUDED_SOURCE_FILE_NAMES = "";
-				FRAMEWORK_SEARCH_PATHS = (
-					"$(inherited)",
-					"$(PROJECT_DIR)",
-				);
-				GCC_PRECOMPILE_PREFIX_HEADER = YES;
-				GCC_PREFIX_HEADER = "UICatalog/UICatalog-Prefix.pch";
-				INFOPLIST_FILE = "UICatalog/UICatalog-Info.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
-				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
-				PRODUCT_BUNDLE_IDENTIFIER = com.flipboard.FLEX.example2;
-				PRODUCT_NAME = "$(TARGET_NAME)";
-				PROVISIONING_PROFILE_SPECIFIER = "";
-				WRAPPER_EXTENSION = app;
-			};
-			name = Debug;
-		};
-		5356827118F3656900BAAD62 /* Release */ = {
-			isa = XCBuildConfiguration;
-			buildSettings = {
-				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
-				CLANG_WARN_STRICT_PROTOTYPES = NO;
-				CODE_SIGN_IDENTITY = "iPhone Developer";
-				CODE_SIGN_STYLE = Automatic;
-				DEVELOPMENT_TEAM = S6N2F22V2Z;
-				EXCLUDED_SOURCE_FILE_NAMES = "FLEX*";
-				FRAMEWORK_SEARCH_PATHS = (
-					"$(inherited)",
-					"$(PROJECT_DIR)",
-				);
-				GCC_PRECOMPILE_PREFIX_HEADER = YES;
-				GCC_PREFIX_HEADER = "UICatalog/UICatalog-Prefix.pch";
-				INFOPLIST_FILE = "UICatalog/UICatalog-Info.plist";
-				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
-				LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks";
-				PRODUCT_BUNDLE_IDENTIFIER = com.flipboard.FLEX.example2;
-				PRODUCT_NAME = "$(TARGET_NAME)";
-				PROVISIONING_PROFILE_SPECIFIER = "";
-				WRAPPER_EXTENSION = app;
-			};
-			name = Release;
-		};
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
-		5356823518F3656900BAAD62 /* Build configuration list for PBXProject "UICatalog" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				5356826D18F3656900BAAD62 /* Debug */,
-				5356826E18F3656900BAAD62 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
-		5356826F18F3656900BAAD62 /* Build configuration list for PBXNativeTarget "UICatalog" */ = {
-			isa = XCConfigurationList;
-			buildConfigurations = (
-				5356827018F3656900BAAD62 /* Debug */,
-				5356827118F3656900BAAD62 /* Release */,
-			);
-			defaultConfigurationIsVisible = 0;
-			defaultConfigurationName = Release;
-		};
-/* End XCConfigurationList section */
-	};
-	rootObject = 5356823218F3656900BAAD62 /* Project object */;
-}

+ 0 - 94
Example/UICatalog.xcodeproj/xcshareddata/xcschemes/UICatalog.xcscheme

@@ -1,94 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<Scheme
-   LastUpgradeVersion = "1110"
-   version = "1.3">
-   <BuildAction
-      parallelizeBuildables = "YES"
-      buildImplicitDependencies = "YES">
-      <BuildActionEntries>
-         <BuildActionEntry
-            buildForTesting = "YES"
-            buildForRunning = "YES"
-            buildForProfiling = "YES"
-            buildForArchiving = "YES"
-            buildForAnalyzing = "YES">
-            <BuildableReference
-               BuildableIdentifier = "primary"
-               BlueprintIdentifier = "5356823918F3656900BAAD62"
-               BuildableName = "UICatalog.app"
-               BlueprintName = "UICatalog"
-               ReferencedContainer = "container:UICatalog.xcodeproj">
-            </BuildableReference>
-         </BuildActionEntry>
-      </BuildActionEntries>
-   </BuildAction>
-   <TestAction
-      buildConfiguration = "Debug"
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      shouldUseLaunchSchemeArgsEnv = "YES">
-      <MacroExpansion>
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "5356823918F3656900BAAD62"
-            BuildableName = "UICatalog.app"
-            BlueprintName = "UICatalog"
-            ReferencedContainer = "container:UICatalog.xcodeproj">
-         </BuildableReference>
-      </MacroExpansion>
-      <Testables>
-      </Testables>
-   </TestAction>
-   <LaunchAction
-      buildConfiguration = "Debug"
-      selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
-      selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
-      launchStyle = "0"
-      useCustomWorkingDirectory = "NO"
-      ignoresPersistentStateOnLaunch = "NO"
-      debugDocumentVersioning = "YES"
-      debugServiceExtension = "internal"
-      allowLocationSimulation = "YES">
-      <BuildableProductRunnable
-         runnableDebuggingMode = "0">
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "5356823918F3656900BAAD62"
-            BuildableName = "UICatalog.app"
-            BlueprintName = "UICatalog"
-            ReferencedContainer = "container:UICatalog.xcodeproj">
-         </BuildableReference>
-      </BuildableProductRunnable>
-      <EnvironmentVariables>
-         <EnvironmentVariable
-            key = "OS_ACTIVITY_DT_MODE"
-            value = "disable"
-            isEnabled = "YES">
-         </EnvironmentVariable>
-      </EnvironmentVariables>
-   </LaunchAction>
-   <ProfileAction
-      buildConfiguration = "Debug"
-      shouldUseLaunchSchemeArgsEnv = "YES"
-      savedToolIdentifier = ""
-      useCustomWorkingDirectory = "NO"
-      debugDocumentVersioning = "YES">
-      <BuildableProductRunnable
-         runnableDebuggingMode = "0">
-         <BuildableReference
-            BuildableIdentifier = "primary"
-            BlueprintIdentifier = "5356823918F3656900BAAD62"
-            BuildableName = "UICatalog.app"
-            BlueprintName = "UICatalog"
-            ReferencedContainer = "container:UICatalog.xcodeproj">
-         </BuildableReference>
-      </BuildableProductRunnable>
-   </ProfileAction>
-   <AnalyzeAction
-      buildConfiguration = "Debug">
-   </AnalyzeAction>
-   <ArchiveAction
-      buildConfiguration = "Debug"
-      revealArchiveInOrganizer = "YES">
-   </ArchiveAction>
-</Scheme>

+ 0 - 51
Example/UICatalog/AAPLActionSheetViewController.h

@@ -1,51 +0,0 @@
-/*
-        File: AAPLActionSheetViewController.h
-    Abstract: A view controller that demonstrates how to use UIActionSheet.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-@import UIKit;
-
-@interface AAPLActionSheetViewController : UITableViewController
-@end

+ 0 - 124
Example/UICatalog/AAPLActionSheetViewController.m

@@ -1,124 +0,0 @@
-/*
-        File: AAPLActionSheetViewController.m
-    Abstract: A view controller that demonstrates how to use UIActionSheet.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-#import "AAPLActionSheetViewController.h"
-
-// Corresponds to the row in the action sheet section.
-typedef NS_ENUM(NSInteger, AAPLActionSheetsViewControllerTableRow) {
-    AAPLAlertsViewControllerActionSheetRowOkayCancel = 0,
-    AAPLAlertsViewControllerActionSheetRowOther
-};
-
-
-@interface AAPLActionSheetViewController() <UIActionSheetDelegate>
-@end
-
-
-#pragma mark -
-
-@implementation AAPLActionSheetViewController
-
-// Show a dialog with an "Okay" and "Cancel" button.
-- (void)showOkayCancelActionSheet {
-    NSString *cancelButtonTitle = NSLocalizedString(@"Cancel", nil);
-    NSString *destructiveButtonTitle = NSLocalizedString(@"OK", nil);
-    
-    UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:cancelButtonTitle destructiveButtonTitle:destructiveButtonTitle otherButtonTitles:nil];
-    
-    actionSheet.actionSheetStyle = UIActionSheetStyleDefault;
-    
-    [actionSheet showInView:self.view];
-}
-
-// Show a dialog with two custom buttons.
-- (void)showOtherActionSheet {
-    NSString *destructiveButtonTitle = NSLocalizedString(@"Destructive Choice", nil);
-    NSString *otherButtonTitle = NSLocalizedString(@"Safe Choice", nil);
-
-    UIActionSheet *actionSheet = [[UIActionSheet alloc] initWithTitle:nil delegate:self cancelButtonTitle:nil destructiveButtonTitle:destructiveButtonTitle otherButtonTitles:otherButtonTitle, nil];
-    
-    actionSheet.actionSheetStyle = UIActionSheetStyleDefault;
-    
-    [actionSheet showInView:self.view];
-}
-
-
-#pragma mark - UIActionSheetDelegate
-
-- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
-    if (actionSheet.destructiveButtonIndex == buttonIndex) {
-        NSLog(@"Action sheet clicked with the destructive button index.");
-    }
-    else if (actionSheet.cancelButtonIndex == buttonIndex) {
-        NSLog(@"Action sheet clicked with the cancel button index.");
-    }
-    else {
-        NSLog(@"Action sheet clicked with button at index %ld.", (long)buttonIndex);
-    }
-}
-
-
-#pragma mark - UITableViewDelegate
-
-- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
-    AAPLActionSheetsViewControllerTableRow row = indexPath.row;
-
-    switch (row) {
-        case AAPLAlertsViewControllerActionSheetRowOkayCancel:
-            [self showOkayCancelActionSheet];
-            break;
-        case AAPLAlertsViewControllerActionSheetRowOther:
-            [self showOtherActionSheet];
-            break;
-        default:
-            break;
-    }
-
-    [tableView deselectRowAtIndexPath:indexPath animated:YES];
-}
-
-@end

+ 0 - 51
Example/UICatalog/AAPLActivityIndicatorViewController.h

@@ -1,51 +0,0 @@
-/*
-        File: AAPLActivityIndicatorViewController.h
-    Abstract: A view controller that demonstrates how to use UIActivityIndicatorView.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-@import UIKit;
-
-@interface AAPLActivityIndicatorViewController : UITableViewController
-@end

+ 0 - 90
Example/UICatalog/AAPLActivityIndicatorViewController.m

@@ -1,90 +0,0 @@
-/*
-        File: AAPLActivityIndicatorViewController.m
-    Abstract: A view controller that demonstrates how to use UIActivityIndicatorView.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-#import "AAPLActivityIndicatorViewController.h"
-
-@interface AAPLActivityIndicatorViewController()
-
-@property (nonatomic, weak) IBOutlet UIActivityIndicatorView *grayStyleActivityIndicatorView;
-@property (nonatomic, weak) IBOutlet UIActivityIndicatorView *tintedActivityIndicatorView;
-
-@end
-
-
-#pragma mark -
-
-@implementation AAPLActivityIndicatorViewController
-
-- (void)viewDidLoad {
-    [super viewDidLoad];
-
-    [self configureGrayActivityIndicatorView];
-    [self configureTintedActivityIndicatorView];
-
-    // When activity is done, use -[UIActivityIndicatorView stopAnimating].
-}
-
-
-#pragma mark - Configuration
-
-- (void)configureGrayActivityIndicatorView {
-    self.grayStyleActivityIndicatorView.activityIndicatorViewStyle = UIActivityIndicatorViewStyleGray;
-
-    [self.grayStyleActivityIndicatorView startAnimating];
-    
-    self.grayStyleActivityIndicatorView.hidesWhenStopped = YES;
-}
-
-- (void)configureTintedActivityIndicatorView {
-    self.tintedActivityIndicatorView.activityIndicatorViewStyle = UIActivityIndicatorViewStyleGray;
-
-    self.tintedActivityIndicatorView.color = UIColor.aapl_applicationPurpleColor;
-
-    [self.tintedActivityIndicatorView startAnimating];
-}
-
-@end

+ 0 - 51
Example/UICatalog/AAPLAlertViewController.h

@@ -1,51 +0,0 @@
-/*
-        File: AAPLAlertViewController.h
-    Abstract: The view controller that demonstrates how to use UIAlertView.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-@import UIKit;
-
-@interface AAPLAlertViewController : UITableViewController
-@end

+ 0 - 183
Example/UICatalog/AAPLAlertViewController.m

@@ -1,183 +0,0 @@
-/*
-        File: AAPLAlertViewController.m
-    Abstract: The view controller that demonstrates how to use UIAlertView.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-#import "AAPLAlertViewController.h"
-
-// Corresponds to the row in the alert view section.
-typedef NS_ENUM(NSInteger, AAPLAlertsViewControllerTableRow) {
-    AAPLAlertsViewControllerAlertViewRowSimple = 0,
-    AAPLAlertsViewControllerAlertViewRowOkayCancel,
-    AAPLAlertsViewControllerAlertViewRowOther,
-    AAPLAlertsViewControllerAlertViewRowTextEntry,
-    AAPLAlertsViewControllerActionSheetRowTextEntrySecure
-};
-
-
-@interface AAPLAlertViewController() <UIAlertViewDelegate>
-@end
-
-
-#pragma mark -
-
-@implementation AAPLAlertViewController
-
-// Show an alert with an "Okay" button.
-- (void)showSimpleAlert {
-    NSString *title = NSLocalizedString(@"A Short Title Is Best", nil);
-    NSString *message = NSLocalizedString(@"A message should be a short, complete sentence.", nil);
-    NSString *cancelButtonTitle = NSLocalizedString(@"OK", nil);
-
-    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title message:message delegate:self cancelButtonTitle:cancelButtonTitle otherButtonTitles:nil];
-
-    [alert show];
-}
-
-// Show an alert with an "Okay" and "Cancel" button.
-- (void)showOkayCancelAlert {
-    NSString *title = NSLocalizedString(@"A Short Title Is Best", nil);
-    NSString *message = NSLocalizedString(@"A message should be a short, complete sentence.", nil);
-    NSString *cancelButtonTitle = NSLocalizedString(@"Cancel", nil);
-    NSString *otherButtonTitle = NSLocalizedString(@"OK", nil);
-
-    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title message:message delegate:self cancelButtonTitle:cancelButtonTitle otherButtonTitles:otherButtonTitle, nil];
-
-    [alert show];
-}
-
-// Show an alert with two custom buttons.
-- (void)showOtherAlert {
-    NSString *title = NSLocalizedString(@"A Short Title Is Best", nil);
-    NSString *message = NSLocalizedString(@"A message should be a short, complete sentence.", nil);
-    NSString *cancelButtonTitle = NSLocalizedString(@"Cancel", nil);
-    NSString *otherButtonTitleOne = NSLocalizedString(@"Choice One", nil);
-    NSString *otherButtonTitleTwo = NSLocalizedString(@"Choice Two", nil);
-
-    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title message:message delegate:self cancelButtonTitle:cancelButtonTitle otherButtonTitles:otherButtonTitleOne, otherButtonTitleTwo, nil];
-
-    [alert show];
-}
-
-// Show a text entry alert with two custom buttons.
-- (void)showTextEntryAlert {
-    NSString *title = NSLocalizedString(@"A Short Title Is Best", nil);
-    NSString *message = NSLocalizedString(@"A message should be a short, complete sentence.", nil);
-    NSString *cancelButtonTitle = NSLocalizedString(@"Cancel", nil);
-    NSString *otherButtonTitle = NSLocalizedString(@"OK", nil);
-    
-    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title message:message delegate:self cancelButtonTitle:cancelButtonTitle otherButtonTitles:otherButtonTitle, nil];
-
-    alert.alertViewStyle = UIAlertViewStylePlainTextInput;
-
-    [alert show];
-}
-
-// Show a secure text entry alert with two custom buttons.
-- (void)showSecureTextEntryAlert {
-    NSString *title = NSLocalizedString(@"A Short Title Is Best", nil);
-    NSString *message = NSLocalizedString(@"A message should be a short, complete sentence.", nil);
-    NSString *cancelButtonTitle = NSLocalizedString(@"Cancel", nil);
-    NSString *otherButtonTitle = NSLocalizedString(@"OK", nil);
-
-    UIAlertView *alert = [[UIAlertView alloc] initWithTitle:title message:message delegate:self cancelButtonTitle:cancelButtonTitle otherButtonTitles:otherButtonTitle, nil];
-
-    alert.alertViewStyle = UIAlertViewStyleSecureTextInput;
-    
-    [alert show];
-}
-
-
-#pragma mark - UIAlertViewDelegate
-
-- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex {
-    if (alertView.cancelButtonIndex == buttonIndex) {
-        NSLog(@"Alert view clicked with the cancel button index.");
-    }
-    else {
-        NSLog(@"Alert view clicked with button at index %ld.", (long)buttonIndex);
-    }
-}
-
-- (BOOL)alertViewShouldEnableFirstOtherButton:(UIAlertView *)alertView {
-    // Enforce a minimum length of >= 5 characters for secure text alert views.
-    if (alertView.alertViewStyle == UIAlertViewStyleSecureTextInput) {
-        return [[alertView textFieldAtIndex:0].text length] >= 5;
-    }
-
-    return YES;
-}
-
-
-#pragma mark - UITableViewDelegate
-
-// Determine the action to perform based on the selected cell.
-- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
-    AAPLAlertsViewControllerTableRow row = indexPath.row;
-
-    switch (row) {
-        case AAPLAlertsViewControllerAlertViewRowSimple:
-            [self showSimpleAlert];
-            break;
-        case AAPLAlertsViewControllerAlertViewRowOkayCancel:
-            [self showOkayCancelAlert];
-            break;
-        case AAPLAlertsViewControllerAlertViewRowOther:
-            [self showOtherAlert];
-            break;
-        case AAPLAlertsViewControllerAlertViewRowTextEntry:
-            [self showTextEntryAlert];
-            break;
-        case AAPLAlertsViewControllerActionSheetRowTextEntrySecure:
-            [self showSecureTextEntryAlert];
-            break;
-        default:
-            break;
-    }
-
-    [tableView deselectRowAtIndexPath:indexPath animated:YES];
-}
-
-@end

+ 0 - 54
Example/UICatalog/AAPLAppDelegate.h

@@ -1,54 +0,0 @@
-/*
-        File: AAPLAppDelegate.h
-    Abstract: The application-specific delegate class.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-@import UIKit;
-
-@interface AAPLAppDelegate : UIResponder <UIApplicationDelegate>
-
-@property (nonatomic) UIWindow *window;
-
-@end

+ 0 - 212
Example/UICatalog/AAPLAppDelegate.m

@@ -1,212 +0,0 @@
-/*
-        File: AAPLAppDelegate.m
-    Abstract: The application-specific delegate class.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-#import "AAPLAppDelegate.h"
-
-#if DEBUG
-#import <FLEX/FLEX.h>
-#import "Person.h"
-#if __has_include(<Realm/Realm.h>)
-#import "Dog.h"
-#import "Owner.h"
-#endif
-#endif
-
-@interface AAPLAppDelegate () <NSURLConnectionDataDelegate, NSURLSessionDataDelegate>
-
-@property (nonatomic) NSTimer *repeatingLogExampleTimer;
-@property (nonatomic) NSMutableArray *connections;
-
-@end
-
-@implementation AAPLAppDelegate
-
-- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
-{
-#if DEBUG
-    [[FLEXManager sharedManager] showExplorer];
-    [[FLEXManager sharedManager] setNetworkDebuggingEnabled:YES];
-    [self sendExampleNetworkRequests];
-    self.repeatingLogExampleTimer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(sendExampleLogMessage) userInfo:nil repeats:YES];
-
-    [[NSUserDefaults standardUserDefaults] setObject:@"foo" forKey:@"FLEXExamplePrefFoo"];
-    
-    // For testing unarchiving of objects
-    NSString *documents = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0];
-    NSString *whereToSaveBob = [documents stringByAppendingPathComponent:@"Bob.plist"];
-    [NSKeyedArchiver archiveRootObject:[Person bob] toFile:whereToSaveBob];
-#if __has_include(<Realm/Realm.h>)
-    [self setUpRealm];
-#endif
-    
-#endif
-    return YES;
-}
-
-- (void)sendExampleLogMessage
-{
-    // To show off the system log viewer, send 20 example log messages at 1 second intervals.
-    static NSInteger count = 0;
-    NSLog(@"Example log %ld", (long)count++);
-    if (count > 20) {
-        [self.repeatingLogExampleTimer invalidate];
-    }
-}
-
-#pragma mark - Networking Example
-
-- (void)sendExampleNetworkRequests
-{
-    // Async NSURLConnection
-    [NSURLConnection sendAsynchronousRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"https://api.github.com/repos/Flipboard/FLEX/issues"]] queue:[NSOperationQueue mainQueue] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
-
-    }];
-
-    // Sync NSURLConnection
-    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
-        [NSURLConnection sendSynchronousRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://lorempixel.com/320/480/"]] returningResponse:NULL error:NULL];
-    });
-
-    // NSURLSession
-    NSURLSessionConfiguration *config = NSURLSessionConfiguration.defaultSessionConfiguration;
-    config.timeoutIntervalForRequest = 10.0;
-    NSURLSession *mySession = [NSURLSession sessionWithConfiguration:config delegate:self delegateQueue:[NSOperationQueue mainQueue]];
-
-    NSMutableArray *pendingTasks = [NSMutableArray array];
-
-    // NSURLSessionDataTask with delegate
-    [pendingTasks addObject:[mySession dataTaskWithURL:[NSURL URLWithString:@"http://cdn.flipboard.com/serviceIcons/v2/social-icon-flipboard-96.png"]]];
-
-    // NSURLSessionDownloadTask with delegate
-    [pendingTasks addObject:[mySession downloadTaskWithURL:[NSURL URLWithString:@"https://assets-cdn.github.com/images/icons/emoji/unicode/1f44d.png?v5"]]];
-
-    // Async NSURLSessionDownloadTask
-    [pendingTasks addObject:[NSURLSession.sharedSession downloadTaskWithURL:[NSURL URLWithString:@"http://lorempixel.com/1024/1024/"] completionHandler:^(NSURL *location, NSURLResponse *response, NSError *error) {
-
-    }]];
-
-    // Async NSURLSessionDataTask
-    [pendingTasks addObject:[NSURLSession.sharedSession dataTaskWithURL:[NSURL URLWithString:@"https://api.github.com/emojis"] completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
-
-    }]];
-
-    // Async NSURLSessionUploadTask
-    NSMutableURLRequest *uploadRequest = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"https://google.com/"]];
-    uploadRequest.HTTPMethod = @"POST";
-    NSData *data = [@"q=test" dataUsingEncoding:NSUTF8StringEncoding];
-    [pendingTasks addObject:[mySession uploadTaskWithRequest:uploadRequest fromData:data completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
-
-    }]];
-
-    // Remaining requests made through NSURLConnection with a delegate
-    NSArray *requestURLStrings = @[ @"http://lorempixel.com/400/400/",
-                                    @"http://google.com",
-                                    @"http://search.cocoapods.org/api/pods?query=FLEX&amount=1",
-                                    @"https://api.github.com/users/Flipboard/repos",
-                                    @"http://info.cern.ch/hypertext/WWW/TheProject.html",
-                                    @"https://api.github.com/repos/Flipboard/FLEX/issues",
-                                    @"https://cloud.githubusercontent.com/assets/516562/3971767/e4e21f58-27d6-11e4-9b07-4d1fe82b80ca.png",
-                                    @"http://hipsterjesus.com/api?paras=1&type=hipster-centric&html=false",
-                                    @"http://lorempixel.com/750/1334/" ];
-
-    NSTimeInterval delayTime = 10.0;
-    const NSTimeInterval stagger = 1.0;
-
-    // Send off the NSURLSessionTasks (staggered)
-    for (NSURLSessionTask *task in pendingTasks) {
-        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayTime * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
-            [task resume];
-        });
-        delayTime += stagger;
-    }
-
-    // Begin the NSURLConnection requests (staggered)
-    self.connections = [NSMutableArray array];
-    for (NSString *urlString in requestURLStrings) {
-        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(delayTime * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
-            NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlString]];
-            [self.connections addObject:[NSURLConnection connectionWithRequest:request delegate:self]];
-        });
-        delayTime += stagger;
-    }
-}
-
-- (void)URLSession:(NSURLSession *)session dataTask:(NSURLSessionDataTask *)dataTask didReceiveResponse:(NSURLResponse *)response completionHandler:(void (^)(NSURLSessionResponseDisposition))completionHandler
-{
-    completionHandler(NSURLSessionResponseAllow);
-}
-
-- (void)connectionDidFinishLoading:(NSURLConnection *)connection
-{
-    [self.connections removeObject:connection];
-}
-
-- (void)connection:(NSURLConnection *)connection didFailWithError:(NSError *)error
-{
-    [self.connections removeObject:connection];
-}
-
-#if __has_include(<Realm/Realm.h>)
-- (void)setUpRealm
-{
-    NSString *destinationPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES).firstObject;
-    destinationPath = [destinationPath stringByAppendingPathComponent:@"dogs.realm"];
-    if ([NSFileManager.defaultManager fileExistsAtPath:destinationPath isDirectory:nil]) {
-        return;
-    }
-    
-    NSString *resourcePath = [[NSBundle mainBundle] pathForResource:@"dogs" ofType:@"realm"];
-    if (resourcePath == nil) {
-        return;
-    }
-    
-    NSError *error = nil;
-    [NSFileManager.defaultManager copyItemAtPath:resourcePath toPath:destinationPath error:&error];
-}
-#endif
-
-@end

+ 0 - 51
Example/UICatalog/AAPLButtonViewController.h

@@ -1,51 +0,0 @@
-/*
-        File: AAPLButtonViewController.h
-    Abstract: A view controller that demonstrates how to use UIButton. The buttons are created using storyboards, but each of the system buttons can be created in code by using the +[UIButton buttonWithType:] initializer. See UIButton.h for a comprehensive list of the various UIButtonType values.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-@import UIKit;
-
-@interface AAPLButtonViewController : UITableViewController
-@end

+ 0 - 133
Example/UICatalog/AAPLButtonViewController.m

@@ -1,133 +0,0 @@
-/*
-        File: AAPLButtonViewController.m
-    Abstract: A view controller that demonstrates how to use UIButton. The buttons are created using storyboards, but each of the system buttons can be created in code by using the +[UIButton buttonWithType:] initializer. See UIButton.h for a comprehensive list of the various UIButtonType values.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-#import "AAPLButtonViewController.h"
-
-@interface AAPLButtonViewController()
-
-@property (nonatomic, weak) IBOutlet UIButton *systemTextButton;
-@property (nonatomic, weak) IBOutlet UIButton *systemContactAddButton;
-@property (nonatomic, weak) IBOutlet UIButton *systemDetailDisclosureButton;
-@property (nonatomic, weak) IBOutlet UIButton *imageButton;
-@property (nonatomic, weak) IBOutlet UIButton *attributedTextButton;
-
-@end
-
-
-#pragma mark -
-
-@implementation AAPLButtonViewController
-
-- (void)viewDidLoad {
-    [super viewDidLoad];
-
-    // All of the buttons are created in the storyboard, but configured below.
-    [self configureSystemTextButton];
-    [self configureSystemContactAddButton];
-    [self configureSystemDetailDisclosureButton];
-    [self configureImageButton];
-    [self configureAttributedTextSystemButton];
-}
-
-
-#pragma mark - Configuration
-
-- (void)configureSystemTextButton {
-    [self.systemTextButton setTitle:NSLocalizedString(@"Button", nil) forState:UIControlStateNormal];
-    
-    [self.systemTextButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
-}
-
-- (void)configureSystemContactAddButton {
-    self.systemContactAddButton.backgroundColor = UIColor.clearColor;
-    
-    [self.systemContactAddButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
-}
-
-- (void)configureSystemDetailDisclosureButton {
-    self.systemDetailDisclosureButton.backgroundColor = UIColor.clearColor;
-    
-    [self.systemDetailDisclosureButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
-}
-
-- (void)configureImageButton {
-    // To create this button in code you can use +[UIButton buttonWithType:] with a parameter value of UIButtonTypeCustom.
-    
-    // Remove the title text.
-    [self.imageButton setTitle:@"" forState:UIControlStateNormal];
-
-    self.imageButton.tintColor = UIColor.aapl_applicationPurpleColor;
-    
-    [self.imageButton setImage:[UIImage imageNamed:@"x_icon"] forState:UIControlStateNormal];
-
-    // Add an accessibility label to the image.
-    self.imageButton.accessibilityLabel = NSLocalizedString(@"X Button", nil);
-    
-    [self.imageButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
-}
-
-- (void)configureAttributedTextSystemButton {
-    NSDictionary *titleAttributes = @{NSForegroundColorAttributeName: UIColor.aapl_applicationBlueColor, NSStrikethroughStyleAttributeName: @(NSUnderlineStyleSingle)};
-    NSAttributedString *attributedTitle = [[NSAttributedString alloc] initWithString:NSLocalizedString(@"Button", nil) attributes:titleAttributes];
-    [self.attributedTextButton setAttributedTitle:attributedTitle forState:UIControlStateNormal];
-
-    NSDictionary *highlightedTitleAttributes = @{NSForegroundColorAttributeName : UIColor.aapl_applicationGreenColor, NSStrikethroughStyleAttributeName: @(NSUnderlineStyleThick)};
-    NSAttributedString *highlightedAttributedTitle = [[NSAttributedString alloc] initWithString:NSLocalizedString(@"Button", nil) attributes:highlightedTitleAttributes];
-    [self.attributedTextButton setAttributedTitle:highlightedAttributedTitle forState:UIControlStateHighlighted];
-
-    [self.attributedTextButton addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
-}
-
-
-#pragma mark - Actions
-
-// Handler for all of AAPLButtonViewController's UIButton actions.
-- (void)buttonClicked:(UIButton *)button {
-    NSLog(@"A button was clicked: %@.", button);
-}
-
-@end

+ 0 - 11
Example/UICatalog/AAPLCatalogTableTableViewController.h

@@ -1,11 +0,0 @@
-//
-//  AAPLCatalogTableTableViewController.h
-//  UICatalog
-//
-//  Created by Ryan Olson on 7/17/14.
-
-#import <UIKit/UIKit.h>
-
-@interface AAPLCatalogTableTableViewController : UITableViewController
-
-@end

+ 0 - 67
Example/UICatalog/AAPLCatalogTableTableViewController.m

@@ -1,67 +0,0 @@
-//
-//  AAPLCatalogTableTableViewController.m
-//  UICatalog
-//
-//  Created by Ryan Olson on 7/17/14.
-
-#import "AAPLCatalogTableTableViewController.h"
-
-// FLEX should only be compiled and used in debug builds.
-#import <FLEX/FLEX.h>
-
-@implementation AAPLCatalogTableTableViewController
-
-- (void)viewDidLoad
-{
-    [super viewDidLoad];
-    
-#if DEBUG
-    [self registerViewControllerBasedOption];
-    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"FLEX" style:UIBarButtonItemStylePlain target:self action:@selector(flexButtonTapped:)];
-#endif
-}
-
-- (void)flexButtonTapped:(id)sender
-{
-#if DEBUG
-    // This call shows the FLEX toolbar if it's not already shown.
-    [[FLEXManager sharedManager] showExplorer];
-#endif
-}
-
-- (void)registerViewControllerBasedOption
-{
-    // create UIViewController subclass
-    UIViewController *viewController = [UIViewController new];
-
-    // fill it with some stuff
-    UILabel *infoLabel = [UILabel new];
-    infoLabel.translatesAutoresizingMaskIntoConstraints = NO;
-    infoLabel.text = @"Add switches, notes or whatever you wish to provide your testers with superpowers!";
-    infoLabel.numberOfLines = 0;
-    infoLabel.textAlignment = NSTextAlignmentCenter;
-
-    UIView *view = viewController.view;
-    view.backgroundColor = UIColor.whiteColor;
-    [view addSubview:infoLabel];
-
-    [view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-0-[infoLabel]-0-|"
-                                                                 options:0
-                                                                 metrics:nil
-                                                                   views:NSDictionaryOfVariableBindings(infoLabel)]];
-
-    [view addConstraints:[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-0-[infoLabel]-0-|"
-                                                                 options:0
-                                                                 metrics:nil
-                                                                   views:NSDictionaryOfVariableBindings(infoLabel)]];
-
-
-
-    // return it in viewControllerFutureBlock
-    [[FLEXManager sharedManager] registerGlobalEntryWithName:@"🛃  Custom Superpowers"
-                                   viewControllerFutureBlock:^id{
-                                       return viewController;
-                                   }];
-}
-
-@end

+ 0 - 51
Example/UICatalog/AAPLCustomSearchBarViewController.h

@@ -1,51 +0,0 @@
-/*
-        File: AAPLCustomSearchBarViewController.h
-    Abstract: A view controller that demonstrates how to customize a UISearchBar.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-@import UIKit;
-
-@interface AAPLCustomSearchBarViewController : UIViewController
-@end

+ 0 - 105
Example/UICatalog/AAPLCustomSearchBarViewController.m

@@ -1,105 +0,0 @@
-/*
-        File: AAPLCustomSearchBarViewController.m
-    Abstract: A view controller that demonstrates how to customize a UISearchBar.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-#import "AAPLCustomSearchBarViewController.h"
-
-@interface AAPLCustomSearchBarViewController()<UISearchBarDelegate>
-
-@property (nonatomic, weak) IBOutlet UISearchBar *searchBar;
-
-@end
-
-
-#pragma mark -
-
-@implementation AAPLCustomSearchBarViewController
-
-- (void)viewDidLoad {
-    [super viewDidLoad];
-
-    [self configureSearchBar];
-}
-
-
-#pragma mark - Configuration
-
-- (void)configureSearchBar {
-    self.searchBar.showsCancelButton = YES;
-    self.searchBar.showsBookmarkButton = YES;
-    
-    self.searchBar.tintColor = UIColor.aapl_applicationPurpleColor;
-    
-    self.searchBar.backgroundImage = [UIImage imageNamed:@"search_bar_background"];
-
-    // Set the bookmark image for both normal and highlighted states.
-    UIImage *bookmarkImage = [UIImage imageNamed:@"bookmark_icon"];
-    [self.searchBar setImage:bookmarkImage forSearchBarIcon:UISearchBarIconBookmark state:UIControlStateNormal];
-
-    UIImage *bookmarkHighlightedImage = [UIImage imageNamed:@"bookmark_icon_highlighted"];
-    [self.searchBar setImage:bookmarkHighlightedImage forSearchBarIcon:UISearchBarIconBookmark state:UIControlStateHighlighted];
-}
-
-
-#pragma mark - UISearchBarDelegate
-
-- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
-    NSLog(@"The custom search bar keyboard search button was tapped: %@.", searchBar.text);
-
-    [searchBar resignFirstResponder];
-}
-
-- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
-    NSLog(@"The custom search bar cancel button was tapped.");
-
-    [searchBar resignFirstResponder];
-}
-
-- (void)searchBarBookmarkButtonClicked:(UISearchBar *)searchBar {
-    NSLog(@"The custom bookmark button inside the search bar was tapped.");
-}
-
-@end

+ 0 - 51
Example/UICatalog/AAPLCustomToolbarViewController.h

@@ -1,51 +0,0 @@
-/*
-        File: AAPLCustomToolbarViewController.h
-    Abstract: A view controller that demonstrates how to customize a UIToolbar.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-@import UIKit;
-
-@interface AAPLCustomToolbarViewController : UIViewController
-@end

+ 0 - 109
Example/UICatalog/AAPLCustomToolbarViewController.m

@@ -1,109 +0,0 @@
-/*
-        File: AAPLCustomToolbarViewController.m
-    Abstract: A view controller that demonstrates how to customize a UIToolbar.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-#import "AAPLCustomToolbarViewController.h"
-
-@interface AAPLCustomToolbarViewController()
-
-@property (nonatomic, weak) IBOutlet UIToolbar *toolbar;
-
-@end
-
-
-#pragma mark -
-
-@implementation AAPLCustomToolbarViewController
-
-- (void)viewDidLoad {
-    [super viewDidLoad];
-    
-    [self configureToolbar];
-}
-
-
-#pragma mark - Configuration
-
-- (void)configureToolbar {
-    UIImage *toolbarBackgroundImage = [UIImage imageNamed:@"toolbar_background"];
-    [self.toolbar setBackgroundImage:toolbarBackgroundImage forToolbarPosition:UIBarPositionBottom barMetrics:UIBarMetricsDefault];
-
-    NSArray *toolbarButtonItems = @[[self customImageBarButtonItem], [self flexibleSpaceBarButtonItem], [self customBarButtonItem]];
-    [self.toolbar setItems:toolbarButtonItems animated:YES];
-}
-
-
-#pragma mark - UIBarButtonItem Creation and Configuration
-
-- (UIBarButtonItem *)customImageBarButtonItem {
-    UIBarButtonItem *customImageBarButtonItem = [[UIBarButtonItem alloc] initWithImage:[UIImage imageNamed:@"tools_icon"] style:UIBarButtonItemStylePlain target:self action:@selector(barButtonItemClicked:)];
-
-    customImageBarButtonItem.tintColor = UIColor.aapl_applicationPurpleColor;
-
-    return customImageBarButtonItem;
-}
-
-- (UIBarButtonItem *)flexibleSpaceBarButtonItem {
-    return [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:NULL];
-}
-
-- (UIBarButtonItem *)customBarButtonItem {
-    UIBarButtonItem *barButtonItem = [[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Button", nil) style:UIBarButtonItemStylePlain target:self action:@selector(barButtonItemClicked:)];
-
-    NSDictionary *attributes = @{NSForegroundColorAttributeName: UIColor.aapl_applicationPurpleColor};
-    [barButtonItem setTitleTextAttributes:attributes forState:UIControlStateNormal];
-
-    return barButtonItem;
-}
-
-
-#pragma mark - Actions
-
-- (void)barButtonItemClicked:(UIBarButtonItem *)barButtonItem {
-    NSLog(@"A bar button item on the custom toolbar was clicked: %@.", barButtonItem);
-}
-
-@end

+ 0 - 51
Example/UICatalog/AAPLDatePickerController.h

@@ -1,51 +0,0 @@
-/*
-        File: AAPLDatePickerController.h
-    Abstract: A view controller that demonstrates how to use UIDatePicker.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-@import UIKit;
-
-@interface AAPLDatePickerController : UIViewController
-@end

+ 0 - 109
Example/UICatalog/AAPLDatePickerController.m

@@ -1,109 +0,0 @@
-/*
-        File: AAPLDatePickerController.m
-    Abstract: A view controller that demonstrates how to use UIDatePicker.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-#import "AAPLDatePickerController.h"
-
-@interface AAPLDatePickerController()
-
-@property (nonatomic, weak) IBOutlet UIDatePicker *datePicker;
-@property (nonatomic, weak) IBOutlet UILabel *dateLabel;
-
-@property (nonatomic) NSDateFormatter *dateFormatter;
-
-@end
-
-
-#pragma mark -
-
-@implementation AAPLDatePickerController
-
-- (void)viewDidLoad {
-    [super viewDidLoad];
-
-    // Create a date formatter to be used to format the "date" property of "datePicker".
-    self.dateFormatter = [NSDateFormatter new];
-    self.dateFormatter.dateStyle = NSDateFormatterMediumStyle;
-    self.dateFormatter.timeStyle = NSDateFormatterShortStyle;
-
-    [self configureDatePicker];
-}
-
-
-#pragma mark - Configuration
-
-- (void)configureDatePicker {
-    self.datePicker.datePickerMode = UIDatePickerModeDateAndTime;
-
-    // Set min/max date for the date picker.
-    // As an example we will limit the date between now and 7 days from now.
-    NSDate *now = [NSDate date];
-    self.datePicker.minimumDate = now;
-
-    NSCalendar *currentCalendar = [NSCalendar currentCalendar];
-
-    NSDateComponents *dateComponents = [NSDateComponents new];
-    dateComponents.day = 7;
-
-    NSDate *sevenDaysFromNow = [currentCalendar dateByAddingComponents:dateComponents toDate:now options:0];
-    self.datePicker.maximumDate = sevenDaysFromNow;
-
-    // Display the "minutes" interval by increments of 1 minute (this is the default).
-    self.datePicker.minuteInterval = 1;
-
-    [self.datePicker addTarget:self action:@selector(updateDatePickerLabel) forControlEvents:UIControlEventValueChanged];
-
-    [self updateDatePickerLabel];
-}
-
-
-#pragma mark - Actions
-
-- (void)updateDatePickerLabel {
-    self.dateLabel.text = [self.dateFormatter stringFromDate:self.datePicker.date];
-}
-
-@end

+ 0 - 51
Example/UICatalog/AAPLDefaultSearchBarViewController.h

@@ -1,51 +0,0 @@
-/*
-        File: AAPLDefaultSearchBarViewController.h
-    Abstract: A view controller that demonstrates how to use a default UISearchBar.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-@import UIKit;
-
-@interface AAPLDefaultSearchBarViewController : UIViewController
-@end

+ 0 - 99
Example/UICatalog/AAPLDefaultSearchBarViewController.m

@@ -1,99 +0,0 @@
-/*
-        File: AAPLDefaultSearchBarViewController.m
-    Abstract: A view controller that demonstrates how to use a default UISearchBar.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-#import "AAPLDefaultSearchBarViewController.h"
-
-@interface AAPLDefaultSearchBarViewController()<UISearchBarDelegate>
-
-@property (nonatomic, weak) IBOutlet UISearchBar *searchBar;
-
-@end
-
-
-#pragma mark -
-
-@implementation AAPLDefaultSearchBarViewController
-
-- (void)viewDidLoad {
-    [super viewDidLoad];
-    
-    [self configureSearchBar];
-}
-
-
-#pragma mark - Configuration
-
-- (void)configureSearchBar {
-    self.searchBar.showsCancelButton = YES;
-    self.searchBar.showsScopeBar = YES;
-
-    self.searchBar.scopeButtonTitles = @[
-        NSLocalizedString(@"Scope One", nil),
-        NSLocalizedString(@"Scope Two", nil)
-    ];
-}
-
-
-#pragma mark - UISearchBarDelegate
-
-- (void)searchBar:(UISearchBar *)searchBar selectedScopeButtonIndexDidChange:(NSInteger)selectedScope {
-    NSLog(@"The default search selected scope button index changed to %ld.", (long)selectedScope);
-}
-
-- (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
-    NSLog(@"The default search bar keyboard search button was tapped: %@.", searchBar.text);
-    
-    [searchBar resignFirstResponder];
-}
-
-- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
-    NSLog(@"The default search bar cancel button was tapped.");
-    
-    [searchBar resignFirstResponder];
-}
-
-@end

+ 0 - 51
Example/UICatalog/AAPLDefaultToolbarViewController.h

@@ -1,51 +0,0 @@
-/*
-        File: AAPLDefaultToolbarViewController.h
-    Abstract: A view controller that demonstrates how to use a default UIToolbar.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-@import UIKit;
-
-@interface AAPLDefaultToolbarViewController : UIViewController
-@end

+ 0 - 99
Example/UICatalog/AAPLDefaultToolbarViewController.m

@@ -1,99 +0,0 @@
-/*
-        File: AAPLDefaultToolbarViewController.m
-    Abstract: A view controller that demonstrates how to use a default UIToolbar.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-#import "AAPLDefaultToolbarViewController.h"
-
-@interface AAPLDefaultToolbarViewController()
-
-@property (nonatomic, weak) IBOutlet UIToolbar *toolbar;
-
-@end
-
-
-#pragma mark -
-
-@implementation AAPLDefaultToolbarViewController
-
-- (void)viewDidLoad {
-    [super viewDidLoad];
-    
-    [self configureToolbar];
-}
-
-
-#pragma mark - Configuration
-
-- (void)configureToolbar {
-    NSArray *toolbarButtonItems = @[[self trashBarButtonItem], [self flexibleSpaceBarButtonItem], [self customTitleBarButtonItem]];
-    [self.toolbar setItems:toolbarButtonItems animated:YES];
-}
-
-
-#pragma mark - UIBarButtonItem Creation and Configuration
-
-- (UIBarButtonItem *)trashBarButtonItem {
-    return [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemTrash target:self action:@selector(barButtonItemClicked:)];
-}
-
-- (UIBarButtonItem *)flexibleSpaceBarButtonItem {
-    return [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:NULL];
-}
-
-- (UIBarButtonItem *)customTitleBarButtonItem {
-    NSString *customTitle = NSLocalizedString(@"Action", nil);
-
-    return [[UIBarButtonItem alloc] initWithTitle:customTitle style:UIBarButtonItemStylePlain target:self action:@selector(barButtonItemClicked:)];
-}
-
-
-#pragma mark - Actions
-
-- (void)barButtonItemClicked:(UIBarButtonItem *)barButtonItem {
-    NSLog(@"A bar button item on the default toolbar was clicked: %@.", barButtonItem);
-}
-
-@end

+ 0 - 51
Example/UICatalog/AAPLImageViewController.h

@@ -1,51 +0,0 @@
-/*
-        File: AAPLImageViewController.h
-    Abstract: A view controller that demonstrates how to use UIImageView.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-@import UIKit;
-
-@interface AAPLImageViewController : UIViewController
-@end

+ 0 - 79
Example/UICatalog/AAPLImageViewController.m

@@ -1,79 +0,0 @@
-/*
-        File: AAPLImageViewController.m
-    Abstract: A view controller that demonstrates how to use UIImageView.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-#import "AAPLImageViewController.h"
-
-@implementation AAPLImageViewController
-
-- (void)viewDidLoad {
-    [super viewDidLoad];
-    
-    // The root view of the view controller set in Interface Builder is a UIImageView.
-    UIImageView *imageView = (UIImageView *)self.view;
-
-    imageView.animationImages = @[
-        [UIImage imageNamed:@"image_animal_1"],
-        [UIImage imageNamed:@"image_animal_2"],
-        [UIImage imageNamed:@"image_animal_3"],
-        [UIImage imageNamed:@"image_animal_4"],
-        [UIImage imageNamed:@"image_animal_5"]
-    ];
-    
-    // We want the image to be scaled to the correct aspect ratio within imageView's bounds.
-    imageView.contentMode = UIViewContentModeScaleAspectFit;
-    
-    // If the image does not have the same aspect ratio as imageView's bounds, then imageView's backgroundColor will be applied to the "empty" space.
-    imageView.backgroundColor = UIColor.whiteColor;
-    
-    imageView.animationDuration = 5;
-    [imageView startAnimating];
-    
-    imageView.isAccessibilityElement = YES;
-    imageView.accessibilityLabel = NSLocalizedString(@"Animated", nil);
-}
-
-@end

+ 0 - 51
Example/UICatalog/AAPLMasterViewController.h

@@ -1,51 +0,0 @@
-/*
-        File: AAPLMasterViewController.h
-    Abstract: An iPad-only class that ensures that the root view controller of the application always has the bar button item displayed when in portrait. See AAPLSplitViewControllerDelegate for more information.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-@import UIKit;
-
-@interface AAPLMasterViewController : UITableViewController
-@end

+ 0 - 96
Example/UICatalog/AAPLMasterViewController.m

@@ -1,96 +0,0 @@
-/*
-        File: AAPLMasterViewController.m
-    Abstract: An iPad-only class that ensures that the root view controller of the application always has the bar button item displayed when in portrait. See AAPLSplitViewControllerDelegate for more information.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-#import "AAPLMasterViewController.h"
-
-#if DEBUG
-// FLEX should only be compiled and used in debug builds.
-#import <FLEX/FLEX.h>
-#endif
-
-@implementation AAPLMasterViewController
-
-- (void)viewDidLoad
-{
-    [super viewDidLoad];
-    
-#if DEBUG
-    self.navigationItem.rightBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"FLEX" style:UIBarButtonItemStylePlain target:self action:@selector(flexButtonTapped:)];
-#endif
-}
-
-- (void)flexButtonTapped:(id)sender
-{
-#if DEBUG
-    [[FLEXManager sharedManager] showExplorer];
-#endif
-}
-
-// When a segue from the AAPLMasterViewController's table view is triggered, we want to ensure that the current detail view controller's
-// "More" bar button item is correctly transferred to the destination detail view controller's navigation item. We are only concerned about
-// this change when the application is in portrait mode since this is the only time that the "More" bar button item will be visible.
-- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-declarations"
-    if (UIInterfaceOrientationIsPortrait(self.interfaceOrientation)) {
-#pragma clang diagnostic pop
-        UINavigationController *newDetailViewController = [segue destinationViewController];
-        UINavigationController *oldDetailViewController = self.splitViewController.viewControllers.lastObject;
-        
-        // In order for a segue to occur when the view controller is in portrait, the "More" bar button item must be visible.
-        // However, the "More" bar button item is only visible if the detail view controller's root view controller is
-        // visible (otherwise there would be a "Back" bar button item). We can then query the old detail view controller's top view
-        // controller for the current "More" bar button item.
-        UIBarButtonItem *currentDetailBarButtonItem = oldDetailViewController.topViewController.navigationItem.leftBarButtonItem;
-
-        // The new detail view controller's root view controller will be the top view controller when it's initially
-        // pushed onto the detail navigation controller.
-        newDetailViewController.topViewController.navigationItem.leftBarButtonItem = currentDetailBarButtonItem;
-    }
-}
-
-@end

+ 0 - 51
Example/UICatalog/AAPLPageControlViewController.h

@@ -1,51 +0,0 @@
-/*
-        File: AAPLPageControlViewController.h
-    Abstract: A view controller that demonstrates how to use UIPageControl.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-@import UIKit;
-
-@interface AAPLPageControlViewController : UIViewController
-@end

+ 0 - 98
Example/UICatalog/AAPLPageControlViewController.m

@@ -1,98 +0,0 @@
-/*
-        File: AAPLPageControlViewController.m
-    Abstract: A view controller that demonstrates how to use UIPageControl.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-#import "AAPLPageControlViewController.h"
-
-@interface AAPLPageControlViewController ()
-
-@property (nonatomic, weak) IBOutlet UIPageControl *pageControl;
-
-@property (nonatomic, weak) IBOutlet UIView *colorView;
-@property (nonatomic) NSArray *colors;
-
-@end
-
-
-#pragma mark -
-
-@implementation AAPLPageControlViewController
-
-- (void)viewDidLoad {
-    [super viewDidLoad];
-
-    // Set a list of colors that correspond to the selected page.
-    self.colors = @[UIColor.blackColor, UIColor.grayColor, UIColor.redColor, UIColor.greenColor, UIColor.blueColor, UIColor.cyanColor, UIColor.yellowColor, UIColor.magentaColor, UIColor.orangeColor, UIColor.purpleColor];
-
-    [self configurePageControl];
-    [self pageControlValueDidChange];
-}
-
-
-#pragma mark - Configuration
-
-- (void)configurePageControl {
-    // The total number of pages that are available is based on how many available colors we have.
-    self.pageControl.numberOfPages = self.colors.count;
-    self.pageControl.currentPage = 2;
-
-    self.pageControl.tintColor = UIColor.aapl_applicationBlueColor;
-    self.pageControl.pageIndicatorTintColor = UIColor.aapl_applicationGreenColor;
-    self.pageControl.currentPageIndicatorTintColor = UIColor.aapl_applicationPurpleColor;
-
-    [self.pageControl addTarget:self action:@selector(pageControlValueDidChange) forControlEvents:UIControlEventValueChanged];
-}
-
-
-#pragma mark - Actions
-
-- (void)pageControlValueDidChange {
-    NSLog(@"The page control changed its current page to %ld.", (long)self.pageControl.currentPage);
-
-    self.colorView.backgroundColor = self.colors[self.pageControl.currentPage];
-}
-
-@end

+ 0 - 51
Example/UICatalog/AAPLPickerViewController.h

@@ -1,51 +0,0 @@
-/*
-        File: AAPLPickerViewController.h
-    Abstract: A view controller that demonstrates how to use UIPickerView.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-@import UIKit;
-
-@interface AAPLPickerViewController : UIViewController
-@end

+ 0 - 239
Example/UICatalog/AAPLPickerViewController.m

@@ -1,239 +0,0 @@
-/*
-        File: AAPLPickerViewController.m
-    Abstract: A view controller that demonstrates how to use UIPickerView.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-#import "AAPLPickerViewController.h"
-
-typedef NS_ENUM(NSInteger, AAPLPickerViewControllerColorComponent) {
-    AAPLColorComponentRed = 0,
-    AAPLColorComponentGreen,
-    AAPLColorComponentBlue,
-    AAPLColorComponentCount
-};
-
-// The maximum RGB color
-#define AAPL_RGB_MAX 255.0
-
-@interface AAPLPickerViewController()<UIPickerViewDataSource, UIPickerViewDelegate, UIPickerViewAccessibilityDelegate>
-
-@property (nonatomic, weak) IBOutlet UIPickerView *pickerView;
-@property (nonatomic, weak) IBOutlet UIView *colorSwatchView;
-
-@property (nonatomic) CGFloat redColorComponent;
-@property (nonatomic) CGFloat greenColorComponent;
-@property (nonatomic) CGFloat blueColorComponent;
-
-@end
-
-
-#pragma mark -
-
-@implementation AAPLPickerViewController
-
-- (void)viewDidLoad {
-    [super viewDidLoad];
-    
-    // Show that a given row is selected. This is off by default.
-    self.pickerView.showsSelectionIndicator = YES;
-
-    [self configurePickerView];
-}
-
-// The offset of each color value (from 0 to 255) for red, green, and blue.
-- (NSInteger)colorValueOffset {
-    return 5;
-}
-
-- (NSInteger)numberOfColorValuesPerComponent {
-    return (NSInteger)ceil(AAPL_RGB_MAX / (CGFloat)[self colorValueOffset]) + 1;
-}
-
-- (void)updateColorSwatchViewBackgroundColor {
-    self.colorSwatchView.backgroundColor = [UIColor colorWithRed:self.redColorComponent green:self.greenColorComponent blue:self.blueColorComponent alpha:1];
-}
-
-
-#pragma mark - Configuration
-
-- (void)configurePickerView {
-    // Set the default selected rows (the desired rows to initially select will vary by use case).
-    [self selectRowInPickerView:13 withColorComponent:AAPLColorComponentRed];
-    [self selectRowInPickerView:41 withColorComponent:AAPLColorComponentGreen];
-    [self selectRowInPickerView:24 withColorComponent:AAPLColorComponentBlue];
-}
-
-- (void)selectRowInPickerView:(NSInteger)row withColorComponent:(AAPLPickerViewControllerColorComponent)colorComponent {
-    // Note that the delegate method on UIPickerViewDelegate is not triggered when manually calling -[UIPickerView selectRow:inComponent:animated:].
-    // To do this, we fire off the delegate method manually.
-    [self.pickerView selectRow:row inComponent:(NSInteger)colorComponent animated:YES];
-    [self pickerView:self.pickerView didSelectRow:row inComponent:(NSInteger)colorComponent];
-}
-
-
-#pragma mark - RGB Color Setter Overrides
-
-- (void)setRedColorComponent:(CGFloat)redColorComponent {
-    if (_redColorComponent != redColorComponent) {
-        _redColorComponent = redColorComponent;
-
-        [self updateColorSwatchViewBackgroundColor];
-    }
-}
-
-- (void)setGreenColorComponent:(CGFloat)greenColorComponent {
-    if (_greenColorComponent != greenColorComponent) {
-        _greenColorComponent = greenColorComponent;
-
-        [self updateColorSwatchViewBackgroundColor];
-    }
-}
-
-- (void)setBlueColorComponent:(CGFloat)blueColorComponent {
-    if (_blueColorComponent != blueColorComponent) {
-        _blueColorComponent = blueColorComponent;
-
-        [self updateColorSwatchViewBackgroundColor];
-    }
-}
-
-
-#pragma mark - UIPickerViewDataSource
-
-- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView {
-    return AAPLColorComponentCount;
-}
-
-- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component {
-    return [self numberOfColorValuesPerComponent];
-}
-
-
-#pragma mark - UIPickerViewDelegate
-
-- (NSAttributedString *)pickerView:(UIPickerView *)pickerView attributedTitleForRow:(NSInteger)row forComponent:(NSInteger)component {
-    NSInteger colorValue = row * [self colorValueOffset];
-
-    CGFloat colorComponent = (CGFloat)colorValue / AAPL_RGB_MAX;
-    CGFloat redColorComponent = 0;
-    CGFloat greenColorComponent = 0;
-    CGFloat blueColorComponent = 0;
-
-    switch (component) {
-        case AAPLColorComponentRed:
-            redColorComponent = colorComponent;
-            break;
-        case AAPLColorComponentGreen:
-            greenColorComponent = colorComponent;
-            break;
-        case AAPLColorComponentBlue:
-            blueColorComponent = colorComponent;
-            break;
-        default:
-            NSLog(@"Invalid row/component combination for picker view.");
-            break;
-    }
-
-    UIColor *foregroundColor = [UIColor colorWithRed:redColorComponent green:greenColorComponent blue:blueColorComponent alpha:1];
-
-    NSString *titleText = [NSString stringWithFormat:@"%ld", (long)colorValue];
-
-    // Set the foreground color for the attributed string.
-    NSDictionary *attributes = @{NSForegroundColorAttributeName: foregroundColor};
-    NSAttributedString *title = [[NSAttributedString alloc] initWithString:titleText attributes:attributes];
-
-    return title;
-}
-
-- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component {
-    CGFloat colorComponentValue = ((CGFloat)[self colorValueOffset] * row)/AAPL_RGB_MAX;
-
-    switch (component) {
-        case AAPLColorComponentRed:
-            self.redColorComponent = colorComponentValue;
-            break;
-
-        case AAPLColorComponentGreen:
-            self.greenColorComponent = colorComponentValue;
-            break;
-
-        case AAPLColorComponentBlue:
-            self.blueColorComponent = colorComponentValue;
-            break;
-            
-        default:
-            NSLog(@"Invalid row/component combination selected for picker view.");
-            break;
-    }
-}
-
-
-#pragma mark - UIPickerViewAccessibilityDelegate
-
-- (NSString *)pickerView:(UIPickerView *)pickerView accessibilityLabelForComponent:(NSInteger)component {
-    NSString *accessibilityLabel;
-
-    switch (component) {
-        case AAPLColorComponentRed:
-            accessibilityLabel = NSLocalizedString(@"Red color component value", nil);
-            break;
-            
-        case AAPLColorComponentGreen:
-            accessibilityLabel = NSLocalizedString(@"Green color component value", nil);
-            break;
-            
-        case AAPLColorComponentBlue:
-            accessibilityLabel = NSLocalizedString(@"Blue color component value", nil);
-            break;
-            
-        default:
-            NSLog(@"Invalid row/component combination for picker view.");
-            break;
-    }
-
-    return accessibilityLabel;
-}
-
-@end

+ 0 - 51
Example/UICatalog/AAPLProgressViewController.h

@@ -1,51 +0,0 @@
-/*
-        File: AAPLProgressViewController.h
-    Abstract: A view controller that demonstrates how to use UIProgressView.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-@import UIKit;
-
-@interface AAPLProgressViewController : UITableViewController
-@end

+ 0 - 136
Example/UICatalog/AAPLProgressViewController.m

@@ -1,136 +0,0 @@
-/*
-        File: AAPLProgressViewController.m
-    Abstract: A view controller that demonstrates how to use UIProgressView.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-#import "AAPLProgressViewController.h"
-
-const NSUInteger kProgressViewControllerMaxProgress = 100;
-
-
-@interface AAPLProgressViewController()
-
-@property (nonatomic, weak) IBOutlet UIProgressView *defaultStyleProgressView;
-@property (nonatomic, weak) IBOutlet UIProgressView *barStyleProgressView;
-@property (nonatomic, weak) IBOutlet UIProgressView *tintedProgressView;
-
-@property (nonatomic) NSOperationQueue *operationQueue;
-@property (nonatomic) NSUInteger completedProgress;
-
-@end
-
-
-#pragma mark -
-
-@implementation AAPLProgressViewController
-
-- (void)viewDidLoad {
-    [super viewDidLoad];
-
-    // All progress views should initially have zero progress.
-    self.completedProgress = 0;
-
-    [self configureDefaultStyleProgressView];
-    [self configureBarStyleProgressView];
-    [self configureTintedProgressView];
-
-    // As progress is received from another subsystem (i.e. NSProgress, NSURLSessionTaskDelegate, etc.), update the progressView's progress.
-    [self simulateProgress];
-}
-
-// Overrides the "completedProgress" property's setter.
-- (void)setCompletedProgress:(NSUInteger)completedProgress {
-    if (_completedProgress != completedProgress) {
-        float fractionalProgress = (float)completedProgress / (float)kProgressViewControllerMaxProgress;
-
-        [self.defaultStyleProgressView setProgress:fractionalProgress animated:YES];
-
-        [self.barStyleProgressView setProgress:fractionalProgress animated:YES];
-
-        [self.tintedProgressView setProgress:fractionalProgress animated:YES];
-
-        _completedProgress = completedProgress;
-    }
-}
-
-
-#pragma mark - Configuration
-
-- (void)configureDefaultStyleProgressView {
-    self.defaultStyleProgressView.progressViewStyle = UIProgressViewStyleDefault;
-}
-
-- (void)configureBarStyleProgressView {
-    self.barStyleProgressView.progressViewStyle = UIProgressViewStyleBar;
-}
-
-- (void)configureTintedProgressView {
-    self.tintedProgressView.progressViewStyle = UIProgressViewStyleDefault;
-
-    self.tintedProgressView.trackTintColor = UIColor.aapl_applicationBlueColor;
-    self.tintedProgressView.progressTintColor = UIColor.aapl_applicationPurpleColor;
-}
-
-
-#pragma mark - Progress Simulation
-
-- (void)simulateProgress {
-    // In this example we will simulate progress with a "sleep operation".
-    self.operationQueue = [NSOperationQueue new];
-    
-    for (NSUInteger count = 0; count < kProgressViewControllerMaxProgress; count++) {
-        [self.operationQueue addOperationWithBlock:^{
-            // Delay the system for a random number of seconds.
-            // This code is _not_ intended for production purposes. The "sleep" call is meant to simulate work done in another subsystem.
-            sleep(arc4random_uniform(10));
-            
-            [[NSOperationQueue mainQueue] addOperationWithBlock:^{
-                self.completedProgress++;
-            }];
-        }];
-    }
-}
-
-@end

+ 0 - 51
Example/UICatalog/AAPLSegmentedControlViewController.h

@@ -1,51 +0,0 @@
-/*
-        File: AAPLSegmentedControlViewController.h
-    Abstract: A view controller that demonstrates how to use UISegmentedControl.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-@import UIKit;
-
-@interface AAPLSegmentedControlViewController : UITableViewController
-@end

+ 0 - 145
Example/UICatalog/AAPLSegmentedControlViewController.m

@@ -1,145 +0,0 @@
-/*
-        File: AAPLSegmentedControlViewController.m
-    Abstract: A view controller that demonstrates how to use UISegmentedControl.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-#import "AAPLSegmentedControlViewController.h"
-
-@interface AAPLSegmentedControlViewController()
-
-@property (nonatomic, weak) IBOutlet UISegmentedControl *defaultSegmentedControl;
-@property (nonatomic, weak) IBOutlet UISegmentedControl *tintedSegmentedControl;
-@property (nonatomic, weak) IBOutlet UISegmentedControl *customSegmentsSegmentedControl;
-@property (nonatomic, weak) IBOutlet UISegmentedControl *customBackgroundSegmentedControl;
-
-@end
-
-
-#pragma mark -
-
-@implementation AAPLSegmentedControlViewController
-
-- (void)viewDidLoad {
-    [super viewDidLoad];
-
-    [self configureDefaultSegmentedControl];
-    [self configureTintedSegmentedControl];
-    [self configureCustomSegmentsSegmentedControl];
-    [self configureCustomBackgroundSegmentedControl];
-}
-
-
-#pragma mark - Configuration
-
-- (void)configureDefaultSegmentedControl {
-    self.defaultSegmentedControl.momentary = YES;
-
-    [self.defaultSegmentedControl setEnabled:NO forSegmentAtIndex:0];
-
-    [self.defaultSegmentedControl addTarget:self action:@selector(selectedSegmentDidChange:) forControlEvents:UIControlEventValueChanged];
-}
-
-- (void)configureTintedSegmentedControl {
-    self.tintedSegmentedControl.tintColor = UIColor.aapl_applicationBlueColor;
-
-    self.tintedSegmentedControl.selectedSegmentIndex = 1;
-
-    [self.tintedSegmentedControl addTarget:self action:@selector(selectedSegmentDidChange:) forControlEvents:UIControlEventValueChanged];
-}
-
-- (void)configureCustomSegmentsSegmentedControl {
-    NSDictionary *imageToAccessibilityLabelMappings = @{
-        @"checkmark_icon": NSLocalizedString(@"Done", nil),
-        @"search_icon": NSLocalizedString(@"Search", nil),
-        @"tools_icon": NSLocalizedString(@"Settings", nil)
-    };
-    
-    // Guarantee that the segments show up in the same order.
-    NSArray *sortedSegmentImageNames = [imageToAccessibilityLabelMappings.allKeys sortedArrayUsingSelector:@selector(localizedCaseInsensitiveCompare:)];
-
-    [sortedSegmentImageNames enumerateObjectsUsingBlock:^(NSString *segmentImageName, NSUInteger idx, BOOL *stop) {
-        UIImage *image = [UIImage imageNamed:segmentImageName];
-        
-        image.accessibilityLabel = imageToAccessibilityLabelMappings[segmentImageName];
-        
-        [self.customSegmentsSegmentedControl setImage:image forSegmentAtIndex:idx];
-    }];
-    
-    self.customSegmentsSegmentedControl.selectedSegmentIndex = 0;
-    
-    [self.customSegmentsSegmentedControl addTarget:self action:@selector(selectedSegmentDidChange:) forControlEvents:UIControlEventValueChanged];
-}
-
-- (void)configureCustomBackgroundSegmentedControl {
-    self.customBackgroundSegmentedControl.selectedSegmentIndex = 2;
-    
-    [self.customBackgroundSegmentedControl setBackgroundImage:[UIImage imageNamed:@"stepper_and_segment_background"] forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
-
-    [self.customBackgroundSegmentedControl setBackgroundImage:[UIImage imageNamed:@"stepper_and_segment_background_disabled"] forState:UIControlStateDisabled barMetrics:UIBarMetricsDefault];
-
-    [self.customBackgroundSegmentedControl setBackgroundImage:[UIImage imageNamed:@"stepper_and_segment_background_highlighted"] forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];
-    
-    [self.customBackgroundSegmentedControl setDividerImage:[UIImage imageNamed:@"stepper_and_segment_segment_divider"] forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
-
-    UIFontDescriptor *captionFontDescriptor = [UIFontDescriptor preferredFontDescriptorWithTextStyle:UIFontTextStyleCaption1];
-    UIFont *font = [UIFont fontWithDescriptor:captionFontDescriptor size:0];
-
-    NSDictionary *normalTextAttributes = @{NSForegroundColorAttributeName:UIColor.aapl_applicationPurpleColor, NSFontAttributeName:font};
-    [self.customBackgroundSegmentedControl setTitleTextAttributes:normalTextAttributes forState:UIControlStateNormal];
-
-    NSDictionary *highlightedTextAttributes = @{NSForegroundColorAttributeName:UIColor.aapl_applicationGreenColor, NSFontAttributeName:font};
-    [self.customBackgroundSegmentedControl setTitleTextAttributes:highlightedTextAttributes forState:UIControlStateHighlighted];
-    
-    [self.customBackgroundSegmentedControl addTarget:self action:@selector(selectedSegmentDidChange:) forControlEvents:UIControlEventValueChanged];
-}
-
-
-#pragma mark - Actions
-
-- (void)selectedSegmentDidChange:(UISegmentedControl *)segmentedControl {
-    NSLog(@"The selected segment changed for: %@.", segmentedControl);
-}
-
-@end

+ 0 - 51
Example/UICatalog/AAPLSliderViewController.h

@@ -1,51 +0,0 @@
-/*
-        File: AAPLSliderViewController.h
-    Abstract: A view controller that demonstrates how to use UISlider.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-@import UIKit;
-
-@interface AAPLSliderViewController : UITableViewController
-@end

+ 0 - 115
Example/UICatalog/AAPLSliderViewController.m

@@ -1,115 +0,0 @@
-/*
-        File: AAPLSliderViewController.m
-    Abstract: A view controller that demonstrates how to use UISlider.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-#import "AAPLSliderViewController.h"
-
-@interface AAPLSliderViewController ()
-
-@property (nonatomic, weak) IBOutlet UISlider *defaultSlider;
-@property (nonatomic, weak) IBOutlet UISlider *tintedSlider;
-@property (nonatomic, weak) IBOutlet UISlider *customSlider;
-
-@end
-
-
-#pragma mark -
-
-@implementation AAPLSliderViewController
-
-- (void)viewDidLoad {
-    [super viewDidLoad];
-
-    [self configureDefaultSlider];
-    [self configureTintedSlider];
-    [self configureCustomSlider];
-}
-
-
-#pragma mark - Configuration
-
-- (void)configureDefaultSlider {
-    self.defaultSlider.minimumValue = 0;
-    self.defaultSlider.maximumValue = 100;
-    self.defaultSlider.value = 42;
-    self.defaultSlider.continuous = YES;
-    
-    [self.defaultSlider addTarget:self action:@selector(sliderValueDidChange:) forControlEvents:UIControlEventValueChanged];
-}
-
-- (void)configureTintedSlider {
-    self.tintedSlider.minimumTrackTintColor = UIColor.aapl_applicationBlueColor;
-    self.tintedSlider.maximumTrackTintColor = UIColor.aapl_applicationPurpleColor;
-
-    [self.tintedSlider addTarget:self action:@selector(sliderValueDidChange:) forControlEvents:UIControlEventValueChanged];
-}
-
-- (void)configureCustomSlider {
-    UIImage *leftTrackImage = [UIImage imageNamed:@"slider_blue_track"];
-    [self.customSlider setMinimumTrackImage:leftTrackImage forState:UIControlStateNormal];
-    
-    UIImage *rightTrackImage = [UIImage imageNamed:@"slider_green_track"];
-    [self.customSlider setMaximumTrackImage:rightTrackImage forState:UIControlStateNormal];
-    
-    UIImage *thumbImage = [UIImage imageNamed:@"slider_thumb"];
-    [self.customSlider setThumbImage:thumbImage forState:UIControlStateNormal];
-    
-    self.customSlider.minimumValue = 0;
-    self.customSlider.maximumValue = 100;
-    self.customSlider.continuous = NO;
-    self.customSlider.value = 84;
-
-    [self.customSlider addTarget:self action:@selector(sliderValueDidChange:) forControlEvents:UIControlEventValueChanged];
-}
-
-
-#pragma mark - Actions
-
-- (void)sliderValueDidChange:(UISlider *)slider {
-    NSLog(@"A slider changed its value: %@", slider);
-}
-
-@end

+ 0 - 51
Example/UICatalog/AAPLSplitViewControllerDelegate.h

@@ -1,51 +0,0 @@
-/*
-        File: AAPLSplitViewControllerDelegate.h
-    Abstract: An iPad-only class that ensures that the root view controller of the application always has the bar button item displayed when in portrait. See AAPLMasterViewController for more information.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-@import UIKit;
-
-@interface AAPLSplitViewControllerDelegate : NSObject <UISplitViewControllerDelegate>
-@end

+ 0 - 83
Example/UICatalog/AAPLSplitViewControllerDelegate.m

@@ -1,83 +0,0 @@
-/*
-        File: AAPLSplitViewControllerDelegate.m
-    Abstract: An iPad-only class that ensures that the root view controller of the application always has the bar button item displayed when in portrait. See AAPLMasterViewController for more information.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-#import "AAPLSplitViewControllerDelegate.h"
-
-@implementation AAPLSplitViewControllerDelegate
-
-#pragma clang diagnostic push
-#pragma clang diagnostic ignored "-Wdeprecated-implementations"
-
-#pragma mark - UISplitViewControllerDelegate
-
-// Implementing this delegate method allows us to present the detail view controller with the "More" bar button item.
-- (void)splitViewController:(UISplitViewController *)splitViewController willHideViewController:(UIViewController *)viewController withBarButtonItem:(UIBarButtonItem *)barButtonItem forPopoverController:(UIPopoverController *)popoverController {
-    barButtonItem.title = NSLocalizedString(@"UICatalog", nil);
-
-    UINavigationController *detailViewController = splitViewController.viewControllers.lastObject;
-
-    // It's possible that the detail view controller has more than one view controller currently in its hierarchy. If this is the case, we
-    // want to be sure that the root view controller of the navigation controller has its left bar button item set on its navigation item.
-    // We don't want to override the navigation controller's top view controller's "Back" bar button item with the "More" bar button item.
-    UIViewController *detailRootViewController = detailViewController.viewControllers.firstObject;
-
-    [detailRootViewController.navigationItem setLeftBarButtonItem:barButtonItem animated:YES];
-}
-
-// This method is similar to the one above except that it removes the bar button on the detail view controller's root view controller
-// since the interface orientation is now portrait.
-- (void)splitViewController:(UISplitViewController *)splitViewController willShowViewController:(UIViewController *)viewController invalidatingBarButtonItem:(UIBarButtonItem *)barButtonItem {
-    UINavigationController *detailViewController = splitViewController.viewControllers.lastObject;
-    
-    UIViewController *detailRootViewController = detailViewController.viewControllers.firstObject;
-
-    [detailRootViewController.navigationItem setLeftBarButtonItem:nil animated:YES];
-}
-
-#pragma clang diagnostic pop
-
-@end

+ 0 - 51
Example/UICatalog/AAPLStepperViewController.h

@@ -1,51 +0,0 @@
-/*
-        File: AAPLStepperViewController.h
-    Abstract: A view controller that demonstrates how to use UIStepper.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-@import UIKit;
-
-@interface AAPLStepperViewController : UITableViewController
-@end

+ 0 - 135
Example/UICatalog/AAPLStepperViewController.m

@@ -1,135 +0,0 @@
-/*
-        File: AAPLStepperViewController.m
-    Abstract: A view controller that demonstrates how to use UIStepper.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-#import "AAPLStepperViewController.h"
-
-@interface AAPLStepperViewController ()
-
-@property (nonatomic, weak) IBOutlet UIStepper *defaultStepper;
-@property (nonatomic, weak) IBOutlet UIStepper *tintedStepper;
-@property (nonatomic, weak) IBOutlet UIStepper *customStepper;
-
-@property (nonatomic, weak) IBOutlet UILabel *defaultStepperLabel;
-@property (nonatomic, weak) IBOutlet UILabel *tintedStepperLabel;
-@property (nonatomic, weak) IBOutlet UILabel *customStepperLabel;
-
-@end
-
-
-#pragma mark -
-
-@implementation AAPLStepperViewController
-
-- (void)viewDidLoad {
-    [super viewDidLoad];
-
-    [self configureDefaultStepper];
-    [self configureTintedStepper];
-    [self configureCustomStepper];
-}
-
-
-#pragma mark - Configuration
-
-- (void)configureDefaultStepper {
-    self.defaultStepper.value = 0;
-    self.defaultStepper.minimumValue = 0;
-    self.defaultStepper.maximumValue = 10;
-    self.defaultStepper.stepValue = 1;
-
-    self.defaultStepperLabel.text = [NSString stringWithFormat:@"%ld", (long)self.defaultStepper.value];
-    [self.defaultStepper addTarget:self action:@selector(stepperValueDidChange:) forControlEvents:UIControlEventValueChanged];
-}
-
-- (void)configureTintedStepper {
-    self.tintedStepper.tintColor = UIColor.aapl_applicationBlueColor;
-
-    self.tintedStepperLabel.text = [NSString stringWithFormat:@"%ld", (long)self.tintedStepper.value];
-    [self.tintedStepper addTarget:self action:@selector(stepperValueDidChange:) forControlEvents:UIControlEventValueChanged];
-}
-
-- (void)configureCustomStepper {
-    // Set the background image states.
-    [self.customStepper setBackgroundImage:[UIImage imageNamed:@"stepper_and_segment_background"] forState:UIControlStateNormal];
-    [self.customStepper setBackgroundImage:[UIImage imageNamed:@"stepper_and_segment_background_highlighted"] forState:UIControlStateHighlighted];
-    [self.customStepper setBackgroundImage:[UIImage imageNamed:@"stepper_and_segment_background_disabled"] forState:UIControlStateDisabled];
-    
-    // Set the image which will be painted in between the two stepper segments (depends on the states of both segments).
-    [self.customStepper setDividerImage:[UIImage imageNamed:@"stepper_and_segment_divider"] forLeftSegmentState:UIControlStateNormal rightSegmentState:UIControlStateNormal];
-    
-    // Set the image for the + button.
-    [self.customStepper setIncrementImage:[UIImage imageNamed:@"stepper_increment"] forState:UIControlStateNormal];
-    
-    // Set the image for the - button.
-    [self.customStepper setDecrementImage:[UIImage imageNamed:@"stepper_decrement"] forState:UIControlStateNormal];
-
-    self.customStepperLabel.text = [NSString stringWithFormat:@"%ld", (long)self.customStepper.value];
-    [self.customStepper addTarget:self action:@selector(stepperValueDidChange:) forControlEvents:UIControlEventValueChanged];
-}
-
-
-#pragma mark - Actions
-
-- (void)stepperValueDidChange:(UIStepper *)stepper {
-    NSLog(@"A stepper changed its value: %@.", stepper);
-
-    // Figure out which stepper was selected and update its associated label.
-    UILabel *stepperLabel;
-    if (self.defaultStepper == stepper) {
-        stepperLabel = self.defaultStepperLabel;
-    }
-    else if (self.tintedStepper == stepper) {
-        stepperLabel = self.tintedStepperLabel;
-    }
-    else if (self.customStepper == stepper) {
-        stepperLabel = self.customStepperLabel;
-    }
-
-    stepperLabel.text = [NSString stringWithFormat:@"%ld", (long)stepper.value];
-}
-
-@end

+ 0 - 51
Example/UICatalog/AAPLSwitchViewController.h

@@ -1,51 +0,0 @@
-/*
-        File: AAPLSwitchViewController.h
-    Abstract: A view controller that demonstrates how to use UISwitch.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-@import UIKit;
-
-@interface AAPLSwitchViewController : UITableViewController
-@end

+ 0 - 93
Example/UICatalog/AAPLSwitchViewController.m

@@ -1,93 +0,0 @@
-/*
-        File: AAPLSwitchViewController.m
-    Abstract: A view controller that demonstrates how to use UISwitch.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-#import "AAPLSwitchViewController.h"
-
-@interface AAPLSwitchViewController ()
-
-@property (nonatomic, weak) IBOutlet UISwitch *defaultSwitch;
-@property (nonatomic, weak) IBOutlet UISwitch *tintedSwitch;
-
-@end
-
-
-#pragma mark -
-
-@implementation AAPLSwitchViewController
-
-- (void)viewDidLoad {
-    [super viewDidLoad];
-
-    [self configureDefaultSwitch];
-    [self configureTintedSwitch];
-}
-
-
-#pragma mark - Configuration
-
-- (void)configureDefaultSwitch {
-    [self.defaultSwitch setOn:YES animated:YES];
-
-    [self.defaultSwitch addTarget:self action:@selector(switchValueDidChange:) forControlEvents:UIControlEventValueChanged];
-}
-
-- (void)configureTintedSwitch {
-    self.tintedSwitch.tintColor = UIColor.aapl_applicationBlueColor;
-    self.tintedSwitch.onTintColor = UIColor.aapl_applicationGreenColor;
-    self.tintedSwitch.thumbTintColor = UIColor.aapl_applicationPurpleColor;
-
-    [self.tintedSwitch addTarget:self action:@selector(switchValueDidChange:) forControlEvents:UIControlEventValueChanged];
-}
-
-
-#pragma mark - Actions
-
-- (void)switchValueDidChange:(UISwitch *)aSwitch {
-    NSLog(@"A switch changed its value: %@.", aSwitch);
-}
-
-@end

+ 0 - 51
Example/UICatalog/AAPLTextFieldViewController.h

@@ -1,51 +0,0 @@
-/*
-        File: AAPLTextFieldViewController.h
-    Abstract: A view controller that demonstrates how to use UITextField.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-@import UIKit;
-
-@interface AAPLTextFieldViewController : UITableViewController
-@end

+ 0 - 157
Example/UICatalog/AAPLTextFieldViewController.m

@@ -1,157 +0,0 @@
-/*
-        File: AAPLTextFieldViewController.m
-    Abstract: A view controller that demonstrates how to use UITextField.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-#import "AAPLTextFieldViewController.h"
-
-@interface AAPLTextFieldViewController()<UITextFieldDelegate>
-
-@property (nonatomic, weak) IBOutlet UITextField *textField;
-@property (nonatomic, weak) IBOutlet UITextField *tintedTextField;
-@property (nonatomic, weak) IBOutlet UITextField *secureTextField;
-@property (nonatomic, weak) IBOutlet UITextField *specificKeyboardTextField;
-@property (nonatomic, weak) IBOutlet UITextField *customTextField;
-
-@end
-
-
-#pragma mark -
-
-@implementation AAPLTextFieldViewController
-
-- (void)viewDidLoad {
-    [super viewDidLoad];
-
-    [self configureTextField];
-    [self configureTintedTextField];
-    [self configureSecureTextField];
-    [self configureSpecificKeyboardTextField];
-    [self configureCustomTextField];
-}
-
-
-#pragma mark - Configuration
-
-- (void)configureTextField {
-    self.textField.placeholder = NSLocalizedString(@"Placeholder text", nil);
-    self.textField.autocorrectionType = UITextAutocorrectionTypeYes;
-    self.textField.returnKeyType = UIReturnKeyDone;
-    self.textField.clearButtonMode = UITextFieldViewModeNever;
-}
-
-- (void)configureTintedTextField {
-    self.tintedTextField.tintColor = UIColor.aapl_applicationBlueColor;
-    self.tintedTextField.textColor = UIColor.aapl_applicationGreenColor;
-
-    self.tintedTextField.placeholder = NSLocalizedString(@"Placeholder text", nil);
-    self.tintedTextField.returnKeyType = UIReturnKeyDone;
-    self.tintedTextField.clearButtonMode = UITextFieldViewModeNever;
-}
-
-- (void)configureSecureTextField {
-    self.secureTextField.secureTextEntry = YES;
-
-    self.secureTextField.placeholder = NSLocalizedString(@"Placeholder text", nil);
-    self.secureTextField.returnKeyType = UIReturnKeyDone;
-    self.secureTextField.clearButtonMode = UITextFieldViewModeAlways;
-}
-
-/// There are many different types of keyboards that you may choose to use.
-/// The different types of keyboards are defined in UITextInputTraits.h.
-/// This example shows how to display a keyboard to help enter email addresses.
-- (void)configureSpecificKeyboardTextField {
-    self.specificKeyboardTextField.keyboardType = UIKeyboardTypeEmailAddress;
-
-    self.specificKeyboardTextField.placeholder = NSLocalizedString(@"Placeholder text", nil);
-    self.specificKeyboardTextField.returnKeyType = UIReturnKeyDone;
-}
-
-- (void)configureCustomTextField {
-    // Text fields with custom image backgrounds must have no border.
-    self.customTextField.borderStyle = UITextBorderStyleNone;
-    
-    self.customTextField.background = [UIImage imageNamed:@"text_field_background"];
-    
-    // Create purple button that, when selected, turns the custom text field's text color to purple.
-    UIImage *purpleImage = [UIImage imageNamed:@"text_field_purple_right_view"];
-    UIButton *purpleImageButton = [UIButton buttonWithType:UIButtonTypeCustom];
-    purpleImageButton.bounds = CGRectMake(0, 0, purpleImage.size.width, purpleImage.size.height);
-    purpleImageButton.imageEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 5);
-    [purpleImageButton setImage:purpleImage forState:UIControlStateNormal];
-    [purpleImageButton addTarget:self action:@selector(customTextFieldPurpleButtonClicked) forControlEvents:UIControlEventTouchUpInside];
-    self.customTextField.rightView = purpleImageButton;
-    self.customTextField.rightViewMode = UITextFieldViewModeAlways;
-
-    // Add an empty view as the left view to ensure inset between the text and the bounding rectangle.
-    UIView *leftPaddingView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10, 0)];
-    leftPaddingView.backgroundColor = UIColor.clearColor;
-    self.customTextField.leftView = leftPaddingView;
-    self.customTextField.leftViewMode = UITextFieldViewModeAlways;
-
-    self.customTextField.placeholder = NSLocalizedString(@"Placeholder text", nil);
-    self.customTextField.autocorrectionType = UITextAutocorrectionTypeNo;
-    self.customTextField.returnKeyType = UIReturnKeyDone;
-}
-
-
-#pragma mark - UITextFieldDelegate (set in Interface Builder)
-
-- (BOOL)textFieldShouldReturn:(UITextField *)textField {
-    [textField resignFirstResponder];
-    
-    return YES;
-}
-
-
-#pragma mark - Actions
-
-- (void)customTextFieldPurpleButtonClicked {
-    self.customTextField.textColor = UIColor.aapl_applicationPurpleColor;
-
-    NSLog(@"The custom text field's purple right view button was clicked.");
-}
-
-@end

+ 0 - 51
Example/UICatalog/AAPLTextViewController.h

@@ -1,51 +0,0 @@
-/*
-        File: AAPLTextViewController.h
-    Abstract: A view controller that demonstrates how to use UITextView.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-@import UIKit;
-
-@interface AAPLTextViewController : UIViewController
-@end

+ 0 - 216
Example/UICatalog/AAPLTextViewController.m

@@ -1,216 +0,0 @@
-/*
-     File: AAPLTextViewController.m
- Abstract: A view controller that demonstrates how to use UITextView.
-  Version: 2.12
- 
- Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
- Inc. ("Apple") in consideration of your agreement to the following
- terms, and your use, installation, modification or redistribution of
- this Apple software constitutes acceptance of these terms.  If you do
- not agree with these terms, please do not use, install, modify or
- redistribute this Apple software.
- 
- In consideration of your agreement to abide by the following terms, and
- subject to these terms, Apple grants you a personal, non-exclusive
- license, under Apple's copyrights in this original Apple software (the
- "Apple Software"), to use, reproduce, modify and redistribute the Apple
- Software, with or without modifications, in source and/or binary forms;
- provided that if you redistribute the Apple Software in its entirety and
- without modifications, you must retain this notice and the following
- text and disclaimers in all such redistributions of the Apple Software.
- Neither the name, trademarks, service marks or logos of Apple Inc. may
- be used to endorse or promote products derived from the Apple Software
- without specific prior written permission from Apple.  Except as
- expressly stated in this notice, no other rights or licenses, express or
- implied, are granted by Apple herein, including but not limited to any
- patent rights that may be infringed by your derivative works or by other
- works in which the Apple Software may be incorporated.
- 
- The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
- MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
- THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
- FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
- OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
- 
- IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
- OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
- MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
- AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
- STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
- 
- Copyright (C) 2014 Apple Inc. All Rights Reserved.
- 
- */
-
-#import "AAPLTextViewController.h"
-
-@interface AAPLTextViewController()<UITextViewDelegate>
-
-@property (nonatomic, weak) IBOutlet UITextView *textView;
-
-// Used to adjust the text view's height when the keyboard hides and shows.
-@property (nonatomic, weak) IBOutlet NSLayoutConstraint *textViewBottomLayoutGuideConstraint;
-
-@end
-
-
-#pragma mark -
-
-@implementation AAPLTextViewController
-
-- (void)viewDidLoad {
-    [super viewDidLoad];
-
-    [self configureTextView];
-}
-
-- (void)viewWillAppear:(BOOL)animated {
-    [super viewWillAppear:animated];
-    
-    // Listen for changes to keyboard visibility so that we can adjust the text view accordingly.
-    [NSNotificationCenter.defaultCenter addObserver:self selector:@selector(handleKeyboardNotification:) name:UIKeyboardWillShowNotification object:nil];
-    [NSNotificationCenter.defaultCenter addObserver:self selector:@selector(handleKeyboardNotification:) name:UIKeyboardWillHideNotification object:nil];
-}
-
-- (void)viewDidDisappear:(BOOL)animated {
-    [super viewDidDisappear:animated];
-    
-    [NSNotificationCenter.defaultCenter removeObserver:self name:UIKeyboardWillShowNotification object:nil];
-    [NSNotificationCenter.defaultCenter removeObserver:self name:UIKeyboardWillHideNotification object:nil];
-}
-
-
-#pragma mark - Keyboard Event Notifications
-
-- (void)handleKeyboardNotification:(NSNotification *)notification {
-    NSDictionary *userInfo = notification.userInfo;
-    UIViewAnimationCurve animationCurve = [userInfo[UIKeyboardAnimationCurveUserInfoKey] unsignedIntegerValue];
-    
-    // Transform the UIViewAnimationCurve to a UIViewAnimationOptions mask.
-    UIViewAnimationOptions animationOptions = UIViewAnimationOptionBeginFromCurrentState;
-    if (animationCurve == UIViewAnimationCurveEaseIn) {
-        animationOptions |= UIViewAnimationOptionCurveEaseIn;
-    }
-    else if (animationCurve == UIViewAnimationCurveEaseInOut) {
-        animationOptions |= UIViewAnimationOptionCurveEaseInOut;
-    }
-    else if (animationCurve == UIViewAnimationCurveEaseOut) {
-        animationOptions |= UIViewAnimationOptionCurveEaseOut;
-    }
-    else if (animationCurve == UIViewAnimationCurveLinear) {
-        animationOptions |= UIViewAnimationOptionCurveLinear;
-    }
-    
-    NSTimeInterval animationDuration = [userInfo[UIKeyboardAnimationDurationUserInfoKey] doubleValue];
-    
-    // Convert the keyboard frame from screen to view coordinates.
-    CGRect keyboardScreenEndFrame = [userInfo[UIKeyboardFrameEndUserInfoKey] CGRectValue];
-    CGRect keyboardScreenBeginFrame = [userInfo[UIKeyboardFrameBeginUserInfoKey] CGRectValue];
-
-    CGRect keyboardViewEndFrame = [self.view convertRect:keyboardScreenEndFrame fromView:self.view.window];
-    CGRect keyboardViewBeginFrame = [self.view convertRect:keyboardScreenBeginFrame fromView:self.view.window];
-    CGFloat originDelta = keyboardViewEndFrame.origin.y - keyboardViewBeginFrame.origin.y;
-    
-    // The text view should be adjusted, update the constant for this constraint.
-    self.textViewBottomLayoutGuideConstraint.constant -= originDelta;
-
-    [self.view setNeedsUpdateConstraints];
-    
-    [UIView animateWithDuration:animationDuration delay:0 options:animationOptions animations:^{
-        [self.view layoutIfNeeded];
-    } completion:nil];
-    
-    // Scroll to the selected text once the keyboard frame changes.
-    NSRange selectedRange = self.textView.selectedRange;
-    [self.textView scrollRangeToVisible:selectedRange];
-}
-
-
-#pragma mark - Configuration
-
-- (void)configureTextView {
-    UIFontDescriptor *bodyFontDescriptor = [UIFontDescriptor preferredFontDescriptorWithTextStyle:UIFontTextStyleBody];
-    self.textView.font = [UIFont fontWithDescriptor:bodyFontDescriptor size:0];
-
-    self.textView.textColor = UIColor.blackColor;
-    self.textView.backgroundColor = UIColor.whiteColor;
-    self.textView.scrollEnabled = YES;
-
-    // Let's modify some of the attributes of the attributed string.
-    // You can modify these attributes yourself to get a better feel for what they do.
-    // Note that the initial text is visible in the storyboard.
-    NSMutableAttributedString *attributedText = [self.textView.attributedText mutableCopy];
-
-    NSString *text = self.textView.text;
-
-    // Find the range of each element to modify.
-    NSRange boldRange = [text rangeOfString:NSLocalizedString(@"bold", nil)];
-    NSRange highlightedRange = [text rangeOfString:NSLocalizedString(@"highlighted", nil)];
-    NSRange underlinedRange = [text rangeOfString:NSLocalizedString(@"underlined", nil)];
-    NSRange tintedRange = [text rangeOfString:NSLocalizedString(@"tinted", nil)];
-
-    // Add bold.
-    UIFontDescriptor *boldFontDescriptor = [self.textView.font.fontDescriptor fontDescriptorWithSymbolicTraits:UIFontDescriptorTraitBold];
-    UIFont *boldFont = [UIFont fontWithDescriptor:boldFontDescriptor size:0];
-    [attributedText addAttribute:NSFontAttributeName value:boldFont range:boldRange];
-
-    // Add highlight.
-    [attributedText addAttribute:NSBackgroundColorAttributeName value:UIColor.aapl_applicationGreenColor range:highlightedRange];
-
-    // Add underline.
-    [attributedText addAttribute:NSUnderlineStyleAttributeName value:@(NSUnderlineStyleSingle) range:underlinedRange];
-
-    // Add tint.
-    [attributedText addAttribute:NSForegroundColorAttributeName value:UIColor.aapl_applicationBlueColor range:tintedRange];
-    
-    // Add an image attachment.
-    NSTextAttachment *textAttachment = [NSTextAttachment new];
-    UIImage *image = [UIImage imageNamed:@"text_view_attachment"];
-    textAttachment.image = image;
-    textAttachment.bounds = CGRectMake(0, 0, image.size.width, image.size.height);
-    NSAttributedString *textAttachmentString = [NSAttributedString attributedStringWithAttachment:textAttachment];
-    [attributedText appendAttributedString:textAttachmentString];
-    
-    self.textView.attributedText = attributedText;
-}
-
-
-#pragma mark - UITextViewDelegate
-
-- (void)adjustTextViewSelection:(UITextView *)textView {
-    // Ensure that the text view is visible by making the text view frame smaller as text can be slightly cropped at the bottom.
-    // Note that this is a workaround to a bug in iOS.
-    [textView layoutIfNeeded];
-
-    CGRect caretRect = [textView caretRectForPosition:textView.selectedTextRange.end];
-    caretRect.size.height += textView.textContainerInset.bottom;
-    [textView scrollRectToVisible:caretRect animated:NO];
-}
-
-- (void)textViewDidBeginEditing:(UITextView *)textView {
-    // Provide a "Done" button for the user to select to signify completion with writing text in the text view.
-    UIBarButtonItem *doneBarButtonItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone target:self action:@selector(doneBarButtonItemClicked)];
-
-    [self.navigationItem setRightBarButtonItem:doneBarButtonItem animated:YES];
-
-    [self adjustTextViewSelection:textView];
-}
-
-- (void)textViewDidChangeSelection:(UITextView *)textView {
-    [self adjustTextViewSelection:textView];
-}
-
-
-#pragma mark - Actions
-
-- (void)doneBarButtonItemClicked {
-    // Dismiss the keyboard by removing it as the first responder.
-    [self.textView resignFirstResponder];
-
-    [self.navigationItem setRightBarButtonItem:nil animated:YES];
-}
-
-@end

+ 0 - 51
Example/UICatalog/AAPLTintedToolbarViewController.h

@@ -1,51 +0,0 @@
-/*
-        File: AAPLTintedToolbarViewController.h
-    Abstract: A view controller that demonstrates how to tint a UIToolbar.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-@import UIKit;
-
-@interface AAPLTintedToolbarViewController : UIViewController
-@end

+ 0 - 103
Example/UICatalog/AAPLTintedToolbarViewController.m

@@ -1,103 +0,0 @@
-/*
-        File: AAPLTintedToolbarViewController.m
-    Abstract: A view controller that demonstrates how to tint a UIToolbar.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-#import "AAPLTintedToolbarViewController.h"
-
-@interface AAPLTintedToolbarViewController()
-
-@property (nonatomic, weak) IBOutlet UIToolbar *toolbar;
-
-@end
-
-
-#pragma mark -
-
-@implementation AAPLTintedToolbarViewController
-
-- (void)viewDidLoad {
-    [super viewDidLoad];
-    
-    [self configureToolbar];
-}
-
-
-#pragma mark - Configuration
-
-- (void)configureToolbar {
-    // See the UIBarStyle enum for more styles, including UIBarStyleDefault.
-    self.toolbar.barStyle = UIBarStyleBlackTranslucent;
-
-    self.toolbar.tintColor = UIColor.aapl_applicationGreenColor;
-    self.toolbar.backgroundColor = UIColor.aapl_applicationBlueColor;
-    
-    NSArray *toolbarButtonItems = @[[self refreshBarButtonItem], [self flexibleSpaceBarButtonItem], [self actionBarButtonItem]];
-    [self.toolbar setItems:toolbarButtonItems animated:YES];
-}
-
-
-#pragma mark - UIBarButtonItem Creation and Configuration
-
-- (UIBarButtonItem *)refreshBarButtonItem {
-    return [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(barButtonItemClicked:)];
-}
-
-- (UIBarButtonItem *)flexibleSpaceBarButtonItem {
-    return [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:NULL];
-}
-
-- (UIBarButtonItem *)actionBarButtonItem {
-    return [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAction target:self action:@selector(barButtonItemClicked:)];
-}
-
-
-#pragma mark - Actions
-
-- (void)barButtonItemClicked:(UIBarButtonItem *)barButtonItem {
-    NSLog(@"A bar button item on the tinted toolbar was clicked: %@.", barButtonItem);
-}
-
-@end

+ 0 - 51
Example/UICatalog/AAPLWebViewController.h

@@ -1,51 +0,0 @@
-/*
-        File: AAPLWebViewController.h
-    Abstract: A view controller that demonstrates how to use UIWebView.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-@import UIKit;
-
-@interface AAPLWebViewController : UIViewController
-@end

+ 0 - 126
Example/UICatalog/AAPLWebViewController.m

@@ -1,126 +0,0 @@
-/*
-        File: AAPLWebViewController.m
-    Abstract: A view controller that demonstrates how to use UIWebView.
-     Version: 2.12
-    
-    Disclaimer: IMPORTANT:  This Apple software is supplied to you by Apple
-    Inc. ("Apple") in consideration of your agreement to the following
-    terms, and your use, installation, modification or redistribution of
-    this Apple software constitutes acceptance of these terms.  If you do
-    not agree with these terms, please do not use, install, modify or
-    redistribute this Apple software.
-    
-    In consideration of your agreement to abide by the following terms, and
-    subject to these terms, Apple grants you a personal, non-exclusive
-    license, under Apple's copyrights in this original Apple software (the
-    "Apple Software"), to use, reproduce, modify and redistribute the Apple
-    Software, with or without modifications, in source and/or binary forms;
-    provided that if you redistribute the Apple Software in its entirety and
-    without modifications, you must retain this notice and the following
-    text and disclaimers in all such redistributions of the Apple Software.
-    Neither the name, trademarks, service marks or logos of Apple Inc. may
-    be used to endorse or promote products derived from the Apple Software
-    without specific prior written permission from Apple.  Except as
-    expressly stated in this notice, no other rights or licenses, express or
-    implied, are granted by Apple herein, including but not limited to any
-    patent rights that may be infringed by your derivative works or by other
-    works in which the Apple Software may be incorporated.
-    
-    The Apple Software is provided by Apple on an "AS IS" basis.  APPLE
-    MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION
-    THE IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS
-    FOR A PARTICULAR PURPOSE, REGARDING THE APPLE SOFTWARE OR ITS USE AND
-    OPERATION ALONE OR IN COMBINATION WITH YOUR PRODUCTS.
-    
-    IN NO EVENT SHALL APPLE BE LIABLE FOR ANY SPECIAL, INDIRECT, INCIDENTAL
-    OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-    SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-    INTERRUPTION) ARISING IN ANY WAY OUT OF THE USE, REPRODUCTION,
-    MODIFICATION AND/OR DISTRIBUTION OF THE APPLE SOFTWARE, HOWEVER CAUSED
-    AND WHETHER UNDER THEORY OF CONTRACT, TORT (INCLUDING NEGLIGENCE),
-    STRICT LIABILITY OR OTHERWISE, EVEN IF APPLE HAS BEEN ADVISED OF THE
-    POSSIBILITY OF SUCH DAMAGE.
-    
-    Copyright (C) 2014 Apple Inc. All Rights Reserved.
-    
-*/
-
-#import "AAPLWebViewController.h"
-
-@interface AAPLWebViewController()<UITextFieldDelegate, UIWebViewDelegate>
-
-@property (nonatomic, weak) IBOutlet UIWebView *webView;
-@property (nonatomic, weak) IBOutlet UITextField *addressTextField;
-
-@end
-
-
-#pragma mark -
-
-@implementation AAPLWebViewController
-
-- (void)viewDidLoad {
-    [super viewDidLoad];
-    
-    [self configureWebView];
-    [self loadAddressURL];
-}
-
-- (void)viewWillDisappear:(BOOL)animated {
-    [super viewWillDisappear:animated];
-    
-    if (UIApplication.sharedApplication.isNetworkActivityIndicatorVisible) {
-        UIApplication.sharedApplication.networkActivityIndicatorVisible = NO;
-    }
-}
-
-- (void)loadAddressURL {
-    NSURL *requestURL = [NSURL URLWithString:self.addressTextField.text];
-    NSURLRequest *request = [NSURLRequest requestWithURL:requestURL];
-    [self.webView loadRequest:request];
-}
-
-
-#pragma mark - Configuration
-
-- (void)configureWebView {
-    self.webView.backgroundColor = UIColor.whiteColor;
-    self.webView.scalesPageToFit = YES;
-    self.webView.dataDetectorTypes = UIDataDetectorTypeAll;
-}
-
-
-#pragma mark - UIWebViewDelegate
-
-- (void)webViewDidStartLoad:(UIWebView *)webView {
-    UIApplication.sharedApplication.networkActivityIndicatorVisible = YES;
-}
-
-- (void)webViewDidFinishLoad:(UIWebView *)webView {
-    UIApplication.sharedApplication.networkActivityIndicatorVisible = NO;
-}
-
-- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error {
-    // Report the error inside the web view.
-    NSString *localizedErrorMessage = NSLocalizedString(@"An error occurred:", nil);
-    NSString *errorFormatString = @"<!doctype html><html><body><div style=\"width: 100%%; text-align: center; font-size: 36pt;\">%@%@</div></body></html>";
-
-    NSString *errorHTML = [NSString stringWithFormat:errorFormatString, localizedErrorMessage, error.localizedDescription];
-    [self.webView loadHTMLString:errorHTML baseURL:nil];
-
-    UIApplication.sharedApplication.networkActivityIndicatorVisible = NO;
-}
-
-
-#pragma mark - UITextFieldDelegate
-
-// This helps dismiss the keyboard when the "Done" button is clicked.
-- (BOOL)textFieldShouldReturn:(UITextField *)textField {
-    [textField resignFirstResponder];
-
-    [self loadAddressURL];
-    
-    return YES;
-}
-
-@end

File diff suppressed because it is too large
+ 0 - 2601
Example/UICatalog/Base.lproj/Main_iPad.storyboard


File diff suppressed because it is too large
+ 0 - 2244
Example/UICatalog/Base.lproj/Main_iPhone.storyboard


+ 0 - 22
Example/UICatalog/Images.xcassets/bookmark_icon.imageset/Contents.json

@@ -1,22 +0,0 @@
-{
-  "images" : [
-    {
-      "idiom" : "universal",
-      "filename" : "bookmark_icon_1x.png",
-      "scale" : "1x"
-    },
-    {
-      "idiom" : "universal",
-      "filename" : "bookmark_icon_2x.png",
-      "scale" : "2x"
-    },
-    {
-      "idiom" : "universal",
-      "scale" : "3x"
-    }
-  ],
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}

BIN
Example/UICatalog/Images.xcassets/bookmark_icon.imageset/bookmark_icon_1x.png


BIN
Example/UICatalog/Images.xcassets/bookmark_icon.imageset/bookmark_icon_2x.png


+ 0 - 22
Example/UICatalog/Images.xcassets/bookmark_icon_highlighted.imageset/Contents.json

@@ -1,22 +0,0 @@
-{
-  "images" : [
-    {
-      "idiom" : "universal",
-      "filename" : "bookmark_icon_highlighted_1x.png",
-      "scale" : "1x"
-    },
-    {
-      "idiom" : "universal",
-      "filename" : "bookmark_icon_highlighted_2x.png",
-      "scale" : "2x"
-    },
-    {
-      "idiom" : "universal",
-      "scale" : "3x"
-    }
-  ],
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}

BIN
Example/UICatalog/Images.xcassets/bookmark_icon_highlighted.imageset/bookmark_icon_highlighted_1x.png


BIN
Example/UICatalog/Images.xcassets/bookmark_icon_highlighted.imageset/bookmark_icon_highlighted_2x.png


+ 0 - 22
Example/UICatalog/Images.xcassets/checkmark_icon.imageset/Contents.json

@@ -1,22 +0,0 @@
-{
-  "images" : [
-    {
-      "idiom" : "universal",
-      "filename" : "checkmark_icon_1x.png",
-      "scale" : "1x"
-    },
-    {
-      "idiom" : "universal",
-      "filename" : "checkmark_icon_2x.png",
-      "scale" : "2x"
-    },
-    {
-      "idiom" : "universal",
-      "scale" : "3x"
-    }
-  ],
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}

BIN
Example/UICatalog/Images.xcassets/checkmark_icon.imageset/checkmark_icon_1x.png


BIN
Example/UICatalog/Images.xcassets/checkmark_icon.imageset/checkmark_icon_2x.png


+ 0 - 21
Example/UICatalog/Images.xcassets/image_animal_1.imageset/Contents.json

@@ -1,21 +0,0 @@
-{
-  "images" : [
-    {
-      "idiom" : "universal",
-      "filename" : "image_animal_5.png",
-      "scale" : "1x"
-    },
-    {
-      "idiom" : "universal",
-      "scale" : "2x"
-    },
-    {
-      "idiom" : "universal",
-      "scale" : "3x"
-    }
-  ],
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}

BIN
Example/UICatalog/Images.xcassets/image_animal_1.imageset/image_animal_5.png


+ 0 - 21
Example/UICatalog/Images.xcassets/image_animal_2.imageset/Contents.json

@@ -1,21 +0,0 @@
-{
-  "images" : [
-    {
-      "idiom" : "universal",
-      "filename" : "image_animal_2.png",
-      "scale" : "1x"
-    },
-    {
-      "idiom" : "universal",
-      "scale" : "2x"
-    },
-    {
-      "idiom" : "universal",
-      "scale" : "3x"
-    }
-  ],
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}

BIN
Example/UICatalog/Images.xcassets/image_animal_2.imageset/image_animal_2.png


+ 0 - 21
Example/UICatalog/Images.xcassets/image_animal_3.imageset/Contents.json

@@ -1,21 +0,0 @@
-{
-  "images" : [
-    {
-      "idiom" : "universal",
-      "filename" : "image_animal_3.png",
-      "scale" : "1x"
-    },
-    {
-      "idiom" : "universal",
-      "scale" : "2x"
-    },
-    {
-      "idiom" : "universal",
-      "scale" : "3x"
-    }
-  ],
-  "info" : {
-    "version" : 1,
-    "author" : "xcode"
-  }
-}

+ 0 - 0
Example/UICatalog/Images.xcassets/image_animal_3.imageset/image_animal_3.png


Some files were not shown because too many files changed in this diff