Skip to content

Intents iOS xcode14.2 rc

Alex Soto edited this page Dec 11, 2022 · 2 revisions

#Intents.framework https://github.com/xamarin/xamarin-macios/pull/17010

diff -ruN /Applications/Xcode_14.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Intents.framework/Headers/INAnswerCallIntent.h /Applications/Xcode_14.2.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Intents.framework/Headers/INAnswerCallIntent.h
--- /Applications/Xcode_14.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Intents.framework/Headers/INAnswerCallIntent.h	1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_14.2.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Intents.framework/Headers/INAnswerCallIntent.h	2022-11-10 19:17:42.000000000 -0500
@@ -0,0 +1,73 @@
+//
+//  INAnswerCallIntent.h
+//  Intents
+//
+//  Copyright (c) 2016-2022 Apple Inc. All rights reserved.
+//
+
+#import <Intents/INIntent.h>
+#import <Intents/INIntentResolutionResult.h>
+
+#import <Intents/INCallAudioRoute.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2))
+API_UNAVAILABLE(tvos)
+@interface INAnswerCallIntent : INIntent
+
+- (instancetype)initWithAudioRoute:(INCallAudioRoute)audioRoute
+                    callIdentifier:(nullable NSString *)callIdentifier NS_DESIGNATED_INITIALIZER API_AVAILABLE(ios(16.2), watchos(9.2), macosx(13.1));
+
+// The audio route to answer the call on.
+@property (readonly, assign, NS_NONATOMIC_IOSONLY) INCallAudioRoute audioRoute API_UNAVAILABLE(ios, macos, tvos);
+
+// The identifier of the call that the user wishes to answer.
+@property (readonly, copy, nullable, NS_NONATOMIC_IOSONLY) NSString *callIdentifier API_UNAVAILABLE(ios, macos, watchos, tvos);
+
+@end
+
+@class INAnswerCallIntentResponse;
+
+/*!
+ @abstract Protocol to declare support for handling an INAnswerCallIntent. By implementing this protocol, a class can provide logic for resolving, confirming and handling the intent.
+ @discussion The minimum requirement for an implementing class is that it should be able to handle the intent. The resolution and confirmation methods are optional. The handling method is always called last, after resolving and confirming the intent.
+ */
+
+API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2))
+API_UNAVAILABLE(tvos)
+@protocol INAnswerCallIntentHandling <NSObject>
+
+@required
+
+/*!
+ @abstract Handling method - Execute the task represented by the INAnswerCallIntent that's passed in
+ @discussion Called to actually execute the intent. The app must return a response for this intent.
+
+ @param  intent The input intent
+ @param  completion The response handling block takes a INAnswerCallIntentResponse containing the details of the result of having executed the intent
+
+ @see  INAnswerCallIntentResponse
+ */
+
+- (void)handleAnswerCall:(INAnswerCallIntent *)intent
+              completion:(void (^)(INAnswerCallIntentResponse *response))completion NS_SWIFT_NAME(handle(intent:completion:));
+
+@optional
+
+/*!
+ @abstract Confirmation method - Validate that this intent is ready for the next step (i.e. handling)
+ @discussion Called prior to asking the app to handle the intent. The app should return a response object that contains additional information about the intent, which may be relevant for the system to show the user prior to handling. If unimplemented, the system will assume the intent is valid following resolution, and will assume there is no additional information relevant to this intent.
+
+ @param  intent The input intent
+ @param  completion The response block contains an INAnswerCallIntentResponse containing additional details about the intent that may be relevant for the system to show the user prior to handling.
+
+ @see INAnswerCallIntentResponse
+ */
+
+- (void)confirmAnswerCall:(INAnswerCallIntent *)intent
+               completion:(void (^)(INAnswerCallIntentResponse *response))completion NS_SWIFT_NAME(confirm(intent:completion:));
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Intents.framework/Headers/INAnswerCallIntentResponse.h /Applications/Xcode_14.2.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Intents.framework/Headers/INAnswerCallIntentResponse.h
--- /Applications/Xcode_14.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Intents.framework/Headers/INAnswerCallIntentResponse.h	1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_14.2.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Intents.framework/Headers/INAnswerCallIntentResponse.h	2022-11-10 19:17:53.000000000 -0500
@@ -0,0 +1,42 @@
+//
+//  INAnswerCallIntentResponse.h
+//  Intents
+//
+//  Copyright (c) 2016-2022 Apple Inc. All rights reserved.
+//
+
+#import <Intents/INIntentResponse.h>
+
+@class INCallRecord;
+
+typedef NS_ENUM(NSInteger, INAnswerCallIntentResponseCode) {
+    INAnswerCallIntentResponseCodeUnspecified = 0,
+    INAnswerCallIntentResponseCodeReady,
+    INAnswerCallIntentResponseCodeContinueInApp,
+    INAnswerCallIntentResponseCodeInProgress,
+    INAnswerCallIntentResponseCodeSuccess,
+    INAnswerCallIntentResponseCodeFailure,
+    INAnswerCallIntentResponseCodeFailureRequiringAppLaunch,
+} API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2)) API_UNAVAILABLE(tvos);
+
+NS_ASSUME_NONNULL_BEGIN
+
+API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2))
+API_UNAVAILABLE(tvos)
+@interface INAnswerCallIntentResponse : INIntentResponse
+
+- (id)init NS_UNAVAILABLE;
+
+// The app extension has the option of capturing its private state as an NSUserActivity and returning it as the 'currentActivity'.
+// If the the app is launched, an NSUserActivity will be passed in with the private state.  The NSUserActivity may also be used to query the app's UI extension (if provided) for a view controller representing the current intent handling state.
+// In the case of app launch, the NSUserActivity will have its activityType set to the name of the intent. This intent object will also be available in the NSUserActivity.interaction property.
+- (instancetype)initWithCode:(INAnswerCallIntentResponseCode)code userActivity:(nullable NSUserActivity *)userActivity NS_DESIGNATED_INITIALIZER;
+
+@property (readonly, NS_NONATOMIC_IOSONLY) INAnswerCallIntentResponseCode code;
+
+// The call that was targeted, if found, otherwise empty. The call type should be in-progress or missed.
+@property (readwrite, copy, nullable, NS_NONATOMIC_IOSONLY) NSArray<INCallRecord *> *callRecords API_UNAVAILABLE(macos);
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Intents.framework/Headers/INHangUpCallIntent.h /Applications/Xcode_14.2.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Intents.framework/Headers/INHangUpCallIntent.h
--- /Applications/Xcode_14.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Intents.framework/Headers/INHangUpCallIntent.h	1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_14.2.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Intents.framework/Headers/INHangUpCallIntent.h	2022-11-10 19:17:46.000000000 -0500
@@ -0,0 +1,67 @@
+//
+//  INHangUpCallIntent.h
+//  Intents
+//
+//  Copyright (c) 2016-2022 Apple Inc. All rights reserved.
+//
+
+#import <Intents/INIntent.h>
+#import <Intents/INIntentResolutionResult.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2))
+API_UNAVAILABLE(tvos)
+@interface INHangUpCallIntent : INIntent
+
+- (instancetype)initWithCallIdentifier:(nullable NSString *)callIdentifier NS_DESIGNATED_INITIALIZER API_AVAILABLE(ios(16.2), watchos(9.2), macosx(13.1));
+
+// The identifier of the call that the user wishes to hang up.
+@property (readonly, copy, nullable, NS_NONATOMIC_IOSONLY) NSString *callIdentifier API_UNAVAILABLE(ios, macos, watchos);
+
+@end
+
+@class INHangUpCallIntentResponse;
+
+/*!
+ @abstract Protocol to declare support for handling an INHangUpCallIntent. By implementing this protocol, a class can provide logic for resolving, confirming and handling the intent.
+ @discussion The minimum requirement for an implementing class is that it should be able to handle the intent. The resolution and confirmation methods are optional. The handling method is always called last, after resolving and confirming the intent.
+ */
+
+API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2))
+API_UNAVAILABLE(tvos)
+@protocol INHangUpCallIntentHandling <NSObject>
+
+@required
+
+/*!
+ @abstract Handling method - Execute the task represented by the INHangUpCallIntent that's passed in
+ @discussion Called to actually execute the intent. The app must return a response for this intent.
+
+ @param  intent The input intent
+ @param  completion The response handling block takes a INHangUpCallIntentResponse containing the details of the result of having executed the intent
+
+ @see  INHangUpCallIntentResponse
+ */
+
+- (void)handleHangUpCall:(INHangUpCallIntent *)intent
+              completion:(void (^)(INHangUpCallIntentResponse *response))completion NS_SWIFT_NAME(handle(intent:completion:));
+
+@optional
+
+/*!
+ @abstract Confirmation method - Validate that this intent is ready for the next step (i.e. handling)
+ @discussion Called prior to asking the app to handle the intent. The app should return a response object that contains additional information about the intent, which may be relevant for the system to show the user prior to handling. If unimplemented, the system will assume the intent is valid following resolution, and will assume there is no additional information relevant to this intent.
+
+ @param  intent The input intent
+ @param  completion The response block contains an INHangUpCallIntentResponse containing additional details about the intent that may be relevant for the system to show the user prior to handling.
+
+ @see INHangUpCallIntentResponse
+ */
+
+- (void)confirmHangUpCall:(INHangUpCallIntent *)intent
+               completion:(void (^)(INHangUpCallIntentResponse *response))completion NS_SWIFT_NAME(confirm(intent:completion:));
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Intents.framework/Headers/INHangUpCallIntentResponse.h /Applications/Xcode_14.2.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Intents.framework/Headers/INHangUpCallIntentResponse.h
--- /Applications/Xcode_14.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Intents.framework/Headers/INHangUpCallIntentResponse.h	1969-12-31 19:00:00.000000000 -0500
+++ /Applications/Xcode_14.2.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Intents.framework/Headers/INHangUpCallIntentResponse.h	2022-11-10 19:17:46.000000000 -0500
@@ -0,0 +1,37 @@
+//
+//  INHangUpCallIntentResponse.h
+//  Intents
+//
+//  Copyright (c) 2016-2022 Apple Inc. All rights reserved.
+//
+
+#import <Intents/INIntentResponse.h>
+
+typedef NS_ENUM(NSInteger, INHangUpCallIntentResponseCode) {
+    INHangUpCallIntentResponseCodeUnspecified = 0,
+    INHangUpCallIntentResponseCodeReady,
+    INHangUpCallIntentResponseCodeInProgress,
+    INHangUpCallIntentResponseCodeSuccess,
+    INHangUpCallIntentResponseCodeFailure,
+    INHangUpCallIntentResponseCodeFailureRequiringAppLaunch,
+    INHangUpCallIntentResponseCodeFailureNoCallToHangUp,
+} API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2)) API_UNAVAILABLE(tvos);
+
+NS_ASSUME_NONNULL_BEGIN
+
+API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2))
+API_UNAVAILABLE(tvos)
+@interface INHangUpCallIntentResponse : INIntentResponse
+
+- (id)init NS_UNAVAILABLE;
+
+// The app extension has the option of capturing its private state as an NSUserActivity and returning it as the 'currentActivity'.
+// If the the app is launched, an NSUserActivity will be passed in with the private state.  The NSUserActivity may also be used to query the app's UI extension (if provided) for a view controller representing the current intent handling state.
+// In the case of app launch, the NSUserActivity will have its activityType set to the name of the intent. This intent object will also be available in the NSUserActivity.interaction property.
+- (instancetype)initWithCode:(INHangUpCallIntentResponseCode)code userActivity:(nullable NSUserActivity *)userActivity NS_DESIGNATED_INITIALIZER;
+
+@property (readonly, NS_NONATOMIC_IOSONLY) INHangUpCallIntentResponseCode code;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_14.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Intents.framework/Headers/INIntentIdentifiers.h /Applications/Xcode_14.2.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Intents.framework/Headers/INIntentIdentifiers.h
--- /Applications/Xcode_14.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Intents.framework/Headers/INIntentIdentifiers.h	2022-10-06 13:28:49.000000000 -0400
+++ /Applications/Xcode_14.2.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Intents.framework/Headers/INIntentIdentifiers.h	2022-11-10 19:15:24.000000000 -0500
@@ -21,6 +21,12 @@
 // Identifier for INStartCallIntent class.
 INTENTS_EXTERN NSString *const INStartCallIntentIdentifier API_AVAILABLE(ios(13.0), watchos(6.0)) API_UNAVAILABLE(macos, tvos);
 
+// Identifier for INAnswerCallIntent class.
+INTENTS_EXTERN NSString *const INAnswerCallIntentIdentifier API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2));
+
+// Identifier for INHangUpCallIntent class.
+INTENTS_EXTERN NSString *const INHangUpCallIntentIdentifier API_AVAILABLE(ios(16.2), macos(13.1), watchos(9.2), tvos(16.2));
+
 // Identifier for INSetAudioSourceInCarIntent class.
 INTENTS_EXTERN NSString *const INSetAudioSourceInCarIntentIdentifier API_AVAILABLE(ios(10.0)) API_UNAVAILABLE(macos, watchos, tvos);
 
diff -ruN /Applications/Xcode_14.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Intents.framework/Headers/INIntentResponses.h /Applications/Xcode_14.2.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Intents.framework/Headers/INIntentResponses.h
--- /Applications/Xcode_14.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Intents.framework/Headers/INIntentResponses.h	2022-09-30 07:50:44.000000000 -0400
+++ /Applications/Xcode_14.2.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Intents.framework/Headers/INIntentResponses.h	2022-11-05 07:40:24.000000000 -0400
@@ -5,6 +5,8 @@
 //  Copyright (c) 2016-2022 Apple Inc. All rights reserved.
 //
 
+#import <Intents/INAnswerCallIntentResponse.h>
+#import <Intents/INHangUpCallIntentResponse.h>
 #import <Intents/INSearchCallHistoryIntentResponse.h>
 #import <Intents/INStartAudioCallIntentResponse.h>
 #import <Intents/INStartCallIntentResponse.h>
diff -ruN /Applications/Xcode_14.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Intents.framework/Headers/INIntents.h /Applications/Xcode_14.2.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Intents.framework/Headers/INIntents.h
--- /Applications/Xcode_14.1.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Intents.framework/Headers/INIntents.h	2022-09-30 07:50:43.000000000 -0400
+++ /Applications/Xcode_14.2.0-rc.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/Intents.framework/Headers/INIntents.h	2022-11-05 07:40:23.000000000 -0400
@@ -5,6 +5,8 @@
 //  Copyright (c) 2016-2022 Apple Inc. All rights reserved.
 //
 
+#import <Intents/INAnswerCallIntent.h>
+#import <Intents/INHangUpCallIntent.h>
 #import <Intents/INSearchCallHistoryIntent.h>
 #import <Intents/INStartAudioCallIntent.h>
 #import <Intents/INStartCallIntent.h>
Clone this wiki locally