Skip to content

WatchKit watchOS xcode14.0 beta1

Manuel de la Pena edited this page Jul 18, 2022 · 3 revisions

#WatchKit.framework https://github.com/xamarin/xamarin-macios/pull/15535

diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKApplication.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKApplication.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKApplication.h	1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKApplication.h	2022-05-31 15:02:51.000000000 -0400
@@ -0,0 +1,103 @@
+//
+//  WKApplication.h
+//  WatchKit
+//
+//  Copyright © 2020 Apple Inc. All rights reserved.
+//
+
+#import <WatchKit/WKDefines.h>
+#import <WatchKit/WKExtension.h>
+#import <WatchKit/WKInterfaceController.h>
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@protocol WKApplicationDelegate;
+@class HKWorkoutConfiguration;
+@class UNNotification;
+@class UILocalNotification;
+@class WKRefreshBackgroundTask;
+@class WKExtendedRuntimeSession;
+@class INIntent, INIntentResponse;
+@class UIColor;
+@class CKShareMetadata;
+
+WK_AVAILABLE_WATCHOS_ONLY(7.0) NS_SWIFT_UI_ACTOR
+@interface WKApplication : NSObject
+
++ (WKApplication *)sharedApplication;
+
+- (void)openSystemURL:(NSURL *)url;
+
+@property (nonatomic, weak, readonly, nullable) id<WKApplicationDelegate> delegate;
+@property (nonatomic, readonly, nullable) WKInterfaceController *rootInterfaceController;
+@property (nonatomic, readonly, nullable) WKInterfaceController *visibleInterfaceController; // in the cases when queried after an app launch we will return the instance of the last visible interface controller
+
+@property (nonatomic, readonly) WKApplicationState applicationState;
+@property (nonatomic, readonly) BOOL isApplicationRunningInDock;
+@property (nonatomic, getter=isAutorotating) BOOL autorotating;	  // enables autorotation, default is NO
+@property (nonatomic, readonly, getter=isAutorotated) BOOL autorotated;  // is the UI currently autorotated?
+
+// Calling this will result in either didRegisterForRemoteNotificationsWithDeviceToken: or didFailToRegisterForRemoteNotificationsWithError: to be called on the application delegate. Note: these callbacks will be made only if the application has successfully registered for user notifications with UNUserNotificationCenter, or if it is enabled for Background App Refresh.
+- (void)registerForRemoteNotifications;
+
+- (void)unregisterForRemoteNotifications;
+
+// Returns YES if the application is currently registered for remote notifications, taking into account any systemwide settings; doesn't relate to connectivity.
+@property(nonatomic, readonly, getter=isRegisteredForRemoteNotifications) BOOL registeredForRemoteNotifications;
+
+// returns the global tint color as set in Interface.storyboard or via Asset Catalog
+@property (nonatomic, readonly) UIColor *globalTintColor;
+
+@end
+
+WK_AVAILABLE_WATCHOS_ONLY(7.0) NS_SWIFT_UI_ACTOR
+@protocol WKApplicationDelegate <NSObject>
+
+@optional
+
+- (void)applicationDidFinishLaunching;
+- (void)applicationDidBecomeActive;
+- (void)applicationWillResignActive;
+- (void)applicationWillEnterForeground;
+- (void)applicationDidEnterBackground;
+
+// iOS app started a workout. -[HKHealthStore startWorkoutSession:] should be called from here
+- (void)handleWorkoutConfiguration:(HKWorkoutConfiguration *)workoutConfiguration;
+
+// app crashed while in a workout
+- (void)handleActiveWorkoutRecovery;
+
+// app had a WKExtendedRuntimeSession already running or scheduled at the time it was launched. To recover the session, set a delegate on it before this method returns. If no delegate is set, the session will be ended.
+- (void)handleExtendedRuntimeSession:(WKExtendedRuntimeSession *)extendedRuntimeSession;
+
+// app brought frontmost due to auto-launching audio apps
+- (void)handleRemoteNowPlayingActivity;
+
+- (void)handleUserActivity:(nullable NSDictionary *)userInfo;
+- (void)handleActivity:(NSUserActivity *)userActivity;
+- (void)handleIntent:(INIntent *)intent completionHandler:(void(^)(INIntentResponse *intentResponse))completionHandler;
+
+- (void)handleBackgroundTasks:(NSSet <WKRefreshBackgroundTask *> *)backgroundTasks;
+
+- (void)deviceOrientationDidChange; // called when WKInterfaceDeviceWristLocation, WKInterfaceDeviceCrownOrientation, or autorotated value changes
+
+- (void)didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken;
+
+- (void)didFailToRegisterForRemoteNotificationsWithError:(NSError *)error;
+
+/*! This delegate method offers an opportunity for applications with the "remote-notification" background mode to fetch appropriate new data in response to an incoming remote notification. You should call the fetchCompletionHandler as soon as you're finished performing that operation, so the system can accurately estimate its power and data cost.
+
+ This method will be invoked even if the application was launched or resumed because of the remote background notification.!*/
+- (void)didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(WKBackgroundFetchResult result))completionHandler;
+
+// Called after the user indicates they want to accept a CloudKit sharing invitation in your application
+// and the window scene is already connected.
+// You should use the CKShareMetadata object's shareURL and containerIdentifier to schedule a CKAcceptSharesOperation, then start using
+// the resulting CKShare and its associated record(s), which will appear in the CKContainer's shared database in a zone matching that of the record's owner.
+- (void)userDidAcceptCloudKitShareWithMetadata:(CKShareMetadata *)cloudKitShareMetadata;
+
+@end
+
+NS_ASSUME_NONNULL_END
+
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKApplicationMain.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKApplicationMain.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKApplicationMain.h	1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKApplicationMain.h	2022-05-31 15:04:42.000000000 -0400
@@ -0,0 +1,14 @@
+//
+//  WKApplicationMain.h
+//  WatchKit
+//
+//  Copyright © 2018 Apple Inc. All rights reserved.
+//
+
+#ifndef WKApplicationMain_h
+#define WKApplicationMain_h
+#import <WatchKit/WatchKit.h>
+
+WKI_EXTERN int WKApplicationMain(int argc, char * _Nullable argv[_Nonnull], NSString * _Nullable applicationDelegateClassName) WK_AVAILABLE_WATCHOS_ONLY(7.0);
+
+#endif /* WKApplicationMain_h */
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKBackgroundTask.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKBackgroundTask.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKBackgroundTask.h	2022-02-23 07:16:38.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKBackgroundTask.h	2022-05-31 15:04:41.000000000 -0400
@@ -100,6 +100,13 @@
 @interface WKIntentDidRunRefreshBackgroundTask : WKRefreshBackgroundTask
 @end
 
+/// Updates from Bluetooth are available to the application.
+/// Register a CBCentralManagerDelegate to receive the updates,
+/// and then call this task's completion handler.
+WK_AVAILABLE_WATCHOS_ONLY(9.0)
+@interface WKBluetoothAlertRefreshBackgroundTask : WKRefreshBackgroundTask
+@end
+
 @interface WKExtension (WKBackgroundTasks)
 
 // there can only be one background refresh request at any given time. Scheduling a second request will cancel the previously scheduled request
@@ -112,5 +119,18 @@
 
 @end
 
+WK_AVAILABLE_WATCHOS_ONLY(7.0)
+@interface WKApplication (WKBackgroundTasks)
+
+// there can only be one background refresh request at any given time. Scheduling a second request will cancel the previously scheduled request
+// userInfo can only contain collections and objects of the following types: NSArray, NSData, NSDate, NSDictionary, NSNull, NSNumber, NSSet, NSString, NSURL, or NSUUID
+- (void)scheduleBackgroundRefreshWithPreferredDate:(NSDate *)preferredFireDate userInfo:(nullable id<NSSecureCoding,NSObject>)userInfo scheduledCompletion:(void(^)(NSError * _Nullable error))scheduledCompletion;
+
+// there can only be one snapshot refresh request at any given time. Scheduling a second request will cancel the previously scheduled request
+// userInfo can only contain collections and objects of the following types: NSArray, NSData, NSDate, NSDictionary, NSNull, NSNumber, NSSet, NSString, NSURL, or NSUUID
+- (void)scheduleSnapshotRefreshWithPreferredDate:(NSDate *)preferredFireDate userInfo:(nullable id<NSSecureCoding,NSObject>)userInfo scheduledCompletion:(void(^)(NSError * _Nullable error))scheduledCompletion;
+
+@end
+
 NS_ASSUME_NONNULL_END
 
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKDefines.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKDefines.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKDefines.h	2022-02-23 07:16:38.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKDefines.h	2022-05-31 15:04:41.000000000 -0400
@@ -13,14 +13,6 @@
 #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 __attribute__((visibility("default")))
-#define WK_AVAILABLE_IOS_ONLY(_iOSIntro) __IOS_AVAILABLE(_iOSIntro) __WATCHOS_UNAVAILABLE
-#define WK_AVAILABLE_WATCHOS_IOS(_watchOSIntro,_iOSIntro) __WATCHOS_AVAILABLE(_watchOSIntro) __IOS_AVAILABLE(_iOSIntro) __attribute__((visibility("default")))
 #define WK_DEPRECATED_WATCHOS(_watchOSIntro,_watchOSDep,_msg) __WATCHOS_DEPRECATED(_watchOSIntro,_watchOSDep,_msg) __attribute__((visibility("default")))
 #define WK_DEPRECATED_WITH_REPLACEMENT(_watchOSIntro,_watchOSDep,replacement) __API_DEPRECATED_WITH_REPLACEMENT(replacement,watchos(_watchOSIntro,_watchOSDep)) __attribute__((visibility("default")))
-#if TARGET_WATCH_OS
-#define WK_DEPRECATED_WATCHOS_IOS(_watchOSIntro,_watchOSDep,_iOSIntro,_iOSDep,_msg) __WATCHOS_DEPRECATED(_watchOSIntro,_watchOSDep,_msg)
-#else
-#define WK_DEPRECATED_WATCHOS_IOS(_watchOSIntro,_watchOSDep,_iOSIntro,_iOSDep,_msg) __IOS_DEPRECATED(_iOSIntro,_iOSDep,_msg)
-#endif
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKError.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKError.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKError.h	2022-02-23 07:16:38.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKError.h	2022-05-21 07:57:47.000000000 -0400
@@ -10,7 +10,7 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-WKI_EXTERN NSString * const WatchKitErrorDomain NS_AVAILABLE_IOS(8_2);
+WKI_EXTERN NSString * const WatchKitErrorDomain;
 
 typedef NS_ENUM(NSInteger, WatchKitErrorCode)  {
     WatchKitUnknownError                                          = 1,  // unknown error
@@ -19,6 +19,6 @@
     WatchKitMediaPlayerError                                      = 4,  // media player error
     WatchKitDownloadError                                         = 5,  // download of resource failed
     WatchKitRecordingFailedError                                  = 6,  // recording failed
-} NS_ENUM_AVAILABLE_IOS(8_2);
+};
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKExtendedRuntimeSession.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKExtendedRuntimeSession.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKExtendedRuntimeSession.h	2022-02-23 07:14:31.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKExtendedRuntimeSession.h	2022-05-31 15:04:40.000000000 -0400
@@ -63,6 +63,7 @@
     WKExtendedRuntimeSessionErrorNotApprovedToSchedule = 8, // the app does not have appropriate permissions to call startAtDate
 } WK_AVAILABLE_WATCHOS_ONLY(6.0);
 
+
 @protocol WKExtendedRuntimeSessionDelegate;
 
 WK_AVAILABLE_WATCHOS_ONLY(6.0)
@@ -75,6 +76,7 @@
  */
 + (WKExtendedRuntimeSession *)session;
 
+
 /**
  * Setting a delegate on the session provides you with updates on when the session begins,
  * ends, or, encounters an error. Be sure to set a delegate before calling start, to receive the sessionDidStart callback.
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceButton.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceButton.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceButton.h	2022-02-23 07:16:39.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceButton.h	2022-05-31 15:04:42.000000000 -0400
@@ -13,7 +13,7 @@
 
 @class UIImage, UIColor;
 
-WK_CLASS_AVAILABLE_IOS(8_2)
+WK_AVAILABLE_WATCHOS_ONLY(2.0)
 @interface WKInterfaceButton : WKInterfaceObject
 
 - (void)setTitle:(nullable NSString *)title;
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceController.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceController.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceController.h	2022-02-23 07:14:33.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceController.h	2022-05-31 15:04:42.000000000 -0400
@@ -26,7 +26,7 @@
 typedef NS_ENUM(NSInteger, WKUserNotificationInterfaceType)  {
     WKUserNotificationInterfaceTypeDefault,
     WKUserNotificationInterfaceTypeCustom,
-} NS_ENUM_AVAILABLE_IOS(8_2);
+};
 
 typedef NS_ENUM(NSInteger, WKMenuItemIcon)  {
     WKMenuItemIconAccept,       // checkmark
@@ -45,7 +45,7 @@
     WKMenuItemIconShuffle,      // swapped arrows
     WKMenuItemIconSpeaker,      // speaker icon
     WKMenuItemIconTrash,        // trash icon
-} NS_ENUM_AVAILABLE_IOS(8_2) WK_DEPRECATED_WATCHOS(2.0, 7.0, "");
+} WK_DEPRECATED_WATCHOS(2.0, 7.0, "");
 
 typedef NS_ENUM(NSInteger, WKTextInputMode)  {
     WKTextInputModePlain,		// text (no emoji) from dictation + suggestions
@@ -86,7 +86,7 @@
 	WKAudioRecorderPresetHighQualityAudio	// @44.1kHz, LPCM 705.6kbps, AAC 96kbps
 } WK_AVAILABLE_WATCHOS_ONLY(2.0);
 
-WK_CLASS_AVAILABLE_IOS(8_2) NS_SWIFT_UI_ACTOR
+WK_AVAILABLE_WATCHOS_ONLY(2.0) NS_SWIFT_UI_ACTOR
 @interface WKInterfaceController : NSObject
 
 - (instancetype)init NS_DESIGNATED_INITIALIZER;
@@ -110,7 +110,6 @@
 - (void)pickerDidSettle:(WKInterfacePicker *)picker WK_AVAILABLE_WATCHOS_ONLY(2.0);
 
 - (void)table:(WKInterfaceTable *)table didSelectRowAtIndex:(NSInteger)rowIndex;  // row selection if controller has WKInterfaceTable property
-- (void)handleActionWithIdentifier:(nullable NSString *)identifier forNotification:(UNNotification *)notification WK_AVAILABLE_IOS_ONLY(10.0); // when the app is launched from a notification. If launched from app icon in notification UI, identifier will be empty
 
 - (void)setTitle:(nullable NSString *)title;        // title of controller. displayed when controller active
 
@@ -179,7 +178,7 @@
 
 @end
 
-WK_CLASS_AVAILABLE_IOS(8_2) NS_SWIFT_UI_ACTOR
+WK_AVAILABLE_WATCHOS_ONLY(2.0) NS_SWIFT_UI_ACTOR
 @interface WKUserNotificationInterfaceController : WKInterfaceController
 
 - (instancetype)init NS_DESIGNATED_INITIALIZER;
@@ -192,7 +191,7 @@
 // Subclasses can implement to return an array of suggestions to use as text responses to a notification.
 - (nonnull NSArray<NSString *> *)suggestionsForResponseToActionWithIdentifier:(NSString *)identifier forNotification:(UNNotification *)notification inputLanguage:(NSString *)inputLanguage WK_AVAILABLE_WATCHOS_ONLY(3.0);
 
-// Opens the corresponding applicaton and delivers it the default notification action response
+// Opens the corresponding application and delivers it the default notification action response
 - (void)performNotificationDefaultAction WK_AVAILABLE_WATCHOS_ONLY(5.0);
 
 // dismiss the UI from the WKUserNotificationInterfaceController
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceDate.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceDate.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceDate.h	2022-02-23 07:16:37.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceDate.h	2022-05-31 15:04:40.000000000 -0400
@@ -13,7 +13,7 @@
 
 @class UIColor;
 
-WK_CLASS_AVAILABLE_IOS(8_2)
+WK_AVAILABLE_WATCHOS_ONLY(2.0)
 @interface WKInterfaceDate : WKInterfaceObject
 
 - (void)setTextColor:(nullable UIColor *)color;
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceDevice.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceDevice.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceDevice.h	2022-02-23 07:16:38.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceDevice.h	2022-05-31 15:04:41.000000000 -0400
@@ -82,11 +82,11 @@
 
 + (WKInterfaceLayoutDirection)interfaceLayoutDirectionForSemanticContentAttribute:(WKInterfaceSemanticContentAttribute)semanticContentAttribute WK_AVAILABLE_WATCHOS_ONLY(2.1);
 
-@property(nonatomic, readonly, copy) NSString *systemVersion  WK_AVAILABLE_WATCHOS_IOS(2.0,9.0); // e.g. @"2.0"
-@property(nonatomic, readonly, copy) NSString *name           WK_AVAILABLE_WATCHOS_IOS(2.0,9.0); // e.g. "My Watch"
-@property(nonatomic, readonly, copy) NSString *model          WK_AVAILABLE_WATCHOS_IOS(2.0,9.0); // e.g. @"Apple Watch"
-@property(nonatomic, readonly, copy) NSString *localizedModel WK_AVAILABLE_WATCHOS_IOS(2.0,9.0); // localized version of model
-@property(nonatomic, readonly, copy) NSString *systemName     WK_AVAILABLE_WATCHOS_IOS(2.0,9.0); // e.g. @"watchOS"
+@property(nonatomic, readonly, copy) NSString *systemVersion; // e.g. @"2.0"
+@property(nonatomic, readonly, copy) NSString *name; // e.g. "My Watch"
+@property(nonatomic, readonly, copy) NSString *model; // e.g. @"Apple Watch"
+@property(nonatomic, readonly, copy) NSString *localizedModel; // localized version of model
+@property(nonatomic, readonly, copy) NSString *systemName; // e.g. @"watchOS"
 
 @property (nonatomic,readonly) WKWaterResistanceRating waterResistanceRating WK_AVAILABLE_WATCHOS_ONLY(3.0);
 @property (nonatomic, readonly, getter=isWaterLockEnabled) BOOL waterLockEnabled WK_AVAILABLE_WATCHOS_ONLY(6.1);
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceGroup.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceGroup.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceGroup.h	2022-02-23 07:16:37.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceGroup.h	2022-05-31 15:04:40.000000000 -0400
@@ -16,7 +16,7 @@
 @class UIColor, UIImage;
 @protocol WKImageAnimatable;
 
-WK_CLASS_AVAILABLE_IOS(8_2)
+WK_AVAILABLE_WATCHOS_ONLY(2.0)
 @interface WKInterfaceGroup : WKInterfaceObject <WKImageAnimatable>
 
 - (void)setCornerRadius:(CGFloat)cornerRadius;
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceImage.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceImage.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceImage.h	2022-02-23 07:16:37.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceImage.h	2022-05-31 15:04:40.000000000 -0400
@@ -26,7 +26,7 @@
 
 @end
 
-WK_CLASS_AVAILABLE_IOS(8_2)
+WK_AVAILABLE_WATCHOS_ONLY(2.0)
 @interface WKInterfaceImage : WKInterfaceObject <WKImageAnimatable>
 
 - (void)setImage:(nullable UIImage *)image;
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceLabel.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceLabel.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceLabel.h	2022-02-23 07:16:38.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceLabel.h	2022-05-31 15:04:41.000000000 -0400
@@ -13,7 +13,7 @@
 
 @class UIColor;
 
-WK_CLASS_AVAILABLE_IOS(8_2)
+WK_AVAILABLE_WATCHOS_ONLY(2.0)
 @interface WKInterfaceLabel : WKInterfaceObject
 
 - (void)setText:(nullable NSString *)text;
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceMap.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceMap.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceMap.h	2022-02-23 07:16:38.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceMap.h	2022-05-31 15:04:41.000000000 -0400
@@ -17,14 +17,14 @@
     WKInterfaceMapPinColorRed,
     WKInterfaceMapPinColorGreen,
     WKInterfaceMapPinColorPurple,
-} NS_ENUM_AVAILABLE_IOS(8_2);
+};
 
 typedef NS_ENUM(NSInteger, WKInterfaceMapUserTrackingMode) {
     WKInterfaceMapUserTrackingModeNone = 0, // the user's location is not followed
     WKInterfaceMapUserTrackingModeFollow // the map follows the user's location
 } NS_SWIFT_NAME(WKInterfaceMap.UserTrackingMode) WK_AVAILABLE_WATCHOS_ONLY(6.1);
 
-WK_CLASS_AVAILABLE_IOS(8_2)
+WK_AVAILABLE_WATCHOS_ONLY(2.0)
 @interface WKInterfaceMap : WKInterfaceObject
 
 - (instancetype)init WK_DEPRECATED_WATCHOS(6.0, 7.0, "Use MapKit.MapView instead.");
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceObject.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceObject.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceObject.h	2022-02-23 07:16:39.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceObject.h	2022-05-31 15:04:42.000000000 -0400
@@ -27,7 +27,7 @@
     WKInterfaceObjectVerticalAlignmentBottom
 } WK_AVAILABLE_WATCHOS_ONLY(2.0);
 
-WK_CLASS_AVAILABLE_IOS(8_2)
+WK_AVAILABLE_WATCHOS_ONLY(2.0)
 @interface WKInterfaceObject : NSObject
 
 - (instancetype)init NS_UNAVAILABLE;
@@ -53,7 +53,7 @@
 
 @interface WKInterfaceObject (WKAccessibility)
 
-- (void)setAccessibilityIdentifier:(nullable NSString *)accessibilityIdentifier WK_AVAILABLE_WATCHOS_IOS(2.0,9.0);
+- (void)setAccessibilityIdentifier:(nullable NSString *)accessibilityIdentifier;
 - (void)setAccessibilityLabel:(nullable NSString *)accessibilityLabel;
 - (void)setAccessibilityHint:(nullable NSString *)accessibilityHint;
 - (void)setAccessibilityValue:(nullable NSString *)accessibilityValue;
@@ -63,7 +63,7 @@
 
 @end
 
-WK_CLASS_AVAILABLE_IOS(8_2)
+WK_AVAILABLE_WATCHOS_ONLY(2.0)
 @interface WKAccessibilityImageRegion : NSObject
 
 @property(nonatomic)      CGRect    frame;
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceSeparator.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceSeparator.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceSeparator.h	2022-02-23 07:16:38.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceSeparator.h	2022-05-31 15:04:41.000000000 -0400
@@ -12,7 +12,7 @@
 
 @class UIColor;
 
-WK_CLASS_AVAILABLE_IOS(8_2)
+WK_AVAILABLE_WATCHOS_ONLY(2.0)
 @interface WKInterfaceSeparator : WKInterfaceObject
 
 - (void)setColor:(nullable UIColor *)color;
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceSlider.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceSlider.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceSlider.h	2022-02-23 07:16:39.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceSlider.h	2022-05-31 15:04:41.000000000 -0400
@@ -13,7 +13,7 @@
 
 @class UIColor;
 
-WK_CLASS_AVAILABLE_IOS(8_2)
+WK_AVAILABLE_WATCHOS_ONLY(2.0)
 @interface WKInterfaceSlider : WKInterfaceObject
 
 - (void)setEnabled:(BOOL)enabled;
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceSwitch.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceSwitch.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceSwitch.h	2022-02-23 07:16:38.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceSwitch.h	2022-05-31 15:04:41.000000000 -0400
@@ -12,7 +12,7 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-WK_CLASS_AVAILABLE_IOS(8_2)
+WK_AVAILABLE_WATCHOS_ONLY(2.0)
 @interface WKInterfaceSwitch : WKInterfaceObject
 
 - (void)setTitle:(nullable NSString *)title;
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceTable.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceTable.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceTable.h	2022-02-23 07:16:37.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceTable.h	2022-05-31 15:04:40.000000000 -0400
@@ -11,7 +11,7 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-WK_CLASS_AVAILABLE_IOS(8_2)
+WK_AVAILABLE_WATCHOS_ONLY(2.0)
 @interface WKInterfaceTable : WKInterfaceObject
 
 - (void)setRowTypes:(NSArray<NSString*> *)rowTypes;                                         // row names. size of array is number of rows
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceTimer.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceTimer.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceTimer.h	2022-02-23 07:16:37.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WKInterfaceTimer.h	2022-05-31 15:04:40.000000000 -0400
@@ -13,7 +13,7 @@
 
 @class UIColor;
 
-WK_CLASS_AVAILABLE_IOS(8_2)
+WK_AVAILABLE_WATCHOS_ONLY(2.0)
 @interface WKInterfaceTimer : WKInterfaceObject
 
 - (void)setTextColor:(nullable UIColor *)color;
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WatchKit.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WatchKit.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WatchKit.h	2022-02-12 12:53:51.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/WatchKit.framework/Headers/WatchKit.h	2022-05-21 07:57:47.000000000 -0400
@@ -5,6 +5,8 @@
 //  Copyright (c) 2014-2020 Apple Inc. All rights reserved.
 //
 
+#import <WatchKit/WKApplication.h>
+#import <WatchKit/WKApplicationMain.h>
 #import <WatchKit/WKDefines.h>
 #import <WatchKit/WKError.h>
 #import <WatchKit/WKInterfaceController.h>
Clone this wiki locally