Skip to content

ClockKit watchOS xcode14.0 beta1

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

#ClockKit.framework https://github.com/xamarin/xamarin-macios/pull/15417

diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/ClockKit.framework/Headers/CLKComplicationDataSource.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/ClockKit.framework/Headers/CLKComplicationDataSource.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/ClockKit.framework/Headers/CLKComplicationDataSource.h	2022-02-23 10:58:52.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/ClockKit.framework/Headers/CLKComplicationDataSource.h	2022-05-31 15:02:13.000000000 -0400
@@ -16,6 +16,8 @@
 @class CLKComplicationTimelineEntry;
 @class CLKComplicationDescriptor;
 
+@protocol CLKComplicationWidgetMigrator;
+
 API_AVAILABLE(watchos(2.0)) API_UNAVAILABLE(ios)
 NS_SWIFT_UI_ACTOR
 @protocol CLKComplicationDataSource <NSObject>
@@ -90,6 +92,11 @@
 @optional
 - (void)handleSharedComplicationDescriptors:(NSArray<CLKComplicationDescriptor *> *)complicationDescriptors API_AVAILABLE(watchos(7.0)) API_UNAVAILABLE(ios);
 
+#pragma mark - Widget Migration
+
+/// Provide a migrator to provide the appropriate widget migration
+@optional
+@property (nonatomic, readonly) id<CLKComplicationWidgetMigrator> widgetMigrator API_AVAILABLE(watchos(9.0)) API_UNAVAILABLE(ios);
 
 #pragma mark - Deprecated
 
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/ClockKit.framework/Headers/CLKComplicationIntentWidgetMigrationConfiguration.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/ClockKit.framework/Headers/CLKComplicationIntentWidgetMigrationConfiguration.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/ClockKit.framework/Headers/CLKComplicationIntentWidgetMigrationConfiguration.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/ClockKit.framework/Headers/CLKComplicationIntentWidgetMigrationConfiguration.h	2022-05-31 15:03:59.000000000 -0400
@@ -0,0 +1,44 @@
+//
+//  CLKComplicationIntentWidgetMigrationConfiguration.h
+//  ClockKit
+//
+//  Copyright © 2022 Apple Inc. All rights reserved.
+//
+
+#import <ClockKit/CLKComplicationWidgetMigrationConfiguration.h>
+
+@class INIntent;
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// Holds data that maps to a Widget specified by an `IntentConfiguration` in a specific extension.
+API_AVAILABLE(watchos(9.0)) API_UNAVAILABLE(ios)
+@interface CLKComplicationIntentWidgetMigrationConfiguration : CLKComplicationWidgetMigrationConfiguration
+
+// The kind specified in the `WidgetConfiguration`
+@property(nonatomic, readonly, copy) NSString *kind;
+
+// The extension that the `WidgetConfiguration` is specified in
+@property(nonatomic, readonly, copy) NSString *extensionBundleIdentifier;
+
+// The configured intent that is the same type as specified in the `WidgetConfiguration`
+@property(nonatomic, readonly, copy) INIntent *intent;
+
+// The name used for the complication during editing
+@property(nonatomic, readonly, copy) NSString *localizedDisplayName;
+
+- (instancetype)initWithKind:(NSString *)kind
+   extensionBundleIdentifier:(NSString *)extensionBundleIdentifier
+                      intent:(INIntent *)intent
+        localizedDisplayName:(NSString *)localizedDisplayName;
++ (instancetype)intentWidgetMigrationConfigurationWithKind:(NSString *)kind
+                                 extensionBundleIdentifier:(NSString *)extensionBundleIdentifier
+                                                    intent:(INIntent *)intent
+                                      localizedDisplayName:(NSString *)localizedDisplayName;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@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/ClockKit.framework/Headers/CLKComplicationStaticWidgetMigrationConfiguration.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/ClockKit.framework/Headers/CLKComplicationStaticWidgetMigrationConfiguration.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/ClockKit.framework/Headers/CLKComplicationStaticWidgetMigrationConfiguration.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/ClockKit.framework/Headers/CLKComplicationStaticWidgetMigrationConfiguration.h	2022-05-31 15:04:00.000000000 -0400
@@ -0,0 +1,32 @@
+//
+//  CLKComplicationStaticWidgetMigrationConfiguration.h
+//  ClockKit
+//
+//  Copyright © 2022 Apple Inc. All rights reserved.
+//
+
+#import <ClockKit/CLKComplicationWidgetMigrationConfiguration.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// Holds data that maps to a Widget specified by a `StaticConfiguration` in a specific extension.
+API_AVAILABLE(watchos(9.0)) API_UNAVAILABLE(ios)
+@interface CLKComplicationStaticWidgetMigrationConfiguration : CLKComplicationWidgetMigrationConfiguration
+
+// The kind specified in the `WidgetConfiguration`
+@property(nonatomic, readonly, copy) NSString *kind;
+
+// The extension that the `WidgetConfiguration` is specified in
+@property(nonatomic, readonly, copy) NSString *extensionBundleIdentifier;
+
+- (instancetype)initWithKind:(NSString *)kind
+   extensionBundleIdentifier:(NSString *)extensionBundleIdentifier;
++ (instancetype)staticWidgetMigrationConfigurationWithKind:(NSString *)kind
+                                 extensionBundleIdentifier:(NSString *)extensionBundleIdentifier;
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@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/ClockKit.framework/Headers/CLKComplicationWidgetMigrationConfiguration.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/ClockKit.framework/Headers/CLKComplicationWidgetMigrationConfiguration.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/ClockKit.framework/Headers/CLKComplicationWidgetMigrationConfiguration.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/ClockKit.framework/Headers/CLKComplicationWidgetMigrationConfiguration.h	2022-05-31 15:04:00.000000000 -0400
@@ -0,0 +1,21 @@
+//
+//  CLKComplicationWidgetMigrationConfiguration.h
+//  ClockKit
+//
+//  Copyright © 2022 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+/// Common class for different kinds of mappings to Widget configurations.
+API_AVAILABLE(watchos(9.0)) API_UNAVAILABLE(ios)
+@interface CLKComplicationWidgetMigrationConfiguration : NSObject <NSCopying>
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+@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/ClockKit.framework/Headers/CLKComplicationWidgetMigrator.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/ClockKit.framework/Headers/CLKComplicationWidgetMigrator.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/ClockKit.framework/Headers/CLKComplicationWidgetMigrator.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/ClockKit.framework/Headers/CLKComplicationWidgetMigrator.h	2022-05-31 15:03:59.000000000 -0400
@@ -0,0 +1,25 @@
+//
+//  CLKComplicationWidgetMigrator.h
+//  ClockKit
+//
+//  Copyright © 2022 Apple Inc. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+@class CLKComplicationDescriptor;
+@class CLKComplicationWidgetMigrationConfiguration;
+
+NS_ASSUME_NONNULL_BEGIN
+
+API_AVAILABLE(watchos(9.0)) API_UNAVAILABLE(ios)
+@protocol CLKComplicationWidgetMigrator <NSObject>
+
+/// Provide a mapping from an existing configured `CLKComplicationDescriptor` to a Widget.
+@optional
+- (void)getWidgetConfigurationFrom:(CLKComplicationDescriptor *)complicationDescriptor
+                 completionHandler:(void (^)(CLKComplicationWidgetMigrationConfiguration * _Nullable))completionHandler NS_SWIFT_ASYNC(2);
+
+@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/ClockKit.framework/Headers/ClockKit.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/ClockKit.framework/Headers/ClockKit.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/ClockKit.framework/Headers/ClockKit.h	2022-02-12 12:59:46.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/WatchOS.platform/Developer/SDKs/WatchOS.sdk/System/Library/Frameworks/ClockKit.framework/Headers/ClockKit.h	2022-05-25 21:14:43.000000000 -0400
@@ -23,3 +23,7 @@
 
 #import <ClockKit/CLKComplicationDescriptor.h>
 
+#import <ClockKit/CLKComplicationWidgetMigrator.h>
+#import <ClockKit/CLKComplicationWidgetMigrationConfiguration.h>
+#import <ClockKit/CLKComplicationIntentWidgetMigrationConfiguration.h>
+#import <ClockKit/CLKComplicationStaticWidgetMigrationConfiguration.h>
Clone this wiki locally