From 4a96cd7c1e2c4efe1dad362a4ad3d0c92c44e4ed Mon Sep 17 00:00:00 2001 From: SF Loaner 5 Date: Wed, 14 Jun 2017 15:30:25 -0700 Subject: [PATCH] rm -rf watchkit --- .../contents.xcworkspacedata | 3 - Rakefile | 34 +- .../Specs/Fixtures/CorgiTableController.h | 11 - .../Specs/Fixtures/CorgiTableController.m | 13 - WatchKit/Specs/Fixtures/CorgisController.h | 8 - WatchKit/Specs/Fixtures/CorgisController.m | 21 - .../CustomCategoryNotificationController.h | 8 - .../CustomCategoryNotificationController.m | 12 - WatchKit/Specs/Fixtures/GlanceController.h | 9 - WatchKit/Specs/Fixtures/GlanceController.m | 16 - WatchKit/Specs/Fixtures/GroupController.h | 10 - WatchKit/Specs/Fixtures/GroupController.m | 13 - WatchKit/Specs/Fixtures/Interface.storyboard | 282 ---- WatchKit/Specs/Fixtures/InterfaceController.h | 27 - WatchKit/Specs/Fixtures/InterfaceController.m | 70 - .../Specs/Fixtures/NotificationController.h | 8 - .../Specs/Fixtures/NotificationController.m | 12 - .../Specs/Fixtures/PCKFixtureMapController.h | 11 - .../Specs/Fixtures/PCKFixtureMapController.m | 12 - WatchKit/Specs/Fixtures/SliderController.h | 8 - WatchKit/Specs/Fixtures/SliderController.m | 11 - WatchKit/Specs/Fixtures/corgi.jpeg | Bin 7559 -> 0 bytes WatchKit/Specs/Fixtures/minus@2x.png | Bin 1501 -> 0 bytes WatchKit/Specs/Fixtures/plus@2x.png | Bin 1215 -> 0 bytes WatchKit/Specs/Helpers/NSBundle+BuildHelper.h | 7 - WatchKit/Specs/Helpers/NSBundle+BuildHelper.m | 10 - WatchKit/Specs/Rakefile | 119 -- WatchKit/Specs/SpecBuildHelper-Info.plist | 35 - .../PCKInterfaceControllerLoaderSpec.mm | 692 --------- .../Specs/WatchKit/PCKMessageCapturerSpec.mm | 66 - WatchKit/Specs/WatchKit/WKExtensionSpec.mm | 61 - .../Specs/WatchKit/WKInterfaceButtonSpec.mm | 121 -- .../WatchKit/WKInterfaceControllerSpec.mm | 286 ---- .../Specs/WatchKit/WKInterfaceDateSpec.mm | 41 - .../Specs/WatchKit/WKInterfaceDeviceSpec.mm | 72 - .../Specs/WatchKit/WKInterfaceGroupSpec.mm | 83 -- .../Specs/WatchKit/WKInterfaceImageSpec.mm | 67 - .../Specs/WatchKit/WKInterfaceLabelSpec.mm | 64 - WatchKit/Specs/WatchKit/WKInterfaceMapSpec.mm | 129 -- .../Specs/WatchKit/WKInterfaceObjectSpec.mm | 69 - .../Specs/WatchKit/WKInterfaceSliderSpec.mm | 47 - .../Specs/WatchKit/WKInterfaceSwitchSpec.mm | 36 - .../Specs/WatchKit/WKInterfaceTableSpec.mm | 73 - .../Specs/WatchKit/WKInterfaceTimerSpec.mm | 42 - ...UserNotificationInterfaceControllerSpec.mm | 69 - WatchKit/WatchKit.xcodeproj/project.pbxproj | 1288 ----------------- .../contents.xcworkspacedata | 7 - .../xcshareddata/WatchKit.xccheckout | 53 - .../Glance - SpecBuildHelper.xcscheme | 115 -- .../Notification - SpecBuildHelper.xcscheme | 115 -- .../xcschemes/SpecBuildHelper.xcscheme | 113 -- .../xcshareddata/xcschemes/WatchKit.xcscheme | 99 -- WatchKit/WatchKit/Info.plist | 26 - .../NSInvocation+InvocationMatching.h | 11 - .../NSInvocation+InvocationMatching.m | 32 - WatchKit/WatchKit/PCKFakeSegue.h | 22 - WatchKit/WatchKit/PCKFakeSegue.m | 25 - .../WatchKit/PCKInterfaceControllerLoader.h | 23 - .../WatchKit/PCKInterfaceControllerLoader.m | 123 -- WatchKit/WatchKit/PCKMessageCapturer.h | 15 - WatchKit/WatchKit/PCKMessageCapturer.m | 60 - .../PCKWKInterfaceControllerProvider.h | 14 - .../PCKWKInterfaceControllerProvider.m | 46 - .../WatchKit/PCKWKInterfaceObjectProvider.h | 16 - .../WatchKit/PCKWKInterfaceObjectProvider.m | 84 -- WatchKit/WatchKit/UIColor+PCK_StringToColor.h | 11 - WatchKit/WatchKit/UIColor+PCK_StringToColor.m | 44 - WatchKit/WatchKit/WKAlertAction.h | 21 - WatchKit/WatchKit/WKAlertAction.m | 31 - WatchKit/WatchKit/WKAlertActionSpec.mm | 21 - WatchKit/WatchKit/WKDefines.h | 12 - WatchKit/WatchKit/WKExtension+Spec.h | 13 - WatchKit/WatchKit/WKExtension.h | 42 - WatchKit/WatchKit/WKExtension.m | 42 - WatchKit/WatchKit/WKImage.h | 22 - WatchKit/WatchKit/WKImage.m | 87 -- WatchKit/WatchKit/WKImageSpec.mm | 73 - WatchKit/WatchKit/WKInterfaceButton+Spec.h | 29 - WatchKit/WatchKit/WKInterfaceButton+Spec.m | 30 - WatchKit/WatchKit/WKInterfaceButton.h | 19 - WatchKit/WatchKit/WKInterfaceButton.m | 119 -- WatchKit/WatchKit/WKInterfaceController.h | 106 -- WatchKit/WatchKit/WKInterfaceController.m | 243 ---- WatchKit/WatchKit/WKInterfaceDate+Spec.h | 12 - WatchKit/WatchKit/WKInterfaceDate.h | 14 - WatchKit/WatchKit/WKInterfaceDate.m | 46 - WatchKit/WatchKit/WKInterfaceDevice.h | 39 - WatchKit/WatchKit/WKInterfaceDevice.m | 57 - WatchKit/WatchKit/WKInterfaceGroup+Spec.h | 11 - WatchKit/WatchKit/WKInterfaceGroup.h | 22 - WatchKit/WatchKit/WKInterfaceGroup.m | 83 -- WatchKit/WatchKit/WKInterfaceImage+Spec.h | 11 - WatchKit/WatchKit/WKInterfaceImage.h | 22 - WatchKit/WatchKit/WKInterfaceImage.m | 66 - WatchKit/WatchKit/WKInterfaceLabel+Spec.h | 13 - WatchKit/WatchKit/WKInterfaceLabel.h | 14 - WatchKit/WatchKit/WKInterfaceLabel.m | 60 - WatchKit/WatchKit/WKInterfaceMap.h | 30 - WatchKit/WatchKit/WKInterfaceMap.m | 57 - WatchKit/WatchKit/WKInterfaceObject+Spec.h | 15 - WatchKit/WatchKit/WKInterfaceObject.h | 15 - WatchKit/WatchKit/WKInterfaceObject.m | 47 - WatchKit/WatchKit/WKInterfaceSeparator+Spec.h | 11 - WatchKit/WatchKit/WKInterfaceSeparator.h | 11 - WatchKit/WatchKit/WKInterfaceSeparator.m | 17 - WatchKit/WatchKit/WKInterfaceSlider+Spec.h | 18 - WatchKit/WatchKit/WKInterfaceSlider.h | 14 - WatchKit/WatchKit/WKInterfaceSlider.m | 81 -- WatchKit/WatchKit/WKInterfaceSwitch+Spec.h | 12 - WatchKit/WatchKit/WKInterfaceSwitch.h | 12 - WatchKit/WatchKit/WKInterfaceSwitch.m | 50 - WatchKit/WatchKit/WKInterfaceTable+Spec.h | 11 - WatchKit/WatchKit/WKInterfaceTable.h | 20 - WatchKit/WatchKit/WKInterfaceTable.m | 76 - WatchKit/WatchKit/WKInterfaceTimer+Spec.h | 13 - WatchKit/WatchKit/WKInterfaceTimer.h | 15 - WatchKit/WatchKit/WKInterfaceTimer.m | 55 - ...UserNotificationInterfaceController+Spec.h | 11 - WatchKit/WatchKit/WatchKit.h | 35 - 119 files changed, 3 insertions(+), 7133 deletions(-) delete mode 100644 WatchKit/Specs/Fixtures/CorgiTableController.h delete mode 100644 WatchKit/Specs/Fixtures/CorgiTableController.m delete mode 100644 WatchKit/Specs/Fixtures/CorgisController.h delete mode 100644 WatchKit/Specs/Fixtures/CorgisController.m delete mode 100644 WatchKit/Specs/Fixtures/CustomCategoryNotificationController.h delete mode 100644 WatchKit/Specs/Fixtures/CustomCategoryNotificationController.m delete mode 100644 WatchKit/Specs/Fixtures/GlanceController.h delete mode 100644 WatchKit/Specs/Fixtures/GlanceController.m delete mode 100644 WatchKit/Specs/Fixtures/GroupController.h delete mode 100644 WatchKit/Specs/Fixtures/GroupController.m delete mode 100644 WatchKit/Specs/Fixtures/Interface.storyboard delete mode 100644 WatchKit/Specs/Fixtures/InterfaceController.h delete mode 100644 WatchKit/Specs/Fixtures/InterfaceController.m delete mode 100644 WatchKit/Specs/Fixtures/NotificationController.h delete mode 100644 WatchKit/Specs/Fixtures/NotificationController.m delete mode 100644 WatchKit/Specs/Fixtures/PCKFixtureMapController.h delete mode 100644 WatchKit/Specs/Fixtures/PCKFixtureMapController.m delete mode 100644 WatchKit/Specs/Fixtures/SliderController.h delete mode 100644 WatchKit/Specs/Fixtures/SliderController.m delete mode 100644 WatchKit/Specs/Fixtures/corgi.jpeg delete mode 100644 WatchKit/Specs/Fixtures/minus@2x.png delete mode 100644 WatchKit/Specs/Fixtures/plus@2x.png delete mode 100644 WatchKit/Specs/Helpers/NSBundle+BuildHelper.h delete mode 100644 WatchKit/Specs/Helpers/NSBundle+BuildHelper.m delete mode 100644 WatchKit/Specs/Rakefile delete mode 100644 WatchKit/Specs/SpecBuildHelper-Info.plist delete mode 100644 WatchKit/Specs/WatchKit/PCKInterfaceControllerLoaderSpec.mm delete mode 100644 WatchKit/Specs/WatchKit/PCKMessageCapturerSpec.mm delete mode 100644 WatchKit/Specs/WatchKit/WKExtensionSpec.mm delete mode 100644 WatchKit/Specs/WatchKit/WKInterfaceButtonSpec.mm delete mode 100644 WatchKit/Specs/WatchKit/WKInterfaceControllerSpec.mm delete mode 100644 WatchKit/Specs/WatchKit/WKInterfaceDateSpec.mm delete mode 100644 WatchKit/Specs/WatchKit/WKInterfaceDeviceSpec.mm delete mode 100644 WatchKit/Specs/WatchKit/WKInterfaceGroupSpec.mm delete mode 100644 WatchKit/Specs/WatchKit/WKInterfaceImageSpec.mm delete mode 100644 WatchKit/Specs/WatchKit/WKInterfaceLabelSpec.mm delete mode 100644 WatchKit/Specs/WatchKit/WKInterfaceMapSpec.mm delete mode 100644 WatchKit/Specs/WatchKit/WKInterfaceObjectSpec.mm delete mode 100644 WatchKit/Specs/WatchKit/WKInterfaceSliderSpec.mm delete mode 100644 WatchKit/Specs/WatchKit/WKInterfaceSwitchSpec.mm delete mode 100644 WatchKit/Specs/WatchKit/WKInterfaceTableSpec.mm delete mode 100644 WatchKit/Specs/WatchKit/WKInterfaceTimerSpec.mm delete mode 100644 WatchKit/Specs/WatchKit/WKUserNotificationInterfaceControllerSpec.mm delete mode 100644 WatchKit/WatchKit.xcodeproj/project.pbxproj delete mode 100644 WatchKit/WatchKit.xcodeproj/project.xcworkspace/contents.xcworkspacedata delete mode 100644 WatchKit/WatchKit.xcodeproj/project.xcworkspace/xcshareddata/WatchKit.xccheckout delete mode 100644 WatchKit/WatchKit.xcodeproj/xcshareddata/xcschemes/Glance - SpecBuildHelper.xcscheme delete mode 100644 WatchKit/WatchKit.xcodeproj/xcshareddata/xcschemes/Notification - SpecBuildHelper.xcscheme delete mode 100644 WatchKit/WatchKit.xcodeproj/xcshareddata/xcschemes/SpecBuildHelper.xcscheme delete mode 100644 WatchKit/WatchKit.xcodeproj/xcshareddata/xcschemes/WatchKit.xcscheme delete mode 100644 WatchKit/WatchKit/Info.plist delete mode 100644 WatchKit/WatchKit/NSInvocation+InvocationMatching.h delete mode 100644 WatchKit/WatchKit/NSInvocation+InvocationMatching.m delete mode 100644 WatchKit/WatchKit/PCKFakeSegue.h delete mode 100644 WatchKit/WatchKit/PCKFakeSegue.m delete mode 100644 WatchKit/WatchKit/PCKInterfaceControllerLoader.h delete mode 100644 WatchKit/WatchKit/PCKInterfaceControllerLoader.m delete mode 100644 WatchKit/WatchKit/PCKMessageCapturer.h delete mode 100644 WatchKit/WatchKit/PCKMessageCapturer.m delete mode 100644 WatchKit/WatchKit/PCKWKInterfaceControllerProvider.h delete mode 100644 WatchKit/WatchKit/PCKWKInterfaceControllerProvider.m delete mode 100644 WatchKit/WatchKit/PCKWKInterfaceObjectProvider.h delete mode 100644 WatchKit/WatchKit/PCKWKInterfaceObjectProvider.m delete mode 100644 WatchKit/WatchKit/UIColor+PCK_StringToColor.h delete mode 100644 WatchKit/WatchKit/UIColor+PCK_StringToColor.m delete mode 100644 WatchKit/WatchKit/WKAlertAction.h delete mode 100644 WatchKit/WatchKit/WKAlertAction.m delete mode 100644 WatchKit/WatchKit/WKAlertActionSpec.mm delete mode 100644 WatchKit/WatchKit/WKDefines.h delete mode 100644 WatchKit/WatchKit/WKExtension+Spec.h delete mode 100644 WatchKit/WatchKit/WKExtension.h delete mode 100644 WatchKit/WatchKit/WKExtension.m delete mode 100644 WatchKit/WatchKit/WKImage.h delete mode 100644 WatchKit/WatchKit/WKImage.m delete mode 100644 WatchKit/WatchKit/WKImageSpec.mm delete mode 100644 WatchKit/WatchKit/WKInterfaceButton+Spec.h delete mode 100644 WatchKit/WatchKit/WKInterfaceButton+Spec.m delete mode 100644 WatchKit/WatchKit/WKInterfaceButton.h delete mode 100644 WatchKit/WatchKit/WKInterfaceButton.m delete mode 100644 WatchKit/WatchKit/WKInterfaceController.h delete mode 100644 WatchKit/WatchKit/WKInterfaceController.m delete mode 100644 WatchKit/WatchKit/WKInterfaceDate+Spec.h delete mode 100644 WatchKit/WatchKit/WKInterfaceDate.h delete mode 100644 WatchKit/WatchKit/WKInterfaceDate.m delete mode 100644 WatchKit/WatchKit/WKInterfaceDevice.h delete mode 100644 WatchKit/WatchKit/WKInterfaceDevice.m delete mode 100644 WatchKit/WatchKit/WKInterfaceGroup+Spec.h delete mode 100644 WatchKit/WatchKit/WKInterfaceGroup.h delete mode 100644 WatchKit/WatchKit/WKInterfaceGroup.m delete mode 100644 WatchKit/WatchKit/WKInterfaceImage+Spec.h delete mode 100644 WatchKit/WatchKit/WKInterfaceImage.h delete mode 100644 WatchKit/WatchKit/WKInterfaceImage.m delete mode 100644 WatchKit/WatchKit/WKInterfaceLabel+Spec.h delete mode 100644 WatchKit/WatchKit/WKInterfaceLabel.h delete mode 100644 WatchKit/WatchKit/WKInterfaceLabel.m delete mode 100644 WatchKit/WatchKit/WKInterfaceMap.h delete mode 100644 WatchKit/WatchKit/WKInterfaceMap.m delete mode 100644 WatchKit/WatchKit/WKInterfaceObject+Spec.h delete mode 100644 WatchKit/WatchKit/WKInterfaceObject.h delete mode 100644 WatchKit/WatchKit/WKInterfaceObject.m delete mode 100644 WatchKit/WatchKit/WKInterfaceSeparator+Spec.h delete mode 100644 WatchKit/WatchKit/WKInterfaceSeparator.h delete mode 100644 WatchKit/WatchKit/WKInterfaceSeparator.m delete mode 100644 WatchKit/WatchKit/WKInterfaceSlider+Spec.h delete mode 100644 WatchKit/WatchKit/WKInterfaceSlider.h delete mode 100644 WatchKit/WatchKit/WKInterfaceSlider.m delete mode 100644 WatchKit/WatchKit/WKInterfaceSwitch+Spec.h delete mode 100644 WatchKit/WatchKit/WKInterfaceSwitch.h delete mode 100644 WatchKit/WatchKit/WKInterfaceSwitch.m delete mode 100644 WatchKit/WatchKit/WKInterfaceTable+Spec.h delete mode 100644 WatchKit/WatchKit/WKInterfaceTable.h delete mode 100644 WatchKit/WatchKit/WKInterfaceTable.m delete mode 100644 WatchKit/WatchKit/WKInterfaceTimer+Spec.h delete mode 100644 WatchKit/WatchKit/WKInterfaceTimer.h delete mode 100644 WatchKit/WatchKit/WKInterfaceTimer.m delete mode 100644 WatchKit/WatchKit/WKUserNotificationInterfaceController+Spec.h delete mode 100644 WatchKit/WatchKit/WatchKit.h diff --git a/PivotalCoreKit.xcworkspace/contents.xcworkspacedata b/PivotalCoreKit.xcworkspace/contents.xcworkspacedata index 4d1e9b5..477e23d 100644 --- a/PivotalCoreKit.xcworkspace/contents.xcworkspacedata +++ b/PivotalCoreKit.xcworkspace/contents.xcworkspacedata @@ -10,9 +10,6 @@ - - diff --git a/Rakefile b/Rakefile index a5d2540..422cd25 100644 --- a/Rakefile +++ b/Rakefile @@ -307,39 +307,11 @@ end task :core_location => ["core_location:build", "core_location:spec"] -namespace :watchkit do - project = "WatchKit/WatchKit" - target = "WatchKit" - - namespace :build do - desc "Build Fake WatchKit dynamic framework for iOS" - task :ios do - build_output_filename = output_file("watchkit:build:ios") - build_target(target, project: project, sdk: 'iphonesimulator', output_file: build_output_filename) - end - end - - namespace :spec do - desc "Build and run WatchKit specs on iOS" - task :ios do - build_and_test_scheme("WatchKit") - end - end - - task :spec => ["spec:ios"] - task :build => ["build:ios"] - task :clean do - system_or_exit(%Q[xcodebuild -project #{project}.xcodeproj -alltargets -configuration #{CONFIGURATION} clean SYMROOT=#{BUILD_DIR}], {}, output_file("watchkit:clean")) - end -end - -task :watchkit => ["watchkit:spec"] - namespace :all do desc "Build everything" - task :build => ["foundation:build", "uikit:build", "core_location:build", "watchkit:build"] + task :build => ["foundation:build", "uikit:build", "core_location:build"] desc "Run all specs" - task :spec => ["foundation:spec", "uikit:spec", "core_location:spec", "watchkit:spec"] + task :spec => ["foundation:spec", "uikit:spec", "core_location:spec"] desc "Clean all targets" - task :clean => ["foundation:clean", "uikit:clean", "core_location:clean", "watchkit:clean"] + task :clean => ["foundation:clean", "uikit:clean", "core_location:clean"] end diff --git a/WatchKit/Specs/Fixtures/CorgiTableController.h b/WatchKit/Specs/Fixtures/CorgiTableController.h deleted file mode 100644 index 8cfb96a..0000000 --- a/WatchKit/Specs/Fixtures/CorgiTableController.h +++ /dev/null @@ -1,11 +0,0 @@ -#import - - -@class WKInterfaceTable; - - -@interface CorgiTableController : WKInterfaceController - -@property (weak, nonatomic, readonly) WKInterfaceTable *table; - -@end diff --git a/WatchKit/Specs/Fixtures/CorgiTableController.m b/WatchKit/Specs/Fixtures/CorgiTableController.m deleted file mode 100644 index 6b4f3ba..0000000 --- a/WatchKit/Specs/Fixtures/CorgiTableController.m +++ /dev/null @@ -1,13 +0,0 @@ -#import "CorgiTableController.h" -#import "WKInterfaceTable.h" - - -@interface CorgiTableController () - -@property (weak, nonatomic) IBOutlet WKInterfaceTable *table; - -@end - - -@implementation CorgiTableController -@end diff --git a/WatchKit/Specs/Fixtures/CorgisController.h b/WatchKit/Specs/Fixtures/CorgisController.h deleted file mode 100644 index 000dbd4..0000000 --- a/WatchKit/Specs/Fixtures/CorgisController.h +++ /dev/null @@ -1,8 +0,0 @@ -#import - - -@interface CorgisController : WKInterfaceController - -@property (weak, nonatomic, readonly) WKInterfaceImage *image; - -@end diff --git a/WatchKit/Specs/Fixtures/CorgisController.m b/WatchKit/Specs/Fixtures/CorgisController.m deleted file mode 100644 index 1a83d08..0000000 --- a/WatchKit/Specs/Fixtures/CorgisController.m +++ /dev/null @@ -1,21 +0,0 @@ -#import "CorgisController.h" - - -@interface CorgisController () - -@property (weak, nonatomic) IBOutlet WKInterfaceImage *image; - -@end - - -@implementation CorgisController - -#pragma mark - WKInterfaceController - -- (void)awakeWithContext:(id)context -{ - [super awakeWithContext:context]; - self.image.image = context; -} - -@end diff --git a/WatchKit/Specs/Fixtures/CustomCategoryNotificationController.h b/WatchKit/Specs/Fixtures/CustomCategoryNotificationController.h deleted file mode 100644 index 81ad724..0000000 --- a/WatchKit/Specs/Fixtures/CustomCategoryNotificationController.h +++ /dev/null @@ -1,8 +0,0 @@ -#import -#import - -@interface CustomCategoryNotificationController : WKUserNotificationInterfaceController - -@property (weak, nonatomic, readonly) WKInterfaceLabel *alertLabel; - -@end diff --git a/WatchKit/Specs/Fixtures/CustomCategoryNotificationController.m b/WatchKit/Specs/Fixtures/CustomCategoryNotificationController.m deleted file mode 100644 index b66dca2..0000000 --- a/WatchKit/Specs/Fixtures/CustomCategoryNotificationController.m +++ /dev/null @@ -1,12 +0,0 @@ -#import "CustomCategoryNotificationController.h" - - -@interface CustomCategoryNotificationController() - -@property (weak, nonatomic) IBOutlet WKInterfaceLabel *alertLabel; - -@end - - -@implementation CustomCategoryNotificationController -@end \ No newline at end of file diff --git a/WatchKit/Specs/Fixtures/GlanceController.h b/WatchKit/Specs/Fixtures/GlanceController.h deleted file mode 100644 index a9f33e4..0000000 --- a/WatchKit/Specs/Fixtures/GlanceController.h +++ /dev/null @@ -1,9 +0,0 @@ -#import - - -@interface GlanceController : WKInterfaceController - -@property (weak, nonatomic, readonly) WKInterfaceLabel *titleLabel; -@property (weak, nonatomic, readonly) WKInterfaceLabel *descriptionLabel; - -@end diff --git a/WatchKit/Specs/Fixtures/GlanceController.m b/WatchKit/Specs/Fixtures/GlanceController.m deleted file mode 100644 index 5ef5dd5..0000000 --- a/WatchKit/Specs/Fixtures/GlanceController.m +++ /dev/null @@ -1,16 +0,0 @@ -#import "GlanceController.h" - - -@interface GlanceController () - -@property (weak, nonatomic) IBOutlet WKInterfaceLabel *titleLabel; -@property (weak, nonatomic) IBOutlet WKInterfaceLabel *descriptionLabel; - -@end - - -@implementation GlanceController -@end - - - diff --git a/WatchKit/Specs/Fixtures/GroupController.h b/WatchKit/Specs/Fixtures/GroupController.h deleted file mode 100644 index 5b92028..0000000 --- a/WatchKit/Specs/Fixtures/GroupController.h +++ /dev/null @@ -1,10 +0,0 @@ -#import - - -@class WKInterfaceGroup; - -@interface GroupController : WKInterfaceController - -@property (weak, nonatomic, readonly) WKInterfaceGroup *group; - -@end diff --git a/WatchKit/Specs/Fixtures/GroupController.m b/WatchKit/Specs/Fixtures/GroupController.m deleted file mode 100644 index 349c197..0000000 --- a/WatchKit/Specs/Fixtures/GroupController.m +++ /dev/null @@ -1,13 +0,0 @@ -#import "GroupController.h" -#import "WKInterfaceGroup.h" - -@interface GroupController () - -@property (weak, nonatomic) IBOutlet WKInterfaceGroup *group; - - -@end - -@implementation GroupController - -@end diff --git a/WatchKit/Specs/Fixtures/Interface.storyboard b/WatchKit/Specs/Fixtures/Interface.storyboard deleted file mode 100644 index ebb213d..0000000 --- a/WatchKit/Specs/Fixtures/Interface.storyboard +++ /dev/null @@ -1,282 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
- - - -
-
- -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-
diff --git a/WatchKit/Specs/Fixtures/InterfaceController.h b/WatchKit/Specs/Fixtures/InterfaceController.h deleted file mode 100644 index ad1931e..0000000 --- a/WatchKit/Specs/Fixtures/InterfaceController.h +++ /dev/null @@ -1,27 +0,0 @@ -#import -#import - - -@interface InterfaceController : WKInterfaceController - -@property (weak, nonatomic, readonly) WKInterfaceLabel *titleLabel; -@property (weak, nonatomic, readonly) WKInterfaceLabel *programmaticLabel; -@property (weak, nonatomic, readonly) WKInterfaceImage *image; -@property (weak, nonatomic, readonly) WKInterfaceSeparator *separator; -@property (weak, nonatomic, readonly) WKInterfaceButton *actionButton; -@property (weak, nonatomic, readonly) WKInterfaceDate *date; -@property (weak, nonatomic, readonly) WKInterfaceSwitch *theSwitch; -@property (weak, nonatomic, readonly) WKInterfaceButton *noActionButton; -@property (weak, nonatomic, readonly) WKInterfaceButton *seguePushButton; -@property (weak, nonatomic, readonly) WKInterfaceButton *segueModalButton; -@property (weak, nonatomic, readonly) WKInterfaceButton *groupButton; -@property (weak, nonatomic, readonly) WKInterfaceSlider *enabledSlider; -@property (weak, nonatomic, readonly) WKInterfaceSlider *disabledSlider; -@property (weak, nonatomic, readonly) WKInterfaceGroup *singleGroup; -@property (weak, nonatomic, readonly) WKInterfaceGroup *nestedGroup; -@property (weak, nonatomic, readonly) WKInterfaceTimer *timer; -@property (weak, nonatomic, readonly) WKInterfaceImage *corgiImageInSingleGroup; - -@property (nonatomic, readonly) NSUInteger tapCount; - -@end diff --git a/WatchKit/Specs/Fixtures/InterfaceController.m b/WatchKit/Specs/Fixtures/InterfaceController.m deleted file mode 100644 index 9d1c203..0000000 --- a/WatchKit/Specs/Fixtures/InterfaceController.m +++ /dev/null @@ -1,70 +0,0 @@ -#import "InterfaceController.h" - -@interface InterfaceController() - -@property (weak, nonatomic) IBOutlet WKInterfaceLabel *titleLabel; -@property (weak, nonatomic) IBOutlet WKInterfaceLabel *programmaticLabel; -@property (weak, nonatomic) IBOutlet WKInterfaceImage *image; -@property (weak, nonatomic) IBOutlet WKInterfaceSeparator *separator; -@property (weak, nonatomic) IBOutlet WKInterfaceButton *actionButton; -@property (weak, nonatomic) IBOutlet WKInterfaceDate *date; -@property (weak, nonatomic) IBOutlet WKInterfaceSwitch *theSwitch; -@property (weak, nonatomic) IBOutlet WKInterfaceButton *noActionButton; -@property (weak, nonatomic) IBOutlet WKInterfaceButton *seguePushButton; -@property (weak, nonatomic) IBOutlet WKInterfaceButton *segueModalButton; -@property (weak, nonatomic) IBOutlet WKInterfaceButton *groupButton; -@property (weak, nonatomic) IBOutlet WKInterfaceSlider *enabledSlider; -@property (weak, nonatomic) IBOutlet WKInterfaceSlider *disabledSlider; -@property (weak, nonatomic) IBOutlet WKInterfaceGroup *singleGroup; -@property (weak, nonatomic) IBOutlet WKInterfaceGroup *nestedGroup; -@property (weak, nonatomic) IBOutlet WKInterfaceTimer *timer; -@property (weak, nonatomic) IBOutlet WKInterfaceImage *corgiImageInSingleGroup; -@property (nonatomic) id context; - -@property (nonatomic) NSUInteger tapCount; - -@end - - -@implementation InterfaceController - -- (instancetype)init -{ - self = [super init]; - if (self) { - [self.programmaticLabel setText:@"My Initial Title"]; - } - return self; -} - -#pragma mark - WKInterfaceController - -- (void)awakeWithContext:(id)context -{ - [super awakeWithContext:context]; - self.context = context; -} - -- (void)willActivate -{ - [super willActivate]; - [self.titleLabel setText:@"My Special Text"]; -} - -- (void)didDeactivate -{ - [super didDeactivate]; - self.actionButton.enabled = NO; - self.theSwitch.enabled = NO; - self.theSwitch.on = NO; -} - -- (IBAction)didTapButton -{ - self.tapCount += 1; -} - -@end - - - diff --git a/WatchKit/Specs/Fixtures/NotificationController.h b/WatchKit/Specs/Fixtures/NotificationController.h deleted file mode 100644 index 08e0097..0000000 --- a/WatchKit/Specs/Fixtures/NotificationController.h +++ /dev/null @@ -1,8 +0,0 @@ -#import - - -@interface NotificationController : WKUserNotificationInterfaceController - -@property (weak, nonatomic, readonly) WKInterfaceLabel *alertLabel; - -@end diff --git a/WatchKit/Specs/Fixtures/NotificationController.m b/WatchKit/Specs/Fixtures/NotificationController.m deleted file mode 100644 index 02c991b..0000000 --- a/WatchKit/Specs/Fixtures/NotificationController.m +++ /dev/null @@ -1,12 +0,0 @@ -#import "NotificationController.h" - - -@interface NotificationController () - -@property (weak, nonatomic) IBOutlet WKInterfaceLabel *alertLabel; - -@end - - -@implementation NotificationController -@end diff --git a/WatchKit/Specs/Fixtures/PCKFixtureMapController.h b/WatchKit/Specs/Fixtures/PCKFixtureMapController.h deleted file mode 100644 index 174a4a5..0000000 --- a/WatchKit/Specs/Fixtures/PCKFixtureMapController.h +++ /dev/null @@ -1,11 +0,0 @@ -#import - - -@class WKInterfaceMap; - - -@interface PCKFixtureMapController : WKInterfaceController - -@property (weak, nonatomic, readonly) WKInterfaceMap *zebraMap; - -@end diff --git a/WatchKit/Specs/Fixtures/PCKFixtureMapController.m b/WatchKit/Specs/Fixtures/PCKFixtureMapController.m deleted file mode 100644 index 49b65fb..0000000 --- a/WatchKit/Specs/Fixtures/PCKFixtureMapController.m +++ /dev/null @@ -1,12 +0,0 @@ -#import "PCKFixtureMapController.h" - - -@interface PCKFixtureMapController () - -@property (weak, nonatomic) IBOutlet WKInterfaceMap *zebraMap; - -@end - - -@implementation PCKFixtureMapController -@end diff --git a/WatchKit/Specs/Fixtures/SliderController.h b/WatchKit/Specs/Fixtures/SliderController.h deleted file mode 100644 index c592cd9..0000000 --- a/WatchKit/Specs/Fixtures/SliderController.h +++ /dev/null @@ -1,8 +0,0 @@ -#import - - -@interface SliderController : WKInterfaceController - -@property (weak, nonatomic, readonly) WKInterfaceSlider *slider; - -@end diff --git a/WatchKit/Specs/Fixtures/SliderController.m b/WatchKit/Specs/Fixtures/SliderController.m deleted file mode 100644 index ea6b679..0000000 --- a/WatchKit/Specs/Fixtures/SliderController.m +++ /dev/null @@ -1,11 +0,0 @@ -#import "SliderController.h" - -@interface SliderController () - -@property (weak, nonatomic) IBOutlet WKInterfaceSlider *slider; - -@end - -@implementation SliderController - -@end diff --git a/WatchKit/Specs/Fixtures/corgi.jpeg b/WatchKit/Specs/Fixtures/corgi.jpeg deleted file mode 100644 index a008f1a062e51f6239eb0abaa165740610b75110..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7559 zcmb7oXEr~vCTfsKjOar21ksWqqlQF_L~l_- zBFgA7TC|%GME~Uep8I*8AMf#g$G7%z?7gmat@B*vTKmV|XQZ?509F%2s3CxYf&yTC zegV$r0GADdFzx^V6eirloQM5E1&@#otp?MCVUbAzO1xAw8TgTIj00 zqMWOuilUGTNFJo5tg5OiD+E>qDJm#}6+mD)kSat83{g}R`j?2DNAq=ahrsj={}to0i>?3{)Yn$mOJ;5^9%O&M+M1w`-%R;ppW)*^~K!v$Kbq$ z{xG6kZ~^|BBIlX@-x9EQ&CUN!{6BUJi~UpA-`;-yF!X=Y_#eIf5W#oR3NW-EF2L6n zeeN#$5BR)y|9hZ6j_27x^l`2MShTl4R9{o%+#>IWaf5)Buc{ar=;<5isjGuP1|S_h zeKkF>x|*Smp{|}j82k?w>h0%`@^(f4gT?#@tM|WRA$q=Olt0cFfx~(Ib9$C{aQ-;I zJGi?-dhn}4<|tQ;_n-Bj*8VF~v@a$Q?PlnU!wUV~8wlpV;;Sfu^$b;&^wrLl^W1fn zlnp>?N^0tcYKr>0psR)=|H8QaSH1sFjKX3mxLsQ(_*^Todh9qoNS z-M;5zd^QQt15i=^kw15;bD^fC{v-6Xv^2B~^gtj3Jp%*q0?P#;BQqld0}~q)GYcy# z8!PYv`$cxvi|0D)9}z3xh7| z&~b=Z(SuPwoT9q;MWa*lz;x9wIRE*XOlNAuBOsMrnAH-Re#*oHzmqtGLl#aOlQ9}c%Q23=kv zA-}}+1J%e%)%dDU-0|bDwRL-cIwVWJtP$tw)3oGcXsn^$Hl#xDj#Xj1?}Stjy8kBi zih_cob5`A5E407F9O{LnFhF&zc%_iWB*!yAV@wx%B0gL5nmL46s7OB}%$;=xz?RlFq<4m{H1SDl%#H}GZhH^1O9mXpr*_c3i zAyL@0U+A%u5vZ>fXYQM zSE*#28a!1PSao-}_H6uasDHlyVS)W#XyFh9#e2{BJO5 zrdrOI-#vgQj^7jIHkuSH-MKNQagx8f@tGoOl!xm@Cvo`GEytLuO2fBnQgn#;M~jhf z&2Fo`;Dm>b_NL{XRB6hhL(=Xg3-l`&y$P0Xp1nlB9n~418Ql?QAZ%V6Dc;Su%UJ5k ze7E8QqJf8J`5Lq4!@QuGXp4Z+xG#Q3W_WTa*5WqL0A>f641cl`%5u@ifBOsn*P@kg zomC4=7MGSB76%qiAEu7d!Q&7pHA+p(9e)f0{n?=@dXb<^@<$RX`GCATO{08MY@fQi za?*r7=>_tFlZiI+oD_$h4S%8ZrK&%bb)hq!S(zpr(u{tKZFtjI#@Vv2VH+=5;@{$M zZ(t_R@oSDIE@k}qP-i?^ZAAYalW(q(m0aywe^D!TT3_sSmi z6;p(+i`xVknQf8bnphP?$9o27C^uoS2u?SZjY7wfUs;%SZO2A%QeUFo;h?Ah!N%P(|9 z^OFMy0j2TG`}5q8<|nmzpA#zY?`LJ*h$uf2@LQSiBf@0B7zJx3P2)B_^8i~jYvFxF z6&f?O0!Y$0(W>9kX8--+*rJ*ksIHxRG-$qc28epyKAp$+1b48a#5XY#uztMIWA=>f zA0n2*o-R98Y{FkR`MWFq0*$k+OP!Exh_FmlpgW#9n`TA$NAXwQ60eN)G?uhHY>PzO z(ZwcqqbuGFlNcl)K&3TFrb)S@lkEx2p!u$Ttf|xXB#Q$xMibYG#!QRs8?}Fj9ZKz8Oq<=@Cax&2vJp=*MRs-Z|Ti6D9XJ#KD zFSK0z6!ud`(^UNpSopO^mz0lzhe_6T{^$Z5fvN11N+%Yzei39~G`4RMIRiYZ75Ts@|NWCQ1*ywy z`*?q|D< z+*WfQgq?(6iHY#Xv?TVX4rwhy_T*7#4TYUjjERm7Y2#|HLBZ&&-w!&3<(3!B?g)9> z!6PVe*{O{K*CPMguQQvz!JMaDMm%U8sR*>KFhMe4<~eZ<*|bAB`i~znkDe;-<(bdf z%Xu>k)!0AfX-Z!(p_5!H(RwfdBPx45$uAnMkz1@I02rvCO=p0a-@8uo2&sn`c5YiT zn{11%F4+)UoU%%Y^7<0tVz<8Y1WVsstY_EZLuTKjqxV$agH7`jMqKQ#*}h$!M{tM+ z8``2ky^cw3_kt_E;Zr0#Rh#bLZB5{cspr=V>Z92tGWmb}DtX{)nZ%03$jZ_IEQQU9 z3BT~3k^K9!wKSN!P4K6Wg05du>vBDM3#SA=h-a9VW?3_~DP`m!`E4AzUPC9^4t!8w z0SPpazxO-_3j?3LHd=^?pe7QTGiUFH9@)B@6ii68jOyEX_{YFTcXd3m;|zDZ8++48 z8tn3bLl!S(#VL#OpH+#$0#!>3&9o3ip)h}d)b@`__a0K<`(^IKxgn+8N4TI}Z<8b4 zk@UCgySp!hp(Zddh0v&@(5*({2DjadvO0F*5!X6$Q`&|?Oc<^(6V{EmG^Z{)NBu@x8n8PMj8b9~Yn$qHq#KeVCWmTx1IefJ^q6F+fI1kVnER;R4po0O zK#@-E==yw}uK2O<@>Z}7|fz^uNDG2Q0J-nmd;shp!xES4Mkrs--E_l?1csR+K1 z&Va*Yf;FPm`!w%BiPk=0uGZ=)e2`m4Kco>9Szi5o%m_-Zgm~81Yvt=qu?BXRp9+j5 zyN5j6$y{=BkcEYz3L_ozs~lc6tmPM=fEWyPDl(oGyVpcjQf8a^m$-i|hj(ggTDgMo z(miX53tca^oeIZllp|Iw8#3MkZf)FE*nBGPH~Mr~T`=3c!GCmokqS3(+lj@u#+?&8 zzJ1HX0}1>lU3lw`<*$v#I1Y`Ab+i0s0Um9{?jbhiG2B!i8fJHe*to>k%iUA*uC!k{?n#i@$8>`bJuybM0CAZ;NsImZs>*heVa9Yk&wagv zF1k_PK5(JcHwlrI!GfYQfE)}lnp zz-mf&zFc+qn;Rj?ctQMD*k(+rIZ{f+ZrPFf^HSSD7A`L@sxKVcw&Mzhb`5pdx8%>VcW1dr{SvVdyPd}wAR*v~{+r+@o16WhuH7?SU{8q=_QtQJ`Li2MiZfhlNtF4{F_K9oL zMF|534GHOYj9-J(Kfs@-Tz2M7xpC!YHQhH58|CwkOSkDOMO_zP zNM~EoaCoHFE>$)zf@8FMkl$G{4K|=9l6FcQu1Y#MKhEdK8}i?NSpNZ5TE8iql~L)u zmptb#{q?G1bQ=s>`#qbFVHM^VW8E0mUqv<{xz68FUOCf;C0hF`Wjs!xXnB<)rE(kzm$!kFHNC;ZavJJ^7tgokW!@0)qQle*fN4yPN+)V1xb(1)QOb#|F{+%Z=+-{_c69j^bz?1{(|*Qc>RCvGR}}EXTzCC zyTD&Y7M|b)Xu87=AsXVK_? z&CJX{xw8xIh%3F{QPL^6g@#u2>DozKQB<`J(YCLB61FSHWOS3Eda~*Z7C5=*IFR=Qx#?$F5CVp=>o}(OmIiAeTl0 zZ3oKC_M08jL)D54z$jSsyV$G;c^yA{49hwLWIR-AWc7+>&wl(%?X{sWq-Tb&$gKEn z!ICKJNGs#yqfMGy`IEu^W?OIC`xk~~8r}5+(J=|t)x{%{@wx45Ps(kIdgakN)$VDg zS766vlUQ08iE?Z4j<^JS7$ID@R#oEImJvYTJO;c%M*-7amhdSpDM#w0Tci)gas$yc zm3mo$4NuQMvJWRGFHyjA`q%fLMYl1#GYzE9bq33pv&|rWGhafGhYR_K-Uim!bU(6D z_75-D3!jRq`D-Mc%Tt&Oh!n0((T%mDzQ2?3gg(lw=z)DCj}<7#bvsKZ!2Y32l6lL1 zU0qEjJJ?6=1rFpCJN`D-j`+E-)fUb=Pzd34lg98zKcHw}Xo=Qy@3Mj|CDw0*@QjOLS`#TjeQ@FIW`!5@kX@z=NDT0Ppm=A0@h{dI|w%*C|K z9|U)fi0Z@YLQg1z6?tskThUyrm=6`Lh{jm+ zX}^~6#+L1U(3<4PwzzQmfQfBZ0*!r|ZbabcFl2;Rc6QnnBk5$TW+MK181*f#YQ808 z@J(`jTL~`epibU;hmu=wouG@pX`N$idEA%~o}wc;MKK_0{A?6RVi;t1Tz!`ml&0nI zJFYJiM&-_2NAU1jJ_D?jd3&=XESA&a<4MeHyw7VEJDaN3?f+9^jA2YJ9m3=88Xxp)vd|6Fi z{YA>ARISCgCMqZ6gHt1n%gR|u<)?Ze03TOk2g)R$LjZ$_ml-AENyTKt$)P^3gfoX6|7 z+9Qptc&BySA24~WqLCKk>U%x?ZgvsdCj?yFgZFbs)^UBg9PZq*gT>9|ky7Qxkm#j? zdzW-!9ENS*Q%_-fv4Od%U+sFA_j0gvN_J&Bdb|e}Of&=+VQ+An5iSfq4N_C@4?=ZLyq)lFY@eb*$W!4k7-4Eyc z@CidNV^%^$6#-YXb0FPbRO+QZhR;VOyXdd z)cRI843iyO&}( zdH?V<#CW9*ZE>1+V{r8HZM9a^ZxC5+euXL6-7btlcZzBeIx&IuYm7So#iT{k-#MA{ zR0BV|o8f6lcVfZevHBX}h+#_?XY2dg|7?cq&inVUQ0R~m#Q54e%|_HSD1O*TO*<$g z(}dFSHU%P*i|0Ffy_fjaHC?M1G)eO;wbB&b@x}^rqAxQUrfYz|5WM1i7pn0vl)(G( zWsMr1D{I;wmyrqc(zjaG5GSnsXml=c<}60p)Ze^PU;mztX0>H9@1aqX_8rF2?iO#l z=Mb{m z^{vURqN4U>ajZ~&L0w43a9~s2#n3W&z{D9~!-lJl4D1Xs{Q0&~KnM6x&@7_EPntB> zvFa`#!TAhEX&P@U>Qg5}J68GqiNgE`Ezst#UvWtQS+~rCm#NI68{eJ>x2%QwBIy~W zjH`yS9mFB`_>z2jE4m-uu>lnGzn*aJ=ML8(JV=g`(*LQsV88jQp?p{DV?~L%o&Ab>%I8RixNL-5~|u* zE9R8#Tq6WTHXkMjQFc1c{$=sWs{i=qqKkiYUg$*JD>1dwf+`{t^hSW4QGnCNXYw}9 zn(bv;9RXdxF6WRZ(PHQocd@`{F3}vj-G&cq9aY0vL{jVDyA9d@^>qfDuV_pTGhf!XXYI&kulKV%DrA|Z{ccDsyD&X4jcF4$J~9CyeU6%xbWWjNg) z9L|p0sSpSLD1caOMDy5`pEuIHspAAR3ZmCK15`!Xs8Ow4>+DNA?pl8jN9?#?i!{VA g5izD10DhJF^wli&Pawta4Bg_$_&XB$(b@R_0bnAgdjJ3c diff --git a/WatchKit/Specs/Fixtures/minus@2x.png b/WatchKit/Specs/Fixtures/minus@2x.png deleted file mode 100644 index f51e333e9dfdf30c4bcb72d43715171cffcc5a75..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1501 zcmeAS@N?(olHy`uVBq!ia0vp^x**KK1|+Sd9?b$$Ea{HEjtmSN`?>!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xg+b1AfjnEKjFOT9D}DX)@^Za$W4-*MbbUihOG|wN zBYh(yU7!lx;>x^|#0uTKVr7USFmqf|i<65o3raHc^AtelCMM;Vme?vOfh>Xph&xL% z(-1c06+^uR^q@XSM&D4+Kp$>4P^%3{)XF(Ox1cDsxEN@@ouLg_C5jlr9*BDXqRdpF zOF`~|t49_?S09j(Uy=_DwW7>q&%BbN%5XaFV#=5|jP$B+olw=?#7Uk#KvzW3pS3lA`Q>W@pFd)Ra6xY83m%YSRs+6DW0jyXuaY0~|$B1G$N zTRDGVj$}@Q$}LC3OQxd1XB2*dNNi{YiG!A8r(#>MB+{t;`kcV~&{$bGt)GMesvoZTA(nn|&9Ex_*8!U!CPw?&g_i%wJik5wmv*Bdj=-@G8lRJF2GYhKL{mk`^6O^amydy6G+UXg!x9)q-)OU@0=jQgfPw@vO; zzPwy?r}U-p^lcw6dj}Y{99kYQh2gmDgB9CW3%-yjnSE*cZvB9BYYYxH?3g{x;4ABl zZOayK&H0$^F8SI&{JrdC`wI$dY%}(pkUkQVm2);~>Z~Om%}H@LRveX@*7V3Dtx8w? z?^7i!ok_}Dj^3Xe@Oq(M_=v}#pHjE$dQ?@ z^!?ZQkc^hBee3$7xEK0fvz`_VvG!ykK?B@;A#Culc$MGJ+P| zU_N17a?Wo`Nny-HMrMn$Hr-G2pWWXe^LIw3YyB7A%zoCtD{dc4immwGdfwXcgz$9s zqculw^hVWHnJ?!JGJC7={isl}s#xyL@@6f!raJXq=Q*qRYcjMfjCTvn<@`F|E4cC2 zn<=K3^P6hKoBq|mOcUMf8oD;-w5()E*2SD-%A3|z&J;FpPrv*zE$ia6zYD`#>t|Iw x(#zSz|8<+jpZN>)WW3fdxySP*Z9%N@2l2m|x_nBnW?F(uR!>(ymvv4FO#ozRXafKM diff --git a/WatchKit/Specs/Fixtures/plus@2x.png b/WatchKit/Specs/Fixtures/plus@2x.png deleted file mode 100644 index 9c4370e0cbdcbe5524da7b15c580677f9751cc48..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1215 zcmeAS@N?(olHy`uVBq!ia0vp^x**KK1|+Sd9?b$$Ea{HEjtmSN`?>!lvI6-E$sR$z z3=CCj3=9n|3=F@3LJcn%7)lKo7+xg+b1AfjnEKjFOT9D}DX)@^Za$W4-*MbbUihOG|wN zBYh(yU7!lx;>x^|#0uTKVr7USFmqf|i<65o3raHc^AtelCMM;Vme?vOfh>Xph&xL% z(-1c06+^uR^q@XSM&D4+Kp$>4P^%3{)XF(Ox1cDsxEN@@ouLg_C5jlr9*BDXqRdpF zOF`~|t49_?S09j(Uy=_DwW7>q&%BbN%5XaFV#rc6&4$B+olw=?WLqyuG+7ppcmJ0Ewlwn!;B6Hw5Z@SKnDQsj0W zzP_?k5>}a=-V2Y4-Fo~$JRK_Fpt$IUrN=}!bsK#Lxo8}$+J|{}s zu{bWM+I1*JFl_-J`vu?q89R0@-*|B2$A!C}sR#$Os{Lu(@#QD?l?SR*7QFBYlxMF! zS-OMqr8Lhyi^=C2edZmAl`VAeJbh+{@r~6>@>$P0tor&YKQH}~o5k1r_Pefl6?4bU zRPW|Z*t2iNlBJ(5u04rQby{k~ziTJg6w?WNgp>N_KlIVDUVXX#^}BtIcb@K+5oZ=n zn{T{OXkY8L(ogQ!829}(T=Tq4SmcJS4P!_$^<*U}N=%rYYw&&u*G^O=?O>X0?{lZl~kI5e?Z9Z7=J1jjyTsoM~QiWmnfX zqnw7@9xK|Uy;r_gaCTmFWYU>-&9kQ5-T|G*UYx3F*{)J8A^TZxk8g5V|2i$5rfaK9 zINv*_MOztoRL(qBAZzS(E%$L%b#$};jH|z7yY~1z_RzO6`Xd=;xXanH zJ9EwHWEJ1^X?cH+TwC%u*?sZ4@-&XAOOt~y?aAIz-mhaT?z2pJdG6FBb8iYSk-z+| zylbM-+@Hzo=Pz-;wB>i>)6B5)#b52kf8Jq}{J)SN9Q%KSe=whPoN<4n$3AaR+2QHx K=d#Wzp$Pym#ps~` diff --git a/WatchKit/Specs/Helpers/NSBundle+BuildHelper.h b/WatchKit/Specs/Helpers/NSBundle+BuildHelper.h deleted file mode 100644 index 04ea0db..0000000 --- a/WatchKit/Specs/Helpers/NSBundle+BuildHelper.h +++ /dev/null @@ -1,7 +0,0 @@ -#import - -@interface NSBundle (BuildHelper) - -+ (instancetype)buildHelperBundle; - -@end diff --git a/WatchKit/Specs/Helpers/NSBundle+BuildHelper.m b/WatchKit/Specs/Helpers/NSBundle+BuildHelper.m deleted file mode 100644 index a35981d..0000000 --- a/WatchKit/Specs/Helpers/NSBundle+BuildHelper.m +++ /dev/null @@ -1,10 +0,0 @@ -#import "NSBundle+BuildHelper.h" - -@implementation NSBundle (BuildHelper) - -+ (instancetype)buildHelperBundle { - NSURL *embeddedBundleURL = [[NSBundle mainBundle] URLForResource:@"SpecBuildHelper" withExtension:@"app"]; - return [self bundleWithURL:embeddedBundleURL]; -} - -@end diff --git a/WatchKit/Specs/Rakefile b/WatchKit/Specs/Rakefile deleted file mode 100644 index 50146f2..0000000 --- a/WatchKit/Specs/Rakefile +++ /dev/null @@ -1,119 +0,0 @@ -require 'pathname' -require 'tmpdir' - -module CedarTargetSpecs - UI_SPECS_TARGET_NAME = "Specs" - CONFIGURATION = "Release" - - PROJECT_ROOT = Pathname.new(File.dirname(__FILE__)).parent.to_s - BUILD_DIR = File.join(PROJECT_ROOT, "build") - - class << self - def in_project_dir - original_dir = Dir.pwd - Dir.chdir(PROJECT_ROOT) - - yield - - ensure - Dir.chdir(original_dir) - end - - def destination_for_ios_sdk(version) - if `xcodebuild -showsdks`.include? "iphonesimulator8.0" - "OS=#{version},name=iPhone 5s" - else - "OS=#{version},name=iPhone 4s" - end - end - - def deployment_target_sdk_version - in_project_dir do - `xcodebuild -showBuildSettings -target #{UI_SPECS_TARGET_NAME} | grep IPHONEOS_DEPLOYMENT_TARGET | awk '{print $3 }'`.strip - end - end - - def deployment_target_sdk_dir - @sdk_dir ||= %x[ xcrun -sdk iphonesimulator#{deployment_target_sdk_version} -show-sdk-path ].strip - end - - # Xcode 4.3 stores its /Developer inside /Applications/Xcode.app, Xcode 4.2 stored it in /Developer - def xcode_developer_dir - `xcode-select -print-path`.strip - end - - def build_dir(effective_platform_name) - File.join(BUILD_DIR, CONFIGURATION + effective_platform_name) - end - - def is_run_unit_tests_deprecated? - system("cat #{xcode_developer_dir}/Tools/RunUnitTests | grep -q 'RunUnitTests is obsolete.'") - end - - def system_or_exit(cmd, stdout = nil) - puts "Executing #{cmd}" - cmd += " >#{stdout}" if stdout - system(cmd) or raise "******** Build failed ********" - end - - def run_cmd_and_grep_for_failure(cmd) - puts "Executing #{cmd}" - puts result = %x[#{cmd} 2>&1] - if result.index(/Test Case.*failed/) - exit(1) - else - exit(0) - end - end - - def with_env_vars(env_vars) - old_values = {} - env_vars.each do |key,new_value| - old_values[key] = ENV[key] - ENV[key] = new_value - end - - yield - - env_vars.each_key do |key| - ENV[key] = old_values[key] - end - end - - def output_file(target) - output_dir = if ENV['IS_CI_BOX'] - ENV['CC_BUILD_ARTIFACTS'] - else - Dir.mkdir(BUILD_DIR) unless File.exists?(BUILD_DIR) - BUILD_DIR - end - - output_file = File.join(output_dir, "#{target}.output") - puts "Output: #{output_file}" - output_file - end - - def kill_simulator - system %Q[killall -m -KILL "gdb"] - system %Q[killall -m -KILL "otest"] - system %Q[killall -m -KILL "iPhone Simulator"] - end - end -end - -desc "Clean build directory" -task :clean_Specs do - CedarTargetSpecs.system_or_exit "rm -rf #{CedarTargetSpecs::BUILD_DIR}/*", CedarTargetSpecs.output_file("clean") -end - -desc "Build Specs OCUnit application specs" -task :build_Specs => :clean_Specs do - CedarTargetSpecs.kill_simulator - CedarTargetSpecs.system_or_exit "pushd #{CedarTargetSpecs::PROJECT_ROOT} && xcodebuild -target 'Specs' -configuration #{CedarTargetSpecs::CONFIGURATION} -sdk iphonesimulator#{CedarTargetSpecs.deployment_target_sdk_version} clean build ARCHS=i386 TEST_AFTER_BUILD=NO GCC_SYMBOLS_PRIVATE_EXTERN=NO SYMROOT='#{CedarTargetSpecs::BUILD_DIR}' && popd", CedarTargetSpecs.output_file("Specs-AppBuild") - CedarTargetSpecs.system_or_exit "pushd #{CedarTargetSpecs::PROJECT_ROOT} && xcodebuild -target #{CedarTargetSpecs::UI_SPECS_TARGET_NAME} -configuration #{CedarTargetSpecs::CONFIGURATION} -sdk iphonesimulator#{CedarTargetSpecs.deployment_target_sdk_version} build ARCHS=i386 GCC_SYMBOLS_PRIVATE_EXTERN=NO TEST_AFTER_BUILD=NO SYMROOT='#{CedarTargetSpecs::BUILD_DIR}' && popd", CedarTargetSpecs.output_file("Specs-SpecBuild") -end - -desc "Run Specs OCUnit application specs" -task :Specs => :build_Specs do - CedarTargetSpecs.system_or_exit "cd #{CedarTargetSpecs::PROJECT_ROOT} && xcodebuild test -scheme WatchKit -configuration #{CedarTargetSpecs::CONFIGURATION} -destination '#{CedarTargetSpecs.destination_for_ios_sdk(CedarTargetSpecs.deployment_target_sdk_version)}' ARCHS=i386 SYMROOT='#{CedarTargetSpecs::BUILD_DIR}' | tee /dev/stderr | grep -q 'with 0 failures'" -end diff --git a/WatchKit/Specs/SpecBuildHelper-Info.plist b/WatchKit/Specs/SpecBuildHelper-Info.plist deleted file mode 100644 index 660aa33..0000000 --- a/WatchKit/Specs/SpecBuildHelper-Info.plist +++ /dev/null @@ -1,35 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleDisplayName - - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - com.pivotallabs.PivotalCoreKit.watchkitapp - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - APPL - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - 1 - UISupportedInterfaceOrientations - - UIInterfaceOrientationPortrait - UIInterfaceOrientationPortraitUpsideDown - - WKCompanionAppBundleIdentifier - - WKWatchKitApp - - - diff --git a/WatchKit/Specs/WatchKit/PCKInterfaceControllerLoaderSpec.mm b/WatchKit/Specs/WatchKit/PCKInterfaceControllerLoaderSpec.mm deleted file mode 100644 index ec408b7..0000000 --- a/WatchKit/Specs/WatchKit/PCKInterfaceControllerLoaderSpec.mm +++ /dev/null @@ -1,692 +0,0 @@ -#import "Cedar.h" -#import "InterfaceController.h" -#import "NotificationController.h" -#import "GlanceController.h" -#import "CustomCategoryNotificationController.h" -#import "PCKInterfaceControllerLoader.h" -#import "NSBundle+BuildHelper.h" - -using namespace Cedar::Matchers; -using namespace Cedar::Doubles; - - -SPEC_BEGIN(PCKInterfaceControllerLoaderSpec) - -describe(@"PCKInterfaceControllerLoader", ^{ - __block PCKInterfaceControllerLoader *subject; - __block NSBundle *buildHelperBundle; - - beforeEach(^{ - buildHelperBundle = [NSBundle buildHelperBundle]; - subject = [[PCKInterfaceControllerLoader alloc] init]; - }); - - describe(@"providing an instance of the root WKInterfaceController that lives in a storyboard", ^{ - context(@"when there is no storyboard matching the name", ^{ - it(@"should raise an exception with a helpful message", ^{ - ^{ - [subject rootInterfaceControllerForStoryboardNamed:@"NonExistentName" - inBundle:buildHelperBundle]; - } - should raise_exception - .with_name(NSInvalidArgumentException) - .with_reason(@"No storyboard named 'NonExistentName' exists in the test target. Did you forget to add it?"); - }); - }); - - xdescribe(@"This cannot be tested until Xcode supports having multiple Watchkit storyboards", ^{ - // See: http://www.openradar.appspot.com/19781408 - context(@"when there is an interface controller instance in an existing storyboard but its class doesn't exist in the current target", ^{ - it(@"should raise an exception with a helpful message", ^{ - NSException *theException; - @try { - [subject rootInterfaceControllerForStoryboardNamed:@"StoryboardWithInvalidRootController" - inBundle:buildHelperBundle]; - } - @catch (NSException *exception) { - theException = exception; - } - @finally { - theException.name should equal(NSInvalidArgumentException); - theException.reason should equal(@"No class named 'NonExistentController' exists in the current target. Did you forget to add it to the test target?"); - } - }); - }); - - context(@"when there root interface controller has objects associated with it that do not have a corresponding outlet", ^{ - it(@"should not throw a runtime exception, because it doesn't throw one in production", ^{ - ^{ - [subject rootInterfaceControllerForStoryboardNamed:@"StoryboardWithRootControllerWithInvalidAssociatedObjects" - inBundle:buildHelperBundle]; } - should_not raise_exception; - }); - }); - }); - - context(@"when there is a root interface controller", ^{ - __block InterfaceController *controller; - - beforeEach(^{ - controller = [subject rootInterfaceControllerForStoryboardNamed:@"Interface" - inBundle:buildHelperBundle]; - }); - - it(@"should return the correct type of interface controller", ^{ - controller should be_instance_of([InterfaceController class]); - }); - - describe(@"the interface controller's properties", ^{ - describe(@"the title label", ^{ - __block WKInterfaceLabel *titleLabel; - beforeEach(^{ - titleLabel = controller.titleLabel; - }); - - it(@"should have the correct text", ^{ - titleLabel.text should equal(@"Some text"); - }); - - it(@"should have the correct text color", ^{ - titleLabel.textColor should equal([UIColor colorWithRed:255.0f / 255.0f - green:125.0f / 255.0f - blue:55.0f / 255.0f - alpha:1.0]); - }); - }); - - describe(@"the button", ^{ - __block WKInterfaceButton *button; - beforeEach(^{ - button = controller.actionButton; - }); - - it(@"should have the correct text", ^{ - button.title should equal(@"actionButton"); - }); - - it(@"should have the correct text color", ^{ - button.color should equal([UIColor colorWithRed:170.0f / 255.0f - green:170.0f / 255.0f - blue:170.0f / 255.0f - alpha:1.0]); - }); - - it(@"should have the correct default enabled property", ^{ - button.enabled should be_truthy; - }); - - it(@"should allow the enabled property to be toggled programatically", ^{ - [controller didDeactivate]; - button.enabled should_not be_truthy; - }); - }); - - describe(@"the date", ^{ - __block WKInterfaceDate *date; - beforeEach(^{ - date = controller.date; - }); - - it(@"should display date in the correct format", ^{ - date.format should equal(@"yy-M-d"); - }); - - it(@"should display the correct color", ^{ - date.textColor should equal([UIColor colorWithRed:170.0f / 255.0f - green:170.0f / 255.0f - blue:170.0f / 255.0f - alpha:1.0]); - }); - }); - - describe(@"the switch", ^{ - __block WKInterfaceSwitch *theSwitch; - beforeEach(^{ - theSwitch = controller.theSwitch; - }); - - it(@"should have the correct default enabled property", ^{ - theSwitch.enabled should be_truthy; - }); - - it(@"should allow the enabled property to be toggled programatically", ^{ - [controller didDeactivate]; - theSwitch.enabled should_not be_truthy; - }); - - it(@"should have the correct default on property", ^{ - theSwitch.on should be_truthy; - }); - - it(@"should allow the on property to be toggled programatically", ^{ - [controller didDeactivate]; - theSwitch.on should_not be_truthy; - }); - }); - - describe(@"the slider", ^{ - - context(@"when enabled in the storyboard", ^{ - __block WKInterfaceSlider *enabledSlider; - - beforeEach(^{ - enabledSlider = controller.enabledSlider; - }); - - it(@"should have the correct default enabled property", ^{ - enabledSlider.enabled should be_truthy; - }); - - it(@"should have the correct value", ^{ - enabledSlider.value should be_close_to(2.7).within(FLT_EPSILON); - }); - - it(@"should have the number of steps", ^{ - enabledSlider.numberOfSteps should equal(8); - }); - - it(@"should have the correct minimum", ^{ - enabledSlider.minimum should equal(2); - }); - - it(@"should have the correct maximum", ^{ - enabledSlider.maximum should equal(10); - }); - - it(@"should have the correct minimum image", ^{ - enabledSlider.minimumImage should equal([UIImage imageNamed:@"minus"]); - }); - - it(@"should have the correct maximum image", ^{ - enabledSlider.maximumImage should equal([UIImage imageNamed:@"plus"]); - }); - - it(@"should have the correct continuous value", ^{ - enabledSlider.continuous should be_truthy; - }); - }); - - context(@"when disabled in the storyboard", ^{ - __block WKInterfaceSlider *disabledSlider; - - beforeEach(^{ - disabledSlider = controller.disabledSlider; - }); - - it(@"should have the correct disabled property", ^{ - disabledSlider.enabled should_not be_truthy; - }); - }); - }); - - describe(@"the group", ^{ - context(@"single group", ^{ - __block WKInterfaceGroup *singleGroup; - - beforeEach(^{ - singleGroup = controller.singleGroup; - }); - - it(@"should have all of the containing interface objects specified in the storyboard", ^{ - singleGroup.items.count should equal(2); - - WKInterfaceImage *firstImage = singleGroup.items[0]; - WKInterfaceImage *secondImage = singleGroup.items[1]; - firstImage.image should equal([UIImage imageNamed:@"corgi.jpeg"]); - secondImage.image should equal([UIImage imageNamed:@"corgi.jpeg"]); - }); - - it(@"should set properties inside of groups correctly", ^{ - singleGroup.items[1]should be_same_instance_as(controller.corgiImageInSingleGroup); - }); - }); - - context(@"nested group", ^{ - __block WKInterfaceGroup *nestedGroup; - beforeEach(^{ - nestedGroup = controller.nestedGroup; - }); - - it(@"should correctly deserialize nested groups", ^{ - WKInterfaceGroup *innerGroup = nestedGroup.items.firstObject; - WKInterfaceImage *image = innerGroup.items.firstObject; - image.image should equal([UIImage imageNamed:@"corgi.jpeg"]); - }); - }); - }); - - describe(@"the timer", ^{ - __block WKInterfaceTimer *timer; - beforeEach(^{ - timer = controller.timer; - }); - - it(@"should correctly set the format string with a bitmask", ^{ - NSCalendarUnit units; - units = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitWeekOfMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond; - - timer.units should equal(units); - }); - - it(@"should have the correct enabled property", ^{ - timer.enabled should be_truthy; - }); - }); - - it(@"should have a image (when one was specified in the storyboard)", ^{ - controller.image.image should equal([UIImage imageNamed:@"corgi.jpeg"]); - }); - - it(@"should have a separator (when one was specified in the storyboard)", ^{ - controller.separator.color should equal([UIColor colorWithRed:85.0f / 255.0f - green:85.0f / 255.0f - blue:85.0f / 255.0f - alpha:1.0]); - }); - }); - }); - }); - - describe(@"providing an instance of a WKInterfaceController subclass that lives in a storyboard's plist, inside the test bundle", ^{ - - context(@"when there is no storyboard matching the name", ^{ - it(@"should raise an exception with a helpful message", ^{ - - ^{ - [subject interfaceControllerWithStoryboardName:@"NonExistantName" - identifier:@"DoesntMatter" - bundle:buildHelperBundle]; } - should raise_exception - .with_name(NSInvalidArgumentException) - .with_reason(@"No storyboard named 'NonExistantName' exists in the test target. Did you forget to add it?"); - - }); - }); - - context(@"when there is no interface controller instance in an existing storyboard that matches the object id", ^{ - it(@"should raise an exception with a helpful message", ^{ - ^{ [subject interfaceControllerWithStoryboardName:@"Interface" - identifier:@"NonExistantController" - bundle:buildHelperBundle]; } - should raise_exception - .with_name(NSInvalidArgumentException) - .with_reason(@"No interface controller named 'NonExistantController' exists in the storyboard 'Interface'. Please check the storyboard and try again."); - }); - }); - - context(@"when there is an interface controller instance in an existing storyboard but its class doesn't exist in the current target", ^{ - it(@"should raise an exception with a helpful message", ^{ - ^{ [subject interfaceControllerWithStoryboardName:@"Interface" - identifier:@"myNonExistantController" - bundle:buildHelperBundle]; } - should raise_exception - .with_name(NSInvalidArgumentException) - .with_reason(@"No class named 'NonExistantController' exists in the current target. Did you forget to add it to the test target?"); - }); - }); - - context(@"when there is an interface controller matching the object id", ^{ - __block InterfaceController *controller; - - beforeEach(^{ - controller = [subject interfaceControllerWithStoryboardName:@"Interface" - identifier:@"AgC-eL-Hgc" - bundle:buildHelperBundle]; - }); - - it(@"should return the correct type of interface controller", ^{ - controller should be_instance_of([InterfaceController class]); - }); - - describe(@"the interface controller's properties", ^{ - describe(@"the title label", ^{ - __block WKInterfaceLabel *titleLabel; - beforeEach(^{ - titleLabel = controller.titleLabel; - }); - - it(@"should have the correct text", ^{ - titleLabel.text should equal(@"Some text"); - }); - - it(@"should have the correct text color", ^{ - titleLabel.textColor should equal([UIColor colorWithRed:255.0f / 255.0f - green:125.0f / 255.0f - blue:55.0f / 255.0f - alpha:1.0]); - }); - }); - describe(@"a button with text content", ^{ - __block WKInterfaceButton *button; - beforeEach(^{ - button = controller.actionButton; - }); - - it(@"should have the correct text", ^{ - button.title should equal(@"actionButton"); - }); - - it(@"should have the correct text color", ^{ - button.color should equal([UIColor colorWithRed:170.0f / 255.0f - green:170.0f / 255.0f - blue:170.0f / 255.0f - alpha:1.0]); - }); - - it(@"should have the correct default enabled property", ^{ - button.enabled should be_truthy; - }); - - it(@"should not have a content property", ^{ - button.content should be_nil; - }); - - it(@"should allow the enabled property to be toggled programatically", ^{ - [controller didDeactivate]; - button.enabled should_not be_truthy; - }); - }); - - describe(@"a button with group content", ^{ - __block WKInterfaceButton *button; - beforeEach(^{ - button = controller.groupButton; - }); - - describe(@"its group", ^{ - __block WKInterfaceGroup *group; - beforeEach(^{ - group = button.content; - }); - - it(@"should have the correct number of items", ^{ - group.items.count should equal(2); - }); - }); - }); - - describe(@"the date", ^{ - __block WKInterfaceDate *date; - beforeEach(^{ - date = controller.date; - }); - - it(@"should display date in the correct format", ^{ - date.format should equal(@"yy-M-d"); - }); - - it(@"should display the correct color", ^{ - date.textColor should equal([UIColor colorWithRed:170.0f / 255.0f - green:170.0f / 255.0f - blue:170.0f / 255.0f - alpha:1.0]); - }); - }); - - describe(@"the switch", ^{ - __block WKInterfaceSwitch *theSwitch; - beforeEach(^{ - theSwitch = controller.theSwitch; - }); - - it(@"should have the correct default enabled property", ^{ - theSwitch.enabled should be_truthy; - }); - - it(@"should allow the enabled property to be toggled programatically", ^{ - [controller didDeactivate]; - theSwitch.enabled should_not be_truthy; - }); - - it(@"should have the correct default on property", ^{ - theSwitch.on should be_truthy; - }); - - it(@"should allow the on property to be toggled programatically", ^{ - [controller didDeactivate]; - theSwitch.on should_not be_truthy; - }); - }); - - describe(@"the slider", ^{ - - context(@"when enabled in the storyboard", ^{ - __block WKInterfaceSlider *enabledSlider; - - beforeEach(^{ - enabledSlider = controller.enabledSlider; - }); - - it(@"should have the correct default enabled property", ^{ - enabledSlider.enabled should be_truthy; - }); - - it(@"should have the correct value", ^{ - enabledSlider.value should be_close_to(2.7).within(FLT_EPSILON); - }); - - it(@"should have the number of steps", ^{ - enabledSlider.numberOfSteps should equal(8); - }); - - it(@"should have the correct minimum", ^{ - enabledSlider.minimum should equal(2); - }); - - it(@"should have the correct maximum", ^{ - enabledSlider.maximum should equal(10); - }); - - it(@"should have the correct minimum image", ^{ - enabledSlider.minimumImage should equal([UIImage imageNamed:@"minus"]); - }); - - it(@"should have the correct maximum image", ^{ - enabledSlider.maximumImage should equal([UIImage imageNamed:@"plus"]); - }); - - it(@"should have the correct continuous value", ^{ - enabledSlider.continuous should be_truthy; - }); - }); - - context(@"when disabled in the storyboard", ^{ - __block WKInterfaceSlider *disabledSlider; - - beforeEach(^{ - disabledSlider = controller.disabledSlider; - }); - - it(@"should have the correct disabled property", ^{ - disabledSlider.enabled should_not be_truthy; - }); - }); - }); - - describe(@"the group", ^{ - context(@"single group", ^{ - __block WKInterfaceGroup *singleGroup; - - beforeEach(^{ - singleGroup = controller.singleGroup; - }); - - it(@"should have all of the containing interface objects specified in the storyboard", ^{ - singleGroup.items.count should equal(2); - - WKInterfaceImage *firstImage = singleGroup.items[0]; - WKInterfaceImage *secondImage = singleGroup.items[1]; - firstImage.image should equal([UIImage imageNamed:@"corgi.jpeg"]); - secondImage.image should equal([UIImage imageNamed:@"corgi.jpeg"]); - }); - - it(@"should set properties inside of groups correctly", ^{ - singleGroup.items[1] should be_same_instance_as(controller.corgiImageInSingleGroup); - }); - }); - - context(@"nested group", ^{ - __block WKInterfaceGroup *nestedGroup; - beforeEach(^{ - nestedGroup = controller.nestedGroup; - }); - - it(@"should correctly deserialize nested groups", ^{ - WKInterfaceGroup *innerGroup = nestedGroup.items.firstObject; - WKInterfaceImage *image = innerGroup.items.firstObject; - image.image should equal([UIImage imageNamed:@"corgi.jpeg"]); - }); - }); - }); - - describe(@"the timer", ^{ - __block WKInterfaceTimer *timer; - beforeEach(^{ - timer = controller.timer; - }); - - it(@"should correctly set the format string with a bitmask", ^{ - NSCalendarUnit units; - units = NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitWeekOfMonth | NSCalendarUnitDay | NSCalendarUnitHour | NSCalendarUnitMinute | NSCalendarUnitSecond; - - timer.units should equal(units); - }); - - it(@"should have the correct enabled property", ^{ - timer.enabled should be_truthy; - }); - }); - - it(@"should have a image (when one was specified in the storyboard)", ^{ - controller.image.image should equal([UIImage imageNamed:@"corgi.jpeg"]); - }); - - it(@"should have a separator (when one was specified in the storyboard)", ^{ - controller.separator.color should equal([UIColor colorWithRed:85.0f / 255.0f - green:85.0f / 255.0f - blue:85.0f / 255.0f - alpha:1.0]); - }); - }); - }); - - context(@"when there is an interface objects associated with the controller that does not have a corresponding outlet", ^{ - it(@"should not throw a runtime exception, because it doesn't throw one in production", ^{ - ^{[subject interfaceControllerWithStoryboardName:@"Interface" - identifier:@"AgC-eL-Hgc" - bundle:buildHelperBundle]; } - should_not raise_exception; - }); - }); - }); - - describe(@"providing an instance of a WKUserNotificationInterfaceController subclass configured as the default notification interface that lives in a storyboard's plist", ^{ - __block NotificationController *notificationController; - - context(@"when there is no storyboard matching the name", ^{ - it(@"should raise an exception with a helpful message", ^{ - - ^{ - [subject dynamicNotificationInterfaceControllerWithStoryboardName:@"NonExistantName" - notificationCategory:nil - bundle:buildHelperBundle]; } - should raise_exception - .with_name(NSInvalidArgumentException) - .with_reason(@"No storyboard named 'NonExistantName' exists in the test target. Did you forget to add it?"); - }); - }); - - context(@"when there is a notification scene", ^{ - beforeEach(^{ - notificationController = [subject dynamicNotificationInterfaceControllerWithStoryboardName:@"Interface" - notificationCategory:nil - bundle:buildHelperBundle]; - }); - - it(@"should have its properties populated appropriately", ^{ - notificationController.alertLabel should have_received(@selector(setText:)).with(@"Fancy Alert"); - }); - }); - }); - - describe(@"providing an instance of a WKUserNotificationInterfaceController subclass configured as the notification interface for a specific notification category that lives in a storyboard's plist", ^{ - - __block CustomCategoryNotificationController *customCategoryNotificationController; - - context(@"when there is no storyboard matching the name", ^{ - it(@"should raise an exception with a helpful message", ^{ - ^{ - [subject dynamicNotificationInterfaceControllerWithStoryboardName:@"NonExistantName" - notificationCategory:nil - bundle:buildHelperBundle]; } - should raise_exception - .with_name(NSInvalidArgumentException) - .with_reason(@"No storyboard named 'NonExistantName' exists in the test target. Did you forget to add it?"); - - }); - }); - - context(@"when there is a notification scene", ^{ - beforeEach(^{ - customCategoryNotificationController = [subject dynamicNotificationInterfaceControllerWithStoryboardName:@"Interface" - notificationCategory:@"com.pivotal.core.watch" - bundle:buildHelperBundle]; - }); - - it(@"should instantiate the custom controller", ^{ - customCategoryNotificationController should be_instance_of([CustomCategoryNotificationController class]); - }); - - it(@"should have its properties populated appropriately", ^{ - customCategoryNotificationController.alertLabel should have_received(@selector(setText:)).with(@"Category Alert"); - }); - }); - }); - - describe(@"providing an instance of a glance controller that lives in a storyboard's plist", ^{ - __block GlanceController *glanceController; - - context(@"when there is no storyboard matching the name", ^{ - it(@"should raise an exception with a helpful message", ^{ - - ^{ - [subject glanceInterfaceControllerWithStoryboardName:@"NonExistantName" - identifier:@"0uZ-2p-rRc" - bundle:buildHelperBundle]; } - should raise_exception - .with_name(NSInvalidArgumentException) - .with_reason(@"No storyboard named 'NonExistantName' exists in the test target. Did you forget to add it?"); - - }); - }); - - context(@"when there is a storyboard but the identifier is bad", ^{ - it(@"should raise an exception with a helpful message", ^{ - - ^{ - [subject glanceInterfaceControllerWithStoryboardName:@"Interface" - identifier:@"NonExistantController" - bundle:buildHelperBundle]; } - should raise_exception - .with_name(NSInvalidArgumentException) - .with_reason(@"No interface controller named 'NonExistantController' exists in the storyboard 'Interface'. Please check the storyboard and try again."); - - }); - }); - - context(@"when there is a glance scene", ^{ - beforeEach(^{ - glanceController = [subject glanceInterfaceControllerWithStoryboardName:@"Interface" - identifier:@"0uZ-2p-rRc" - bundle:buildHelperBundle]; - }); - - it(@"should have its properties populated appropriately", ^{ - glanceController.titleLabel should have_received(@selector(setText:)).with(@"My Special Title"); - glanceController.descriptionLabel should have_received(@selector(setText:)).with(@"My Special Description"); - }); - }); - }); -}); - -SPEC_END diff --git a/WatchKit/Specs/WatchKit/PCKMessageCapturerSpec.mm b/WatchKit/Specs/WatchKit/PCKMessageCapturerSpec.mm deleted file mode 100644 index 88f104a..0000000 --- a/WatchKit/Specs/WatchKit/PCKMessageCapturerSpec.mm +++ /dev/null @@ -1,66 +0,0 @@ -#import "Cedar.h" -#import "PCKMessageCapturer.h" - -using namespace Cedar::Matchers; -using namespace Cedar::Doubles; - -@interface PCKSpecMessageCapturer : PCKMessageCapturer -- (void)setBurgled:(NSString *)burgleStatus; -+ (void)setBlargled:(NSString *)blargleStatus; -@end -@implementation PCKSpecMessageCapturer -- (void)setBurgled:(NSString *)burgleStatus { } -+ (void)setBlargled:(NSString *)blargleStatus { } -@end - -SPEC_BEGIN(PCKMessageCapturerSpec) - -describe(@"PCKMessageCapturer", ^{ - __block PCKSpecMessageCapturer *subject; - - beforeEach(^{ - subject = [[PCKSpecMessageCapturer alloc] init]; - }); - - describe(@"resetting messages sent to an instance", ^{ - beforeEach(^{ - [subject setBurgled:@"burgle-burgle"]; - [subject reset_sent_messages]; - }); - - it(@"should not hold onto any more sent messages", ^{ - [subject sent_messages] should be_empty; - }); - - it(@"should have declared that it received the selector", ^{ - subject should_not have_received(@selector(setBurgled:)); - }); - }); - - describe(@"resetting messages sent to the class", ^{ - beforeEach(^{ - [PCKSpecMessageCapturer setBlargled:@"bargle-bargle"]; - [subject reset_sent_messages]; - }); - - afterEach(^{ - stop_spying_on([PCKSpecMessageCapturer class]); - }); - - it(@"should not hold onto any more sent messages", ^{ - [PCKSpecMessageCapturer sent_class_messages] should be_empty; - }); - - it(@"should not have_received the selector anymore", ^{ - [PCKSpecMessageCapturer class] should_not have_received(@selector(setBlargled:)); - }); - }); -}); - -SPEC_END - -@implementation PCKMessageCapturer (HaveReceivedMatcherSupport) -+ (NSArray *)sent_messages { - return [self sent_class_messages]; -} -@end diff --git a/WatchKit/Specs/WatchKit/WKExtensionSpec.mm b/WatchKit/Specs/WatchKit/WKExtensionSpec.mm deleted file mode 100644 index 398e238..0000000 --- a/WatchKit/Specs/WatchKit/WKExtensionSpec.mm +++ /dev/null @@ -1,61 +0,0 @@ -#import "Cedar.h" -#import "WKExtension.h" -#import "WKExtension+Spec.h" -#import "WKInterfaceController.h" - -using namespace Cedar::Matchers; -using namespace Cedar::Doubles; - -SPEC_BEGIN(WKExtensionSpec) - -describe(@"WKExtension", ^{ - __block WKExtension *subject; - - beforeEach(^{ - subject = [[WKExtension alloc] init]; - }); - - describe(@"public methods", ^{ - it(@"should record the invocation for -openSystemURL:", ^{ - NSURL *URL = [NSURL URLWithString:@"http://pivotal.io"]; - [subject openSystemURL:URL]; - - subject should have_received(@selector(openSystemURL:)).with(URL); - }); - - it(@"should allow setting and getting the delegate object", ^{ - id delegate = nice_fake_for(@protocol(WKExtensionDelegate)); - subject.delegate = delegate; - - subject.delegate should be_same_instance_as(delegate); - }); - - it(@"should allow setting and getting the rootInterfaceController", ^{ - WKInterfaceController *controller = [[WKInterfaceController alloc] init]; - subject.rootInterfaceController = controller; - - subject.rootInterfaceController should be_same_instance_as(controller); - }); - }); - - describe(@"class methods", ^{ - __block WKExtension *previousSharedExtension; - - it(@"should allow setting and getting the shared extension", ^{ - [WKExtension setSharedExtension:subject]; - [WKExtension sharedExtension] should be_same_instance_as(subject); - }); - - it(@"should generate a WKExtension instance to be the shared extension when none is provided", ^{ - previousSharedExtension = [WKExtension sharedExtension]; - previousSharedExtension should be_instance_of([WKExtension class]); - [WKExtension sharedExtension] should be_same_instance_as(previousSharedExtension); - }); - - it(@"should generate a fresh instance for each spec", ^{ - [WKExtension sharedExtension] should_not be_same_instance_as(previousSharedExtension); - }); - }); -}); - -SPEC_END diff --git a/WatchKit/Specs/WatchKit/WKInterfaceButtonSpec.mm b/WatchKit/Specs/WatchKit/WKInterfaceButtonSpec.mm deleted file mode 100644 index 743f141..0000000 --- a/WatchKit/Specs/WatchKit/WKInterfaceButtonSpec.mm +++ /dev/null @@ -1,121 +0,0 @@ -#import "Cedar.h" -#import "InterfaceController.h" -#import "NSBundle+BuildHelper.h" - -using namespace Cedar::Matchers; -using namespace Cedar::Doubles; - - -SPEC_BEGIN(WKInterfaceButtonSpec) - -describe(@"WKInterfaceButton", ^{ - __block WKInterfaceButton *subject; - __block InterfaceController *controller; - __block PCKInterfaceControllerLoader *loader; - - beforeEach(^{ - loader = [[PCKInterfaceControllerLoader alloc] init]; - controller = [loader interfaceControllerWithStoryboardName:@"Interface" - identifier:@"AgC-eL-Hgc" - bundle:[NSBundle buildHelperBundle]]; - }); - - describe(@"with an associated action", ^{ - beforeEach(^{ - subject = controller.actionButton; - }); - - it(@"should be configured with the specified task in the button's action", ^{ - subject.action should equal(@"didTapButton"); - }); - - it(@"should be able to run the associated action", ^{ - controller.tapCount should equal(0); - - [subject triggerNonSegueAction]; - - controller.tapCount should equal(1); - }); - }); - - - describe(@"with no associated action", ^{ - beforeEach(^{ - subject = controller.noActionButton; - }); - - it(@"should not be configured with an action", ^{ - subject.action should be_nil; - }); - }); - - describe(@"encountering an unexpected value when deserializing the segue", ^{ - __block NSDictionary *segueDictionary; - beforeEach(^{ - subject = controller.noActionButton; - segueDictionary = @{@"type": @"something_unexpected"}; - }); - - it(@"should raise an exception with a helpful message", ^{ - ^ { - [subject setValue:segueDictionary forKey:@"segue"]; - } should raise_exception - .with_name(NSInvalidArgumentException) - .with_reason(@"We encountered a new segue type, 'something_unexpected', in WatchKit. This probably means that there is a new version of WatchKit that this library needs to be updated to support."); - }); - }); - - describe(@"setters", ^{ - beforeEach(^{ - subject = [[WKInterfaceButton alloc] init]; - }); - - it(@"should record the invocation for setTitle:", ^{ - [subject setTitle:@"asdf"]; - - subject should have_received(@selector(setTitle:)).with(@"asdf"); - }); - - it(@"should record the invocation for setColor:", ^{ - UIColor *color = [UIColor redColor]; - [subject setColor:color]; - - subject should have_received(@selector(setColor:)).with(color); - }); - - it(@"should record the invocation for setAttributedTitle:", ^{ - NSAttributedString *string = [[NSAttributedString alloc] initWithString:@"asdf"]; - [subject setAttributedTitle:string]; - - subject should have_received(@selector(setAttributedTitle:)).with([[NSAttributedString alloc] initWithString:@"asdf"]); - }); - - it(@"should record the invocation for setBackgroundImage:", ^{ - UIImage *image = [UIImage imageNamed:@"corgi.jpeg"]; - [subject setBackgroundImage:image]; - - subject should have_received(@selector(setBackgroundImage:)).with(image); - }); - - it(@"should record the invocation for setBackgroundImageData:", ^{ - NSData *data = [NSData data]; - [subject setBackgroundImageData:data]; - - subject should have_received(@selector(setBackgroundImageData:)).with(data); - }); - - it(@"should record the invocation for setBackgroundImageNamed:", ^{ - [subject setBackgroundImageNamed:@"asdf"]; - - subject should have_received(@selector(setBackgroundImageNamed:)).with(@"asdf"); - }); - - it(@"should record the invocation for setEnabled:", ^{ - [subject setEnabled:YES]; - - subject should have_received(@selector(setEnabled:)).with(YES); - }); - }); -}); - -SPEC_END diff --git a/WatchKit/Specs/WatchKit/WKInterfaceControllerSpec.mm b/WatchKit/Specs/WatchKit/WKInterfaceControllerSpec.mm deleted file mode 100644 index 71b650a..0000000 --- a/WatchKit/Specs/WatchKit/WKInterfaceControllerSpec.mm +++ /dev/null @@ -1,286 +0,0 @@ -#import "Cedar.h" -#import "CorgisController.h" -#import "InterfaceController.h" -#import "PCKInterfaceControllerLoader.h" -#import "NSInvocation+InvocationMatching.h" -#import "NSBundle+BuildHelper.h" - -using namespace Cedar::Matchers; -using namespace Cedar::Doubles; - - -SPEC_BEGIN(WKInterfaceControllerSpec) - -describe(@"WKInterfaceController", ^{ - __block InterfaceController *subject; - __block PCKInterfaceControllerLoader *loader; - - beforeEach(^{ - loader = [[PCKInterfaceControllerLoader alloc] init]; - subject = [loader interfaceControllerWithStoryboardName:@"Interface" - identifier:@"AgC-eL-Hgc" - bundle:[NSBundle buildHelperBundle]]; - }); - - describe(@"public methods", ^{ - - it(@"should be able to set properties in its own implementation of init", ^{ - subject.programmaticLabel should have_received(@selector(setText:)).with(@"My Initial Title"); - }); - - it(@"should record the invocations of awakeWithContext:", ^{ - [subject awakeWithContext:@1]; - - subject should have_received(@selector(awakeWithContext:)).with(@1); - }); - - it(@"should record the invocations of willActivate", ^{ - subject should_not be_nil; - [subject willActivate]; - - subject should have_received(@selector(willActivate)); - }); - - it(@"should record the invocations of didDeactivate", ^{ - [subject didDeactivate]; - - subject should have_received(@selector(didDeactivate)); - }); - - it(@"should record the invocations of table:didSelectRowAtIndex:", ^{ - WKInterfaceTable *table = [[WKInterfaceTable alloc] init]; - [subject table:table didSelectRowAtIndex:0]; - - subject should have_received(@selector(table:didSelectRowAtIndex:)).with(table, 0); - }); - - it(@"should record the invocations of handleActionWithIdentifier:forRemoteNotification:", ^{ - [subject handleActionWithIdentifier:@"asdf" forRemoteNotification:@{@"a": @1}]; - subject should have_received(@selector(handleActionWithIdentifier:forRemoteNotification:)).with(@"asdf", @{@"a": @1}); - }); - - it(@"should record the invocations of handleActionWithIdentifier:forLocalNotification:", ^{ - UILocalNotification *notification = [[UILocalNotification alloc] init]; - [subject handleActionWithIdentifier:@"asdf" forLocalNotification:notification]; - subject should have_received(@selector(handleActionWithIdentifier:forLocalNotification:)).with(@"asdf", notification); - }); - - it(@"should record the invocations of handleUserActivity:", ^{ - [subject handleUserActivity:@{@"a": @1}]; - subject should have_received(@selector(handleUserActivity:)).with(@{@"a": @1}); - }); - - it(@"should record the invocations of setTitle:", ^{ - [subject setTitle:@"asdf"]; - subject should have_received(@selector(setTitle:)).with(@"asdf"); - }); - - it(@"should record the invocations of pushControllerWithName:context:", ^{ - [subject pushControllerWithName:@"MyFirstCorgiController" context:[UIImage imageNamed:@"corgi.jpeg"]]; - - subject should have_received(@selector(pushControllerWithName:context:)).with(@"MyFirstCorgiController", [UIImage imageNamed:@"corgi.jpeg"]); - }); - - it(@"should record the invocations of popController", ^{ - [subject popController]; - subject should have_received(@selector(popController)); - }); - - it(@"should record the invocations of popToRootController", ^{ - [subject popToRootController]; - subject should have_received(@selector(popToRootController)); - }); - - it(@"should record the invocations of becomeCurrentPage", ^{ - [subject becomeCurrentPage]; - - subject should have_received(@selector(becomeCurrentPage)); - }); - - it(@"should record the invocations of presentControllerWithName:context:", ^{ - [subject presentControllerWithName:@"MyFirstCorgiController" context:[UIImage imageNamed:@"corgi.jpeg"]]; - subject should have_received(@selector(presentControllerWithName:context:)).with(@"MyFirstCorgiController", [UIImage imageNamed:@"corgi.jpeg"]); - }); - - it(@"should record the invocations of presentControllerWithName:contexts:", ^{ - NSArray *names = @[@"sally", @"charlie"]; - NSArray *contexts = @[@2, @3]; - [subject presentControllerWithNames:names contexts:contexts]; - subject should have_received(@selector(presentControllerWithNames:contexts:)).with(names, contexts); - }); - - it(@"should record the invocations of dismissController", ^{ - [subject dismissController]; - - subject should have_received(@selector(dismissController)); - }); - - it(@"should record the invocations of presentTextInputControllerWithSuggestions:allowedInputMode:completion:", ^{ - [subject presentTextInputControllerWithSuggestions:@[@2, @3] - allowedInputMode:WKTextInputModeAllowAnimatedEmoji - completion:^(NSArray *results){}]; - subject should have_received(@selector(presentTextInputControllerWithSuggestions:allowedInputMode:completion:)).with(@[@2, @3], WKTextInputModeAllowAnimatedEmoji, Arguments::anything); - }); - - it(@"should record the invocations of dismissTextInputController", ^{ - [subject dismissTextInputController]; - - subject should have_received(@selector(dismissTextInputController)); - }); - - it(@"should record the invocations of contextForSegueWithIdentifier:", ^{ - [subject contextForSegueWithIdentifier:@"asdf"]; - - subject should have_received(@selector(contextForSegueWithIdentifier:)).with(@"asdf"); - }); - - it(@"should record the invocations of contextsForSegueWithIdentifier:", ^{ - [subject contextsForSegueWithIdentifier:@"asdf"]; - - subject should have_received(@selector(contextsForSegueWithIdentifier:)).with(@"asdf"); - }); - - it(@"should record the invocations of contextForSegueWithIdentifier:inTable:rowIndex:", ^{ - WKInterfaceTable *table = [[WKInterfaceTable alloc] init]; - [subject contextForSegueWithIdentifier:@"zxcv" - inTable:table - rowIndex:3]; - - subject should have_received(@selector(contextForSegueWithIdentifier:inTable:rowIndex:)).with(@"zxcv", table, 3); - }); - - it(@"should record the invocations of contextsForSegueWithIdentifier:inTable:rowIndex:", ^{ - WKInterfaceTable *table = [[WKInterfaceTable alloc] init]; - [subject contextsForSegueWithIdentifier:@"zxcv" - inTable:table - rowIndex:3]; - - subject should have_received(@selector(contextsForSegueWithIdentifier:inTable:rowIndex:)).with(@"zxcv", table, 3); - }); - - it(@"should record the invocations of addMenuItemWithImage:title:action:", ^{ - UIImage *image = [[UIImage alloc] init]; - [subject addMenuItemWithImage:image title:@"asdf" action:@selector(init)]; - - subject should have_received(@selector(addMenuItemWithImage:title:action:)).with(image, @"asdf", @selector(init)); - }); - - it(@"should record the invocations of addMenuItemWithImageNamed:title:action:", ^{ - [subject addMenuItemWithImageNamed:@"corgi.jpeg" title:@"asdf" action:@selector(init)]; - - subject should have_received(@selector(addMenuItemWithImageNamed:title:action:)).with(@"corgi.jpeg", @"asdf", @selector(init)); - }); - - it(@"should record the invocations of addMenuItemWithItemIcon:title:action:", ^{ - [subject addMenuItemWithItemIcon:WKMenuItemIconResume title:@"asdf" action:@selector(init)]; - - subject should have_received(@selector(addMenuItemWithItemIcon:title:action:)).with(WKMenuItemIconResume, @"asdf", @selector(init)); - }); - - it(@"should record the invocations of clearAllMenuItems", ^{ - [subject clearAllMenuItems]; - - subject should have_received(@selector(clearAllMenuItems)); - }); - - it(@"should record the invocations of updateUserActivity:userInfo:", ^{ - [subject updateUserActivity:@"asdf" userInfo:@{@"a": @"b"}]; - - subject should have_received(@selector(updateUserActivity:userInfo:)).with(@"asdf", @{@"a": @"b"}); - }); - - it(@"should record the invocations of updateUserActivity:userInfo:webpageURL:", ^{ - NSURL *URL = [NSURL URLWithString:@"http://pivotal.io"]; - [subject updateUserActivity:@"asdf" userInfo:@{@"a": @"b"} webpageURL:URL]; - - subject should have_received(@selector(updateUserActivity:userInfo:webpageURL:)).with(@"asdf", @{@"a": @"b"}, URL); - }); - - it(@"should record the invocations of presentAlertControllerWithTitle:message:preferredStyle:actions:actions", ^{ - WKAlertAction *action = [WKAlertAction actionWithTitle:@"do it!" style:WKAlertActionStyleDefault handler:^{}]; - [subject presentAlertControllerWithTitle:@"alert" message:@"hey" preferredStyle:WKAlertControllerStyleAlert actions:@[action]]; - - subject should have_received(@selector(presentAlertControllerWithTitle:message:preferredStyle:actions:)).with(@"alert", @"hey", WKAlertControllerStyleAlert, @[action]); - }); - }); - - describe(@"class methods", ^{ - - context(@"openParentApplication:reply:", ^{ - typedef void (^ReplyBlock)(NSDictionary *, NSError *); - __block NSDictionary *userInfo; - __block ReplyBlock reply; - - beforeEach(^{ - userInfo = @{ @"user" : @"info" }; - reply = ^void(NSDictionary *replyInfo, NSError *error) { }; - }); - - it(@"should have recorded invocations", ^{ - [subject.class openParentApplication:userInfo - reply:reply]; - NSInvocation *invocation = [[PCKMessageCapturer sent_class_messages] firstObject]; - [invocation matchesTarget:subject.class - selector:@selector(openParentApplication:reply:) - arguments:@[userInfo, reply]] should be_truthy; - - }); - }); - - context(@"reloadRootControllersWithNames:contexts:", ^{ - __block NSArray *names; - __block NSArray *contexts; - - beforeEach(^{ - names = @[@"name-one", @"name-two", @"name-three"]; - contexts = @[@"context-one", @"context-two"]; - }); - - it(@"should have recorded invocations", ^{ - [subject.class reloadRootControllersWithNames:names - contexts:contexts]; - - NSInvocation *invocation = [[PCKMessageCapturer sent_class_messages] firstObject]; - [invocation matchesTarget:subject.class - selector:@selector(reloadRootControllersWithNames:contexts:) - arguments:@[names, contexts]] should be_truthy; - }); - }); - }); - - describe(@"triggering an interface object's segue", ^{ - describe(@"push action", ^{ - __block WKInterfaceButton *seguePushButton; - beforeEach(^{ - seguePushButton = subject.seguePushButton; - seguePushButton.segue should_not be_nil; - }); - - it(@"should have the correct segue configuration", ^{ - seguePushButton.segue.type should equal(PCKFakeSegueTypePush); - }); - - it(@"should have the correct segue destination identifier", ^{ - seguePushButton.segue.destinationIdentifier should equal(@"MyFirstCorgiController"); - }); - }); - - describe(@"modal action", ^{ - __block WKInterfaceButton *segueModalButton; - beforeEach(^{ - segueModalButton = subject.segueModalButton; - segueModalButton.segue should_not be_nil; - }); - - it(@"should have the correct segue configuration", ^{ - segueModalButton.segue.type should equal(PCKFakeSegueTypeModal); - }); - - it(@"should have the correct segue destination identifier", ^{ - segueModalButton.segue.destinationIdentifier should equal(@"MyModalCorgiController"); - }); - }); - }); -}); - -SPEC_END diff --git a/WatchKit/Specs/WatchKit/WKInterfaceDateSpec.mm b/WatchKit/Specs/WatchKit/WKInterfaceDateSpec.mm deleted file mode 100644 index 15eec74..0000000 --- a/WatchKit/Specs/WatchKit/WKInterfaceDateSpec.mm +++ /dev/null @@ -1,41 +0,0 @@ -#import "Cedar.h" -#import - - -using namespace Cedar::Matchers; -using namespace Cedar::Doubles; - - -SPEC_BEGIN(WKInterfaceDateSpec) - -describe(@"WKInterfaceDate", ^{ - __block WKInterfaceDate *subject; - - beforeEach(^{ - subject = [[WKInterfaceDate alloc] init]; - }); - - describe(@"setters", ^{ - it(@"should record the invocation for setTextColor:", ^{ - [subject setTextColor:[UIColor blueColor]]; - - subject should have_received(@selector(setTextColor:)).with([UIColor blueColor]); - }); - - it(@"should record the invocation for setTimeZone:", ^{ - NSTimeZone *timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0]; - [subject setTimeZone:timeZone]; - - subject should have_received(@selector(setTimeZone:)).with(timeZone); - }); - - it(@"should record the invocation for setCalendar:", ^{ - NSCalendar *calendar = [NSCalendar new]; - [subject setCalendar:calendar]; - - subject should have_received(@selector(setCalendar:)).with(calendar); - }); - }); -}); - -SPEC_END diff --git a/WatchKit/Specs/WatchKit/WKInterfaceDeviceSpec.mm b/WatchKit/Specs/WatchKit/WKInterfaceDeviceSpec.mm deleted file mode 100644 index 87cbc5f..0000000 --- a/WatchKit/Specs/WatchKit/WKInterfaceDeviceSpec.mm +++ /dev/null @@ -1,72 +0,0 @@ -#import "Cedar.h" -#import "WKInterfaceDevice.h" -#import "NSInvocation+InvocationMatching.h" - -using namespace Cedar::Matchers; -using namespace Cedar::Doubles; - -SPEC_BEGIN(WKInterfaceDeviceSpec) - -describe(@"WKInterfaceDevice", ^{ - __block WKInterfaceDevice *subject; - - beforeEach(^{ - subject = [[WKInterfaceDevice alloc] init]; - }); - - describe(@"public methods", ^{ - __block NSString *name; - - beforeEach(^{ - name = @"image-name"; - }); - - it(@"should record the invocation for addCachedImage:name:", ^{ - UIImage *image = [[UIImage alloc] init]; - - [subject addCachedImage:image name:name]; - - subject should have_received(@selector(addCachedImage:name:)) - .with(image, name); - }); - - it(@"should record the invocation for addCachedImageWithData:name:", ^{ - NSData *imageData = [[NSData alloc] init]; - [subject addCachedImageWithData:imageData name:name]; - - subject should have_received(@selector(addCachedImageWithData:name:)) - .with(imageData, name); - }); - - it(@"should record the invocation removeCachedImageWithName:", ^{ - [subject removeCachedImageWithName:name]; - - subject should have_received(@selector(removeCachedImageWithName:)) - .with(name); - }); - - it(@"should record the invocation for removeAllCachedImages", ^{ - [subject removeAllCachedImages]; - - subject should have_received(@selector(removeAllCachedImages)); - }); - - it(@"should record the invocation for removeAllCachedImages", ^{ - [subject playHaptic:WKHapticTypeSuccess]; - - subject should have_received(@selector(playHaptic:)).with(WKHapticTypeSuccess); - }); - }); - - describe(@"class methods", ^{ - it(@"should record the invocation for currentDevice", ^{ - [WKInterfaceDevice currentDevice]; - NSInvocation *invocation = [[PCKMessageCapturer sent_class_messages] firstObject]; - [invocation matchesTarget:subject.class - selector:@selector(currentDevice) - arguments:nil] should be_truthy; - }); - }); -}); - -SPEC_END diff --git a/WatchKit/Specs/WatchKit/WKInterfaceGroupSpec.mm b/WatchKit/Specs/WatchKit/WKInterfaceGroupSpec.mm deleted file mode 100644 index 9be1daf..0000000 --- a/WatchKit/Specs/WatchKit/WKInterfaceGroupSpec.mm +++ /dev/null @@ -1,83 +0,0 @@ -#import "Cedar.h" -#import "GroupController.h" -#import "NSBundle+BuildHelper.h" - -using namespace Cedar::Matchers; -using namespace Cedar::Doubles; - - -SPEC_BEGIN(WKInterfaceGroupSpec) - -describe(@"WKInterfaceGroup", ^{ - __block WKInterfaceGroup *subject; - __block GroupController *controller; - __block PCKInterfaceControllerLoader *loader; - - beforeEach(^{ - loader = [[PCKInterfaceControllerLoader alloc] init]; - controller = [loader interfaceControllerWithStoryboardName:@"Interface" - identifier:@"MyGroupController" - bundle:[NSBundle buildHelperBundle]]; - subject = controller.group; - }); - - describe(@"setters", ^{ - it(@"should record the sent message for setting the corner radius", ^{ - CGFloat expectedCornerRadius = 7.0f; - [subject setCornerRadius:expectedCornerRadius]; - - subject should have_received(@selector(setCornerRadius:)).with(expectedCornerRadius); - }); - - it(@"should record the sent message for setting the background color", ^{ - UIColor *expectedColor = [UIColor blueColor]; - [subject setBackgroundColor:expectedColor]; - - subject should have_received(@selector(setBackgroundColor:)).with([UIColor blueColor]); - }); - - it(@"should record the sent message for setting the background image", ^{ - UIImage *expectedImage = [UIImage imageNamed:@"corgi.jpeg"]; - [subject setBackgroundImage:expectedImage]; - - subject should have_received(@selector(setBackgroundImage:)).with([UIImage imageNamed:@"corgi.jpeg"]); - }); - - it(@"should record the sent message for setting the background image with given image data", ^{ - NSData *expectedImageData = [@"asdf" dataUsingEncoding:NSUTF8StringEncoding]; - [subject setBackgroundImageData:expectedImageData]; - - subject should have_received(@selector(setBackgroundImageData:)).with([@"asdf" dataUsingEncoding:NSUTF8StringEncoding]); - }); - - it(@"should record the sent message for setting the background image with given image name", ^{ - [subject setBackgroundImageNamed:@"my_special_image.jpg"]; - - subject should have_received(@selector(setBackgroundImageNamed:)).with(@"my_special_image.jpg"); - }); - - it(@"should record the sent message for starting the animation", ^{ - [subject startAnimating]; - - subject should have_received(@selector(startAnimating)); - }); - - it(@"should record the sent message for starting the animation with images in range with duration and repeat count", ^{ - NSRange expectedRange = NSMakeRange(0, 2); - NSTimeInterval expectedDuration = 5; - [subject startAnimatingWithImagesInRange:expectedRange - duration:expectedDuration - repeatCount:3]; - - subject should have_received(@selector(startAnimatingWithImagesInRange:duration:repeatCount:)).with(NSMakeRange(0, 2), expectedDuration, 3); - }); - - it(@"should record the sent message for stopping the animation", ^{ - [subject stopAnimating]; - - subject should have_received(@selector(stopAnimating)); - }); - }); -}); - -SPEC_END diff --git a/WatchKit/Specs/WatchKit/WKInterfaceImageSpec.mm b/WatchKit/Specs/WatchKit/WKInterfaceImageSpec.mm deleted file mode 100644 index 81f475b..0000000 --- a/WatchKit/Specs/WatchKit/WKInterfaceImageSpec.mm +++ /dev/null @@ -1,67 +0,0 @@ -#import "Cedar.h" -#import - - -using namespace Cedar::Matchers; -using namespace Cedar::Doubles; - - -SPEC_BEGIN(WKInterfaceImageSpec) - -describe(@"WKInterfaceImage", ^{ - __block WKInterfaceImage *subject; - - beforeEach(^{ - subject = [[WKInterfaceImage alloc] init]; - }); - - describe(@"setters", ^{ - - it(@"should record the invocation for setImage:", ^{ - UIImage *image = [[UIImage alloc] init]; - [subject setImage:image]; - subject should have_received(@selector(setImage:)).with(image); - }); - - it(@"should record the invocation for setImageData:", ^{ - NSData *data = [[NSData alloc] init]; - [subject setImageData:data]; - subject should have_received(@selector(setImageData:)).with(data); - }); - - it(@"should record the invocation for setImageNamed:", ^{ - [subject setImageNamed:@"asdf"]; - subject should have_received(@selector(setImageNamed:)).with(@"asdf"); - }); - - it(@"should record the sent message for startAnimating", ^{ - [subject startAnimating]; - - subject should have_received(@selector(startAnimating)); - }); - - it(@"should record the sent message for startAnimatingWithImagesInRange:duration:repeatCount:", ^{ - NSRange expectedRange = NSMakeRange(0, 2); - NSTimeInterval expectedDuration = 5; - [subject startAnimatingWithImagesInRange:expectedRange - duration:expectedDuration - repeatCount:3]; - - subject should have_received(@selector(startAnimatingWithImagesInRange:duration:repeatCount:)).with(NSMakeRange(0, 2), expectedDuration, 3); - }); - - it(@"should record the sent message for stopAnimating", ^{ - [subject stopAnimating]; - - subject should have_received(@selector(stopAnimating)); - }); - - it(@"should record the invocation for setTintColor:", ^{ - [subject setTintColor:[UIColor clearColor]]; - - subject should have_received(@selector(setTintColor:)).with([UIColor clearColor]); - }); - }); -}); - -SPEC_END diff --git a/WatchKit/Specs/WatchKit/WKInterfaceLabelSpec.mm b/WatchKit/Specs/WatchKit/WKInterfaceLabelSpec.mm deleted file mode 100644 index 26d34ac..0000000 --- a/WatchKit/Specs/WatchKit/WKInterfaceLabelSpec.mm +++ /dev/null @@ -1,64 +0,0 @@ -#import "Cedar.h" -#import - - -using namespace Cedar::Matchers; -using namespace Cedar::Doubles; - - -SPEC_BEGIN(WKInterfaceLabelSpec) - -describe(@"WKInterfaceLabel", ^{ - __block WKInterfaceLabel *subject; - - beforeEach(^{ - subject = [[WKInterfaceLabel alloc] init]; - }); - - describe(@"setters", ^{ - - it(@"should record the invocation for setText: when called with a string", ^{ - [subject setText:@"qwer"]; - subject should have_received(@selector(setText:)).with(@"qwer"); - }); - - it(@"should be able to assert the arguments to setText: without using the `have_received` matcher", ^{ - [subject setText:@"no special matchers needed!"]; - - NSArray *labelMessages = [subject sent_messages]; - NSInvocation *firstLabelMessage = [labelMessages firstObject]; - __autoreleasing NSString *firstLabelMessageText; - [firstLabelMessage getArgument:&firstLabelMessageText atIndex:2]; - firstLabelMessageText should equal(@"no special matchers needed!"); - }); - - it(@"should record the invocation for setText: when called with a dictionary", ^{ - NSDictionary *textDictionary = @{@"fallbackString": @"Welcome Title", - @"localizationKey": @"wla-Mc-WlR.text", - }; - [subject setText:(id)textDictionary]; - subject should have_received(@selector(setText:)).with(@"Welcome Title"); - }); - - it(@"should set the text property for setText: when called with a dictionary", ^{ - NSDictionary *textDictionary = @{@"fallbackString": @"Welcome Title", - @"localizationKey": @"wla-Mc-WlR.text", - }; - [subject setText:(id)textDictionary]; - subject.text should equal(@"Welcome Title"); - }); - - it(@"should record the invocation for setTextColor:", ^{ - [subject setTextColor:[UIColor grayColor]]; - subject should have_received(@selector(setTextColor:)).with([UIColor grayColor]); - }); - - it(@"should record the invocation for setAttributedText:", ^{ - NSAttributedString *attributedString = [[NSAttributedString alloc] init]; - [subject setAttributedText:attributedString]; - subject should have_received(@selector(setAttributedText:)).with(attributedString); - }); - }); -}); - -SPEC_END diff --git a/WatchKit/Specs/WatchKit/WKInterfaceMapSpec.mm b/WatchKit/Specs/WatchKit/WKInterfaceMapSpec.mm deleted file mode 100644 index 98f8355..0000000 --- a/WatchKit/Specs/WatchKit/WKInterfaceMapSpec.mm +++ /dev/null @@ -1,129 +0,0 @@ -#import "Cedar.h" -#import "NSBundle+BuildHelper.h" -#import "PCKFixtureMapController.h" - -using namespace Cedar::Matchers; -using namespace Cedar::Doubles; - - -SPEC_BEGIN(WKInterfaceMapSpec) - -describe(@"WKInterfaceMap", ^{ - __block WKInterfaceMap *subject; - __block PCKFixtureMapController *controller; - __block PCKInterfaceControllerLoader *loader; - - beforeEach(^{ - loader = [[PCKInterfaceControllerLoader alloc] init]; - controller = [loader interfaceControllerWithStoryboardName:@"Interface" - identifier:@"MyMapController" - bundle:[NSBundle buildHelperBundle]]; - subject = controller.zebraMap; - }); - - describe(@"setters", ^{ - it(@"should record the sent message for setting the map's visible map rect", ^{ - MKMapRect expectedMapRect = MKMapRectMake(0, 0, 10, 10); - [subject setVisibleMapRect:expectedMapRect]; - - subject should have_received(@selector(setVisibleMapRect:)); - - MKMapRect mapRect; - NSInvocation *invocation = [[(id)subject sent_messages] firstObject]; - [invocation getArgument:&mapRect atIndex:2]; - MKMapRectEqualToRect(mapRect, expectedMapRect) should be_truthy; - }); - - it(@"should record the sent message for setting the map's region", ^{ - CLLocationCoordinate2D coordinate = CLLocationCoordinate2DMake(37.7833, 122.4167); - MKCoordinateSpan span = MKCoordinateSpanMake(0.2, 0.3); - MKCoordinateRegion expectedRegion = MKCoordinateRegionMake(coordinate, span); - [subject setRegion:expectedRegion]; - - subject should have_received(@selector(setRegion:)); - - MKCoordinateRegion mapRegion; - NSInvocation *invocation = [[(id)subject sent_messages] firstObject]; - [invocation getArgument:&mapRegion atIndex:2]; - mapRegion.center.latitude should equal(37.7833); - mapRegion.center.longitude should equal(122.4167); - mapRegion.span.latitudeDelta should equal(0.2); - mapRegion.span.longitudeDelta should equal(0.3); - }); - - it(@"should record the sent message for adding an annotation with an image and center offset", ^{ - CLLocationCoordinate2D expectedCoordinate = CLLocationCoordinate2DMake(37.7833, 122.4167); - UIImage *expectedImage = [UIImage imageNamed:@"corgi.jpeg"]; - CGPoint expectedOffset = CGPointMake(3, 4); - [subject addAnnotation:expectedCoordinate withImage:expectedImage centerOffset:expectedOffset]; - - subject should have_received(@selector(addAnnotation:withImage:centerOffset:)); - - CLLocationCoordinate2D coordinate; - __autoreleasing UIImage *image; - CGPoint offset; - - NSInvocation *invocation = [[(id)subject sent_messages] firstObject]; - [invocation getArgument:&coordinate atIndex:2]; - [invocation getArgument:&image atIndex:3]; - [invocation getArgument:&offset atIndex:4]; - - coordinate.latitude should equal(37.7833); - coordinate.longitude should equal(122.4167); - image should equal(expectedImage); - offset.x should equal(3); - offset.y should equal(4); - }); - - it(@"should record the sent message for adding an annotation with an image name and center offset", ^{ - CLLocationCoordinate2D expectedCoordinate = CLLocationCoordinate2DMake(37.7833, 122.4167); - NSString *expectedImageName = @"corgi.jpeg"; - CGPoint expectedOffset = CGPointMake(3, 4); - [subject addAnnotation:expectedCoordinate withImageNamed:expectedImageName centerOffset:expectedOffset]; - - subject should have_received(@selector(addAnnotation:withImageNamed:centerOffset:)); - - CLLocationCoordinate2D coordinate; - __autoreleasing NSString *imageName; - CGPoint offset; - - NSInvocation *invocation = [[(id)subject sent_messages] firstObject]; - [invocation getArgument:&coordinate atIndex:2]; - [invocation getArgument:&imageName atIndex:3]; - [invocation getArgument:&offset atIndex:4]; - - coordinate.latitude should equal(37.7833); - coordinate.longitude should equal(122.4167); - imageName should equal(expectedImageName); - offset.x should equal(3); - offset.y should equal(4); - }); - - it(@"should record the sent message for adding an annotation with a pin color", ^{ - CLLocationCoordinate2D expectedCoordinate = CLLocationCoordinate2DMake(37.7833, 122.4167); - WKInterfaceMapPinColor expectedPinColor = WKInterfaceMapPinColorPurple; - - [subject addAnnotation:expectedCoordinate withPinColor:expectedPinColor]; - - subject should have_received(@selector(addAnnotation:withPinColor:)); - - CLLocationCoordinate2D coordinate; - WKInterfaceMapPinColor pinColor; - - NSInvocation *invocation = [[(id)subject sent_messages] firstObject]; - [invocation getArgument:&coordinate atIndex:2]; - [invocation getArgument:&pinColor atIndex:3]; - - coordinate.latitude should equal(37.7833); - coordinate.longitude should equal(122.4167); - pinColor should equal(expectedPinColor); - }); - - it(@"should record the sent message for removing all annotations", ^{ - [subject removeAllAnnotations]; - subject should have_received(@selector(removeAllAnnotations)); - }); - }); -}); - -SPEC_END diff --git a/WatchKit/Specs/WatchKit/WKInterfaceObjectSpec.mm b/WatchKit/Specs/WatchKit/WKInterfaceObjectSpec.mm deleted file mode 100644 index 373e90b..0000000 --- a/WatchKit/Specs/WatchKit/WKInterfaceObjectSpec.mm +++ /dev/null @@ -1,69 +0,0 @@ -#import "Cedar.h" -#import - - -using namespace Cedar::Matchers; -using namespace Cedar::Doubles; - - -SPEC_BEGIN(WKInterfaceObjectSpec) - -describe(@"WKInterfaceObject", ^{ - __block WKInterfaceObject *subject; - - beforeEach(^{ - subject = [[WKInterfaceObject alloc] init]; - }); - - describe(@"setters", ^{ - it(@"should record the invocation for setHidden:", ^{ - [subject setHidden:YES]; - subject should have_received(@selector(setHidden:)).with(YES); - }); - - it(@"should record the invocation for setAlpha:", ^{ - CGFloat alpha = 0.5; - [subject setAlpha:alpha]; - subject should have_received(@selector(setAlpha:)).with(alpha); - }); - - it(@"should record the invocation for setWidth:", ^{ - CGFloat width = 1.5; - [subject setWidth:width]; - subject should have_received(@selector(setWidth:)).with(width); - }); - - it(@"should record the invocation for setHeight:", ^{ - CGFloat height = 1.7; - [subject setHeight:height]; - subject should have_received(@selector(setHeight:)).with(height); - }); - }); - - describe(@"getters", ^{ - it(@"should allow reading the most recently-set value for setHidden:", ^{ - [subject setHidden:YES]; - [subject isHidden] should be_truthy; - }); - - it(@"should allow reading the most recently-set value for setAlpha:", ^{ - CGFloat alpha = 0.3; - [subject setAlpha:alpha]; - [subject alpha] should equal(alpha); - }); - - it(@"should allow reading the most recently-set value for setWidth:", ^{ - CGFloat width = 50; - [subject setWidth:width]; - [subject width] should equal(width); - }); - - it(@"should allow reading the most recently-set value for setHeight:", ^{ - CGFloat height = 30; - [subject setHeight:height]; - [subject height] should equal(height); - }); - }); -}); - -SPEC_END diff --git a/WatchKit/Specs/WatchKit/WKInterfaceSliderSpec.mm b/WatchKit/Specs/WatchKit/WKInterfaceSliderSpec.mm deleted file mode 100644 index 17ac5b8..0000000 --- a/WatchKit/Specs/WatchKit/WKInterfaceSliderSpec.mm +++ /dev/null @@ -1,47 +0,0 @@ -#import "Cedar.h" -#import "SliderController.h" -#import "NSBundle+BuildHelper.h" - -using namespace Cedar::Matchers; -using namespace Cedar::Doubles; - - -SPEC_BEGIN(WKInterfaceSliderSpec) - -describe(@"WKInterfaceSlider", ^{ - __block WKInterfaceSlider *subject; - __block SliderController *controller; - __block PCKInterfaceControllerLoader *loader; - beforeEach(^{ - loader = [[PCKInterfaceControllerLoader alloc] init]; - controller = [loader interfaceControllerWithStoryboardName:@"Interface" - identifier:@"MySliderController" - bundle:[NSBundle buildHelperBundle]]; - subject = controller.slider; - }); - - describe(@"setters", ^{ - it(@"should record the sent message for setting the enabled property", ^{ - [subject setEnabled:NO]; - subject should have_received(@selector(setEnabled:)).with(NO); - }); - - it(@"should record the sent message for setting the value", ^{ - float mySpecialValue = 1234.5678f; - [subject setValue:mySpecialValue]; - subject should have_received(@selector(setValue:)).with(mySpecialValue); - }); - - it(@"should record the sent message for setting the color", ^{ - [subject setColor:[UIColor yellowColor]]; - subject should have_received(@selector(setColor:)).with([UIColor yellowColor]); - }); - - it(@"should record the sent message for setting the number of steps", ^{ - [subject setNumberOfSteps:7]; - subject should have_received(@selector(setNumberOfSteps:)).with(7); - }); - }); -}); - -SPEC_END diff --git a/WatchKit/Specs/WatchKit/WKInterfaceSwitchSpec.mm b/WatchKit/Specs/WatchKit/WKInterfaceSwitchSpec.mm deleted file mode 100644 index eeac275..0000000 --- a/WatchKit/Specs/WatchKit/WKInterfaceSwitchSpec.mm +++ /dev/null @@ -1,36 +0,0 @@ -#import "Cedar.h" -#import "InterfaceController.h" -#import "NSBundle+BuildHelper.h" - -using namespace Cedar::Matchers; -using namespace Cedar::Doubles; - - -SPEC_BEGIN(WKInterfaceSwitchSpec) - -describe(@"WKInterfaceSwitch", ^{ - __block WKInterfaceSwitch *subject; - - beforeEach(^{ - PCKInterfaceControllerLoader *loader = [[PCKInterfaceControllerLoader alloc] init]; - InterfaceController *controller = [loader interfaceControllerWithStoryboardName:@"Interface" - identifier:@"AgC-eL-Hgc" - bundle:[NSBundle buildHelperBundle]]; - subject = controller.theSwitch; - }); - - describe(@"setters", ^{ - - it(@"should record the fact that setEnabled: was called", ^{ - [subject setEnabled:YES]; - subject should have_received(@selector(setEnabled:)).with(YES); - }); - - it(@"should record the fact that setOn: was called", ^{ - [subject setOn:YES]; - subject should have_received(@selector(setOn:)).with(YES); - }); - }); -}); - -SPEC_END diff --git a/WatchKit/Specs/WatchKit/WKInterfaceTableSpec.mm b/WatchKit/Specs/WatchKit/WKInterfaceTableSpec.mm deleted file mode 100644 index 8f710ff..0000000 --- a/WatchKit/Specs/WatchKit/WKInterfaceTableSpec.mm +++ /dev/null @@ -1,73 +0,0 @@ -#import "Cedar.h" -#import "CorgiTableController.h" -#import "NSBundle+BuildHelper.h" - -using namespace Cedar::Matchers; -using namespace Cedar::Doubles; - - -SPEC_BEGIN(WKInterfaceTableSpec) - -describe(@"WKInterfaceTable", ^{ - __block WKInterfaceTable *subject; - __block CorgiTableController *controller; - __block PCKInterfaceControllerLoader *loader; - - beforeEach(^{ - loader = [[PCKInterfaceControllerLoader alloc] init]; - controller = [loader interfaceControllerWithStoryboardName:@"Interface" - identifier:@"MyCorgiTableController" - bundle:[NSBundle buildHelperBundle]]; - subject = controller.table; - }); - - describe(@"setters", ^{ - it(@"should be able to set row types", ^{ - [subject setRowTypes:@[@"A", @"B", @"C"]]; - subject should have_received(@selector(setRowTypes:)).with(@[@"A", @"B", @"C"]); - }); - - it(@"should be able to set the number of rows and specify their types", ^{ - [subject setNumberOfRows:3 withRowType:@"MySpecialRowType"]; - subject should have_received(@selector(setNumberOfRows:withRowType:)).with(3, @"MySpecialRowType"); - }); - - it(@"should be able to insert rows with types", ^{ - NSIndexSet *expectedIndexSet = [NSIndexSet indexSetWithIndex:1]; - [subject insertRowsAtIndexes:expectedIndexSet withRowType:@"MySpecialRowType"]; - subject should have_received(@selector(insertRowsAtIndexes:withRowType:)).with(expectedIndexSet, @"MySpecialRowType"); - }); - - it(@"should be able to remove rows at specified indices", ^{ - NSIndexSet *expectedIndexSet = [NSIndexSet indexSetWithIndex:1]; - [subject removeRowsAtIndexes:expectedIndexSet]; - subject should have_received(@selector(removeRowsAtIndexes:)).with(expectedIndexSet); - }); - - it(@"should be able to scroll to a row at a specified indices", ^{ - [subject scrollToRowAtIndex:1]; - subject should have_received(@selector(scrollToRowAtIndex:)).with(1); - }); - }); - - describe(@"stubs", ^{ - it(@"should be able to stub a return value for rowControllerAtIndex:", ^{ - id rowController0 = [[NSObject alloc] init]; - id rowController1 = [[NSObject alloc] init]; - [subject stubRowController:rowController0 atIndex:0]; - [subject stubRowController:rowController1 atIndex:1]; - - [subject rowControllerAtIndex:0] should be_same_instance_as(rowController0); - [subject rowControllerAtIndex:1] should be_same_instance_as(rowController1); - }); - }); - - describe(@"row configuration from storyboard", ^{ - - it(@"should be able to read the default number of rows set in the storyboard", ^{ - subject.numberOfRows should equal(2); - }); - }); -}); - -SPEC_END diff --git a/WatchKit/Specs/WatchKit/WKInterfaceTimerSpec.mm b/WatchKit/Specs/WatchKit/WKInterfaceTimerSpec.mm deleted file mode 100644 index 4fbe6a2..0000000 --- a/WatchKit/Specs/WatchKit/WKInterfaceTimerSpec.mm +++ /dev/null @@ -1,42 +0,0 @@ -#import "Cedar.h" -#import - - -using namespace Cedar::Matchers; -using namespace Cedar::Doubles; - - -SPEC_BEGIN(WKInterfaceTimerSpec) - -describe(@"WKInterfaceTimer", ^{ - __block WKInterfaceTimer *subject; - - beforeEach(^{ - subject = [[WKInterfaceTimer alloc] init]; - }); - - describe(@"setters", ^{ - it(@"should record the invocation for setTextColor:", ^{ - [subject setTextColor:[UIColor blueColor]]; - subject should have_received(@selector(setTextColor:)).with([UIColor blueColor]); - }); - - it(@"should record the invocation for setDate:", ^{ - [subject setDate:[NSDate dateWithTimeIntervalSince1970:0]]; - subject should have_received(@selector(setDate:)).with([NSDate dateWithTimeIntervalSince1970:0]); - }); - - it(@"should record the invocation for start:", ^{ - [subject start]; - subject should have_received(@selector(start)); - }); - - it(@"should record the invocation for stop", ^{ - [subject stop]; - subject should have_received(@selector(stop)); - }); - }); - -}); - -SPEC_END diff --git a/WatchKit/Specs/WatchKit/WKUserNotificationInterfaceControllerSpec.mm b/WatchKit/Specs/WatchKit/WKUserNotificationInterfaceControllerSpec.mm deleted file mode 100644 index 6ff66da..0000000 --- a/WatchKit/Specs/WatchKit/WKUserNotificationInterfaceControllerSpec.mm +++ /dev/null @@ -1,69 +0,0 @@ -#import "Cedar.h" -#import - - -using namespace Cedar::Matchers; -using namespace Cedar::Doubles; - - -SPEC_BEGIN(WKUserNotificationInterfaceControllerSpec) - -describe(@"WKUserNotificationInterfaceController", ^{ - __block WKUserNotificationInterfaceController *subject; - - beforeEach(^{ - subject = [[WKUserNotificationInterfaceController alloc] init]; - }); - - describe(@"receiving notifications", ^{ - - - describe(@"remote notifications", ^{ - __block BOOL completionBlockCalled; - - beforeEach(^{ - completionBlockCalled = NO; - [subject didReceiveRemoteNotification:@{@"a": @1} withCompletion:^(WKUserNotificationInterfaceType interface) { - completionBlockCalled = YES; - }]; - }); - - it(@"should record the invocation when it receives the did receive remote notification message", ^{ - subject should have_received(@selector(didReceiveRemoteNotification:withCompletion:)).with(@{@"a": @1}, Arguments::anything); - }); - - it(@"should store the last completion block on a public property", ^{ - subject.lastCompletionBlock(WKUserNotificationInterfaceTypeDefault); - completionBlockCalled should be_truthy; - }); - - }); - - describe(@"local notifications", ^{ - __block BOOL completionBlockCalled; - beforeEach(^{ - UILocalNotification *notification = [[UILocalNotification alloc] init]; - notification.userInfo = @{@"a": @1}; - completionBlockCalled = NO; - [subject didReceiveLocalNotification:notification withCompletion:^(WKUserNotificationInterfaceType interface) { - completionBlockCalled = YES; - }]; - }); - - it(@"should record the invocation when it receives the did receive remote notification message", ^{ - UILocalNotification *notification = [[UILocalNotification alloc] init]; - notification.userInfo = @{@"a": @1}; - subject should have_received(@selector(didReceiveLocalNotification:withCompletion:)).with(notification, Arguments::anything); - }); - - it(@"should store the last completion block on a public property", ^{ - subject.lastCompletionBlock(WKUserNotificationInterfaceTypeDefault); - completionBlockCalled should be_truthy; - }); - - }); - - }); -}); - -SPEC_END diff --git a/WatchKit/WatchKit.xcodeproj/project.pbxproj b/WatchKit/WatchKit.xcodeproj/project.pbxproj deleted file mode 100644 index 22f70fc..0000000 --- a/WatchKit/WatchKit.xcodeproj/project.pbxproj +++ /dev/null @@ -1,1288 +0,0 @@ -// !$*UTF8*$! -{ - archiveVersion = 1; - classes = { - }; - objectVersion = 46; - objects = { - -/* Begin PBXBuildFile section */ - 222167661B8CE49E00A1C8AE /* WKDefines.h in Headers */ = {isa = PBXBuildFile; fileRef = 222167651B8CE49700A1C8AE /* WKDefines.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 222167691B8CE4F600A1C8AE /* WKExtension.h in Headers */ = {isa = PBXBuildFile; fileRef = 222167671B8CE4F600A1C8AE /* WKExtension.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2221676A1B8CE4F600A1C8AE /* WKExtension.m in Sources */ = {isa = PBXBuildFile; fileRef = 222167681B8CE4F600A1C8AE /* WKExtension.m */; }; - 267B25B21AD86BDB00440CD2 /* NSInvocation+InvocationMatching.h in Headers */ = {isa = PBXBuildFile; fileRef = 267B25B01AD86BDB00440CD2 /* NSInvocation+InvocationMatching.h */; }; - 267B25B31AD86BDB00440CD2 /* NSInvocation+InvocationMatching.m in Sources */ = {isa = PBXBuildFile; fileRef = 267B25B11AD86BDB00440CD2 /* NSInvocation+InvocationMatching.m */; }; - 2681A5B11AE0906600B0B753 /* WKInterfaceDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = 2681A5AF1AE0906600B0B753 /* WKInterfaceDevice.m */; }; - 2681A5B21AE0906600B0B753 /* WKInterfaceDevice.h in Headers */ = {isa = PBXBuildFile; fileRef = 2681A5B01AE0906600B0B753 /* WKInterfaceDevice.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 2681A5D31AE0991C00B0B753 /* WKInterfaceDeviceSpec.mm in Sources */ = {isa = PBXBuildFile; fileRef = 2681A5D21AE0991C00B0B753 /* WKInterfaceDeviceSpec.mm */; }; - 3434BC6C1BCDDBBA00E9470B /* WKInterfaceObject+Spec.h in Headers */ = {isa = PBXBuildFile; fileRef = 3434BC5F1BCDD74000E9470B /* WKInterfaceObject+Spec.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3442BECC1BDE867B00B32266 /* WKExtensionSpec.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3442BECB1BDE867B00B32266 /* WKExtensionSpec.mm */; }; - 3442BECF1BDE889F00B32266 /* WKExtension+Spec.h in Headers */ = {isa = PBXBuildFile; fileRef = 3442BECD1BDE889F00B32266 /* WKExtension+Spec.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 3442BED21BDE8A0600B32266 /* WKAlertActionSpec.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3442BED11BDE8A0600B32266 /* WKAlertActionSpec.mm */; }; - 3442BED41BDED16200B32266 /* WKImageSpec.mm in Sources */ = {isa = PBXBuildFile; fileRef = 3442BED31BDED16200B32266 /* WKImageSpec.mm */; }; - 34456A201B98ED0A008A16A2 /* SpecBuildHelper.app in Resources */ = {isa = PBXBuildFile; fileRef = 344569F91B98EC04008A16A2 /* SpecBuildHelper.app */; }; - 34456A241B98F3B4008A16A2 /* NSBundle+BuildHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 34456A231B98F3B4008A16A2 /* NSBundle+BuildHelper.m */; }; - 34456A251B98FDD0008A16A2 /* Interface.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = AE25D65D1A38FFA9008A1920 /* Interface.storyboard */; }; - 34AB31BA1BC8B32E0039F450 /* WKImage.h in Headers */ = {isa = PBXBuildFile; fileRef = 34AB31B81BC8B32E0039F450 /* WKImage.h */; }; - 34AB31BB1BC8B32E0039F450 /* WKImage.m in Sources */ = {isa = PBXBuildFile; fileRef = 34AB31B91BC8B32E0039F450 /* WKImage.m */; }; - 34AB31BE1BC8B70A0039F450 /* WKAlertAction.h in Headers */ = {isa = PBXBuildFile; fileRef = 34AB31BC1BC8B70A0039F450 /* WKAlertAction.h */; }; - 34AB31BF1BC8B70A0039F450 /* WKAlertAction.m in Sources */ = {isa = PBXBuildFile; fileRef = 34AB31BD1BC8B70A0039F450 /* WKAlertAction.m */; }; - AE03A0391A391C5900AD4964 /* corgi.jpeg in Resources */ = {isa = PBXBuildFile; fileRef = AE03A0381A391C5900AD4964 /* corgi.jpeg */; }; - AE0FDC801A6ECB71006C781D /* CustomCategoryNotificationController.m in Sources */ = {isa = PBXBuildFile; fileRef = AE0FDC7F1A6ECB71006C781D /* CustomCategoryNotificationController.m */; }; - AE25D5FE1A38F6C9008A1920 /* XCTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AE25D5FD1A38F6C9008A1920 /* XCTest.framework */; }; - AE25D6001A38F6C9008A1920 /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AE25D5FF1A38F6C9008A1920 /* CoreGraphics.framework */; }; - AE25D6021A38F6C9008A1920 /* UIKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AE25D6011A38F6C9008A1920 /* UIKit.framework */; }; - AE25D6041A38F6C9008A1920 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AE25D6031A38F6C9008A1920 /* Foundation.framework */; }; - AE25D6411A38F79E008A1920 /* libCedar.a in Frameworks */ = {isa = PBXBuildFile; fileRef = AE25D62E1A38F77D008A1920 /* libCedar.a */; }; - AE25D6611A390480008A1920 /* InterfaceController.m in Sources */ = {isa = PBXBuildFile; fileRef = AE25D6601A390480008A1920 /* InterfaceController.m */; }; - AE25F4841B5EBCB2009B599E /* WKInterfaceButton+Spec.m in Sources */ = {isa = PBXBuildFile; fileRef = AE25F4831B5EBCB2009B599E /* WKInterfaceButton+Spec.m */; }; - AE85C0611A3FC03B009A0E4D /* GroupController.m in Sources */ = {isa = PBXBuildFile; fileRef = AE85C0601A3FC03B009A0E4D /* GroupController.m */; }; - AE85C0641A40A4F4009A0E4D /* SliderController.m in Sources */ = {isa = PBXBuildFile; fileRef = AE85C0631A40A4F4009A0E4D /* SliderController.m */; }; - AE85C0701A40B974009A0E4D /* plus@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = AE85C06F1A40B974009A0E4D /* plus@2x.png */; }; - AE85C0721A40B990009A0E4D /* minus@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = AE85C0711A40B990009A0E4D /* minus@2x.png */; }; - AEAA43D31A5F4CBE0034358B /* GlanceController.m in Sources */ = {isa = PBXBuildFile; fileRef = AEAA43D21A5F4CBE0034358B /* GlanceController.m */; }; - AEB03ED21A3F9FFF002404BC /* CorgiTableController.m in Sources */ = {isa = PBXBuildFile; fileRef = AEB03ED11A3F9FFF002404BC /* CorgiTableController.m */; }; - AEB03EDE1A3FB366002404BC /* PCKFixtureMapController.m in Sources */ = {isa = PBXBuildFile; fileRef = AEB03EDD1A3FB366002404BC /* PCKFixtureMapController.m */; }; - AED5709C1A3A4786004ABADA /* CorgisController.m in Sources */ = {isa = PBXBuildFile; fileRef = AED5709B1A3A4786004ABADA /* CorgisController.m */; }; - B83AC2291A5DF12400A35BD6 /* NotificationController.m in Sources */ = {isa = PBXBuildFile; fileRef = B83AC2281A5DF12400A35BD6 /* NotificationController.m */; }; - B83AC22D1A5E191C00A35BD6 /* PCKWKInterfaceControllerProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = B83AC22B1A5E191C00A35BD6 /* PCKWKInterfaceControllerProvider.h */; }; - B83AC22E1A5E191C00A35BD6 /* PCKWKInterfaceControllerProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = B83AC22C1A5E191C00A35BD6 /* PCKWKInterfaceControllerProvider.m */; }; - B83C32041A4CD9BF0021F1A4 /* PCKMessageCapturer.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C31DC1A4CD9BF0021F1A4 /* PCKMessageCapturer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B83C32051A4CD9BF0021F1A4 /* PCKMessageCapturer.m in Sources */ = {isa = PBXBuildFile; fileRef = B83C31DD1A4CD9BF0021F1A4 /* PCKMessageCapturer.m */; }; - B83C32061A4CD9BF0021F1A4 /* WatchKit.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C31DE1A4CD9BF0021F1A4 /* WatchKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B83C32071A4CD9BF0021F1A4 /* WKInterfaceButton.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C31DF1A4CD9BF0021F1A4 /* WKInterfaceButton.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B83C32081A4CD9BF0021F1A4 /* WKInterfaceButton.m in Sources */ = {isa = PBXBuildFile; fileRef = B83C31E01A4CD9BF0021F1A4 /* WKInterfaceButton.m */; }; - B83C32091A4CD9BF0021F1A4 /* WKInterfaceButton+Spec.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C31E11A4CD9BF0021F1A4 /* WKInterfaceButton+Spec.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B83C320A1A4CD9BF0021F1A4 /* WKInterfaceController.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C31E21A4CD9BF0021F1A4 /* WKInterfaceController.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B83C320B1A4CD9BF0021F1A4 /* WKInterfaceController.m in Sources */ = {isa = PBXBuildFile; fileRef = B83C31E31A4CD9BF0021F1A4 /* WKInterfaceController.m */; }; - B83C320C1A4CD9BF0021F1A4 /* WKInterfaceDate.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C31E41A4CD9BF0021F1A4 /* WKInterfaceDate.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B83C320D1A4CD9BF0021F1A4 /* WKInterfaceDate.m in Sources */ = {isa = PBXBuildFile; fileRef = B83C31E51A4CD9BF0021F1A4 /* WKInterfaceDate.m */; }; - B83C320E1A4CD9BF0021F1A4 /* WKInterfaceDate+Spec.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C31E61A4CD9BF0021F1A4 /* WKInterfaceDate+Spec.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B83C320F1A4CD9BF0021F1A4 /* WKInterfaceGroup.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C31E71A4CD9BF0021F1A4 /* WKInterfaceGroup.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B83C32101A4CD9BF0021F1A4 /* WKInterfaceGroup.m in Sources */ = {isa = PBXBuildFile; fileRef = B83C31E81A4CD9BF0021F1A4 /* WKInterfaceGroup.m */; }; - B83C32111A4CD9BF0021F1A4 /* WKInterfaceGroup+Spec.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C31E91A4CD9BF0021F1A4 /* WKInterfaceGroup+Spec.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B83C32121A4CD9BF0021F1A4 /* WKInterfaceImage.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C31EA1A4CD9BF0021F1A4 /* WKInterfaceImage.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B83C32131A4CD9BF0021F1A4 /* WKInterfaceImage.m in Sources */ = {isa = PBXBuildFile; fileRef = B83C31EB1A4CD9BF0021F1A4 /* WKInterfaceImage.m */; }; - B83C32141A4CD9BF0021F1A4 /* WKInterfaceImage+Spec.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C31EC1A4CD9BF0021F1A4 /* WKInterfaceImage+Spec.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B83C32151A4CD9BF0021F1A4 /* WKInterfaceLabel.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C31ED1A4CD9BF0021F1A4 /* WKInterfaceLabel.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B83C32161A4CD9BF0021F1A4 /* WKInterfaceLabel.m in Sources */ = {isa = PBXBuildFile; fileRef = B83C31EE1A4CD9BF0021F1A4 /* WKInterfaceLabel.m */; }; - B83C32171A4CD9BF0021F1A4 /* WKInterfaceLabel+Spec.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C31EF1A4CD9BF0021F1A4 /* WKInterfaceLabel+Spec.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B83C32181A4CD9BF0021F1A4 /* WKInterfaceMap.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C31F01A4CD9BF0021F1A4 /* WKInterfaceMap.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B83C32191A4CD9BF0021F1A4 /* WKInterfaceMap.m in Sources */ = {isa = PBXBuildFile; fileRef = B83C31F11A4CD9BF0021F1A4 /* WKInterfaceMap.m */; }; - B83C321A1A4CD9BF0021F1A4 /* WKInterfaceObject.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C31F21A4CD9BF0021F1A4 /* WKInterfaceObject.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B83C321B1A4CD9BF0021F1A4 /* WKInterfaceObject.m in Sources */ = {isa = PBXBuildFile; fileRef = B83C31F31A4CD9BF0021F1A4 /* WKInterfaceObject.m */; }; - B83C321C1A4CD9BF0021F1A4 /* WKInterfaceSeparator.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C31F41A4CD9BF0021F1A4 /* WKInterfaceSeparator.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B83C321D1A4CD9BF0021F1A4 /* WKInterfaceSeparator.m in Sources */ = {isa = PBXBuildFile; fileRef = B83C31F51A4CD9BF0021F1A4 /* WKInterfaceSeparator.m */; }; - B83C321E1A4CD9BF0021F1A4 /* WKInterfaceSeparator+Spec.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C31F61A4CD9BF0021F1A4 /* WKInterfaceSeparator+Spec.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B83C321F1A4CD9BF0021F1A4 /* WKInterfaceSlider.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C31F71A4CD9BF0021F1A4 /* WKInterfaceSlider.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B83C32201A4CD9BF0021F1A4 /* WKInterfaceSlider.m in Sources */ = {isa = PBXBuildFile; fileRef = B83C31F81A4CD9BF0021F1A4 /* WKInterfaceSlider.m */; }; - B83C32211A4CD9BF0021F1A4 /* WKInterfaceSlider+Spec.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C31F91A4CD9BF0021F1A4 /* WKInterfaceSlider+Spec.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B83C32221A4CD9BF0021F1A4 /* WKInterfaceSwitch.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C31FA1A4CD9BF0021F1A4 /* WKInterfaceSwitch.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B83C32231A4CD9BF0021F1A4 /* WKInterfaceSwitch.m in Sources */ = {isa = PBXBuildFile; fileRef = B83C31FB1A4CD9BF0021F1A4 /* WKInterfaceSwitch.m */; }; - B83C32241A4CD9BF0021F1A4 /* WKInterfaceSwitch+Spec.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C31FC1A4CD9BF0021F1A4 /* WKInterfaceSwitch+Spec.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B83C32251A4CD9BF0021F1A4 /* WKInterfaceTable.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C31FD1A4CD9BF0021F1A4 /* WKInterfaceTable.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B83C32261A4CD9BF0021F1A4 /* WKInterfaceTable.m in Sources */ = {isa = PBXBuildFile; fileRef = B83C31FE1A4CD9BF0021F1A4 /* WKInterfaceTable.m */; }; - B83C32271A4CD9BF0021F1A4 /* WKInterfaceTable+Spec.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C31FF1A4CD9BF0021F1A4 /* WKInterfaceTable+Spec.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B83C32281A4CD9BF0021F1A4 /* WKInterfaceTimer.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C32001A4CD9BF0021F1A4 /* WKInterfaceTimer.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B83C32291A4CD9BF0021F1A4 /* WKInterfaceTimer.m in Sources */ = {isa = PBXBuildFile; fileRef = B83C32011A4CD9BF0021F1A4 /* WKInterfaceTimer.m */; }; - B83C322A1A4CD9BF0021F1A4 /* WKInterfaceTimer+Spec.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C32021A4CD9BF0021F1A4 /* WKInterfaceTimer+Spec.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B83C322B1A4CD9BF0021F1A4 /* WKUserNotificationInterfaceController+Spec.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C32031A4CD9BF0021F1A4 /* WKUserNotificationInterfaceController+Spec.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B83C32301A4CDA380021F1A4 /* PCKFakeSegue.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C322C1A4CDA380021F1A4 /* PCKFakeSegue.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B83C32311A4CDA380021F1A4 /* PCKFakeSegue.m in Sources */ = {isa = PBXBuildFile; fileRef = B83C322D1A4CDA380021F1A4 /* PCKFakeSegue.m */; }; - B83C32321A4CDA380021F1A4 /* PCKInterfaceControllerLoader.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C322E1A4CDA380021F1A4 /* PCKInterfaceControllerLoader.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B83C32331A4CDA380021F1A4 /* PCKInterfaceControllerLoader.m in Sources */ = {isa = PBXBuildFile; fileRef = B83C322F1A4CDA380021F1A4 /* PCKInterfaceControllerLoader.m */; }; - B83C32351A4CDCDE0021F1A4 /* CoreLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B83C32341A4CDCDE0021F1A4 /* CoreLocation.framework */; }; - B83C32361A4CDD670021F1A4 /* WatchKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = B83C31C11A4CD8A40021F1A4 /* WatchKit.framework */; }; - B83C323C1A4CE0FC0021F1A4 /* UIColor+PCK_StringToColor.h in Headers */ = {isa = PBXBuildFile; fileRef = B83C323A1A4CE0FC0021F1A4 /* UIColor+PCK_StringToColor.h */; }; - B83C323D1A4CE0FC0021F1A4 /* UIColor+PCK_StringToColor.m in Sources */ = {isa = PBXBuildFile; fileRef = B83C323B1A4CE0FC0021F1A4 /* UIColor+PCK_StringToColor.m */; }; - B83C324C1A4CE18C0021F1A4 /* PCKInterfaceControllerLoaderSpec.mm in Sources */ = {isa = PBXBuildFile; fileRef = B83C323E1A4CE18C0021F1A4 /* PCKInterfaceControllerLoaderSpec.mm */; }; - B83C324D1A4CE18C0021F1A4 /* WKInterfaceButtonSpec.mm in Sources */ = {isa = PBXBuildFile; fileRef = B83C323F1A4CE18C0021F1A4 /* WKInterfaceButtonSpec.mm */; }; - B83C324E1A4CE18C0021F1A4 /* WKInterfaceControllerSpec.mm in Sources */ = {isa = PBXBuildFile; fileRef = B83C32401A4CE18C0021F1A4 /* WKInterfaceControllerSpec.mm */; }; - B83C324F1A4CE18C0021F1A4 /* WKInterfaceDateSpec.mm in Sources */ = {isa = PBXBuildFile; fileRef = B83C32411A4CE18C0021F1A4 /* WKInterfaceDateSpec.mm */; }; - B83C32501A4CE18C0021F1A4 /* WKInterfaceGroupSpec.mm in Sources */ = {isa = PBXBuildFile; fileRef = B83C32421A4CE18C0021F1A4 /* WKInterfaceGroupSpec.mm */; }; - B83C32511A4CE18C0021F1A4 /* WKInterfaceImageSpec.mm in Sources */ = {isa = PBXBuildFile; fileRef = B83C32431A4CE18C0021F1A4 /* WKInterfaceImageSpec.mm */; }; - B83C32521A4CE18C0021F1A4 /* WKInterfaceLabelSpec.mm in Sources */ = {isa = PBXBuildFile; fileRef = B83C32441A4CE18C0021F1A4 /* WKInterfaceLabelSpec.mm */; }; - B83C32531A4CE18C0021F1A4 /* WKInterfaceMapSpec.mm in Sources */ = {isa = PBXBuildFile; fileRef = B83C32451A4CE18C0021F1A4 /* WKInterfaceMapSpec.mm */; }; - B83C32541A4CE18C0021F1A4 /* WKInterfaceObjectSpec.mm in Sources */ = {isa = PBXBuildFile; fileRef = B83C32461A4CE18C0021F1A4 /* WKInterfaceObjectSpec.mm */; }; - B83C32551A4CE18C0021F1A4 /* WKInterfaceSliderSpec.mm in Sources */ = {isa = PBXBuildFile; fileRef = B83C32471A4CE18C0021F1A4 /* WKInterfaceSliderSpec.mm */; }; - B83C32561A4CE18C0021F1A4 /* WKInterfaceSwitchSpec.mm in Sources */ = {isa = PBXBuildFile; fileRef = B83C32481A4CE18C0021F1A4 /* WKInterfaceSwitchSpec.mm */; }; - B83C32571A4CE18C0021F1A4 /* WKInterfaceTableSpec.mm in Sources */ = {isa = PBXBuildFile; fileRef = B83C32491A4CE18C0021F1A4 /* WKInterfaceTableSpec.mm */; }; - B83C32581A4CE18C0021F1A4 /* WKInterfaceTimerSpec.mm in Sources */ = {isa = PBXBuildFile; fileRef = B83C324A1A4CE18C0021F1A4 /* WKInterfaceTimerSpec.mm */; }; - B83C32591A4CE18C0021F1A4 /* WKUserNotificationInterfaceControllerSpec.mm in Sources */ = {isa = PBXBuildFile; fileRef = B83C324B1A4CE18C0021F1A4 /* WKUserNotificationInterfaceControllerSpec.mm */; }; - DE99C6D4F9825F352B9C1FF6 /* PCKWKInterfaceObjectProvider.m in Sources */ = {isa = PBXBuildFile; fileRef = DE99C8C67949C094218A82C2 /* PCKWKInterfaceObjectProvider.m */; }; - DE99CEA2B9FF35CB4525BCCB /* PCKWKInterfaceObjectProvider.h in Headers */ = {isa = PBXBuildFile; fileRef = DE99C21473753B19AF90BB5F /* PCKWKInterfaceObjectProvider.h */; }; - F7AD35061BF17A010029269A /* WatchKit in Resources */ = {isa = PBXBuildFile; fileRef = F7AD35051BF17A010029269A /* WatchKit */; }; - F7AD35081BF17A5B0029269A /* PCKMessageCapturerSpec.mm in Sources */ = {isa = PBXBuildFile; fileRef = F7AD35071BF17A5B0029269A /* PCKMessageCapturerSpec.mm */; }; -/* End PBXBuildFile section */ - -/* Begin PBXContainerItemProxy section */ - 3431FCB21BE286C600740FFB /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = AE25D6171A38F77D008A1920 /* Cedar.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 346261DF1B995239002CAEBD; - remoteInfo = "Cedar-watchOS"; - }; - 3431FCB41BE286C600740FFB /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = AE25D6171A38F77D008A1920 /* Cedar.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 34D7C3CA1BB9747400E8E523; - remoteInfo = "Cedar-tvOS"; - }; - 3431FCB61BE286C600740FFB /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = AE25D6171A38F77D008A1920 /* Cedar.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 34852D211BBE35FF0072D249; - remoteInfo = "Cedar-watchOS HostApp"; - }; - 3431FCB81BE286C600740FFB /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = AE25D6171A38F77D008A1920 /* Cedar.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 346262781B99C1DB002CAEBD; - remoteInfo = "Cedar-watchOS Specs"; - }; - 3431FCBA1BE286C600740FFB /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = AE25D6171A38F77D008A1920 /* Cedar.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 346262841B99C1DC002CAEBD; - remoteInfo = "Cedar-watchOS Specs Extension"; - }; - 3431FCBC1BE286C600740FFB /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = AE25D6171A38F77D008A1920 /* Cedar.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 34D7C4691BB9B71600E8E523; - remoteInfo = "Cedar-tvOS SpecBundle"; - }; - 34456A161B98EC05008A16A2 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = AE25D6171A38F77D008A1920 /* Cedar.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = AE4864F81B067620005DB302; - remoteInfo = "Cedar-iOS-Framework"; - }; - 34456A181B98EC05008A16A2 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = AE25D6171A38F77D008A1920 /* Cedar.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = AE03FBE91B06C33B00013784; - remoteInfo = "Cedar-iOS-Framework Specs"; - }; - 34456A1C1B98EC21008A16A2 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = AE25D5D11A38F664008A1920 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 344569F81B98EC04008A16A2; - remoteInfo = " WatchKit App"; - }; - AE25D6271A38F77D008A1920 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = AE25D6171A38F77D008A1920 /* Cedar.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = AEEE1FB611DC271300029872; - remoteInfo = Cedar; - }; - AE25D6291A38F77D008A1920 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = AE25D6171A38F77D008A1920 /* Cedar.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = AEEE218611DC28E200029872; - remoteInfo = "Cedar OS X Specs"; - }; - AE25D62B1A38F77D008A1920 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = AE25D6171A38F77D008A1920 /* Cedar.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 96A07F0813F276640021974D; - remoteInfo = "Cedar OS X FocusedSpecs"; - }; - AE25D62D1A38F77D008A1920 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = AE25D6171A38F77D008A1920 /* Cedar.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = AEEE222911DC2B0600029872; - remoteInfo = "Cedar-StaticLib"; - }; - AE25D62F1A38F77D008A1920 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = AE25D6171A38F77D008A1920 /* Cedar.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = AEEE227611DC2CF900029872; - remoteInfo = "Cedar iOS Specs"; - }; - AE25D6311A38F77D008A1920 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = AE25D6171A38F77D008A1920 /* Cedar.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = AE02E7E4184EABCD00414F19; - remoteInfo = "Cedar iOS FrameworkSpecs"; - }; - AE25D6331A38F77D008A1920 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = AE25D6171A38F77D008A1920 /* Cedar.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 96B5F9F6144A81A7000A6A5D; - remoteInfo = "Cedar iOS Host App"; - }; - AE25D6371A38F77D008A1920 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = AE25D6171A38F77D008A1920 /* Cedar.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = 1F45A3DD180E4796003C1E36; - remoteInfo = "Cedar iOS XCTest Tests"; - }; - AE25D6391A38F77D008A1920 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = AE25D6171A38F77D008A1920 /* Cedar.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = AE248F9819DCD52500092C14; - remoteInfo = "Cedar OS X Host App"; - }; - AE25D63B1A38F77D008A1920 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = AE25D6171A38F77D008A1920 /* Cedar.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = AE248FAA19DCD52500092C14; - remoteInfo = "Cedar OS X Host AppTests"; - }; - AE25D63F1A38F794008A1920 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = AE25D6171A38F77D008A1920 /* Cedar.xcodeproj */; - proxyType = 1; - remoteGlobalIDString = AEEE222811DC2B0600029872; - remoteInfo = "Cedar-StaticLib"; - }; - B83C31DA1A4CD8F70021F1A4 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = AE25D5D11A38F664008A1920 /* Project object */; - proxyType = 1; - remoteGlobalIDString = B83C31C01A4CD8A40021F1A4; - remoteInfo = WatchKit; - }; -/* End PBXContainerItemProxy section */ - -/* Begin PBXFileReference section */ - 222167651B8CE49700A1C8AE /* WKDefines.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WKDefines.h; sourceTree = ""; }; - 222167671B8CE4F600A1C8AE /* WKExtension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKExtension.h; sourceTree = ""; }; - 222167681B8CE4F600A1C8AE /* WKExtension.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WKExtension.m; sourceTree = ""; }; - 267B25B01AD86BDB00440CD2 /* NSInvocation+InvocationMatching.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSInvocation+InvocationMatching.h"; sourceTree = ""; }; - 267B25B11AD86BDB00440CD2 /* NSInvocation+InvocationMatching.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSInvocation+InvocationMatching.m"; sourceTree = ""; }; - 2681A5AF1AE0906600B0B753 /* WKInterfaceDevice.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WKInterfaceDevice.m; sourceTree = ""; }; - 2681A5B01AE0906600B0B753 /* WKInterfaceDevice.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKInterfaceDevice.h; sourceTree = ""; }; - 2681A5D21AE0991C00B0B753 /* WKInterfaceDeviceSpec.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKInterfaceDeviceSpec.mm; path = Specs/WatchKit/WKInterfaceDeviceSpec.mm; sourceTree = SOURCE_ROOT; }; - 3434BC5F1BCDD74000E9470B /* WKInterfaceObject+Spec.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "WKInterfaceObject+Spec.h"; sourceTree = ""; }; - 3442BECB1BDE867B00B32266 /* WKExtensionSpec.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKExtensionSpec.mm; path = Specs/WatchKit/WKExtensionSpec.mm; sourceTree = SOURCE_ROOT; }; - 3442BECD1BDE889F00B32266 /* WKExtension+Spec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "WKExtension+Spec.h"; sourceTree = ""; }; - 3442BED11BDE8A0600B32266 /* WKAlertActionSpec.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKAlertActionSpec.mm; path = WatchKit/WKAlertActionSpec.mm; sourceTree = SOURCE_ROOT; }; - 3442BED31BDED16200B32266 /* WKImageSpec.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKImageSpec.mm; path = WatchKit/WKImageSpec.mm; sourceTree = SOURCE_ROOT; }; - 344569F91B98EC04008A16A2 /* SpecBuildHelper.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = SpecBuildHelper.app; sourceTree = BUILT_PRODUCTS_DIR; }; - 34456A221B98F3B4008A16A2 /* NSBundle+BuildHelper.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSBundle+BuildHelper.h"; sourceTree = ""; }; - 34456A231B98F3B4008A16A2 /* NSBundle+BuildHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSBundle+BuildHelper.m"; sourceTree = ""; }; - 34AB31B81BC8B32E0039F450 /* WKImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKImage.h; sourceTree = ""; }; - 34AB31B91BC8B32E0039F450 /* WKImage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WKImage.m; sourceTree = ""; }; - 34AB31BC1BC8B70A0039F450 /* WKAlertAction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKAlertAction.h; sourceTree = ""; }; - 34AB31BD1BC8B70A0039F450 /* WKAlertAction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WKAlertAction.m; sourceTree = ""; }; - AE03A0381A391C5900AD4964 /* corgi.jpeg */ = {isa = PBXFileReference; lastKnownFileType = image.jpeg; path = corgi.jpeg; sourceTree = ""; }; - AE0FDC7E1A6ECB71006C781D /* CustomCategoryNotificationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CustomCategoryNotificationController.h; sourceTree = ""; }; - AE0FDC7F1A6ECB71006C781D /* CustomCategoryNotificationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CustomCategoryNotificationController.m; sourceTree = ""; }; - AE25D5FB1A38F6C9008A1920 /* Specs.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = Specs.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - AE25D5FD1A38F6C9008A1920 /* XCTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = XCTest.framework; path = Library/Frameworks/XCTest.framework; sourceTree = DEVELOPER_DIR; }; - AE25D5FF1A38F6C9008A1920 /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = /System/Library/Frameworks/CoreGraphics.framework; sourceTree = ""; }; - AE25D6011A38F6C9008A1920 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = Library/Frameworks/UIKit.framework; sourceTree = DEVELOPER_DIR; }; - AE25D6031A38F6C9008A1920 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = /System/Library/Frameworks/Foundation.framework; sourceTree = ""; }; - AE25D60C1A38F6C9008A1920 /* Rakefile */ = {isa = PBXFileReference; lastKnownFileType = text; path = Rakefile; sourceTree = ""; }; - AE25D6171A38F77D008A1920 /* Cedar.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = Cedar.xcodeproj; path = Cedar/Cedar.xcodeproj; sourceTree = ""; }; - AE25D65D1A38FFA9008A1920 /* Interface.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = Interface.storyboard; sourceTree = ""; }; - AE25D65F1A390480008A1920 /* InterfaceController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = InterfaceController.h; sourceTree = ""; }; - AE25D6601A390480008A1920 /* InterfaceController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = InterfaceController.m; sourceTree = ""; }; - AE25F4831B5EBCB2009B599E /* WKInterfaceButton+Spec.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "WKInterfaceButton+Spec.m"; sourceTree = ""; }; - AE85C05F1A3FC03B009A0E4D /* GroupController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GroupController.h; sourceTree = ""; }; - AE85C0601A3FC03B009A0E4D /* GroupController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GroupController.m; sourceTree = ""; }; - AE85C0621A40A4F4009A0E4D /* SliderController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SliderController.h; sourceTree = ""; }; - AE85C0631A40A4F4009A0E4D /* SliderController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SliderController.m; sourceTree = ""; }; - AE85C06F1A40B974009A0E4D /* plus@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "plus@2x.png"; sourceTree = ""; }; - AE85C0711A40B990009A0E4D /* minus@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "minus@2x.png"; sourceTree = ""; }; - AEAA43D11A5F4CBE0034358B /* GlanceController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = GlanceController.h; sourceTree = ""; }; - AEAA43D21A5F4CBE0034358B /* GlanceController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GlanceController.m; sourceTree = ""; }; - AEB03ED01A3F9FFF002404BC /* CorgiTableController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CorgiTableController.h; sourceTree = ""; }; - AEB03ED11A3F9FFF002404BC /* CorgiTableController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CorgiTableController.m; sourceTree = ""; }; - AEB03EDC1A3FB366002404BC /* PCKFixtureMapController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PCKFixtureMapController.h; sourceTree = ""; }; - AEB03EDD1A3FB366002404BC /* PCKFixtureMapController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PCKFixtureMapController.m; sourceTree = ""; }; - AED5709A1A3A4786004ABADA /* CorgisController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CorgisController.h; sourceTree = ""; }; - AED5709B1A3A4786004ABADA /* CorgisController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CorgisController.m; sourceTree = ""; }; - B83AC2271A5DF12400A35BD6 /* NotificationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NotificationController.h; sourceTree = ""; }; - B83AC2281A5DF12400A35BD6 /* NotificationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NotificationController.m; sourceTree = ""; }; - B83AC22B1A5E191C00A35BD6 /* PCKWKInterfaceControllerProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PCKWKInterfaceControllerProvider.h; sourceTree = ""; }; - B83AC22C1A5E191C00A35BD6 /* PCKWKInterfaceControllerProvider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PCKWKInterfaceControllerProvider.m; sourceTree = ""; }; - B83C31C11A4CD8A40021F1A4 /* WatchKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = WatchKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B83C31DC1A4CD9BF0021F1A4 /* PCKMessageCapturer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PCKMessageCapturer.h; sourceTree = ""; }; - B83C31DD1A4CD9BF0021F1A4 /* PCKMessageCapturer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PCKMessageCapturer.m; sourceTree = ""; }; - B83C31DE1A4CD9BF0021F1A4 /* WatchKit.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WatchKit.h; sourceTree = ""; }; - B83C31DF1A4CD9BF0021F1A4 /* WKInterfaceButton.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKInterfaceButton.h; sourceTree = ""; }; - B83C31E01A4CD9BF0021F1A4 /* WKInterfaceButton.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WKInterfaceButton.m; sourceTree = ""; }; - B83C31E11A4CD9BF0021F1A4 /* WKInterfaceButton+Spec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "WKInterfaceButton+Spec.h"; sourceTree = ""; }; - B83C31E21A4CD9BF0021F1A4 /* WKInterfaceController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKInterfaceController.h; sourceTree = ""; }; - B83C31E31A4CD9BF0021F1A4 /* WKInterfaceController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WKInterfaceController.m; sourceTree = ""; }; - B83C31E41A4CD9BF0021F1A4 /* WKInterfaceDate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKInterfaceDate.h; sourceTree = ""; }; - B83C31E51A4CD9BF0021F1A4 /* WKInterfaceDate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WKInterfaceDate.m; sourceTree = ""; }; - B83C31E61A4CD9BF0021F1A4 /* WKInterfaceDate+Spec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "WKInterfaceDate+Spec.h"; sourceTree = ""; }; - B83C31E71A4CD9BF0021F1A4 /* WKInterfaceGroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKInterfaceGroup.h; sourceTree = ""; }; - B83C31E81A4CD9BF0021F1A4 /* WKInterfaceGroup.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WKInterfaceGroup.m; sourceTree = ""; }; - B83C31E91A4CD9BF0021F1A4 /* WKInterfaceGroup+Spec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "WKInterfaceGroup+Spec.h"; sourceTree = ""; }; - B83C31EA1A4CD9BF0021F1A4 /* WKInterfaceImage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKInterfaceImage.h; sourceTree = ""; }; - B83C31EB1A4CD9BF0021F1A4 /* WKInterfaceImage.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WKInterfaceImage.m; sourceTree = ""; }; - B83C31EC1A4CD9BF0021F1A4 /* WKInterfaceImage+Spec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "WKInterfaceImage+Spec.h"; sourceTree = ""; }; - B83C31ED1A4CD9BF0021F1A4 /* WKInterfaceLabel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKInterfaceLabel.h; sourceTree = ""; }; - B83C31EE1A4CD9BF0021F1A4 /* WKInterfaceLabel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WKInterfaceLabel.m; sourceTree = ""; }; - B83C31EF1A4CD9BF0021F1A4 /* WKInterfaceLabel+Spec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "WKInterfaceLabel+Spec.h"; sourceTree = ""; }; - B83C31F01A4CD9BF0021F1A4 /* WKInterfaceMap.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKInterfaceMap.h; sourceTree = ""; }; - B83C31F11A4CD9BF0021F1A4 /* WKInterfaceMap.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WKInterfaceMap.m; sourceTree = ""; }; - B83C31F21A4CD9BF0021F1A4 /* WKInterfaceObject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKInterfaceObject.h; sourceTree = ""; }; - B83C31F31A4CD9BF0021F1A4 /* WKInterfaceObject.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WKInterfaceObject.m; sourceTree = ""; }; - B83C31F41A4CD9BF0021F1A4 /* WKInterfaceSeparator.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKInterfaceSeparator.h; sourceTree = ""; }; - B83C31F51A4CD9BF0021F1A4 /* WKInterfaceSeparator.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WKInterfaceSeparator.m; sourceTree = ""; }; - B83C31F61A4CD9BF0021F1A4 /* WKInterfaceSeparator+Spec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "WKInterfaceSeparator+Spec.h"; sourceTree = ""; }; - B83C31F71A4CD9BF0021F1A4 /* WKInterfaceSlider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKInterfaceSlider.h; sourceTree = ""; }; - B83C31F81A4CD9BF0021F1A4 /* WKInterfaceSlider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WKInterfaceSlider.m; sourceTree = ""; }; - B83C31F91A4CD9BF0021F1A4 /* WKInterfaceSlider+Spec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "WKInterfaceSlider+Spec.h"; sourceTree = ""; }; - B83C31FA1A4CD9BF0021F1A4 /* WKInterfaceSwitch.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKInterfaceSwitch.h; sourceTree = ""; }; - B83C31FB1A4CD9BF0021F1A4 /* WKInterfaceSwitch.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WKInterfaceSwitch.m; sourceTree = ""; }; - B83C31FC1A4CD9BF0021F1A4 /* WKInterfaceSwitch+Spec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "WKInterfaceSwitch+Spec.h"; sourceTree = ""; }; - B83C31FD1A4CD9BF0021F1A4 /* WKInterfaceTable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKInterfaceTable.h; sourceTree = ""; }; - B83C31FE1A4CD9BF0021F1A4 /* WKInterfaceTable.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WKInterfaceTable.m; sourceTree = ""; }; - B83C31FF1A4CD9BF0021F1A4 /* WKInterfaceTable+Spec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "WKInterfaceTable+Spec.h"; sourceTree = ""; }; - B83C32001A4CD9BF0021F1A4 /* WKInterfaceTimer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKInterfaceTimer.h; sourceTree = ""; }; - B83C32011A4CD9BF0021F1A4 /* WKInterfaceTimer.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = WKInterfaceTimer.m; sourceTree = ""; }; - B83C32021A4CD9BF0021F1A4 /* WKInterfaceTimer+Spec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "WKInterfaceTimer+Spec.h"; sourceTree = ""; }; - B83C32031A4CD9BF0021F1A4 /* WKUserNotificationInterfaceController+Spec.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "WKUserNotificationInterfaceController+Spec.h"; sourceTree = ""; }; - B83C322C1A4CDA380021F1A4 /* PCKFakeSegue.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PCKFakeSegue.h; sourceTree = ""; }; - B83C322D1A4CDA380021F1A4 /* PCKFakeSegue.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PCKFakeSegue.m; sourceTree = ""; }; - B83C322E1A4CDA380021F1A4 /* PCKInterfaceControllerLoader.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PCKInterfaceControllerLoader.h; sourceTree = ""; }; - B83C322F1A4CDA380021F1A4 /* PCKInterfaceControllerLoader.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PCKInterfaceControllerLoader.m; sourceTree = ""; }; - B83C32341A4CDCDE0021F1A4 /* CoreLocation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreLocation.framework; path = System/Library/Frameworks/CoreLocation.framework; sourceTree = SDKROOT; }; - B83C323A1A4CE0FC0021F1A4 /* UIColor+PCK_StringToColor.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIColor+PCK_StringToColor.h"; sourceTree = ""; }; - B83C323B1A4CE0FC0021F1A4 /* UIColor+PCK_StringToColor.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIColor+PCK_StringToColor.m"; sourceTree = ""; }; - B83C323E1A4CE18C0021F1A4 /* PCKInterfaceControllerLoaderSpec.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = PCKInterfaceControllerLoaderSpec.mm; path = Specs/WatchKit/PCKInterfaceControllerLoaderSpec.mm; sourceTree = SOURCE_ROOT; }; - B83C323F1A4CE18C0021F1A4 /* WKInterfaceButtonSpec.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKInterfaceButtonSpec.mm; path = Specs/WatchKit/WKInterfaceButtonSpec.mm; sourceTree = SOURCE_ROOT; }; - B83C32401A4CE18C0021F1A4 /* WKInterfaceControllerSpec.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKInterfaceControllerSpec.mm; path = Specs/WatchKit/WKInterfaceControllerSpec.mm; sourceTree = SOURCE_ROOT; }; - B83C32411A4CE18C0021F1A4 /* WKInterfaceDateSpec.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKInterfaceDateSpec.mm; path = Specs/WatchKit/WKInterfaceDateSpec.mm; sourceTree = SOURCE_ROOT; }; - B83C32421A4CE18C0021F1A4 /* WKInterfaceGroupSpec.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKInterfaceGroupSpec.mm; path = Specs/WatchKit/WKInterfaceGroupSpec.mm; sourceTree = SOURCE_ROOT; }; - B83C32431A4CE18C0021F1A4 /* WKInterfaceImageSpec.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKInterfaceImageSpec.mm; path = Specs/WatchKit/WKInterfaceImageSpec.mm; sourceTree = SOURCE_ROOT; }; - B83C32441A4CE18C0021F1A4 /* WKInterfaceLabelSpec.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKInterfaceLabelSpec.mm; path = Specs/WatchKit/WKInterfaceLabelSpec.mm; sourceTree = SOURCE_ROOT; }; - B83C32451A4CE18C0021F1A4 /* WKInterfaceMapSpec.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKInterfaceMapSpec.mm; path = Specs/WatchKit/WKInterfaceMapSpec.mm; sourceTree = SOURCE_ROOT; }; - B83C32461A4CE18C0021F1A4 /* WKInterfaceObjectSpec.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKInterfaceObjectSpec.mm; path = Specs/WatchKit/WKInterfaceObjectSpec.mm; sourceTree = SOURCE_ROOT; }; - B83C32471A4CE18C0021F1A4 /* WKInterfaceSliderSpec.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKInterfaceSliderSpec.mm; path = Specs/WatchKit/WKInterfaceSliderSpec.mm; sourceTree = SOURCE_ROOT; }; - B83C32481A4CE18C0021F1A4 /* WKInterfaceSwitchSpec.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKInterfaceSwitchSpec.mm; path = Specs/WatchKit/WKInterfaceSwitchSpec.mm; sourceTree = SOURCE_ROOT; }; - B83C32491A4CE18C0021F1A4 /* WKInterfaceTableSpec.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKInterfaceTableSpec.mm; path = Specs/WatchKit/WKInterfaceTableSpec.mm; sourceTree = SOURCE_ROOT; }; - B83C324A1A4CE18C0021F1A4 /* WKInterfaceTimerSpec.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKInterfaceTimerSpec.mm; path = Specs/WatchKit/WKInterfaceTimerSpec.mm; sourceTree = SOURCE_ROOT; }; - B83C324B1A4CE18C0021F1A4 /* WKUserNotificationInterfaceControllerSpec.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = WKUserNotificationInterfaceControllerSpec.mm; path = Specs/WatchKit/WKUserNotificationInterfaceControllerSpec.mm; sourceTree = SOURCE_ROOT; }; - DE99C21473753B19AF90BB5F /* PCKWKInterfaceObjectProvider.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = PCKWKInterfaceObjectProvider.h; sourceTree = ""; }; - DE99C8C67949C094218A82C2 /* PCKWKInterfaceObjectProvider.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = PCKWKInterfaceObjectProvider.m; sourceTree = ""; }; - F7AD35051BF17A010029269A /* WatchKit */ = {isa = PBXFileReference; lastKnownFileType = folder; name = WatchKit; path = Specs/WatchKit; sourceTree = SOURCE_ROOT; }; - F7AD35071BF17A5B0029269A /* PCKMessageCapturerSpec.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = PCKMessageCapturerSpec.mm; path = Specs/WatchKit/PCKMessageCapturerSpec.mm; sourceTree = SOURCE_ROOT; }; -/* End PBXFileReference section */ - -/* Begin PBXFrameworksBuildPhase section */ - AE25D5F41A38F6C9008A1920 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - AE25D6041A38F6C9008A1920 /* Foundation.framework in Frameworks */, - AE25D6001A38F6C9008A1920 /* CoreGraphics.framework in Frameworks */, - AE25D6021A38F6C9008A1920 /* UIKit.framework in Frameworks */, - AE25D5FE1A38F6C9008A1920 /* XCTest.framework in Frameworks */, - AE25D6411A38F79E008A1920 /* libCedar.a in Frameworks */, - B83C32351A4CDCDE0021F1A4 /* CoreLocation.framework in Frameworks */, - B83C32361A4CDD670021F1A4 /* WatchKit.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B83C31BD1A4CD8A40021F1A4 /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXFrameworksBuildPhase section */ - -/* Begin PBXGroup section */ - 34456A211B98F378008A16A2 /* Helpers */ = { - isa = PBXGroup; - children = ( - 34456A221B98F3B4008A16A2 /* NSBundle+BuildHelper.h */, - 34456A231B98F3B4008A16A2 /* NSBundle+BuildHelper.m */, - ); - path = Helpers; - sourceTree = ""; - }; - AE03A35E1A3A349A00AD4964 /* WatchKit */ = { - isa = PBXGroup; - children = ( - B83C323E1A4CE18C0021F1A4 /* PCKInterfaceControllerLoaderSpec.mm */, - F7AD35071BF17A5B0029269A /* PCKMessageCapturerSpec.mm */, - F7AD35051BF17A010029269A /* WatchKit */, - 3442BED11BDE8A0600B32266 /* WKAlertActionSpec.mm */, - 3442BECB1BDE867B00B32266 /* WKExtensionSpec.mm */, - 3442BED31BDED16200B32266 /* WKImageSpec.mm */, - B83C323F1A4CE18C0021F1A4 /* WKInterfaceButtonSpec.mm */, - B83C32401A4CE18C0021F1A4 /* WKInterfaceControllerSpec.mm */, - B83C32411A4CE18C0021F1A4 /* WKInterfaceDateSpec.mm */, - 2681A5D21AE0991C00B0B753 /* WKInterfaceDeviceSpec.mm */, - B83C32421A4CE18C0021F1A4 /* WKInterfaceGroupSpec.mm */, - B83C32431A4CE18C0021F1A4 /* WKInterfaceImageSpec.mm */, - B83C32441A4CE18C0021F1A4 /* WKInterfaceLabelSpec.mm */, - B83C32451A4CE18C0021F1A4 /* WKInterfaceMapSpec.mm */, - B83C32461A4CE18C0021F1A4 /* WKInterfaceObjectSpec.mm */, - B83C32471A4CE18C0021F1A4 /* WKInterfaceSliderSpec.mm */, - B83C32481A4CE18C0021F1A4 /* WKInterfaceSwitchSpec.mm */, - B83C32491A4CE18C0021F1A4 /* WKInterfaceTableSpec.mm */, - B83C324A1A4CE18C0021F1A4 /* WKInterfaceTimerSpec.mm */, - B83C324B1A4CE18C0021F1A4 /* WKUserNotificationInterfaceControllerSpec.mm */, - ); - name = WatchKit; - path = FakeWatchKit; - sourceTree = ""; - }; - AE25D5D01A38F664008A1920 = { - isa = PBXGroup; - children = ( - AE25D6161A38F75D008A1920 /* Externals */, - AE25D6051A38F6C9008A1920 /* Specs */, - B83C31C21A4CD8A40021F1A4 /* WatchKit */, - AE25D5FC1A38F6C9008A1920 /* Frameworks */, - AE25D5DA1A38F664008A1920 /* Products */, - ); - sourceTree = ""; - }; - AE25D5DA1A38F664008A1920 /* Products */ = { - isa = PBXGroup; - children = ( - AE25D5FB1A38F6C9008A1920 /* Specs.xctest */, - B83C31C11A4CD8A40021F1A4 /* WatchKit.framework */, - 344569F91B98EC04008A16A2 /* SpecBuildHelper.app */, - ); - name = Products; - sourceTree = ""; - }; - AE25D5FC1A38F6C9008A1920 /* Frameworks */ = { - isa = PBXGroup; - children = ( - B83C32341A4CDCDE0021F1A4 /* CoreLocation.framework */, - AE25D5FD1A38F6C9008A1920 /* XCTest.framework */, - AE25D5FF1A38F6C9008A1920 /* CoreGraphics.framework */, - AE25D6011A38F6C9008A1920 /* UIKit.framework */, - AE25D6031A38F6C9008A1920 /* Foundation.framework */, - ); - name = Frameworks; - sourceTree = ""; - }; - AE25D6051A38F6C9008A1920 /* Specs */ = { - isa = PBXGroup; - children = ( - AE03A35E1A3A349A00AD4964 /* WatchKit */, - AE25D65C1A38FF83008A1920 /* Fixtures */, - 34456A211B98F378008A16A2 /* Helpers */, - AE25D6061A38F6C9008A1920 /* Supporting Files */, - ); - path = Specs; - sourceTree = ""; - }; - AE25D6061A38F6C9008A1920 /* Supporting Files */ = { - isa = PBXGroup; - children = ( - AE25D60C1A38F6C9008A1920 /* Rakefile */, - ); - name = "Supporting Files"; - sourceTree = ""; - }; - AE25D6161A38F75D008A1920 /* Externals */ = { - isa = PBXGroup; - children = ( - AE25D6171A38F77D008A1920 /* Cedar.xcodeproj */, - ); - name = Externals; - path = ../Externals; - sourceTree = ""; - }; - AE25D6181A38F77D008A1920 /* Products */ = { - isa = PBXGroup; - children = ( - AE25D6281A38F77D008A1920 /* Cedar.framework */, - 34456A171B98EC05008A16A2 /* Cedar.framework */, - 3431FCB31BE286C600740FFB /* Cedar.framework */, - 3431FCB51BE286C600740FFB /* Cedar.framework */, - AE25D62E1A38F77D008A1920 /* libCedar.a */, - AE25D62A1A38F77D008A1920 /* Cedar-OSX Specs */, - AE25D62C1A38F77D008A1920 /* Cedar-OSX FocusedSpecs */, - 34456A191B98EC05008A16A2 /* Cedar-iOS Specs.app */, - AE25D6301A38F77D008A1920 /* Cedar-iOS StaticLib Specs.app */, - AE25D6321A38F77D008A1920 /* Cedar-iOS StaticFrameworkSpecs.app */, - AE25D63A1A38F77D008A1920 /* Cedar-OSX HostApp.app */, - AE25D6341A38F77D008A1920 /* Cedar-iOS HostApp.app */, - 3431FCB71BE286C600740FFB /* Cedar-watchOS HostApp.app */, - AE25D63C1A38F77D008A1920 /* Cedar-OSX SpecBundle.xctest */, - AE25D6381A38F77D008A1920 /* Cedar-iOS SpecBundle.xctest */, - 3431FCB91BE286C600740FFB /* Cedar-watchOS Specs.app */, - 3431FCBB1BE286C600740FFB /* Cedar-watchOS Specs Extension.appex */, - 3431FCBD1BE286C600740FFB /* Cedar-tvOS SpecBundle.bundle */, - ); - name = Products; - sourceTree = ""; - }; - AE25D65C1A38FF83008A1920 /* Fixtures */ = { - isa = PBXGroup; - children = ( - AE03A0381A391C5900AD4964 /* corgi.jpeg */, - AED5709A1A3A4786004ABADA /* CorgisController.h */, - AED5709B1A3A4786004ABADA /* CorgisController.m */, - AEB03ED01A3F9FFF002404BC /* CorgiTableController.h */, - AEB03ED11A3F9FFF002404BC /* CorgiTableController.m */, - AE0FDC7E1A6ECB71006C781D /* CustomCategoryNotificationController.h */, - AE0FDC7F1A6ECB71006C781D /* CustomCategoryNotificationController.m */, - AEAA43D11A5F4CBE0034358B /* GlanceController.h */, - AEAA43D21A5F4CBE0034358B /* GlanceController.m */, - AE85C05F1A3FC03B009A0E4D /* GroupController.h */, - AE85C0601A3FC03B009A0E4D /* GroupController.m */, - AE25D65D1A38FFA9008A1920 /* Interface.storyboard */, - AE25D65F1A390480008A1920 /* InterfaceController.h */, - AE25D6601A390480008A1920 /* InterfaceController.m */, - AEB03EDC1A3FB366002404BC /* PCKFixtureMapController.h */, - AEB03EDD1A3FB366002404BC /* PCKFixtureMapController.m */, - AE85C0711A40B990009A0E4D /* minus@2x.png */, - B83AC2271A5DF12400A35BD6 /* NotificationController.h */, - B83AC2281A5DF12400A35BD6 /* NotificationController.m */, - AE85C06F1A40B974009A0E4D /* plus@2x.png */, - AE85C0621A40A4F4009A0E4D /* SliderController.h */, - AE85C0631A40A4F4009A0E4D /* SliderController.m */, - ); - path = Fixtures; - sourceTree = ""; - }; - B83C31C21A4CD8A40021F1A4 /* WatchKit */ = { - isa = PBXGroup; - children = ( - 222167651B8CE49700A1C8AE /* WKDefines.h */, - 222167671B8CE4F600A1C8AE /* WKExtension.h */, - 222167681B8CE4F600A1C8AE /* WKExtension.m */, - 3442BECD1BDE889F00B32266 /* WKExtension+Spec.h */, - 267B25B01AD86BDB00440CD2 /* NSInvocation+InvocationMatching.h */, - 267B25B11AD86BDB00440CD2 /* NSInvocation+InvocationMatching.m */, - B83AC22B1A5E191C00A35BD6 /* PCKWKInterfaceControllerProvider.h */, - B83AC22C1A5E191C00A35BD6 /* PCKWKInterfaceControllerProvider.m */, - B83C322C1A4CDA380021F1A4 /* PCKFakeSegue.h */, - B83C322D1A4CDA380021F1A4 /* PCKFakeSegue.m */, - B83C322E1A4CDA380021F1A4 /* PCKInterfaceControllerLoader.h */, - B83C322F1A4CDA380021F1A4 /* PCKInterfaceControllerLoader.m */, - B83C31DC1A4CD9BF0021F1A4 /* PCKMessageCapturer.h */, - B83C31DD1A4CD9BF0021F1A4 /* PCKMessageCapturer.m */, - B83C323A1A4CE0FC0021F1A4 /* UIColor+PCK_StringToColor.h */, - B83C323B1A4CE0FC0021F1A4 /* UIColor+PCK_StringToColor.m */, - B83C31DE1A4CD9BF0021F1A4 /* WatchKit.h */, - B83C31DF1A4CD9BF0021F1A4 /* WKInterfaceButton.h */, - B83C31E01A4CD9BF0021F1A4 /* WKInterfaceButton.m */, - B83C31E11A4CD9BF0021F1A4 /* WKInterfaceButton+Spec.h */, - AE25F4831B5EBCB2009B599E /* WKInterfaceButton+Spec.m */, - B83C31E31A4CD9BF0021F1A4 /* WKInterfaceController.m */, - B83C31E21A4CD9BF0021F1A4 /* WKInterfaceController.h */, - B83C31E41A4CD9BF0021F1A4 /* WKInterfaceDate.h */, - B83C31E51A4CD9BF0021F1A4 /* WKInterfaceDate.m */, - B83C31E61A4CD9BF0021F1A4 /* WKInterfaceDate+Spec.h */, - 2681A5B01AE0906600B0B753 /* WKInterfaceDevice.h */, - 2681A5AF1AE0906600B0B753 /* WKInterfaceDevice.m */, - B83C31E71A4CD9BF0021F1A4 /* WKInterfaceGroup.h */, - B83C31E81A4CD9BF0021F1A4 /* WKInterfaceGroup.m */, - B83C31E91A4CD9BF0021F1A4 /* WKInterfaceGroup+Spec.h */, - B83C31EA1A4CD9BF0021F1A4 /* WKInterfaceImage.h */, - B83C31EB1A4CD9BF0021F1A4 /* WKInterfaceImage.m */, - B83C31EC1A4CD9BF0021F1A4 /* WKInterfaceImage+Spec.h */, - B83C31ED1A4CD9BF0021F1A4 /* WKInterfaceLabel.h */, - B83C31EE1A4CD9BF0021F1A4 /* WKInterfaceLabel.m */, - B83C31EF1A4CD9BF0021F1A4 /* WKInterfaceLabel+Spec.h */, - B83C31F01A4CD9BF0021F1A4 /* WKInterfaceMap.h */, - B83C31F11A4CD9BF0021F1A4 /* WKInterfaceMap.m */, - B83C31F21A4CD9BF0021F1A4 /* WKInterfaceObject.h */, - B83C31F31A4CD9BF0021F1A4 /* WKInterfaceObject.m */, - 3434BC5F1BCDD74000E9470B /* WKInterfaceObject+Spec.h */, - B83C31F41A4CD9BF0021F1A4 /* WKInterfaceSeparator.h */, - B83C31F51A4CD9BF0021F1A4 /* WKInterfaceSeparator.m */, - B83C31F61A4CD9BF0021F1A4 /* WKInterfaceSeparator+Spec.h */, - B83C31F71A4CD9BF0021F1A4 /* WKInterfaceSlider.h */, - B83C31F81A4CD9BF0021F1A4 /* WKInterfaceSlider.m */, - B83C31F91A4CD9BF0021F1A4 /* WKInterfaceSlider+Spec.h */, - B83C31FA1A4CD9BF0021F1A4 /* WKInterfaceSwitch.h */, - B83C31FB1A4CD9BF0021F1A4 /* WKInterfaceSwitch.m */, - B83C31FC1A4CD9BF0021F1A4 /* WKInterfaceSwitch+Spec.h */, - B83C31FD1A4CD9BF0021F1A4 /* WKInterfaceTable.h */, - B83C31FE1A4CD9BF0021F1A4 /* WKInterfaceTable.m */, - B83C31FF1A4CD9BF0021F1A4 /* WKInterfaceTable+Spec.h */, - B83C32001A4CD9BF0021F1A4 /* WKInterfaceTimer.h */, - B83C32011A4CD9BF0021F1A4 /* WKInterfaceTimer.m */, - B83C32021A4CD9BF0021F1A4 /* WKInterfaceTimer+Spec.h */, - B83C32031A4CD9BF0021F1A4 /* WKUserNotificationInterfaceController+Spec.h */, - DE99C8C67949C094218A82C2 /* PCKWKInterfaceObjectProvider.m */, - DE99C21473753B19AF90BB5F /* PCKWKInterfaceObjectProvider.h */, - 34AB31B81BC8B32E0039F450 /* WKImage.h */, - 34AB31B91BC8B32E0039F450 /* WKImage.m */, - 34AB31BC1BC8B70A0039F450 /* WKAlertAction.h */, - 34AB31BD1BC8B70A0039F450 /* WKAlertAction.m */, - ); - path = WatchKit; - sourceTree = ""; - }; -/* End PBXGroup section */ - -/* Begin PBXHeadersBuildPhase section */ - B83C31BE1A4CD8A40021F1A4 /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - B83C32271A4CD9BF0021F1A4 /* WKInterfaceTable+Spec.h in Headers */, - 222167661B8CE49E00A1C8AE /* WKDefines.h in Headers */, - B83C32321A4CDA380021F1A4 /* PCKInterfaceControllerLoader.h in Headers */, - B83C323C1A4CE0FC0021F1A4 /* UIColor+PCK_StringToColor.h in Headers */, - 222167691B8CE4F600A1C8AE /* WKExtension.h in Headers */, - B83C321C1A4CD9BF0021F1A4 /* WKInterfaceSeparator.h in Headers */, - B83C32251A4CD9BF0021F1A4 /* WKInterfaceTable.h in Headers */, - B83C320F1A4CD9BF0021F1A4 /* WKInterfaceGroup.h in Headers */, - B83C32111A4CD9BF0021F1A4 /* WKInterfaceGroup+Spec.h in Headers */, - B83C32121A4CD9BF0021F1A4 /* WKInterfaceImage.h in Headers */, - B83C321E1A4CD9BF0021F1A4 /* WKInterfaceSeparator+Spec.h in Headers */, - B83C32071A4CD9BF0021F1A4 /* WKInterfaceButton.h in Headers */, - 3434BC6C1BCDDBBA00E9470B /* WKInterfaceObject+Spec.h in Headers */, - B83C320A1A4CD9BF0021F1A4 /* WKInterfaceController.h in Headers */, - B83C320C1A4CD9BF0021F1A4 /* WKInterfaceDate.h in Headers */, - B83C32041A4CD9BF0021F1A4 /* PCKMessageCapturer.h in Headers */, - B83C322B1A4CD9BF0021F1A4 /* WKUserNotificationInterfaceController+Spec.h in Headers */, - 34AB31BA1BC8B32E0039F450 /* WKImage.h in Headers */, - B83AC22D1A5E191C00A35BD6 /* PCKWKInterfaceControllerProvider.h in Headers */, - 34AB31BE1BC8B70A0039F450 /* WKAlertAction.h in Headers */, - B83C32151A4CD9BF0021F1A4 /* WKInterfaceLabel.h in Headers */, - B83C32281A4CD9BF0021F1A4 /* WKInterfaceTimer.h in Headers */, - B83C32241A4CD9BF0021F1A4 /* WKInterfaceSwitch+Spec.h in Headers */, - B83C32141A4CD9BF0021F1A4 /* WKInterfaceImage+Spec.h in Headers */, - B83C321A1A4CD9BF0021F1A4 /* WKInterfaceObject.h in Headers */, - B83C32061A4CD9BF0021F1A4 /* WatchKit.h in Headers */, - B83C32301A4CDA380021F1A4 /* PCKFakeSegue.h in Headers */, - B83C322A1A4CD9BF0021F1A4 /* WKInterfaceTimer+Spec.h in Headers */, - B83C32211A4CD9BF0021F1A4 /* WKInterfaceSlider+Spec.h in Headers */, - B83C321F1A4CD9BF0021F1A4 /* WKInterfaceSlider.h in Headers */, - B83C32171A4CD9BF0021F1A4 /* WKInterfaceLabel+Spec.h in Headers */, - 2681A5B21AE0906600B0B753 /* WKInterfaceDevice.h in Headers */, - 267B25B21AD86BDB00440CD2 /* NSInvocation+InvocationMatching.h in Headers */, - B83C32181A4CD9BF0021F1A4 /* WKInterfaceMap.h in Headers */, - B83C320E1A4CD9BF0021F1A4 /* WKInterfaceDate+Spec.h in Headers */, - B83C32221A4CD9BF0021F1A4 /* WKInterfaceSwitch.h in Headers */, - 3442BECF1BDE889F00B32266 /* WKExtension+Spec.h in Headers */, - B83C32091A4CD9BF0021F1A4 /* WKInterfaceButton+Spec.h in Headers */, - DE99CEA2B9FF35CB4525BCCB /* PCKWKInterfaceObjectProvider.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXHeadersBuildPhase section */ - -/* Begin PBXNativeTarget section */ - 344569F81B98EC04008A16A2 /* SpecBuildHelper */ = { - isa = PBXNativeTarget; - buildConfigurationList = 34456A1A1B98EC05008A16A2 /* Build configuration list for PBXNativeTarget "SpecBuildHelper" */; - buildPhases = ( - 344569F71B98EC04008A16A2 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = SpecBuildHelper; - productName = " WatchKit App"; - productReference = 344569F91B98EC04008A16A2 /* SpecBuildHelper.app */; - productType = "com.apple.product-type.application.watchapp"; - }; - AE25D5FA1A38F6C9008A1920 /* Specs */ = { - isa = PBXNativeTarget; - buildConfigurationList = AE25D6121A38F6CA008A1920 /* Build configuration list for PBXNativeTarget "Specs" */; - buildPhases = ( - AE25D5F31A38F6C9008A1920 /* Sources */, - AE25D5F41A38F6C9008A1920 /* Frameworks */, - AE25D5F51A38F6C9008A1920 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - 34456A1D1B98EC21008A16A2 /* PBXTargetDependency */, - B83C31DB1A4CD8F70021F1A4 /* PBXTargetDependency */, - AE25D6401A38F794008A1920 /* PBXTargetDependency */, - ); - name = Specs; - productName = Specs; - productReference = AE25D5FB1A38F6C9008A1920 /* Specs.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; - B83C31C01A4CD8A40021F1A4 /* WatchKit */ = { - isa = PBXNativeTarget; - buildConfigurationList = B83C31D41A4CD8A40021F1A4 /* Build configuration list for PBXNativeTarget "WatchKit" */; - buildPhases = ( - B83C31BC1A4CD8A40021F1A4 /* Sources */, - B83C31BD1A4CD8A40021F1A4 /* Frameworks */, - B83C31BE1A4CD8A40021F1A4 /* Headers */, - B83C31BF1A4CD8A40021F1A4 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = WatchKit; - productName = WatchKit; - productReference = B83C31C11A4CD8A40021F1A4 /* WatchKit.framework */; - productType = "com.apple.product-type.framework"; - }; -/* End PBXNativeTarget section */ - -/* Begin PBXProject section */ - AE25D5D11A38F664008A1920 /* Project object */ = { - isa = PBXProject; - attributes = { - LastUpgradeCheck = 0700; - ORGANIZATIONNAME = Pivotal; - TargetAttributes = { - 344569F81B98EC04008A16A2 = { - CreatedOnToolsVersion = 6.3.1; - }; - AE25D5FA1A38F6C9008A1920 = { - CreatedOnToolsVersion = 6.2; - }; - B83C31C01A4CD8A40021F1A4 = { - CreatedOnToolsVersion = 6.2; - }; - }; - }; - buildConfigurationList = AE25D5D41A38F664008A1920 /* Build configuration list for PBXProject "WatchKit" */; - compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; - hasScannedForEncodings = 0; - knownRegions = ( - en, - Base, - ); - mainGroup = AE25D5D01A38F664008A1920; - productRefGroup = AE25D5DA1A38F664008A1920 /* Products */; - projectDirPath = ""; - projectReferences = ( - { - ProductGroup = AE25D6181A38F77D008A1920 /* Products */; - ProjectRef = AE25D6171A38F77D008A1920 /* Cedar.xcodeproj */; - }, - ); - projectRoot = ""; - targets = ( - B83C31C01A4CD8A40021F1A4 /* WatchKit */, - AE25D5FA1A38F6C9008A1920 /* Specs */, - 344569F81B98EC04008A16A2 /* SpecBuildHelper */, - ); - }; -/* End PBXProject section */ - -/* Begin PBXReferenceProxy section */ - 3431FCB31BE286C600740FFB /* Cedar.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = Cedar.framework; - remoteRef = 3431FCB21BE286C600740FFB /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3431FCB51BE286C600740FFB /* Cedar.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = Cedar.framework; - remoteRef = 3431FCB41BE286C600740FFB /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3431FCB71BE286C600740FFB /* Cedar-watchOS HostApp.app */ = { - isa = PBXReferenceProxy; - fileType = wrapper.application; - path = "Cedar-watchOS HostApp.app"; - remoteRef = 3431FCB61BE286C600740FFB /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3431FCB91BE286C600740FFB /* Cedar-watchOS Specs.app */ = { - isa = PBXReferenceProxy; - fileType = wrapper.application; - path = "Cedar-watchOS Specs.app"; - remoteRef = 3431FCB81BE286C600740FFB /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3431FCBB1BE286C600740FFB /* Cedar-watchOS Specs Extension.appex */ = { - isa = PBXReferenceProxy; - fileType = "wrapper.app-extension"; - path = "Cedar-watchOS Specs Extension.appex"; - remoteRef = 3431FCBA1BE286C600740FFB /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 3431FCBD1BE286C600740FFB /* Cedar-tvOS SpecBundle.bundle */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = "Cedar-tvOS SpecBundle.bundle"; - remoteRef = 3431FCBC1BE286C600740FFB /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 34456A171B98EC05008A16A2 /* Cedar.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = Cedar.framework; - remoteRef = 34456A161B98EC05008A16A2 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - 34456A191B98EC05008A16A2 /* Cedar-iOS Specs.app */ = { - isa = PBXReferenceProxy; - fileType = wrapper.application; - path = "Cedar-iOS Specs.app"; - remoteRef = 34456A181B98EC05008A16A2 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - AE25D6281A38F77D008A1920 /* Cedar.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = Cedar.framework; - remoteRef = AE25D6271A38F77D008A1920 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - AE25D62A1A38F77D008A1920 /* Cedar-OSX Specs */ = { - isa = PBXReferenceProxy; - fileType = "compiled.mach-o.executable"; - path = "Cedar-OSX Specs"; - remoteRef = AE25D6291A38F77D008A1920 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - AE25D62C1A38F77D008A1920 /* Cedar-OSX FocusedSpecs */ = { - isa = PBXReferenceProxy; - fileType = "compiled.mach-o.executable"; - path = "Cedar-OSX FocusedSpecs"; - remoteRef = AE25D62B1A38F77D008A1920 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - AE25D62E1A38F77D008A1920 /* libCedar.a */ = { - isa = PBXReferenceProxy; - fileType = archive.ar; - path = libCedar.a; - remoteRef = AE25D62D1A38F77D008A1920 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - AE25D6301A38F77D008A1920 /* Cedar-iOS StaticLib Specs.app */ = { - isa = PBXReferenceProxy; - fileType = wrapper.application; - path = "Cedar-iOS StaticLib Specs.app"; - remoteRef = AE25D62F1A38F77D008A1920 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - AE25D6321A38F77D008A1920 /* Cedar-iOS StaticFrameworkSpecs.app */ = { - isa = PBXReferenceProxy; - fileType = wrapper.application; - path = "Cedar-iOS StaticFrameworkSpecs.app"; - remoteRef = AE25D6311A38F77D008A1920 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - AE25D6341A38F77D008A1920 /* Cedar-iOS HostApp.app */ = { - isa = PBXReferenceProxy; - fileType = wrapper.application; - path = "Cedar-iOS HostApp.app"; - remoteRef = AE25D6331A38F77D008A1920 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - AE25D6381A38F77D008A1920 /* Cedar-iOS SpecBundle.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = "Cedar-iOS SpecBundle.xctest"; - remoteRef = AE25D6371A38F77D008A1920 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - AE25D63A1A38F77D008A1920 /* Cedar-OSX HostApp.app */ = { - isa = PBXReferenceProxy; - fileType = wrapper.application; - path = "Cedar-OSX HostApp.app"; - remoteRef = AE25D6391A38F77D008A1920 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - AE25D63C1A38F77D008A1920 /* Cedar-OSX SpecBundle.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = "Cedar-OSX SpecBundle.xctest"; - remoteRef = AE25D63B1A38F77D008A1920 /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - -/* Begin PBXResourcesBuildPhase section */ - 344569F71B98EC04008A16A2 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 34456A251B98FDD0008A16A2 /* Interface.storyboard in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - AE25D5F51A38F6C9008A1920 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - F7AD35061BF17A010029269A /* WatchKit in Resources */, - 34456A201B98ED0A008A16A2 /* SpecBuildHelper.app in Resources */, - AE85C0701A40B974009A0E4D /* plus@2x.png in Resources */, - AE85C0721A40B990009A0E4D /* minus@2x.png in Resources */, - AE03A0391A391C5900AD4964 /* corgi.jpeg in Resources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B83C31BF1A4CD8A40021F1A4 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXResourcesBuildPhase section */ - -/* Begin PBXSourcesBuildPhase section */ - AE25D5F31A38F6C9008A1920 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - B83C32521A4CE18C0021F1A4 /* WKInterfaceLabelSpec.mm in Sources */, - B83C32551A4CE18C0021F1A4 /* WKInterfaceSliderSpec.mm in Sources */, - B83AC2291A5DF12400A35BD6 /* NotificationController.m in Sources */, - B83C32581A4CE18C0021F1A4 /* WKInterfaceTimerSpec.mm in Sources */, - AE85C0641A40A4F4009A0E4D /* SliderController.m in Sources */, - AEAA43D31A5F4CBE0034358B /* GlanceController.m in Sources */, - AE0FDC801A6ECB71006C781D /* CustomCategoryNotificationController.m in Sources */, - B83C32541A4CE18C0021F1A4 /* WKInterfaceObjectSpec.mm in Sources */, - 34456A241B98F3B4008A16A2 /* NSBundle+BuildHelper.m in Sources */, - AEB03EDE1A3FB366002404BC /* PCKFixtureMapController.m in Sources */, - 3442BED21BDE8A0600B32266 /* WKAlertActionSpec.mm in Sources */, - B83C324E1A4CE18C0021F1A4 /* WKInterfaceControllerSpec.mm in Sources */, - B83C324D1A4CE18C0021F1A4 /* WKInterfaceButtonSpec.mm in Sources */, - B83C32571A4CE18C0021F1A4 /* WKInterfaceTableSpec.mm in Sources */, - B83C32531A4CE18C0021F1A4 /* WKInterfaceMapSpec.mm in Sources */, - 3442BECC1BDE867B00B32266 /* WKExtensionSpec.mm in Sources */, - B83C32511A4CE18C0021F1A4 /* WKInterfaceImageSpec.mm in Sources */, - 2681A5D31AE0991C00B0B753 /* WKInterfaceDeviceSpec.mm in Sources */, - AE85C0611A3FC03B009A0E4D /* GroupController.m in Sources */, - B83C324C1A4CE18C0021F1A4 /* PCKInterfaceControllerLoaderSpec.mm in Sources */, - AED5709C1A3A4786004ABADA /* CorgisController.m in Sources */, - AEB03ED21A3F9FFF002404BC /* CorgiTableController.m in Sources */, - B83C32561A4CE18C0021F1A4 /* WKInterfaceSwitchSpec.mm in Sources */, - B83C32591A4CE18C0021F1A4 /* WKUserNotificationInterfaceControllerSpec.mm in Sources */, - B83C324F1A4CE18C0021F1A4 /* WKInterfaceDateSpec.mm in Sources */, - F7AD35081BF17A5B0029269A /* PCKMessageCapturerSpec.mm in Sources */, - AE25D6611A390480008A1920 /* InterfaceController.m in Sources */, - 3442BED41BDED16200B32266 /* WKImageSpec.mm in Sources */, - B83C32501A4CE18C0021F1A4 /* WKInterfaceGroupSpec.mm in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - B83C31BC1A4CD8A40021F1A4 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - B83C32201A4CD9BF0021F1A4 /* WKInterfaceSlider.m in Sources */, - 34AB31BB1BC8B32E0039F450 /* WKImage.m in Sources */, - B83C321B1A4CD9BF0021F1A4 /* WKInterfaceObject.m in Sources */, - B83C32331A4CDA380021F1A4 /* PCKInterfaceControllerLoader.m in Sources */, - B83AC22E1A5E191C00A35BD6 /* PCKWKInterfaceControllerProvider.m in Sources */, - B83C321D1A4CD9BF0021F1A4 /* WKInterfaceSeparator.m in Sources */, - B83C32311A4CDA380021F1A4 /* PCKFakeSegue.m in Sources */, - B83C32291A4CD9BF0021F1A4 /* WKInterfaceTimer.m in Sources */, - 2221676A1B8CE4F600A1C8AE /* WKExtension.m in Sources */, - B83C32261A4CD9BF0021F1A4 /* WKInterfaceTable.m in Sources */, - B83C32161A4CD9BF0021F1A4 /* WKInterfaceLabel.m in Sources */, - B83C32051A4CD9BF0021F1A4 /* PCKMessageCapturer.m in Sources */, - B83C323D1A4CE0FC0021F1A4 /* UIColor+PCK_StringToColor.m in Sources */, - B83C320D1A4CD9BF0021F1A4 /* WKInterfaceDate.m in Sources */, - B83C32101A4CD9BF0021F1A4 /* WKInterfaceGroup.m in Sources */, - AE25F4841B5EBCB2009B599E /* WKInterfaceButton+Spec.m in Sources */, - B83C32231A4CD9BF0021F1A4 /* WKInterfaceSwitch.m in Sources */, - 267B25B31AD86BDB00440CD2 /* NSInvocation+InvocationMatching.m in Sources */, - B83C32191A4CD9BF0021F1A4 /* WKInterfaceMap.m in Sources */, - 34AB31BF1BC8B70A0039F450 /* WKAlertAction.m in Sources */, - B83C32131A4CD9BF0021F1A4 /* WKInterfaceImage.m in Sources */, - 2681A5B11AE0906600B0B753 /* WKInterfaceDevice.m in Sources */, - B83C32081A4CD9BF0021F1A4 /* WKInterfaceButton.m in Sources */, - B83C320B1A4CD9BF0021F1A4 /* WKInterfaceController.m in Sources */, - DE99C6D4F9825F352B9C1FF6 /* PCKWKInterfaceObjectProvider.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; -/* End PBXSourcesBuildPhase section */ - -/* Begin PBXTargetDependency section */ - 34456A1D1B98EC21008A16A2 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 344569F81B98EC04008A16A2 /* SpecBuildHelper */; - targetProxy = 34456A1C1B98EC21008A16A2 /* PBXContainerItemProxy */; - }; - AE25D6401A38F794008A1920 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = "Cedar-StaticLib"; - targetProxy = AE25D63F1A38F794008A1920 /* PBXContainerItemProxy */; - }; - B83C31DB1A4CD8F70021F1A4 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = B83C31C01A4CD8A40021F1A4 /* WatchKit */; - targetProxy = B83C31DA1A4CD8F70021F1A4 /* PBXContainerItemProxy */; - }; -/* End PBXTargetDependency section */ - -/* Begin XCBuildConfiguration section */ - 34456A071B98EC05008A16A2 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - IBSC_MODULE = "___ASSOCIATEDTARGET_bundleNameAsIdentifier____WatchKit_Extension"; - INFOPLIST_FILE = "Specs/SpecBuildHelper-Info.plist"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - "TARGETED_DEVICE_FAMILY[sdk=iphonesimulator*]" = "1,4"; - }; - name = Debug; - }; - 34456A081B98EC05008A16A2 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; - COPY_PHASE_STRIP = NO; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - GCC_NO_COMMON_BLOCKS = YES; - IBSC_MODULE = "___ASSOCIATEDTARGET_bundleNameAsIdentifier____WatchKit_Extension"; - INFOPLIST_FILE = "Specs/SpecBuildHelper-Info.plist"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = 4; - "TARGETED_DEVICE_FAMILY[sdk=iphonesimulator*]" = "1,4"; - }; - name = Release; - }; - AE25D5EB1A38F664008A1920 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_TREAT_WARNINGS_AS_ERRORS = 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.2; - MTL_ENABLE_DEBUG_INFO = YES; - ONLY_ACTIVE_ARCH = YES; - SDKROOT = iphoneos; - }; - name = Debug; - }; - AE25D5EC1A38F664008A1920 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - COPY_PHASE_STRIP = YES; - ENABLE_NS_ASSERTIONS = NO; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_TREAT_WARNINGS_AS_ERRORS = 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.2; - MTL_ENABLE_DEBUG_INFO = NO; - SDKROOT = iphoneos; - VALIDATE_PRODUCT = YES; - }; - name = Release; - }; - AE25D6131A38F6CA008A1920 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(DEVELOPER_FRAMEWORKS_DIR)", - ); - GCC_PREFIX_HEADER = ""; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - INFOPLIST_FILE = "../InfoPlist/SpecBundle-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - OTHER_LDFLAGS = ( - "-ObjC", - "-all_load", - "-lstdc++", - "$(inherited)", - ); - PRODUCT_NAME = "$(TARGET_NAME)"; - USER_HEADER_SEARCH_PATHS = "\"$PROJECT_DIR/SpecHelper/\" \"$PROJECT_DIR/../Externals/Cedar/Source/Headers/\"/**"; - }; - name = Debug; - }; - AE25D6141A38F6CA008A1920 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - ALWAYS_SEARCH_USER_PATHS = YES; - FRAMEWORK_SEARCH_PATHS = ( - "$(inherited)", - "$(DEVELOPER_FRAMEWORKS_DIR)", - ); - GCC_PREFIX_HEADER = ""; - INFOPLIST_FILE = "../InfoPlist/SpecBundle-Info.plist"; - IPHONEOS_DEPLOYMENT_TARGET = 8.2; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - OTHER_LDFLAGS = ( - "-ObjC", - "-all_load", - "-lstdc++", - "$(inherited)", - ); - PRODUCT_NAME = "$(TARGET_NAME)"; - USER_HEADER_SEARCH_PATHS = "\"$PROJECT_DIR/SpecHelper/\" \"$PROJECT_DIR/../Externals/Cedar/Source/Headers/\"/**"; - }; - name = Release; - }; - B83C31D51A4CD8A40021F1A4 /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREPROCESSOR_DEFINITIONS = ( - "DEBUG=1", - "$(inherited)", - ); - INFOPLIST_FILE = "../InfoPlist/Framework-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "io.pivotal.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - B83C31D61A4CD8A40021F1A4 /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "../InfoPlist/Framework-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - PRODUCT_BUNDLE_IDENTIFIER = "io.pivotal.$(PRODUCT_NAME:rfc1034identifier)"; - PRODUCT_NAME = "$(TARGET_NAME)"; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; -/* End XCBuildConfiguration section */ - -/* Begin XCConfigurationList section */ - 34456A1A1B98EC05008A16A2 /* Build configuration list for PBXNativeTarget "SpecBuildHelper" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 34456A071B98EC05008A16A2 /* Debug */, - 34456A081B98EC05008A16A2 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - AE25D5D41A38F664008A1920 /* Build configuration list for PBXProject "WatchKit" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - AE25D5EB1A38F664008A1920 /* Debug */, - AE25D5EC1A38F664008A1920 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - AE25D6121A38F6CA008A1920 /* Build configuration list for PBXNativeTarget "Specs" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - AE25D6131A38F6CA008A1920 /* Debug */, - AE25D6141A38F6CA008A1920 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - B83C31D41A4CD8A40021F1A4 /* Build configuration list for PBXNativeTarget "WatchKit" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - B83C31D51A4CD8A40021F1A4 /* Debug */, - B83C31D61A4CD8A40021F1A4 /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; -/* End XCConfigurationList section */ - }; - rootObject = AE25D5D11A38F664008A1920 /* Project object */; -} diff --git a/WatchKit/WatchKit.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/WatchKit/WatchKit.xcodeproj/project.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index aea05f9..0000000 --- a/WatchKit/WatchKit.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,7 +0,0 @@ - - - - - diff --git a/WatchKit/WatchKit.xcodeproj/project.xcworkspace/xcshareddata/WatchKit.xccheckout b/WatchKit/WatchKit.xcodeproj/project.xcworkspace/xcshareddata/WatchKit.xccheckout deleted file mode 100644 index 6c94cc3..0000000 --- a/WatchKit/WatchKit.xcodeproj/project.xcworkspace/xcshareddata/WatchKit.xccheckout +++ /dev/null @@ -1,53 +0,0 @@ - - - - - IDESourceControlProjectFavoriteDictionaryKey - - IDESourceControlProjectIdentifier - 0DE7C8A5-71B7-4C6C-A459-7FB505783FF5 - IDESourceControlProjectName - WatchKit - IDESourceControlProjectOriginsDictionary - - 8E3EABAC3DEB540C429B3EF995370DAC6D10823F - github.com:pivotal/PivotalCoreKit.git - 9C17E6AC4A93E78FE05F88AE0011DD4EAD50139D - https://github.com/pivotal/cedar.git - - IDESourceControlProjectPath - WatchKit/WatchKit.xcodeproj - IDESourceControlProjectRelativeInstallPathDictionary - - 8E3EABAC3DEB540C429B3EF995370DAC6D10823F - ../../.. - 9C17E6AC4A93E78FE05F88AE0011DD4EAD50139D - ../../..Externals/Cedar - - IDESourceControlProjectURL - github.com:pivotal/PivotalCoreKit.git - IDESourceControlProjectVersion - 111 - IDESourceControlProjectWCCIdentifier - 8E3EABAC3DEB540C429B3EF995370DAC6D10823F - IDESourceControlProjectWCConfigurations - - - IDESourceControlRepositoryExtensionIdentifierKey - public.vcs.git - IDESourceControlWCCIdentifierKey - 9C17E6AC4A93E78FE05F88AE0011DD4EAD50139D - IDESourceControlWCCName - Cedar - - - IDESourceControlRepositoryExtensionIdentifierKey - public.vcs.git - IDESourceControlWCCIdentifierKey - 8E3EABAC3DEB540C429B3EF995370DAC6D10823F - IDESourceControlWCCName - PivotalCoreKit - - - - diff --git a/WatchKit/WatchKit.xcodeproj/xcshareddata/xcschemes/Glance - SpecBuildHelper.xcscheme b/WatchKit/WatchKit.xcodeproj/xcshareddata/xcschemes/Glance - SpecBuildHelper.xcscheme deleted file mode 100644 index 00a5fb1..0000000 --- a/WatchKit/WatchKit.xcodeproj/xcshareddata/xcschemes/Glance - SpecBuildHelper.xcscheme +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/WatchKit/WatchKit.xcodeproj/xcshareddata/xcschemes/Notification - SpecBuildHelper.xcscheme b/WatchKit/WatchKit.xcodeproj/xcshareddata/xcschemes/Notification - SpecBuildHelper.xcscheme deleted file mode 100644 index 00f047b..0000000 --- a/WatchKit/WatchKit.xcodeproj/xcshareddata/xcschemes/Notification - SpecBuildHelper.xcscheme +++ /dev/null @@ -1,115 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/WatchKit/WatchKit.xcodeproj/xcshareddata/xcschemes/SpecBuildHelper.xcscheme b/WatchKit/WatchKit.xcodeproj/xcshareddata/xcschemes/SpecBuildHelper.xcscheme deleted file mode 100644 index dff9328..0000000 --- a/WatchKit/WatchKit.xcodeproj/xcshareddata/xcschemes/SpecBuildHelper.xcscheme +++ /dev/null @@ -1,113 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/WatchKit/WatchKit.xcodeproj/xcshareddata/xcschemes/WatchKit.xcscheme b/WatchKit/WatchKit.xcodeproj/xcshareddata/xcschemes/WatchKit.xcscheme deleted file mode 100644 index 8132eef..0000000 --- a/WatchKit/WatchKit.xcodeproj/xcshareddata/xcschemes/WatchKit.xcscheme +++ /dev/null @@ -1,99 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/WatchKit/WatchKit/Info.plist b/WatchKit/WatchKit/Info.plist deleted file mode 100644 index d3de8ee..0000000 --- a/WatchKit/WatchKit/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - $(EXECUTABLE_NAME) - CFBundleIdentifier - $(PRODUCT_BUNDLE_IDENTIFIER) - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - $(PRODUCT_NAME) - CFBundlePackageType - FMWK - CFBundleShortVersionString - 1.0 - CFBundleSignature - ???? - CFBundleVersion - $(CURRENT_PROJECT_VERSION) - NSPrincipalClass - - - diff --git a/WatchKit/WatchKit/NSInvocation+InvocationMatching.h b/WatchKit/WatchKit/NSInvocation+InvocationMatching.h deleted file mode 100644 index c8357fb..0000000 --- a/WatchKit/WatchKit/NSInvocation+InvocationMatching.h +++ /dev/null @@ -1,11 +0,0 @@ -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface NSInvocation (InvocationMatching) - -- (BOOL)matchesTarget:(id)target selector:(SEL)selector arguments:(nullable NSArray *)arguments; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/NSInvocation+InvocationMatching.m b/WatchKit/WatchKit/NSInvocation+InvocationMatching.m deleted file mode 100644 index aa47761..0000000 --- a/WatchKit/WatchKit/NSInvocation+InvocationMatching.m +++ /dev/null @@ -1,32 +0,0 @@ -#import "NSInvocation+InvocationMatching.h" - -@implementation NSInvocation (InvocationMatching) - -- (BOOL)matchesTarget:(id)target selector:(SEL)selector arguments:(NSArray *)arguments -{ - if (self.selector != selector) { - return NO; - } - - if (self.target != target) { - return NO; - } - - NSInteger selectorArgumentCount = self.methodSignature.numberOfArguments - 2; - - if (selectorArgumentCount != arguments.count) { - return NO; - } - - for(NSInteger idx = 0; idx < selectorArgumentCount; idx++) { - id argument = [arguments objectAtIndex:idx]; - __unsafe_unretained id retrievedArg; - [self getArgument:&retrievedArg atIndex:idx + 2]; - if(retrievedArg != argument && ![retrievedArg isEqual:argument]) { - return NO; - }; - } - - return YES; -} -@end diff --git a/WatchKit/WatchKit/PCKFakeSegue.h b/WatchKit/WatchKit/PCKFakeSegue.h deleted file mode 100644 index c6ccaf3..0000000 --- a/WatchKit/WatchKit/PCKFakeSegue.h +++ /dev/null @@ -1,22 +0,0 @@ -#import - - -typedef NS_ENUM(NSUInteger, PCKFakeSegueType) { - PCKFakeSegueTypePush, - PCKFakeSegueTypeModal -}; - - -NS_ASSUME_NONNULL_BEGIN - -@interface PCKFakeSegue : NSObject - -@property (nonatomic, copy, readonly) NSString *destinationIdentifier; -@property (nonatomic, readonly) PCKFakeSegueType type; - -- (instancetype)initWithDestinationIdentifier:(NSString *)destinationIdentifier - type:(PCKFakeSegueType)type; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/PCKFakeSegue.m b/WatchKit/WatchKit/PCKFakeSegue.m deleted file mode 100644 index 7543cdb..0000000 --- a/WatchKit/WatchKit/PCKFakeSegue.m +++ /dev/null @@ -1,25 +0,0 @@ -#import "PCKFakeSegue.h" - - -@interface PCKFakeSegue () - -@property (nonatomic, copy) NSString *destinationIdentifier; -@property (nonatomic) PCKFakeSegueType type; - -@end - - -@implementation PCKFakeSegue - -- (instancetype)initWithDestinationIdentifier:(NSString *)destinationIdentifier - type:(PCKFakeSegueType)type -{ - self = [super init]; - if (self) { - self.destinationIdentifier = destinationIdentifier; - self.type = type; - } - return self; -} - -@end diff --git a/WatchKit/WatchKit/PCKInterfaceControllerLoader.h b/WatchKit/WatchKit/PCKInterfaceControllerLoader.h deleted file mode 100644 index efbd14b..0000000 --- a/WatchKit/WatchKit/PCKInterfaceControllerLoader.h +++ /dev/null @@ -1,23 +0,0 @@ -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface PCKInterfaceControllerLoader : NSObject - -- (id)interfaceControllerWithStoryboardName:(NSString *)storyboardName - identifier:(NSString *)objectID - bundle:(nullable NSBundle *)bundle; - -- (id)rootInterfaceControllerForStoryboardNamed:(NSString *)storyboardName inBundle:(nullable NSBundle *)bundle; - -- (id)dynamicNotificationInterfaceControllerWithStoryboardName:(NSString *)storyboardName - notificationCategory:(nullable NSString *)notificationCategoryOrNil - bundle:(nullable NSBundle *)bundle; - -- (id)glanceInterfaceControllerWithStoryboardName:(NSString *)storyboardName - identifier:(NSString *)objectID - bundle:(nullable NSBundle *)bundle; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/PCKInterfaceControllerLoader.m b/WatchKit/WatchKit/PCKInterfaceControllerLoader.m deleted file mode 100644 index acb5a0d..0000000 --- a/WatchKit/WatchKit/PCKInterfaceControllerLoader.m +++ /dev/null @@ -1,123 +0,0 @@ -#import "PCKInterfaceControllerLoader.h" -#import "PCKWKInterfaceControllerProvider.h" -#import "WKInterfaceLabel+Spec.h" -#import "WKInterfaceLabel.h" -#import "WKInterfaceObject.h" - - -@interface PCKInterfaceControllerLoader () - -@property (nonatomic) PCKWKInterfaceControllerProvider *controllerProvider; - -@end - - -@implementation PCKInterfaceControllerLoader - -- (instancetype)init -{ - self = [super init]; - if (self) { - self.controllerProvider = [[PCKWKInterfaceControllerProvider alloc] init]; - } - - return self; -} - -- (id)interfaceControllerWithStoryboardName:(NSString *)storyboardName - identifier:(NSString *)objectID - bundle:(NSBundle *)bundle -{ - NSDictionary *dictionary = [self dictionaryForStoryboardNamed:storyboardName inBundle:bundle][@"controllers"]; - NSString *controllerID = dictionary[objectID] ? objectID : [NSString stringWithFormat:@"controller-%@", objectID]; - NSDictionary *controllerProperties = dictionary[controllerID]; - if (!controllerProperties) { - [NSException raise:NSInvalidArgumentException - format:@"No interface controller named '%@' exists in the storyboard '%@'. Please check the storyboard and try again.", objectID, storyboardName]; - return nil; - } - - return [self.controllerProvider interfaceControllerWithProperties:controllerProperties]; -} - -- (id)rootInterfaceControllerForStoryboardNamed:(NSString *)storyboardName inBundle:(NSBundle *)bundle { - NSDictionary *dictionary = [self dictionaryForStoryboardNamed:storyboardName inBundle:bundle]; - NSString *controllerID = dictionary[@"root"]; - - if(!controllerID) { - [NSException raise:NSInvalidArgumentException - format:@"No root controller found for storyboard named '%@'. Did you forget to set it in interface builder?", storyboardName]; - return nil; - } - - return [self interfaceControllerWithStoryboardName:storyboardName - identifier:controllerID - bundle:bundle]; -} - -- (id)dynamicNotificationInterfaceControllerWithStoryboardName:(NSString *)storyboardName - notificationCategory:(NSString *)notificationCategoryOrNil - bundle:(NSBundle *)bundle -{ - NSString *processedStoryboardName = [storyboardName stringByAppendingString:@"-notification"]; - NSString *pathForPlist = [(bundle ?: [NSBundle mainBundle]) pathForResource:processedStoryboardName ofType:@"plist"]; - - if (!pathForPlist) { - [NSException raise:NSInvalidArgumentException - format:@"No storyboard named '%@' exists in the test target. Did you forget to add it?", storyboardName]; - return nil; - } - - NSDictionary *serializedNotificationControllerStoryboard = [NSDictionary dictionaryWithContentsOfFile:pathForPlist]; - - NSString *categoryKey = notificationCategoryOrNil ? notificationCategoryOrNil : @"default"; - NSDictionary *controllerProperties = serializedNotificationControllerStoryboard[@"categories"][categoryKey][@"dynamic"]; - - return [self.controllerProvider interfaceControllerWithProperties:controllerProperties]; -} - -- (id)glanceInterfaceControllerWithStoryboardName:(NSString *)storyboardName - identifier:(NSString *)objectID - bundle:(NSBundle *)bundle -{ - NSString *processedStoryboardName = [storyboardName stringByAppendingString:@"-glance"]; - NSString *pathForPlist = [(bundle ?: [NSBundle mainBundle]) pathForResource:processedStoryboardName ofType:@"plist"]; - - if (!pathForPlist) { - [NSException raise:NSInvalidArgumentException - format:@"No storyboard named '%@' exists in the test target. Did you forget to add it?", storyboardName]; - return nil; - } - - NSDictionary *dictionary = [NSDictionary dictionaryWithContentsOfFile:pathForPlist][@"controllers"]; - NSString *controllerID = dictionary[objectID] ? objectID : [NSString stringWithFormat:@"controller-%@", objectID]; - NSDictionary *controllerProperties = dictionary[controllerID]; - if (!controllerProperties) { - [NSException raise:NSInvalidArgumentException - format:@"No interface controller named '%@' exists in the storyboard '%@'. Please check the storyboard and try again.", objectID, storyboardName]; - return nil; - } - - return [self.controllerProvider interfaceControllerWithProperties:controllerProperties]; -} - -#pragma mark - Private - -- (NSDictionary *)dictionaryForStoryboardNamed:(NSString *)storyboardName inBundle:(NSBundle *)bundle { - NSString *pathForPlist = [(bundle ?: [NSBundle mainBundle]) pathForResource:storyboardName ofType:@"plist"]; - if (!pathForPlist) { - [NSException raise:NSInvalidArgumentException - format:@"No storyboard named '%@' exists in the test target. Did you forget to add it?", storyboardName]; - return nil; - } - - NSDictionary *dictionary = [NSDictionary dictionaryWithContentsOfFile:pathForPlist]; - if (!dictionary) { - [NSException raise:NSInvalidArgumentException - format:@"Unreadable plist for the storyboard '%@'. Please check the storyboard and try again.", storyboardName]; - return nil; - } - return dictionary; -} - -@end diff --git a/WatchKit/WatchKit/PCKMessageCapturer.h b/WatchKit/WatchKit/PCKMessageCapturer.h deleted file mode 100644 index 6c1bece..0000000 --- a/WatchKit/WatchKit/PCKMessageCapturer.h +++ /dev/null @@ -1,15 +0,0 @@ -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface PCKMessageCapturer : NSObject - -@property (nonatomic, readonly) NSArray *sent_messages; -- (void)reset_sent_messages; - -+ (NSArray *)sent_class_messages; -+ (void)reset_sent_messages; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/PCKMessageCapturer.m b/WatchKit/WatchKit/PCKMessageCapturer.m deleted file mode 100644 index b9ff7a8..0000000 --- a/WatchKit/WatchKit/PCKMessageCapturer.m +++ /dev/null @@ -1,60 +0,0 @@ -#import "PCKMessageCapturer.h" -#import - -@implementation PCKMessageCapturer { - NSMutableArray *_sent_messages; -} - -static NSMutableArray *sent_class_messages_array; - -#pragma mark - NSObject - -+ (void)load { - id cedarHooksProtocol = NSProtocolFromString(@"CDRHooks"); - if (cedarHooksProtocol) { - class_addProtocol(self, cedarHooksProtocol); - } -} - -- (instancetype)init -{ - self = [super init]; - if (self) { - _sent_messages = [NSMutableArray array]; - } - return self; -} - -- (void)forwardInvocation:(NSInvocation *)anInvocation -{ - [anInvocation retainArguments]; - [_sent_messages addObject:anInvocation]; -} - -- (void)reset_sent_messages { - [_sent_messages removeAllObjects]; -} - -+ (void)forwardInvocation:(NSInvocation *)anInvocation -{ - if (!sent_class_messages_array) { - sent_class_messages_array = [NSMutableArray array]; - } - [sent_class_messages_array addObject:anInvocation]; -} - -+ (NSArray *)sent_class_messages -{ - return sent_class_messages_array; -} - -+ (void)reset_sent_messages { - [sent_class_messages_array removeAllObjects]; -} - -+ (void)afterEach -{ - sent_class_messages_array = [NSMutableArray array]; -} - -@end diff --git a/WatchKit/WatchKit/PCKWKInterfaceControllerProvider.h b/WatchKit/WatchKit/PCKWKInterfaceControllerProvider.h deleted file mode 100644 index 2359aae..0000000 --- a/WatchKit/WatchKit/PCKWKInterfaceControllerProvider.h +++ /dev/null @@ -1,14 +0,0 @@ -#import - - -@class WKInterfaceController; - -NS_ASSUME_NONNULL_BEGIN - -@interface PCKWKInterfaceControllerProvider : NSObject - -- (WKInterfaceController *)interfaceControllerWithProperties:(NSDictionary *)controllerProperties; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/PCKWKInterfaceControllerProvider.m b/WatchKit/WatchKit/PCKWKInterfaceControllerProvider.m deleted file mode 100644 index 311dc65..0000000 --- a/WatchKit/WatchKit/PCKWKInterfaceControllerProvider.m +++ /dev/null @@ -1,46 +0,0 @@ -#import "PCKWKInterfaceControllerProvider.h" -#import "WKInterfaceObject.h" -#import "WKInterfaceController.h" -#import "PCKWKInterfaceObjectProvider.h" - - -@interface PCKWKInterfaceControllerProvider () - -@property (nonatomic) PCKWKInterfaceObjectProvider *interfaceObjectProvider; - -@end - - -@implementation PCKWKInterfaceControllerProvider - -- (instancetype)init -{ - self = [super init]; - if (self) { - self.interfaceObjectProvider = [[PCKWKInterfaceObjectProvider alloc] init]; - } - - return self; -} - -- (WKInterfaceController *)interfaceControllerWithProperties:(NSDictionary *)controllerProperties -{ - NSString *controllerClassName = controllerProperties[@"controllerClass"]; - Class interfaceControllerClass = NSClassFromString(controllerClassName); - if (!interfaceControllerClass) { - [NSException raise:NSInvalidArgumentException - format:@"No class named '%@' exists in the current target. Did you forget to add it to the test target?", controllerClassName]; - } - - id interfaceController = [interfaceControllerClass alloc]; - - NSArray *rootItems = controllerProperties[@"items"]; - for (NSDictionary *itemDictionary in rootItems) { - [self.interfaceObjectProvider interfaceObjectWithItemDictionary:itemDictionary - interfaceController:interfaceController]; - } - - return [interfaceController init]; -} - -@end diff --git a/WatchKit/WatchKit/PCKWKInterfaceObjectProvider.h b/WatchKit/WatchKit/PCKWKInterfaceObjectProvider.h deleted file mode 100644 index 53e7ab7..0000000 --- a/WatchKit/WatchKit/PCKWKInterfaceObjectProvider.h +++ /dev/null @@ -1,16 +0,0 @@ -#import - -NS_ASSUME_NONNULL_BEGIN - -@class WKInterfaceObject; -@class WKInterfaceController; - - -@interface PCKWKInterfaceObjectProvider : NSObject - -- (WKInterfaceObject *)interfaceObjectWithItemDictionary:(NSDictionary *)properties - interfaceController:(WKInterfaceController *)interfaceController; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/PCKWKInterfaceObjectProvider.m b/WatchKit/WatchKit/PCKWKInterfaceObjectProvider.m deleted file mode 100644 index 4540419..0000000 --- a/WatchKit/WatchKit/PCKWKInterfaceObjectProvider.m +++ /dev/null @@ -1,84 +0,0 @@ -#import "WKInterfaceButton+Spec.h" -#import "WKInterfaceButton.h" -#import "WKInterfaceGroup.h" -#import "WKInterfaceObject.h" -#import "WKInterfaceController.h" -#import "WKInterfaceObject.h" -#import "PCKWKInterfaceControllerProvider.h" -#import "PCKWKInterfaceObjectProvider.h" - - -@implementation PCKWKInterfaceObjectProvider - -- (WKInterfaceObject *)interfaceObjectWithItemDictionary:(NSDictionary *)properties - interfaceController:(WKInterfaceController *)interfaceController -{ - NSString *propertyType = properties[@"type"]; - NSString *propertyClassName = [NSString stringWithFormat:@"WKInterface%@", [propertyType capitalizedString]]; - Class propertyClass = NSClassFromString(propertyClassName); - if (!propertyClass) { - [NSException raise:NSInvalidArgumentException format:@"No property class found for '%@'.", propertyClassName]; - return nil; - } - WKInterfaceObject *interfaceObject = [[propertyClass alloc] init]; - - NSMutableDictionary *propertiesCopy = [properties mutableCopy]; - [propertiesCopy removeObjectForKey:@"property"]; - [propertiesCopy removeObjectForKey:@"type"]; - - for (NSString *name in propertiesCopy) { - NSString *capitalizedFirstLetter = [[name substringWithRange:NSMakeRange(0, 1)] capitalizedString]; - NSString *remainder1 = [name substringWithRange:NSMakeRange(1, [name length] - 1)]; - SEL setterSelector = NSSelectorFromString([NSString stringWithFormat:@"set%@%@:", - capitalizedFirstLetter, - remainder1]); - if ([interfaceObject respondsToSelector:setterSelector]) { - - id propertyValue; - - if ([name isEqualToString:@"items"]) { - NSArray *items = propertiesCopy[name]; - - NSMutableArray *interfaceObjects = [NSMutableArray arrayWithCapacity:items.count]; - for (NSDictionary *item in items) { - WKInterfaceObject *object = [self interfaceObjectWithItemDictionary:item - interfaceController:interfaceController]; - [interfaceObjects addObject:object]; - } - - NSArray *value = interfaceObjects; - - propertyValue = value; - } - - else if ([name isEqualToString:@"content"]) { - - NSDictionary *groupDictionary = propertiesCopy[name]; - WKInterfaceObject *group = [self interfaceObjectWithItemDictionary:groupDictionary - interfaceController:interfaceController]; - propertyValue = group; - } - - else { - id propertyValueOfSomeKind = propertiesCopy[name]; - propertyValue = propertyValueOfSomeKind; - } - - [interfaceObject setValue:propertyValue forKey:name]; - } - } - - NSString *propertyKey = properties[@"property"]; - if (propertyKey) { - [interfaceController setValue:interfaceObject forKey:propertyKey]; - } - - if ([interfaceObject isKindOfClass:[WKInterfaceButton class]]) { - WKInterfaceButton *button = (WKInterfaceButton *)interfaceObject; - button.controller = interfaceController; - } - - return interfaceObject; -} - -@end diff --git a/WatchKit/WatchKit/UIColor+PCK_StringToColor.h b/WatchKit/WatchKit/UIColor+PCK_StringToColor.h deleted file mode 100644 index 8af3a6c..0000000 --- a/WatchKit/WatchKit/UIColor+PCK_StringToColor.h +++ /dev/null @@ -1,11 +0,0 @@ -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface UIColor (PCK_StringToColor) - -+ (UIColor *)colorWithNameOrHexValue:(NSString *)nameOrHexValue; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/UIColor+PCK_StringToColor.m b/WatchKit/WatchKit/UIColor+PCK_StringToColor.m deleted file mode 100644 index e5fb4f5..0000000 --- a/WatchKit/WatchKit/UIColor+PCK_StringToColor.m +++ /dev/null @@ -1,44 +0,0 @@ -#import "UIColor+PCK_StringToColor.h" - - -@implementation UIColor (PCK_StringToColor) - -+ (UIColor *)colorWithNameOrHexValue:(NSString *)nameOrHexValue -{ - NSArray *colorNameArray = @[@"black", - @"darkGray", - @"lightGray", - @"white", - @"gray", - @"red", - @"green", - @"blue", - @"cyan", - @"yellow", - @"magenta", - @"orange", - @"purple", - @"brown", - @"clear"]; - - if ([colorNameArray containsObject:nameOrHexValue]) { - NSString* colorString = [NSString stringWithFormat:@"%@Color", nameOrHexValue]; - __autoreleasing id color = nil; -# pragma clang diagnostic push -# pragma clang diagnostic ignored "-Warc-performSelector-leaks" - color = [[UIColor class] performSelector:NSSelectorFromString(colorString)]; -# pragma clang diagnostic pop - return color; - } - else { - unsigned rgbValue = 0; - NSScanner *scanner = [NSScanner scannerWithString:nameOrHexValue]; - [scanner scanHexInt:&rgbValue]; - return [UIColor colorWithRed:((rgbValue & 0xFF0000) >> 16) / 255.0f - green:((rgbValue & 0xFF00) >> 8) / 255.0f - blue:(rgbValue & 0xFF) / 255.0f - alpha:1.0]; - } -} - -@end diff --git a/WatchKit/WatchKit/WKAlertAction.h b/WatchKit/WatchKit/WKAlertAction.h deleted file mode 100644 index d8d0a49..0000000 --- a/WatchKit/WatchKit/WKAlertAction.h +++ /dev/null @@ -1,21 +0,0 @@ -#import - -NS_ASSUME_NONNULL_BEGIN - -typedef NS_ENUM(NSInteger, WKAlertActionStyle) { - WKAlertActionStyleDefault = 0, - WKAlertActionStyleCancel, - WKAlertActionStyleDestructive -}; - -typedef void (^WKAlertActionHandler)(void); - -@interface WKAlertAction : NSObject - -+ (instancetype)actionWithTitle:(NSString *)title style:(WKAlertActionStyle)style handler:(WKAlertActionHandler)handler; - -- (instancetype)init NS_UNAVAILABLE; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WKAlertAction.m b/WatchKit/WatchKit/WKAlertAction.m deleted file mode 100644 index a3cd722..0000000 --- a/WatchKit/WatchKit/WKAlertAction.m +++ /dev/null @@ -1,31 +0,0 @@ -#import "WKAlertAction.h" - -@interface WKAlertAction () -@property (nonatomic, copy) NSString *title; -@property (nonatomic) WKAlertActionStyle style; -@property (nonatomic, copy) WKAlertActionHandler handler; -@end - -@implementation WKAlertAction - -+ (instancetype)actionWithTitle:(NSString *)title style:(WKAlertActionStyle)style handler:(WKAlertActionHandler)handler { - WKAlertAction *action = [WKAlertAction new]; - action.title = title; - action.style = style; - action.handler = handler; - - return action; -} - -- (BOOL)isEqual:(id)object { - if (![object isKindOfClass:[self class]]) { return NO; } - WKAlertAction *other = object; - - return [self.title isEqual:other.title] && self.style == other.style; -} - -- (NSUInteger)hash { - return [self.title hash] * self.style+1; -} - -@end diff --git a/WatchKit/WatchKit/WKAlertActionSpec.mm b/WatchKit/WatchKit/WKAlertActionSpec.mm deleted file mode 100644 index 6c31982..0000000 --- a/WatchKit/WatchKit/WKAlertActionSpec.mm +++ /dev/null @@ -1,21 +0,0 @@ -#import "Cedar.h" -#import "WKAlertAction.h" - -using namespace Cedar::Matchers; -using namespace Cedar::Doubles; - -SPEC_BEGIN(WKAlertActionSpec) - -describe(@"WKAlertAction", ^{ - describe(@"equality", ^{ - it(@"should treat two alert actions with the same title and style as equal", ^{ - WKAlertAction *action1 = [WKAlertAction actionWithTitle:@"title" style:WKAlertActionStyleCancel handler:^{}]; - WKAlertAction *action2 = [WKAlertAction actionWithTitle:@"title" style:WKAlertActionStyleCancel handler:^{}]; - - action1 should equal(action2); - [action1 hash] should equal([action2 hash]); - }); - }); -}); - -SPEC_END diff --git a/WatchKit/WatchKit/WKDefines.h b/WatchKit/WatchKit/WKDefines.h deleted file mode 100644 index 22088c0..0000000 --- a/WatchKit/WatchKit/WKDefines.h +++ /dev/null @@ -1,12 +0,0 @@ -#import - -#ifdef __cplusplus -#define WKI_EXTERN extern "C" __attribute__((visibility ("default"))) -#else -#define WKI_EXTERN extern __attribute__((visibility ("default"))) -#endif - -#define WK_CLASS_AVAILABLE_IOS(_iOSIntro) NS_CLASS_AVAILABLE_IOS(_iOSIntro) -#define WK_AVAILABLE_WATCHOS_ONLY(_watchOSIntro) __WATCHOS_AVAILABLE(_watchOSIntro) __IOS_UNAVAILABLE -#define WK_AVAILABLE_IOS_ONLY(_iOSIntro) __IOS_AVAILABLE(_iOSIntro) __WATCHOS_UNAVAILABLE -#define WK_AVAILABLE_WATCHOS_IOS(_watchOSIntro,_iOSIntro) __WATCHOS_AVAILABLE(_watchOSIntro) __IOS_AVAILABLE(_iOSIntro) diff --git a/WatchKit/WatchKit/WKExtension+Spec.h b/WatchKit/WatchKit/WKExtension+Spec.h deleted file mode 100644 index 05b1cc6..0000000 --- a/WatchKit/WatchKit/WKExtension+Spec.h +++ /dev/null @@ -1,13 +0,0 @@ -#import "WKExtension.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface WKExtension (Spec) - -+ (void)setSharedExtension:(WKExtension *)sharedExtension; - -- (void)setRootInterfaceController:(nullable WKInterfaceController *)rootInterfaceController; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WKExtension.h b/WatchKit/WatchKit/WKExtension.h deleted file mode 100644 index 337de77..0000000 --- a/WatchKit/WatchKit/WKExtension.h +++ /dev/null @@ -1,42 +0,0 @@ -#import "WKDefines.h" -#import "PCKMessageCapturer.h" - -NS_ASSUME_NONNULL_BEGIN - -@class WKInterfaceController; -@protocol WKExtensionDelegate; - -@interface WKExtension : PCKMessageCapturer - -+ (WKExtension *)sharedExtension; - -- (void)openSystemURL:(NSURL *)url; - -@property (nonatomic, weak, nullable) id delegate; -@property (nonatomic, readonly, nullable) WKInterfaceController *rootInterfaceController; - -@end - -@class UILocalNotification; - -@protocol WKExtensionDelegate - -@optional - -- (void)applicationDidFinishLaunching; -- (void)applicationDidBecomeActive; -- (void)applicationWillResignActive; - -- (void)handleActionWithIdentifier:(nullable NSString *)identifier forRemoteNotification:(NSDictionary *)remoteNotification; // when the app is launched from a notification. If launched from app icon in notification UI, identifier will be empty -- (void)handleActionWithIdentifier:(nullable NSString *)identifier forLocalNotification:(UILocalNotification *)localNotification; // when the app is launched from a notification. If launched from app icon in notification UI, identifier will be empty -- (void)handleActionWithIdentifier:(nullable NSString *)identifier forRemoteNotification:(NSDictionary *)remoteNotification withResponseInfo:(NSDictionary *)responseInfo; // when the app is launched from a notification. If launched from app icon in notification UI, identifier will be empty -- (void)handleActionWithIdentifier:(nullable NSString *)identifier forLocalNotification:(UILocalNotification *)localNotification withResponseInfo:(NSDictionary *)responseInfo; // when the app is launched from a notification. If launched from app icon in notification UI, identifier will be empty -- (void)handleUserActivity:(nullable NSDictionary *)userInfo; - -- (void)didReceiveRemoteNotification:(NSDictionary *)userInfo; -- (void)didReceiveLocalNotification:(UILocalNotification *)notification; - -@end - -NS_ASSUME_NONNULL_END - diff --git a/WatchKit/WatchKit/WKExtension.m b/WatchKit/WatchKit/WKExtension.m deleted file mode 100644 index e990aeb..0000000 --- a/WatchKit/WatchKit/WKExtension.m +++ /dev/null @@ -1,42 +0,0 @@ -#import "WKExtension.h" -#import - -@interface PCKMessageCapturer () -- (void)openSystemURL:(NSURL *)URL NS_REQUIRES_SUPER; -@end - -@interface WKExtension () -@property (nonatomic, readwrite) WKInterfaceController *rootInterfaceController; -@end - -@implementation WKExtension - -static WKExtension *__sharedExtension; - -+ (void)load { - id cedarHooksProtocol = NSProtocolFromString(@"CDRHooks"); - if (cedarHooksProtocol) { - class_addProtocol(self, cedarHooksProtocol); - } -} - -+ (void)setSharedExtension:(WKExtension *)sharedExtension { - __sharedExtension = sharedExtension; -} - -+ (WKExtension *)sharedExtension { - if (!__sharedExtension){ - __sharedExtension = [[WKExtension alloc] init]; - } - return __sharedExtension; -} - -+ (void)afterEach { - __sharedExtension = nil; -} - -- (void)openSystemURL:(NSURL *)url { - [super openSystemURL:url]; -} - -@end \ No newline at end of file diff --git a/WatchKit/WatchKit/WKImage.h b/WatchKit/WatchKit/WKImage.h deleted file mode 100644 index 843d2d0..0000000 --- a/WatchKit/WatchKit/WKImage.h +++ /dev/null @@ -1,22 +0,0 @@ -#import -#import "WKDefines.h" - -NS_ASSUME_NONNULL_BEGIN - -@class UIImage; - -@interface WKImage : NSObject - -+ (instancetype)imageWithImage:(UIImage *)image; -+ (instancetype)imageWithImageData:(NSData *)imageData; -+ (instancetype)imageWithImageName:(NSString *)imageName; - -- (instancetype)init NS_UNAVAILABLE; - -@property (readonly, nullable) UIImage *image; -@property (readonly, nullable) NSData *imageData; -@property (readonly, nullable) NSString *imageName; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WKImage.m b/WatchKit/WatchKit/WKImage.m deleted file mode 100644 index a72cfa4..0000000 --- a/WatchKit/WatchKit/WKImage.m +++ /dev/null @@ -1,87 +0,0 @@ -#import -#import "WKImage.h" - -@implementation UIImage (EqualByBytes) - -- (BOOL)pckwk_isEqualToByBytes:(UIImage *)otherImage { - CFDataRef imagePixelsData = CGDataProviderCopyData(CGImageGetDataProvider(self.CGImage)); - CFDataRef otherImagePixelsData = CGDataProviderCopyData(CGImageGetDataProvider(otherImage.CGImage)); - - BOOL comparison = CFEqual(imagePixelsData, otherImagePixelsData); - - CFRelease(imagePixelsData); - CFRelease(otherImagePixelsData); - - return comparison; -} - -@end - -@implementation WKImage - -+ (instancetype)imageWithImage:(UIImage *)uiImage { - WKImage *image = [self new]; - image->_image = uiImage; - return image; -} - -+ (instancetype)imageWithImageData:(NSData *)imageData { - WKImage *image = [self new]; - image->_imageData = [imageData copy]; - return image; -} - -+ (instancetype)imageWithImageName:(NSString *)imageName { - WKImage *image = [self new]; - image->_imageName = [imageName copy]; - return image; -} - -#pragma mark - NSObject - -- (BOOL)isEqual:(id)object { - if (![object isKindOfClass:[self class]]) { return NO; } - WKImage *other = object; - - if (self.image != other.image && ![self.image isEqual:other.image] && ![self.image pckwk_isEqualToByBytes:other.image]) { return NO; } - if (self.imageData != other.imageData && ![self.imageData isEqual:other.imageData]) { return NO; } - if (self.imageName != other.imageName && ![self.imageName isEqual:other.imageName]) { return NO; } - - return YES; -} - -- (NSUInteger)hash { - return [self.image hash] + [self.imageData hash] + [self.imageName hash]; -} - -#pragma mark - NSCopying - -- (id)copyWithZone:(NSZone *)zone { - return self; -} - -#pragma mark - NSSecureCoding - -+ (BOOL)supportsSecureCoding { - return YES; -} - -- (instancetype)initWithCoder:(NSCoder *)aDecoder { - if (self = [super init]) { - NSData *imageData = [aDecoder decodeObjectOfClass:[NSData class] forKey:NSStringFromSelector(@selector(image))]; - if (imageData) { - _image = [UIImage imageWithData:imageData]; - } - _imageData = [aDecoder decodeObjectOfClass:[NSData class] forKey:NSStringFromSelector(@selector(imageData))]; - _imageName = [aDecoder decodeObjectOfClass:[NSString class] forKey:NSStringFromSelector(@selector(imageName))]; - } - return self; -} - -- (void)encodeWithCoder:(NSCoder *)aCoder { - if (self.image) { [aCoder encodeObject:UIImagePNGRepresentation(self.image) forKey:NSStringFromSelector(@selector(image))]; } - if (self.imageData) { [aCoder encodeObject:self.imageData forKey:NSStringFromSelector(@selector(imageData))]; } - if (self.imageName) { [aCoder encodeObject:self.imageName forKey:NSStringFromSelector(@selector(imageName))]; } -} - -@end diff --git a/WatchKit/WatchKit/WKImageSpec.mm b/WatchKit/WatchKit/WKImageSpec.mm deleted file mode 100644 index f64ee1b..0000000 --- a/WatchKit/WatchKit/WKImageSpec.mm +++ /dev/null @@ -1,73 +0,0 @@ -#import "Cedar.h" -#import "WKImage.h" - -using namespace Cedar::Matchers; -using namespace Cedar::Doubles; - -SPEC_BEGIN(WKImageSpec) - -describe(@"WKImage", ^{ - NSString *imageName = @"corgi.jpeg"; - __block UIImage *uiImage; - - beforeEach(^{ - uiImage = [UIImage imageNamed:imageName]; - uiImage should_not be_nil; - }); - - sharedExamplesFor(@"a WKImage value object", ^(NSDictionary *sharedContext) { - __block WKImage *image; - __block NSString *keyPath; - __block id inputData; - - beforeEach(^{ - image = sharedContext[@"image"]; - keyPath = sharedContext[@"keyPath"]; - inputData = sharedContext[@"inputData"]; - }); - - it(@"should be equal to its copy", ^{ - [image copy] should equal(image); - }); - - it(@"should have the same hash as its copy", ^{ - [[image copy] hash] should equal([image hash]); - }); - - it(@"should be archivable", ^{ - WKImage *reconstructedImage = [NSKeyedUnarchiver unarchiveObjectWithData:[NSKeyedArchiver archivedDataWithRootObject:image]]; - reconstructedImage should equal(image); - }); - - it(@"should expose the input data on the correct key path", ^{ - [image valueForKeyPath:keyPath] should equal(inputData); - }); - }); - - describe(@"created with a UIImage", ^{ - itShouldBehaveLike(@"a WKImage value object", ^(NSMutableDictionary *context) { - context[@"image"] = [WKImage imageWithImage:uiImage]; - context[@"keyPath"] = NSStringFromSelector(@selector(image)); - context[@"inputData"] = uiImage; - }); - }); - - describe(@"created with NSData", ^{ - itShouldBehaveLike(@"a WKImage value object", ^(NSMutableDictionary *context) { - NSData *data = UIImagePNGRepresentation(uiImage); - context[@"image"] = [WKImage imageWithImageData:data]; - context[@"keyPath"] = NSStringFromSelector(@selector(imageData)); - context[@"inputData"] = data; - }); - }); - - describe(@"created with an image name", ^{ - itShouldBehaveLike(@"a WKImage value object", ^(NSMutableDictionary *context) { - context[@"image"] = [WKImage imageWithImageName:imageName]; - context[@"keyPath"] = NSStringFromSelector(@selector(imageName)); - context[@"inputData"] = imageName; - }); - }); -}); - -SPEC_END diff --git a/WatchKit/WatchKit/WKInterfaceButton+Spec.h b/WatchKit/WatchKit/WKInterfaceButton+Spec.h deleted file mode 100644 index 0f656e9..0000000 --- a/WatchKit/WatchKit/WKInterfaceButton+Spec.h +++ /dev/null @@ -1,29 +0,0 @@ -#import "WKInterfaceButton.h" - - -@class PCKFakeSegue; -@class WKInterfaceGroup; -@class WKInterfaceController; - -NS_ASSUME_NONNULL_BEGIN - -@interface WKInterfaceButton (Spec) - -@property (nonatomic, readonly, nullable) NSString *title; -@property (nonatomic, readonly, nullable) UIColor *color; -@property (nonatomic, readonly) BOOL enabled; -@property (nonatomic, readonly, nullable) NSString *action; -@property (nonatomic, readonly, nullable) PCKFakeSegue *segue; -@property (nonatomic, readonly, nullable) WKInterfaceGroup *content; - -@end - -@interface WKInterfaceButton (Spec2) - -@property (nonatomic, weak, nullable) WKInterfaceController *controller; - -- (void)triggerNonSegueAction; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WKInterfaceButton+Spec.m b/WatchKit/WatchKit/WKInterfaceButton+Spec.m deleted file mode 100644 index 2376ea3..0000000 --- a/WatchKit/WatchKit/WKInterfaceButton+Spec.m +++ /dev/null @@ -1,30 +0,0 @@ -#import "WKInterfaceButton+Spec.h" -#import -#import - - -void (*wk_interface_button_tap)(id target, SEL action) = (void*)objc_msgSend; - - -static char *controllerStorageKey; - -@implementation WKInterfaceButton (Spec2) - -- (void)triggerNonSegueAction -{ - NSString *action = [self action]; - SEL actionSelector = NSSelectorFromString(action); - wk_interface_button_tap(self.controller, actionSelector); -} - -- (WKInterfaceController *)controller -{ - return objc_getAssociatedObject(self, &controllerStorageKey); -} - -- (void)setController:(WKInterfaceController *)controller -{ - objc_setAssociatedObject(self, &controllerStorageKey, controller, OBJC_ASSOCIATION_ASSIGN); -} - -@end diff --git a/WatchKit/WatchKit/WKInterfaceButton.h b/WatchKit/WatchKit/WKInterfaceButton.h deleted file mode 100644 index 0072d74..0000000 --- a/WatchKit/WatchKit/WKInterfaceButton.h +++ /dev/null @@ -1,19 +0,0 @@ -#import "WKInterfaceObject.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface WKInterfaceButton : WKInterfaceObject - -- (void)setTitle:(nullable NSString *)title; -- (void)setAttributedTitle:(nullable NSAttributedString *)attributedTitle; - -- (void)setColor:(nullable UIColor *)color; -- (void)setBackgroundImage:(nullable UIImage *)image; -- (void)setBackgroundImageData:(nullable NSData *)imageData; -- (void)setBackgroundImageNamed:(nullable NSString *)imageName; - -- (void)setEnabled:(BOOL)enabled; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WKInterfaceButton.m b/WatchKit/WatchKit/WKInterfaceButton.m deleted file mode 100644 index 28e285e..0000000 --- a/WatchKit/WatchKit/WKInterfaceButton.m +++ /dev/null @@ -1,119 +0,0 @@ -#import "WKInterfaceButton.h" -#import "WKInterfaceController.h" -#import "UIColor+PCK_StringToColor.h" -#import "PCKFakeSegue.h" -#import "WKInterfaceGroup.h" - - -@interface WKInterfaceObject () - -- (void)setTitle:(NSString *)title NS_REQUIRES_SUPER; -- (void)setAttributedTitle:(NSAttributedString *)attributedTitle NS_REQUIRES_SUPER; - -- (void)setColor:(UIColor *)color NS_REQUIRES_SUPER; -- (void)setBackgroundImage:(UIImage *)image NS_REQUIRES_SUPER; -- (void)setBackgroundImageData:(NSData *)imageData NS_REQUIRES_SUPER; -- (void)setBackgroundImageNamed:(NSString *)imageName NS_REQUIRES_SUPER; - -- (void)setEnabled:(BOOL)enabled NS_REQUIRES_SUPER; - -@end - - -@interface WKInterfaceButton () - -@property (nonatomic, copy) NSString *title; -@property (nonatomic) UIColor *color; -@property (nonatomic) BOOL enabled; -@property (nonatomic, copy) NSString *action; -@property (nonatomic) PCKFakeSegue *segue; -@property (nonatomic) WKInterfaceGroup *content; - -@end - - -static NSDictionary *typeStringToEnumType; - - -@implementation WKInterfaceButton - -+ (void)initialize -{ - typeStringToEnumType = @{ - @"push": @(PCKFakeSegueTypePush), - @"present": @(PCKFakeSegueTypeModal) - }; -} - -- (instancetype)init -{ - self = [super init]; - if (self) { - // The `enabled` property of a button in storyboard plist representation - // only appears if the button has been disabled. Otherwise any button - // on an interface controller will be enabled. - // - self.enabled = YES; - } - return self; -} - -- (void)setTitle:(NSString *)title -{ - _title = title; - [super setTitle:title]; -} - -- (void)setAttributedTitle:(NSAttributedString *)attributedTitle -{ - [super setAttributedTitle:attributedTitle]; -} - -- (void)setColor:(UIColor *)color -{ - [self setTitleColor:color]; - [super setColor:color]; -} - -- (void)setTitleColor:(id)color -{ - _color = [color isKindOfClass:[UIColor class]] ? color : [UIColor colorWithNameOrHexValue:color]; -} - -- (void)setBackgroundImage:(UIImage *)image -{ - [super setBackgroundImage:image]; -} - -- (void)setBackgroundImageData:(NSData *)imageData -{ - [super setBackgroundImageData:imageData]; -} - -- (void)setBackgroundImageNamed:(NSString *)imageName -{ - [super setBackgroundImageNamed:imageName]; -} - -- (void)setEnabled:(BOOL)enabled -{ - _enabled = enabled; - [super setEnabled:enabled]; -} - -- (void)setSegue:(NSDictionary *)segueDictionary -{ - NSString *destinationIdentifier = segueDictionary[@"destination"]; - NSString *typeString = segueDictionary[@"type"]; - NSNumber *enumType = typeStringToEnumType[segueDictionary[@"type"]]; - if (enumType) { - PCKFakeSegueType type = [enumType unsignedIntegerValue]; - _segue = [[PCKFakeSegue alloc] initWithDestinationIdentifier:destinationIdentifier type:type]; - } - else { - [NSException raise:NSInvalidArgumentException - format:@"We encountered a new segue type, '%@', in WatchKit. This probably means that there is a new version of WatchKit that this library needs to be updated to support.", typeString]; - } -} - -@end diff --git a/WatchKit/WatchKit/WKInterfaceController.h b/WatchKit/WatchKit/WKInterfaceController.h deleted file mode 100644 index e9588e4..0000000 --- a/WatchKit/WatchKit/WKInterfaceController.h +++ /dev/null @@ -1,106 +0,0 @@ -#import "PCKMessageCapturer.h" - -NS_ASSUME_NONNULL_BEGIN - -typedef NS_ENUM(NSInteger, WKUserNotificationInterfaceType) { - WKUserNotificationInterfaceTypeDefault, - WKUserNotificationInterfaceTypeCustom, -}; - -@class WKInterfaceTable; -@class WKAlertAction; - -typedef NS_ENUM(NSInteger, WKMenuItemIcon) { - WKMenuItemIconAccept, // checkmark - WKMenuItemIconAdd, // '+' - WKMenuItemIconBlock, // circle w/ slash - WKMenuItemIconDecline, // 'x' - WKMenuItemIconInfo, // 'i' - WKMenuItemIconMaybe, // '?' - WKMenuItemIconMore, // '...' - WKMenuItemIconMute, // speaker w/ slash - WKMenuItemIconPause, // pause button - WKMenuItemIconPlay, // play button - WKMenuItemIconRepeat, // looping arrows - WKMenuItemIconResume, // circular arrow - WKMenuItemIconShare, // share icon - WKMenuItemIconShuffle, // swapped arrows - WKMenuItemIconSpeaker, // speaker icon - WKMenuItemIconTrash, // trash icon -}; - -typedef NS_ENUM(NSInteger, WKTextInputMode) { - WKTextInputModePlain, - WKTextInputModeAllowEmoji, - WKTextInputModeAllowAnimatedEmoji, -}; - -typedef NS_ENUM(NSInteger, WKAlertControllerStyle) { - WKAlertControllerStyleAlert, - WKAlertControllerStyleSideBySideButtonsAlert, - WKAlertControllerStyleActionSheet, -}; - - -@interface WKInterfaceController : PCKMessageCapturer - -- (void)awakeWithContext:(nullable id)context; - -- (void)willActivate; -- (void)didDeactivate; - -- (void)table:(WKInterfaceTable *)table didSelectRowAtIndex:(NSInteger)rowIndex; -- (void)handleActionWithIdentifier:(nullable NSString *)identifier - forRemoteNotification:(NSDictionary *)remoteNotification; -- (void)handleActionWithIdentifier:(nullable NSString *)identifier - forLocalNotification:(UILocalNotification *)localNotification; -- (void)handleUserActivity:(nullable NSDictionary *)userInfo; - -- (void)setTitle:(NSString *)title; - -- (void)pushControllerWithName:(NSString *)name context:(nullable id)context; -- (void)popController; -- (void)popToRootController; - -+ (void)reloadRootControllersWithNames:(NSArray *)names contexts:(nullable NSArray *)contexts; -- (void)becomeCurrentPage; - -- (void)presentControllerWithName:(NSString *)name context:(nullable id)context; -- (void)presentControllerWithNames:(NSArray *)names contexts:(nullable NSArray *)contexts; -- (void)dismissController; - -- (void)presentTextInputControllerWithSuggestions:(nullable NSArray *)suggestions - allowedInputMode:(WKTextInputMode)inputMode - completion:(void(^)(NSArray * __nullable results))completion; -- (void)dismissTextInputController; - -- (nullable id)contextForSegueWithIdentifier:(NSString *)segueIdentifier; -- (nullable NSArray *)contextsForSegueWithIdentifier:(NSString *)segueIdentifier; -- (nullable id)contextForSegueWithIdentifier:(NSString *)segueIdentifier inTable:(WKInterfaceTable *)table rowIndex:(NSInteger)rowIndex; -- (nullable NSArray *)contextsForSegueWithIdentifier:(NSString *)segueIdentifier inTable:(WKInterfaceTable *)table rowIndex:(NSInteger)rowIndex; - -- (void)addMenuItemWithImage:(UIImage *)image title:(NSString *)title action:(SEL)action; -- (void)addMenuItemWithImageNamed:(NSString *)imageName title:(NSString *)title action:(SEL)action; -- (void)addMenuItemWithItemIcon:(WKMenuItemIcon)itemIcon title:(NSString *)title action:(SEL)action; -- (void)clearAllMenuItems; - -- (void)presentAlertControllerWithTitle:(nullable NSString *)title message:(nullable NSString *)message preferredStyle:(WKAlertControllerStyle)preferredStyle actions:(NSArray *)actions; - -- (void)updateUserActivity:(NSString *)type userInfo:(nullable NSDictionary *)userInfo; -- (void)updateUserActivity:(NSString *)type userInfo:(nullable NSDictionary *)userInfo webpageURL:(nullable NSURL *)webpageURL; - -+ (BOOL)openParentApplication:(NSDictionary *)userInfo reply:(nullable void(^)(NSDictionary *replyInfo, NSError * __nullable error)) reply; - -@end - -@interface WKUserNotificationInterfaceController : WKInterfaceController - -//- (instancetype)init; -- (void)didReceiveRemoteNotification:(NSDictionary *)remoteNotification - withCompletion:(void(^)(WKUserNotificationInterfaceType interface)) completionHandler; -- (void)didReceiveLocalNotification:(UILocalNotification *)localNotification - withCompletion:(void(^)(WKUserNotificationInterfaceType interface)) completionHandler; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WKInterfaceController.m b/WatchKit/WatchKit/WKInterfaceController.m deleted file mode 100644 index 2aed3a2..0000000 --- a/WatchKit/WatchKit/WKInterfaceController.m +++ /dev/null @@ -1,243 +0,0 @@ -#import "WKInterfaceController.h" -#import "PCKInterfaceControllerLoader.h" - - -@interface PCKMessageCapturer () - -- (void)awakeWithContext:(id)context NS_REQUIRES_SUPER; -- (void)willActivate NS_REQUIRES_SUPER; -- (void)didDeactivate NS_REQUIRES_SUPER; -- (void)table:(WKInterfaceTable *)table didSelectRowAtIndex:(NSInteger)rowIndex NS_REQUIRES_SUPER; -- (void)handleActionWithIdentifier:(NSString *)identifier - forRemoteNotification:(NSDictionary *)remoteNotification NS_REQUIRES_SUPER; -- (void)handleActionWithIdentifier:(NSString *)identifier - forLocalNotification:(UILocalNotification *)localNotification NS_REQUIRES_SUPER; -- (void)handleUserActivity:(NSDictionary *)userActivity NS_REQUIRES_SUPER; - -- (void)pushControllerWithName:(NSString *)name context:(id)context NS_REQUIRES_SUPER; -- (void)popController NS_REQUIRES_SUPER;; -- (void)popToRootController NS_REQUIRES_SUPER;; - -- (void)setTitle:(NSString *)title NS_REQUIRES_SUPER; - -- (void)becomeCurrentPage NS_REQUIRES_SUPER; - -- (void)presentControllerWithName:(NSString *)name context:(id)context NS_REQUIRES_SUPER; -- (void)presentControllerWithNames:(NSArray *)names contexts:(NSArray *)contexts NS_REQUIRES_SUPER; - -- (void)dismissController NS_REQUIRES_SUPER; - -- (void)presentTextInputControllerWithSuggestions:(NSArray *)suggestions - allowedInputMode:(WKTextInputMode)inputMode - completion:(void(^)(NSArray *results))completion NS_REQUIRES_SUPER; -- (void)dismissTextInputController NS_REQUIRES_SUPER; - -- (id)contextForSegueWithIdentifier:(NSString *)segueIdentifier NS_REQUIRES_SUPER; -- (NSArray *)contextsForSegueWithIdentifier:(NSString *)segueIdentifier NS_REQUIRES_SUPER; -- (id)contextForSegueWithIdentifier:(NSString *)segueIdentifier inTable:(WKInterfaceTable *)table rowIndex:(NSInteger)rowIndex NS_REQUIRES_SUPER; -- (NSArray *)contextsForSegueWithIdentifier:(NSString *)segueIdentifier inTable:(WKInterfaceTable *)table rowIndex:(NSInteger)rowIndex NS_REQUIRES_SUPER; - -- (void)addMenuItemWithImage:(UIImage *)image title:(NSString *)title action:(SEL)action NS_REQUIRES_SUPER; -- (void)addMenuItemWithImageNamed:(NSString *)imageName title:(NSString *)title action:(SEL)action NS_REQUIRES_SUPER; -- (void)addMenuItemWithItemIcon:(WKMenuItemIcon)itemIcon title:(NSString *)title action:(SEL)action NS_REQUIRES_SUPER; -- (void)clearAllMenuItems NS_REQUIRES_SUPER; - -- (void)updateUserActivity:(NSString *)type userInfo:(NSDictionary *)userInfo NS_REQUIRES_SUPER; -- (void)updateUserActivity:(NSString *)type userInfo:(nullable NSDictionary *)userInfo webpageURL:(nullable NSURL *)webpageURL NS_REQUIRES_SUPER; - -- (void)didReceiveRemoteNotification:(NSDictionary *)remoteNotification - withCompletion:(void(^)(WKUserNotificationInterfaceType interface)) completionHandler NS_REQUIRES_SUPER; -- (void)didReceiveLocalNotification:(UILocalNotification *)localNotification - withCompletion:(void(^)(WKUserNotificationInterfaceType interface)) completionHandler NS_REQUIRES_SUPER; - -- (void)presentAlertControllerWithTitle:(NSString *)title message:(NSString *)message preferredStyle:(WKAlertControllerStyle)preferredStyle actions:(NSArray *)actions NS_REQUIRES_SUPER; - -+ (BOOL)openParentApplication:(NSDictionary *)userInfo reply:(void(^)(NSDictionary *replyInfo, NSError *error)) reply NS_REQUIRES_SUPER; -+ (void)reloadRootControllersWithNames:(NSArray *)names contexts:(NSArray *)contexts NS_REQUIRES_SUPER; - -@end - - -@implementation WKInterfaceController - -- (void)awakeWithContext:(id)context -{ - [super awakeWithContext:context]; -} - -- (void)willActivate -{ - [super willActivate]; -} - -- (void)didDeactivate -{ - [super didDeactivate]; -} - -- (void)pushControllerWithName:(NSString *)name context:(id)context -{ - [super pushControllerWithName:name context:context]; -} - -- (void)presentControllerWithName:(NSString *)name context:(id)context -{ - [super presentControllerWithName:name context:context]; -} - -- (void)table:(WKInterfaceTable *)table didSelectRowAtIndex:(NSInteger)rowIndex -{ - [super table:table didSelectRowAtIndex:rowIndex]; -} - -- (void)handleActionWithIdentifier:(NSString *)identifier - forRemoteNotification:(NSDictionary *)remoteNotification -{ - [super handleActionWithIdentifier:identifier forRemoteNotification:remoteNotification]; -} - -- (void)handleActionWithIdentifier:(NSString *)identifier - forLocalNotification:(UILocalNotification *)localNotification -{ - [super handleActionWithIdentifier:identifier forLocalNotification:localNotification]; -} - -- (void)handleUserActivity:(NSDictionary *)userActivity -{ - [super handleUserActivity:userActivity]; -} - -- (void)setTitle:(NSString *)title -{ - [super setTitle:title]; -} - -- (void)popController { - [super popController]; -} - -- (void)popToRootController -{ - [super popToRootController]; -} - -- (void)becomeCurrentPage -{ - [super becomeCurrentPage]; -} - -- (void)presentControllerWithNames:(NSArray *)names contexts:(NSArray *)contexts -{ - [super presentControllerWithNames:names contexts:contexts]; -} - -- (void)dismissController -{ - [super dismissController]; -} - -- (void)presentTextInputControllerWithSuggestions:(NSArray *)suggestions - allowedInputMode:(WKTextInputMode)inputMode - completion:(void(^)(NSArray *results))completion -{ - [super presentTextInputControllerWithSuggestions:suggestions allowedInputMode:inputMode completion:completion]; -} - -- (void)dismissTextInputController -{ - [super dismissTextInputController]; -} - -- (id)contextForSegueWithIdentifier:(NSString *)segueIdentifier -{ - [super contextForSegueWithIdentifier:segueIdentifier]; - return nil; -} - -- (NSArray *)contextsForSegueWithIdentifier:(NSString *)segueIdentifier -{ - [super contextsForSegueWithIdentifier:segueIdentifier]; - return nil; -} - -- (id)contextForSegueWithIdentifier:(NSString *)segueIdentifier inTable:(WKInterfaceTable *)table rowIndex:(NSInteger)rowIndex -{ - [super contextForSegueWithIdentifier:segueIdentifier inTable:table rowIndex:rowIndex]; - return nil; -} - -- (NSArray *)contextsForSegueWithIdentifier:(NSString *)segueIdentifier inTable:(WKInterfaceTable *)table rowIndex:(NSInteger)rowIndex -{ - [super contextsForSegueWithIdentifier:segueIdentifier inTable:table rowIndex:rowIndex]; - return nil; -} - -- (void)addMenuItemWithImage:(UIImage *)image title:(NSString *)title action:(SEL)action -{ - [super addMenuItemWithImage:image title:title action:action]; -} - -- (void)addMenuItemWithImageNamed:(NSString *)imageName title:(NSString *)title action:(SEL)action -{ - [super addMenuItemWithImageNamed:imageName title:title action:action]; -} - -- (void)addMenuItemWithItemIcon:(WKMenuItemIcon)itemIcon title:(NSString *)title action:(SEL)action -{ - [super addMenuItemWithItemIcon:itemIcon title:title action:action]; -} - -- (void)clearAllMenuItems -{ - [super clearAllMenuItems]; -} - -- (void)presentAlertControllerWithTitle:(NSString *)title message:(NSString *)message preferredStyle:(WKAlertControllerStyle)preferredStyle actions:(NSArray *)actions -{ - [super presentAlertControllerWithTitle:title message:message preferredStyle:preferredStyle actions:actions]; -} - -- (void)updateUserActivity:(NSString *)type userInfo:(NSDictionary *)userInfo -{ - [super updateUserActivity:type userInfo:userInfo]; -} - -- (void)updateUserActivity:(NSString *)type userInfo:(nullable NSDictionary *)userInfo webpageURL:(nullable NSURL *)webpageURL { - [super updateUserActivity:type userInfo:userInfo webpageURL:webpageURL]; -} - -+ (BOOL)openParentApplication:(NSDictionary *)userInfo reply:(void(^)(NSDictionary *replyInfo, NSError *error)) reply -{ - return [super openParentApplication:userInfo reply:reply]; -} - -+ (void)reloadRootControllersWithNames:(NSArray *)names contexts:(NSArray *)contexts -{ - [super reloadRootControllersWithNames:names contexts:contexts]; -} - -@end - - -@interface WKUserNotificationInterfaceController () -@property (nonatomic, copy) void (^lastCompletionBlock)(WKUserNotificationInterfaceType); -@end - - -@implementation WKUserNotificationInterfaceController - -- (void)didReceiveRemoteNotification:(NSDictionary *)remoteNotification - withCompletion:(void(^)(WKUserNotificationInterfaceType interface)) completionHandler -{ - self.lastCompletionBlock = completionHandler; - [super didReceiveRemoteNotification:remoteNotification withCompletion:completionHandler]; -} - -- (void)didReceiveLocalNotification:(UILocalNotification *)localNotification - withCompletion:(void(^)(WKUserNotificationInterfaceType interface)) completionHandler -{ - self.lastCompletionBlock = completionHandler; - [super didReceiveLocalNotification:localNotification withCompletion:completionHandler]; -} - -@end \ No newline at end of file diff --git a/WatchKit/WatchKit/WKInterfaceDate+Spec.h b/WatchKit/WatchKit/WKInterfaceDate+Spec.h deleted file mode 100644 index 6e158f5..0000000 --- a/WatchKit/WatchKit/WKInterfaceDate+Spec.h +++ /dev/null @@ -1,12 +0,0 @@ -#import "WKInterfaceDate.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface WKInterfaceDate (Spec) - -@property (nonatomic, readonly, nullable) UIColor *textColor; -@property (nonatomic, readonly, nullable) NSString *format; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WKInterfaceDate.h b/WatchKit/WatchKit/WKInterfaceDate.h deleted file mode 100644 index a73bdbf..0000000 --- a/WatchKit/WatchKit/WKInterfaceDate.h +++ /dev/null @@ -1,14 +0,0 @@ -#import "WKInterfaceObject.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface WKInterfaceDate : WKInterfaceObject - -- (void)setTextColor:(nullable UIColor *)color; - -- (void)setTimeZone:(nullable NSTimeZone *)timeZone; -- (void)setCalendar:(nullable NSCalendar *)calendar; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WKInterfaceDate.m b/WatchKit/WatchKit/WKInterfaceDate.m deleted file mode 100644 index fcb0e6a..0000000 --- a/WatchKit/WatchKit/WKInterfaceDate.m +++ /dev/null @@ -1,46 +0,0 @@ -#import "WKInterfaceDate.h" -#import "UIColor+PCK_StringToColor.h" - -@interface WKInterfaceObject () - -- (void)setTextColor:(UIColor *)color NS_REQUIRES_SUPER; - -- (void)setTimeZone:(NSTimeZone *)timeZone NS_REQUIRES_SUPER; -- (void)setCalendar:(NSCalendar *)calendar NS_REQUIRES_SUPER; - -@end - -@interface WKInterfaceDate () - -@property (nonatomic) UIColor *textColor; -@property (nonatomic, copy) NSString *format; - -@end - -@implementation WKInterfaceDate - -- (void)setTextColor:(NSString *)color -{ - [self setColor:color]; - [super setTextColor:_textColor]; -} - -- (void)setColor:(id)textColor { - _textColor = [textColor isKindOfClass:[UIColor class]] ? textColor : [UIColor colorWithNameOrHexValue:textColor]; -} - -- (UIColor *)color { - return _textColor; -} - -- (void)setTimeZone:(NSTimeZone *)timeZone -{ - [super setTimeZone:timeZone]; -} - -- (void)setCalendar:(NSCalendar *)calendar -{ - [super setCalendar:calendar]; -} - -@end diff --git a/WatchKit/WatchKit/WKInterfaceDevice.h b/WatchKit/WatchKit/WKInterfaceDevice.h deleted file mode 100644 index 2d24f27..0000000 --- a/WatchKit/WatchKit/WKInterfaceDevice.h +++ /dev/null @@ -1,39 +0,0 @@ -#import -#import -#import "PCKMessageCapturer.h" - -NS_ASSUME_NONNULL_BEGIN - -@class UIImage; - -typedef NS_ENUM(NSInteger, WKHapticType) { - WKHapticTypeNotification, - WKHapticTypeDirectionUp, - WKHapticTypeDirectionDown, - WKHapticTypeSuccess, - WKHapticTypeFailure, - WKHapticTypeRetry, - WKHapticTypeStart, - WKHapticTypeStop, - WKHapticTypeClick -}; - -@interface WKInterfaceDevice : PCKMessageCapturer; - -+ (WKInterfaceDevice *)currentDevice; - -- (BOOL)addCachedImage:(UIImage *)image name:(NSString *)name; -- (BOOL)addCachedImageWithData:(NSData *)imageData name:(NSString *)name; -- (void)removeCachedImageWithName:(NSString *)name; -- (void)removeAllCachedImages; - -@property(nonatomic,readonly) CGRect screenBounds; -@property(nonatomic,readonly) CGFloat screenScale; -@property(nonatomic,readonly,copy) NSString *preferredContentSizeCategory; -@property(nonatomic,readonly,strong) NSDictionary *cachedImages; - -- (void)playHaptic:(WKHapticType)type; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WKInterfaceDevice.m b/WatchKit/WatchKit/WKInterfaceDevice.m deleted file mode 100644 index 5b0448a..0000000 --- a/WatchKit/WatchKit/WKInterfaceDevice.m +++ /dev/null @@ -1,57 +0,0 @@ -#import "WKInterfaceDevice.h" - -@interface PCKMessageCapturer () - -+ (WKInterfaceDevice *)currentDevice NS_REQUIRES_SUPER; - -- (BOOL)addCachedImage:(UIImage *)image name:(NSString *)name NS_REQUIRES_SUPER; -- (BOOL)addCachedImageWithData:(NSData *)imageData name:(NSString *)name NS_REQUIRES_SUPER; -- (void)removeCachedImageWithName:(NSString *)name NS_REQUIRES_SUPER; -- (void)removeAllCachedImages NS_REQUIRES_SUPER; - -- (void)playHaptic:(WKHapticType)type NS_REQUIRES_SUPER; - -@end - -@interface WKInterfaceDevice () - -@property(nonatomic) CGRect screenBounds; -@property(nonatomic) CGFloat screenScale; -@property(nonatomic, copy) NSString *preferredContentSizeCategory; -@property(nonatomic, strong) NSDictionary *cachedImages; - -@end - -@implementation WKInterfaceDevice - -+ (WKInterfaceDevice *)currentDevice -{ - [super currentDevice]; - return [[WKInterfaceDevice alloc] init]; -} - -- (BOOL)addCachedImage:(UIImage *)image name:(NSString *)name -{ - return [super addCachedImage:image name:name]; -} - -- (BOOL)addCachedImageWithData:(NSData *)imageData name:(NSString *)name -{ - return [super addCachedImageWithData:imageData name:name]; -} - -- (void)removeCachedImageWithName:(NSString *)name -{ - [super removeCachedImageWithName:name]; -} - -- (void)removeAllCachedImages -{ - [super removeAllCachedImages]; -} - -- (void)playHaptic:(WKHapticType)type { - [super playHaptic:type]; -} - -@end diff --git a/WatchKit/WatchKit/WKInterfaceGroup+Spec.h b/WatchKit/WatchKit/WKInterfaceGroup+Spec.h deleted file mode 100644 index 4f848b3..0000000 --- a/WatchKit/WatchKit/WKInterfaceGroup+Spec.h +++ /dev/null @@ -1,11 +0,0 @@ -#import "WKInterfaceGroup.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface WKInterfaceGroup (Spec) - -@property (nonatomic, readonly) NSArray *items; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WKInterfaceGroup.h b/WatchKit/WatchKit/WKInterfaceGroup.h deleted file mode 100644 index 69f324d..0000000 --- a/WatchKit/WatchKit/WKInterfaceGroup.h +++ /dev/null @@ -1,22 +0,0 @@ -#import "WKInterfaceObject.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface WKInterfaceGroup : WKInterfaceObject - -- (void)setCornerRadius:(CGFloat)cornerRadius; - -- (void)setBackgroundColor:(nullable UIColor *)backgroundColor; -- (void)setBackgroundImage:(nullable UIImage *)image; -- (void)setBackgroundImageData:(nullable NSData *)imageData; -- (void)setBackgroundImageNamed:(nullable NSString *)imageName; - -- (void)startAnimating; -- (void)startAnimatingWithImagesInRange:(NSRange)imageRange - duration:(NSTimeInterval)duration - repeatCount:(NSInteger)repeatCount; -- (void)stopAnimating; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WKInterfaceGroup.m b/WatchKit/WatchKit/WKInterfaceGroup.m deleted file mode 100644 index eb2314f..0000000 --- a/WatchKit/WatchKit/WKInterfaceGroup.m +++ /dev/null @@ -1,83 +0,0 @@ -#import "WKInterfaceGroup.h" - - -@interface WKInterfaceObject () - -- (void)setCornerRadius:(CGFloat)cornerRadius NS_REQUIRES_SUPER; - -- (void)setBackgroundColor:(UIColor *)backgroundColor NS_REQUIRES_SUPER; -- (void)setBackgroundImage:(UIImage *)image NS_REQUIRES_SUPER; -- (void)setBackgroundImageData:(NSData *)imageData NS_REQUIRES_SUPER; -- (void)setBackgroundImageNamed:(NSString *)imageName NS_REQUIRES_SUPER; - -- (void)startAnimating NS_REQUIRES_SUPER; -- (void)startAnimatingWithImagesInRange:(NSRange)imageRange - duration:(NSTimeInterval)duration - repeatCount:(NSInteger)repeatCount NS_REQUIRES_SUPER; -- (void)stopAnimating NS_REQUIRES_SUPER; - -@end - -@interface WKInterfaceGroup () - -@property (nonatomic) NSArray *items; - -@end - - -@implementation WKInterfaceGroup - -#pragma mark - NSObject - -- (instancetype)init -{ - self = [super init]; - if (self) { - self.items = [NSMutableArray array]; - } - return self; -} - -- (void)setCornerRadius:(CGFloat)cornerRadius -{ - [super setCornerRadius:cornerRadius]; -} - -- (void)setBackgroundColor:(UIColor *)backgroundColor -{ - [super setBackgroundColor:backgroundColor]; -} - -- (void)setBackgroundImage:(UIImage *)image -{ - [super setBackgroundImage:image]; -} - -- (void)setBackgroundImageData:(NSData *)imageData -{ - [super setBackgroundImageData:imageData]; -} - -- (void)setBackgroundImageNamed:(NSString *)imageName -{ - [super setBackgroundImageNamed:imageName]; -} - -- (void)startAnimating -{ - [super startAnimating]; -} - -- (void)startAnimatingWithImagesInRange:(NSRange)imageRange - duration:(NSTimeInterval)duration - repeatCount:(NSInteger)repeatCount -{ - [super startAnimatingWithImagesInRange:imageRange duration:duration repeatCount:repeatCount]; -} - -- (void)stopAnimating -{ - [super stopAnimating]; -} - -@end diff --git a/WatchKit/WatchKit/WKInterfaceImage+Spec.h b/WatchKit/WatchKit/WKInterfaceImage+Spec.h deleted file mode 100644 index 4c4838e..0000000 --- a/WatchKit/WatchKit/WKInterfaceImage+Spec.h +++ /dev/null @@ -1,11 +0,0 @@ -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface WKInterfaceImage (Spec) - -@property (nonatomic, readonly, nullable) UIImage *image; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WKInterfaceImage.h b/WatchKit/WatchKit/WKInterfaceImage.h deleted file mode 100644 index cf8419d..0000000 --- a/WatchKit/WatchKit/WKInterfaceImage.h +++ /dev/null @@ -1,22 +0,0 @@ -#import "WKInterfaceObject.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface WKInterfaceImage : WKInterfaceObject - -- (void)setImage:(nullable UIImage *)image; -- (void)setImageData:(nullable NSData *)imageData; -- (void)setImageNamed:(nullable NSString *)imageName; - -- (void)setTintColor:(nullable UIColor *)tintColor; - -- (void)startAnimating; - -- (void)startAnimatingWithImagesInRange:(NSRange)imageRange - duration:(NSTimeInterval)duration - repeatCount:(NSInteger)repeatCount; -- (void)stopAnimating; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WKInterfaceImage.m b/WatchKit/WatchKit/WKInterfaceImage.m deleted file mode 100644 index 254bbc8..0000000 --- a/WatchKit/WatchKit/WKInterfaceImage.m +++ /dev/null @@ -1,66 +0,0 @@ -#import "WKInterfaceImage.h" - - -@interface WKInterfaceObject () - -- (void)setImage:(UIImage *)image NS_REQUIRES_SUPER; -- (void)setImageData:(NSData *)imageData NS_REQUIRES_SUPER; -- (void)setImageNamed:(NSString *)imageName NS_REQUIRES_SUPER; - -- (void)setTintColor:(UIColor *)tintColor NS_REQUIRES_SUPER; - -- (void)startAnimating NS_REQUIRES_SUPER; -- (void)startAnimatingWithImagesInRange:(NSRange)imageRange - duration:(NSTimeInterval)duration - repeatCount:(NSInteger)repeatCount NS_REQUIRES_SUPER; -- (void)stopAnimating NS_REQUIRES_SUPER; - -@end - -@interface WKInterfaceImage () - -@property (nonatomic) UIImage *image; - -@end - - -@implementation WKInterfaceImage - --(void)setImage:(id)image -{ - _image = [image isKindOfClass:[UIImage class]] ? image : [UIImage imageNamed:image]; - [super setImage:image]; -} - - -- (void)setImageData:(NSData *)imageData -{ - [super setImageData:imageData]; -} - -- (void)setImageNamed:(NSString *)imageName -{ - [super setImageNamed:imageName]; -} - -- (void)startAnimating -{ - [super startAnimating]; -} - -- (void)startAnimatingWithImagesInRange:(NSRange)imageRange duration:(NSTimeInterval)duration repeatCount:(NSInteger)repeatCount -{ - [super startAnimatingWithImagesInRange:imageRange duration:duration repeatCount:repeatCount]; -} - -- (void)stopAnimating -{ - [super stopAnimating]; -} - -- (void)setTintColor:(UIColor *)tintColor -{ - [super setTintColor:tintColor]; -} - -@end diff --git a/WatchKit/WatchKit/WKInterfaceLabel+Spec.h b/WatchKit/WatchKit/WKInterfaceLabel+Spec.h deleted file mode 100644 index ebfbd6f..0000000 --- a/WatchKit/WatchKit/WKInterfaceLabel+Spec.h +++ /dev/null @@ -1,13 +0,0 @@ -#import "WKInterfaceLabel.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface WKInterfaceLabel (Spec) - -@property (nonatomic, readonly, nullable) NSString *text; -@property (nonatomic, readonly, nullable) UIColor *textColor; -@property (nonatomic, readonly, nullable) NSAttributedString *attributedText; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WKInterfaceLabel.h b/WatchKit/WatchKit/WKInterfaceLabel.h deleted file mode 100644 index 068ccba..0000000 --- a/WatchKit/WatchKit/WKInterfaceLabel.h +++ /dev/null @@ -1,14 +0,0 @@ -#import "WKInterfaceObject.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface WKInterfaceLabel : WKInterfaceObject - -- (void)setText:(nullable NSString *)text; -- (void)setTextColor:(nullable UIColor *)textColor; - -- (void)setAttributedText:(nullable NSAttributedString *)attributedText; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WKInterfaceLabel.m b/WatchKit/WatchKit/WKInterfaceLabel.m deleted file mode 100644 index 04cf993..0000000 --- a/WatchKit/WatchKit/WKInterfaceLabel.m +++ /dev/null @@ -1,60 +0,0 @@ -#import "WKInterfaceLabel.h" -#import "UIColor+PCK_StringToColor.h" - - -@interface WKInterfaceObject () - -- (void)setText:(NSString *)text NS_REQUIRES_SUPER; -- (void)setTextColor:(UIColor *)textColor NS_REQUIRES_SUPER; - -- (void)setAttributedText:(NSAttributedString *)attributedText NS_REQUIRES_SUPER; - -@end - - -@interface WKInterfaceLabel () - -@property (copy, nonatomic) NSString *text; -@property (copy, nonatomic) NSAttributedString *attributedText; -@property (nonatomic) UIColor *textColor; - -@end - - -@implementation WKInterfaceLabel - --(void)setColor:(id)textColor { - _textColor = [textColor isKindOfClass:[UIColor class]] ? textColor : [UIColor colorWithNameOrHexValue:textColor]; -} - -- (UIColor *)color -{ - return _textColor; -} - -- (void)setText:(NSString *)text -{ - if ([text isKindOfClass:[NSDictionary class]]) { - NSDictionary *textDictionary = (id)text; - NSString *fallBackString = textDictionary[@"fallbackString"]; - if (fallBackString) { - text = fallBackString; - } - } - _text = text; - [super setText:text]; -} - -- (void)setTextColor:(UIColor *)textColor -{ - [self setColor:textColor]; - [super setTextColor:textColor]; -} - -- (void)setAttributedText:(NSAttributedString *)attributedText -{ - _attributedText = attributedText; - [super setAttributedText:attributedText]; -} - -@end diff --git a/WatchKit/WatchKit/WKInterfaceMap.h b/WatchKit/WatchKit/WKInterfaceMap.h deleted file mode 100644 index 1e40591..0000000 --- a/WatchKit/WatchKit/WKInterfaceMap.h +++ /dev/null @@ -1,30 +0,0 @@ -#import -#import "WKInterfaceObject.h" - -NS_ASSUME_NONNULL_BEGIN - -typedef enum WKInterfaceMapPinColor : NSInteger { - WKInterfaceMapPinColorRed, - WKInterfaceMapPinColorGreen, - WKInterfaceMapPinColorPurple, -} WKInterfaceMapPinColor; - - -@interface WKInterfaceMap : WKInterfaceObject - -- (void)setVisibleMapRect:(MKMapRect)mapRect; -- (void)setRegion:(MKCoordinateRegion)coordinateRegion; - -- (void)addAnnotation:(CLLocationCoordinate2D)location - withImage:(nullable UIImage *)image - centerOffset:(CGPoint)offset; -- (void)addAnnotation:(CLLocationCoordinate2D)location - withImageNamed:(nullable NSString *)name - centerOffset:(CGPoint)offset; -- (void)addAnnotation:(CLLocationCoordinate2D)location withPinColor:(WKInterfaceMapPinColor)pinColor; - -- (void)removeAllAnnotations; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WKInterfaceMap.m b/WatchKit/WatchKit/WKInterfaceMap.m deleted file mode 100644 index ef48bde..0000000 --- a/WatchKit/WatchKit/WKInterfaceMap.m +++ /dev/null @@ -1,57 +0,0 @@ -#import "WKInterfaceMap.h" - -@interface WKInterfaceObject () - -- (void)setVisibleMapRect:(MKMapRect)mapRect NS_REQUIRES_SUPER; -- (void)setRegion:(MKCoordinateRegion)coordinateRegion NS_REQUIRES_SUPER; - -- (void)addAnnotation:(CLLocationCoordinate2D)location - withImage:(UIImage *)image - centerOffset:(CGPoint)offset NS_REQUIRES_SUPER; -- (void)addAnnotation:(CLLocationCoordinate2D)location - withImageNamed:(NSString *)name - centerOffset:(CGPoint)offset NS_REQUIRES_SUPER; -- (void)addAnnotation:(CLLocationCoordinate2D)location withPinColor:(WKInterfaceMapPinColor)pinColor NS_REQUIRES_SUPER; - -- (void)removeAllAnnotations NS_REQUIRES_SUPER; - -@end - -@implementation WKInterfaceMap - -- (void)setVisibleMapRect:(MKMapRect)mapRect -{ - [super setVisibleMapRect:mapRect]; -} - -- (void)setRegion:(MKCoordinateRegion)coordinateRegion -{ - [super setRegion:coordinateRegion]; -} - -- (void)addAnnotation:(CLLocationCoordinate2D)location - withImage:(UIImage *)image - centerOffset:(CGPoint)offset -{ - - [super addAnnotation:location withImage:image centerOffset:offset]; -} - -- (void)addAnnotation:(CLLocationCoordinate2D)location - withImageNamed:(NSString *)name - centerOffset:(CGPoint)offset -{ - [super addAnnotation:location withImageNamed:name centerOffset:offset]; -} - -- (void)addAnnotation:(CLLocationCoordinate2D)location withPinColor:(WKInterfaceMapPinColor)pinColor -{ - [super addAnnotation:location withPinColor:pinColor]; -} - -- (void)removeAllAnnotations -{ - [super removeAllAnnotations]; -} - -@end diff --git a/WatchKit/WatchKit/WKInterfaceObject+Spec.h b/WatchKit/WatchKit/WKInterfaceObject+Spec.h deleted file mode 100644 index 139f6ca..0000000 --- a/WatchKit/WatchKit/WKInterfaceObject+Spec.h +++ /dev/null @@ -1,15 +0,0 @@ -#import "WKInterfaceObject.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface WKInterfaceObject (Spec) - -@property (nonatomic, readonly) BOOL isHidden; -@property (nonatomic, readonly) CGFloat alpha; - -@property (nonatomic, readonly) CGFloat width; -@property (nonatomic, readonly) CGFloat height; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WKInterfaceObject.h b/WatchKit/WatchKit/WKInterfaceObject.h deleted file mode 100644 index f110fef..0000000 --- a/WatchKit/WatchKit/WKInterfaceObject.h +++ /dev/null @@ -1,15 +0,0 @@ -#import "PCKMessageCapturer.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface WKInterfaceObject : PCKMessageCapturer - -- (void)setHidden:(BOOL)hidden; -- (void)setAlpha:(CGFloat)alpha; - -- (void)setWidth:(CGFloat)width; -- (void)setHeight:(CGFloat)height; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WKInterfaceObject.m b/WatchKit/WatchKit/WKInterfaceObject.m deleted file mode 100644 index 657de98..0000000 --- a/WatchKit/WatchKit/WKInterfaceObject.m +++ /dev/null @@ -1,47 +0,0 @@ -#import "WKInterfaceObject.h" - -@interface PCKMessageCapturer () - -- (void)setHidden:(BOOL)hidden NS_REQUIRES_SUPER; -- (void)setAlpha:(CGFloat)alpha NS_REQUIRES_SUPER; - -- (void)setWidth:(CGFloat)width NS_REQUIRES_SUPER; -- (void)setHeight:(CGFloat)height NS_REQUIRES_SUPER; - -@end - -@interface WKInterfaceObject () -@property (nonatomic, getter=isHidden) BOOL hidden; -@property (nonatomic) CGFloat alpha; - -@property (nonatomic) CGFloat width; -@property (nonatomic) CGFloat height; -@end - -@implementation WKInterfaceObject - -- (void)setHidden:(BOOL)hidden -{ - [super setHidden:hidden]; - _hidden = hidden; -} - -- (void)setAlpha:(CGFloat)alpha -{ - [super setAlpha:alpha]; - _alpha = alpha; -} - -- (void)setWidth:(CGFloat)width -{ - [super setWidth:width]; - _width = width; -} - -- (void)setHeight:(CGFloat)height -{ - [super setHeight:height]; - _height = height; -} - -@end diff --git a/WatchKit/WatchKit/WKInterfaceSeparator+Spec.h b/WatchKit/WatchKit/WKInterfaceSeparator+Spec.h deleted file mode 100644 index cf280ca..0000000 --- a/WatchKit/WatchKit/WKInterfaceSeparator+Spec.h +++ /dev/null @@ -1,11 +0,0 @@ -#import "WKInterfaceSeparator.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface WKInterfaceSeparator (Spec) - -@property (nonatomic, readonly, nullable) UIColor *color; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WKInterfaceSeparator.h b/WatchKit/WatchKit/WKInterfaceSeparator.h deleted file mode 100644 index 33341fe..0000000 --- a/WatchKit/WatchKit/WKInterfaceSeparator.h +++ /dev/null @@ -1,11 +0,0 @@ -#import "WKInterfaceObject.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface WKInterfaceSeparator : WKInterfaceObject - -- (void)setColor:(nullable UIColor *)color; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WKInterfaceSeparator.m b/WatchKit/WatchKit/WKInterfaceSeparator.m deleted file mode 100644 index 53779c2..0000000 --- a/WatchKit/WatchKit/WKInterfaceSeparator.m +++ /dev/null @@ -1,17 +0,0 @@ -#import "WKInterfaceSeparator.h" -#import "UIColor+PCK_StringToColor.h" - -@interface WKInterfaceSeparator () - -@property (nonatomic) UIColor *color; - -@end - -@implementation WKInterfaceSeparator - -- (void)setColor:(id)color -{ - _color = [color isKindOfClass:[UIColor class]] ? color : [UIColor colorWithNameOrHexValue:color]; -} - -@end diff --git a/WatchKit/WatchKit/WKInterfaceSlider+Spec.h b/WatchKit/WatchKit/WKInterfaceSlider+Spec.h deleted file mode 100644 index 8a3b462..0000000 --- a/WatchKit/WatchKit/WKInterfaceSlider+Spec.h +++ /dev/null @@ -1,18 +0,0 @@ -#import "WKInterfaceSlider.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface WKInterfaceSlider (Spec) - -@property (nonatomic, readonly) BOOL enabled; -@property (nonatomic, readonly) float value; -@property (nonatomic, readonly) float minimum; -@property (nonatomic, readonly) float maximum; -@property (nonatomic, readonly) NSInteger numberOfSteps; -@property (nonatomic, readonly, nullable) UIImage *minimumImage; -@property (nonatomic, readonly, nullable) UIImage *maximumImage; -@property (nonatomic, readonly) BOOL continuous; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WKInterfaceSlider.h b/WatchKit/WatchKit/WKInterfaceSlider.h deleted file mode 100644 index 0e2e0e9..0000000 --- a/WatchKit/WatchKit/WKInterfaceSlider.h +++ /dev/null @@ -1,14 +0,0 @@ -#import "WKInterfaceObject.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface WKInterfaceSlider : WKInterfaceObject - -- (void)setEnabled:(BOOL)enabled; -- (void)setValue:(float)value; -- (void)setColor:(nullable UIColor *)color; -- (void)setNumberOfSteps:(NSInteger)numberOfSteps; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WKInterfaceSlider.m b/WatchKit/WatchKit/WKInterfaceSlider.m deleted file mode 100644 index cc86f93..0000000 --- a/WatchKit/WatchKit/WKInterfaceSlider.m +++ /dev/null @@ -1,81 +0,0 @@ -#import "WKInterfaceSlider.h" - - -@interface WKInterfaceObject () - -- (void)setEnabled:(BOOL)enabled NS_REQUIRES_SUPER; -- (void)setValue:(float)value NS_REQUIRES_SUPER; -- (void)setColor:(UIColor *)color NS_REQUIRES_SUPER; -- (void)setNumberOfSteps:(NSInteger)numberOfSteps NS_REQUIRES_SUPER; - -@end - - -@interface WKInterfaceSlider () - -@property (nonatomic) BOOL enabled; -@property (nonatomic) float value; -@property (nonatomic) float minimum; -@property (nonatomic) float maximum; -@property (nonatomic) UIImage *minimumImage; -@property (nonatomic) UIImage *maximumImage; -@property (nonatomic) NSInteger steps; -@property (nonatomic) BOOL continuous; - -@end - - -@implementation WKInterfaceSlider - -- (instancetype)init -{ - self = [super init]; - if (self) { - // The `enabled` property of a slider in storyboard plist representation - // only appears if the slider has been disabled. Otherwise any slider - // on an interface controller will be enabled. - // - self.enabled = YES; - } - return self; -} - -- (void)setEnabled:(BOOL)enabled -{ - _enabled = enabled; - [super setEnabled:enabled]; -} - -- (void)setValue:(float)value -{ - _value = value; - [super setValue:value]; -} - -- (void)setNumberOfSteps:(NSInteger)numberOfSteps -{ - _steps = numberOfSteps; - [super setNumberOfSteps:_steps]; -} - -- (NSInteger)numberOfSteps -{ - return _steps; -} - -- (void)setMinimumImage:(NSString *)minimumImage -{ - _minimumImage = [UIImage imageNamed:minimumImage]; -} - -- (void)setMaximumImage:(NSString *)maximumImage -{ - _maximumImage = [UIImage imageNamed:maximumImage]; -} - -- (void)setColor:(UIColor *)color -{ - [super setColor:color]; -} - -@end diff --git a/WatchKit/WatchKit/WKInterfaceSwitch+Spec.h b/WatchKit/WatchKit/WKInterfaceSwitch+Spec.h deleted file mode 100644 index 243a29c..0000000 --- a/WatchKit/WatchKit/WKInterfaceSwitch+Spec.h +++ /dev/null @@ -1,12 +0,0 @@ -#import "WKInterfaceSwitch.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface WKInterfaceSwitch (Spec) - -@property (nonatomic, readonly) BOOL enabled; -@property (nonatomic, readonly) BOOL on; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WKInterfaceSwitch.h b/WatchKit/WatchKit/WKInterfaceSwitch.h deleted file mode 100644 index 9016dc6..0000000 --- a/WatchKit/WatchKit/WKInterfaceSwitch.h +++ /dev/null @@ -1,12 +0,0 @@ -#import "WKInterfaceObject.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface WKInterfaceSwitch : WKInterfaceObject - -- (void)setEnabled:(BOOL)enabled; -- (void)setOn:(BOOL)on; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WKInterfaceSwitch.m b/WatchKit/WatchKit/WKInterfaceSwitch.m deleted file mode 100644 index 5147371..0000000 --- a/WatchKit/WatchKit/WKInterfaceSwitch.m +++ /dev/null @@ -1,50 +0,0 @@ -#import "WKInterfaceSwitch.h" - - -@interface WKInterfaceObject () - -- (void)setEnabled:(BOOL)enabled NS_REQUIRES_SUPER; -- (void)setOn:(BOOL)on NS_REQUIRES_SUPER; - -@end - - -@interface WKInterfaceSwitch () - -@property (nonatomic) BOOL enabled; -@property (nonatomic) BOOL on; - -@end - - -@implementation WKInterfaceSwitch - - - -- (instancetype)init -{ - self = [super init]; - if (self) { - // The `enabled` property of a switch in storyboard plist representation - // only appears if the switch has been disabled. Otherwise any switch - // on an interface controller will be enabled. - // - self.enabled = YES; - self.on = YES; - } - return self; -} - -- (void)setEnabled:(BOOL)enabled -{ - _enabled = enabled; - [super setEnabled:enabled]; -} - -- (void)setOn:(BOOL)on -{ - _on = on; - [super setOn:on]; -} - -@end diff --git a/WatchKit/WatchKit/WKInterfaceTable+Spec.h b/WatchKit/WatchKit/WKInterfaceTable+Spec.h deleted file mode 100644 index 45b8c86..0000000 --- a/WatchKit/WatchKit/WKInterfaceTable+Spec.h +++ /dev/null @@ -1,11 +0,0 @@ -#import "WKInterfaceTable.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface WKInterfaceTable (Spec) - -- (void)stubRowController:(id)rowController atIndex:(NSUInteger)index; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WKInterfaceTable.h b/WatchKit/WatchKit/WKInterfaceTable.h deleted file mode 100644 index b8dd2f2..0000000 --- a/WatchKit/WatchKit/WKInterfaceTable.h +++ /dev/null @@ -1,20 +0,0 @@ -#import "WKInterfaceObject.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface WKInterfaceTable : WKInterfaceObject - -- (void)setRowTypes:(NSArray *)rowTypes; -- (void)setNumberOfRows:(NSInteger)numberOfRows withRowType:(NSString *)rowType; - -@property(nonatomic,readonly) NSInteger numberOfRows; -- (id)rowControllerAtIndex:(NSInteger)index; - -- (void)insertRowsAtIndexes:(NSIndexSet *)rows withRowType:(NSString *)rowType; -- (void)removeRowsAtIndexes:(NSIndexSet *)rows; - -- (void)scrollToRowAtIndex:(NSInteger)index; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WKInterfaceTable.m b/WatchKit/WatchKit/WKInterfaceTable.m deleted file mode 100644 index aee015e..0000000 --- a/WatchKit/WatchKit/WKInterfaceTable.m +++ /dev/null @@ -1,76 +0,0 @@ -#import "WKInterfaceTable.h" - - -@interface WKInterfaceObject () - -- (void)setRowTypes:(NSArray *)rowTypes NS_REQUIRES_SUPER; -- (void)setNumberOfRows:(NSInteger)numberOfRows withRowType:(NSString *)rowType NS_REQUIRES_SUPER; - -- (void)insertRowsAtIndexes:(NSIndexSet *)rows withRowType:(NSString *)rowType NS_REQUIRES_SUPER; -- (void)removeRowsAtIndexes:(NSIndexSet *)rows NS_REQUIRES_SUPER; - -- (void)scrollToRowAtIndex:(NSInteger)index NS_REQUIRES_SUPER; - -@end - - -@interface WKInterfaceTable () - -@property (nonatomic) NSDictionary *rows; -@property (nonatomic) NSMutableDictionary *rowControllers; - -@end - - -@implementation WKInterfaceTable - -- (instancetype)init -{ - self = [super init]; - if (self) { - self.rowControllers = [NSMutableDictionary dictionary]; - } - return self; -} - -- (NSInteger)numberOfRows -{ - return self.rows.count; -} - -- (void)setRowTypes:(NSArray *)rowTypes -{ - [super setRowTypes:rowTypes]; -} - -- (void)setNumberOfRows:(NSInteger)numberOfRows withRowType:(NSString *)rowType -{ - [super setNumberOfRows:numberOfRows withRowType:rowType]; -} - -- (void)insertRowsAtIndexes:(NSIndexSet *)rows withRowType:(NSString *)rowType -{ - [super insertRowsAtIndexes:rows withRowType:rowType]; -} - -- (void)removeRowsAtIndexes:(NSIndexSet *)rows -{ - [super removeRowsAtIndexes:rows]; -} - -- (void)scrollToRowAtIndex:(NSInteger)index -{ - [super scrollToRowAtIndex:index]; -} - -- (id)rowControllerAtIndex:(NSInteger)index -{ - return self.rowControllers[@(index)]; -} - -- (void)stubRowController:(id)rowController atIndex:(NSUInteger)index -{ - self.rowControllers[@(index)] = rowController; -} - -@end diff --git a/WatchKit/WatchKit/WKInterfaceTimer+Spec.h b/WatchKit/WatchKit/WKInterfaceTimer+Spec.h deleted file mode 100644 index 35619b2..0000000 --- a/WatchKit/WatchKit/WKInterfaceTimer+Spec.h +++ /dev/null @@ -1,13 +0,0 @@ -#import "WKInterfaceTimer.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface WKInterfaceTimer (Spec) - -@property (nonatomic, readonly) BOOL enabled; - -@property (nonatomic, readonly) NSUInteger units; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WKInterfaceTimer.h b/WatchKit/WatchKit/WKInterfaceTimer.h deleted file mode 100644 index 3152261..0000000 --- a/WatchKit/WatchKit/WKInterfaceTimer.h +++ /dev/null @@ -1,15 +0,0 @@ -#import "WKInterfaceObject.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface WKInterfaceTimer : WKInterfaceObject - -- (void)setTextColor:(nullable UIColor *)color; - -- (void)setDate:(NSDate *)date; -- (void)start; -- (void)stop; - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WKInterfaceTimer.m b/WatchKit/WatchKit/WKInterfaceTimer.m deleted file mode 100644 index 3cf3f62..0000000 --- a/WatchKit/WatchKit/WKInterfaceTimer.m +++ /dev/null @@ -1,55 +0,0 @@ - #import "WKInterfaceTimer.h" - - -@interface WKInterfaceObject () - -- (void)setTextColor:(UIColor *)color NS_REQUIRES_SUPER; - -- (void)setDate:(NSDate *)date NS_REQUIRES_SUPER;; -- (void)start NS_REQUIRES_SUPER; -- (void)stop NS_REQUIRES_SUPER; - -@end - - -@interface WKInterfaceTimer () - -@property (nonatomic) NSUInteger formatUnits; -@property (nonatomic) BOOL enabled; - -@end - - -@implementation WKInterfaceTimer - -- (void)setUnits:(NSNumber *)units -{ - _formatUnits = [units unsignedIntegerValue]; -} - -- (NSUInteger)units -{ - return _formatUnits; -} - -- (void)setTextColor:(UIColor *)color -{ - [super setTextColor:color]; -} - -- (void)setDate:(NSDate *)date -{ - [super setDate:date]; -} - -- (void)start -{ - [super start]; -} - -- (void)stop -{ - [super stop]; -} - -@end diff --git a/WatchKit/WatchKit/WKUserNotificationInterfaceController+Spec.h b/WatchKit/WatchKit/WKUserNotificationInterfaceController+Spec.h deleted file mode 100644 index 0434b5d..0000000 --- a/WatchKit/WatchKit/WKUserNotificationInterfaceController+Spec.h +++ /dev/null @@ -1,11 +0,0 @@ -#import "WKInterfaceController.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface WKUserNotificationInterfaceController (Spec) - -@property (nonatomic, readonly, nullable) void(^lastCompletionBlock)(WKUserNotificationInterfaceType); - -@end - -NS_ASSUME_NONNULL_END diff --git a/WatchKit/WatchKit/WatchKit.h b/WatchKit/WatchKit/WatchKit.h deleted file mode 100644 index 4c46efb..0000000 --- a/WatchKit/WatchKit/WatchKit.h +++ /dev/null @@ -1,35 +0,0 @@ -#import -#import "WKInterfaceController.h" -#import "WKImage.h" -#import "WKInterfaceLabel.h" -#import "WKInterfaceImage.h" -#import "WKInterfaceSeparator.h" -#import "WKInterfaceButton.h" -#import "WKInterfaceDate.h" -#import "WKInterfaceDevice.h" -#import "WKInterfaceSwitch.h" -#import "WKInterfaceTable.h" -#import "WKInterfaceSlider.h" -#import "WKInterfaceGroup.h" -#import "WKInterfaceTimer.h" -#import "WKInterfaceMap.h" -#import "WKAlertAction.h" -#import "WKExtension.h" - - -#import "WKInterfaceObject+Spec.h" -#import "WKInterfaceButton+Spec.h" -#import "WKInterfaceDate+Spec.h" -#import "WKInterfaceGroup+Spec.h" -#import "WKInterfaceImage+Spec.h" -#import "WKInterfaceLabel+Spec.h" -#import "WKInterfaceSeparator+Spec.h" -#import "WKInterfaceSlider+Spec.h" -#import "WKInterfaceSwitch+Spec.h" -#import "WKInterfaceTable+Spec.h" -#import "WKInterfaceTimer+Spec.h" -#import "WKUserNotificationInterfaceController+Spec.h" -#import "WKExtension+Spec.h" - -#import "PCKInterfaceControllerLoader.h" -#import "PCKFakeSegue.h"