Skip to content

StoreKit tvOS xcode14.0 beta1

Manuel de la Pena edited this page Aug 4, 2022 · 3 revisions

#StoreKit.framework https://github.com/xamarin/xamarin-macios/pull/15609

diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKANError.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKANError.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKANError.h	2022-02-23 07:09:56.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKANError.h	2022-06-03 18:07:03.000000000 -0400
@@ -25,6 +25,7 @@
     SKANErrorInvalidAdvertisedAppId         = 8,
     SKANErrorInvalidVersion                 = 9,
     SKANErrorUnknown                        = 10,
+    SKANErrorImpressionTooShort             = 11,
 } API_AVAILABLE(ios(15.4)) API_UNAVAILABLE(macos,watchos) __TVOS_PROHIBITED;
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKAdImpression.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKAdImpression.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKAdImpression.h	2022-02-23 07:09:56.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKAdImpression.h	2022-06-03 18:07:02.000000000 -0400
@@ -12,6 +12,12 @@
 
 SK_EXTERN_CLASS API_AVAILABLE(ios(14.5)) API_UNAVAILABLE(macos, watchos) __TVOS_PROHIBITED @interface SKAdImpression : NSObject
 
+#if TARGET_OS_IOS && !TARGET_OS_MACCATALYST
+
+- (instancetype)initWithSourceAppStoreItemIdentifier:(NSNumber *)sourceAppStoreItemIdentifier advertisedAppStoreItemIdentifier:(NSNumber *)advertisedAppStoreItemIdentifier adNetworkIdentifier:(NSString *)adNetworkIdentifier adCampaignIdentifier:(NSNumber *)adCampaignIdentifier adImpressionIdentifier:(NSString *)adImpressionIdentifier timestamp:(NSNumber *)timestamp signature:(NSString *)signature version:(NSString *)version API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(macos,watchos) __TVOS_PROHIBITED;
+
+#endif
+
 /// The App Store item identifier for the source app.
 @property (nonatomic, strong) NSNumber *sourceAppStoreItemIdentifier;
 
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKDownload.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKDownload.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKDownload.h	2022-02-23 07:09:56.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKDownload.h	2022-05-31 15:04:56.000000000 -0400
@@ -19,17 +19,17 @@
     SKDownloadStateFinished,    // Download is finished, content is available
     SKDownloadStateFailed,      // Download failed
     SKDownloadStateCancelled,   // Download was cancelled
-} API_AVAILABLE(ios(6.0), macos(10.8), watchos(6.2));
+} API_DEPRECATED("Hosted content is no longer supported", ios(6.0, 16.0), macos(10.8, 13.0), tvos(9.0, 16.0), watchos(6.2, 9.0));
 
-SK_EXTERN NSTimeInterval SKDownloadTimeRemainingUnknown API_AVAILABLE(ios(6.0), macos(10.14), watchos(6.2));
+SK_EXTERN NSTimeInterval SKDownloadTimeRemainingUnknown API_DEPRECATED("Hosted content is no longer supported", ios(6.0, 16.0), macos(10.14, 13.0), tvos(9.0, 16.0), watchos(6.2, 9.0));
 
-SK_EXTERN_CLASS API_AVAILABLE(ios(6.0), macos(10.8), watchos(6.2)) @interface SKDownload : NSObject {
+SK_EXTERN_CLASS API_DEPRECATED("Hosted content is no longer supported", ios(6.0, 16.0), macos(10.8, 13.0), tvos(9.0, 16.0), watchos(6.2, 9.0)) @interface SKDownload : NSObject {
 @private
     id _internal;
 }
 
 // State of the download
-@property(nonatomic, readonly) SKDownloadState state API_AVAILABLE(ios(12.0), macos(10.8), watchos(6.2));
+@property(nonatomic, readonly) SKDownloadState state API_DEPRECATED("Hosted content is no longer supported", ios(12.0, 16.0), macos(10.8, 13.0), tvos(12.0, 16.0), watchos(6.2, 9.0));
 @property(nonatomic, readonly) SKDownloadState downloadState API_DEPRECATED_WITH_REPLACEMENT("-[SKDownload state]", ios(6.0, 12.0)) API_UNAVAILABLE(macos, watchos);
 
 // Total size of the content, in bytes
@@ -40,34 +40,34 @@
 #endif
 
 // Total size of the content, in bytes
-@property(nonatomic, readonly) long long expectedContentLength API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0), watchos(6.2));
+@property(nonatomic, readonly) long long expectedContentLength API_DEPRECATED("Hosted content is no longer supported", ios(13.0, 16.0), macos(10.15, 13.0), tvos(13.0, 16.0), watchos(6.2, 9.0));
 
 // Identifier for this content
-@property(nonatomic, readonly) NSString *contentIdentifier API_AVAILABLE(ios(6.0), macos(10.8), watchos(6.2));
+@property(nonatomic, readonly) NSString *contentIdentifier API_DEPRECATED("Hosted content is no longer supported", ios(6.0, 16.0), macos(10.8, 13.0), tvos(9.0, 16.0), watchos(6.2, 9.0));
 
 // Location of the content data, if state is SKDownloadStateFinished
-@property(nonatomic, readonly, nullable) NSURL *contentURL API_AVAILABLE(ios(6.0), macos(10.8), watchos(6.2));
+@property(nonatomic, readonly, nullable) NSURL *contentURL API_DEPRECATED("Hosted content is no longer supported", ios(6.0, 16.0), macos(10.8, 13.0), tvos(9.0, 16.0), watchos(6.2, 9.0));
 
 // Content version
-@property(nonatomic, readonly) NSString *contentVersion API_AVAILABLE(ios(6.0), macos(10.8), watchos(6.2));
+@property(nonatomic, readonly) NSString *contentVersion API_DEPRECATED("Hosted content is no longer supported", ios(6.0, 16.0), macos(10.8, 13.0), tvos(9.0, 16.0), watchos(6.2, 9.0));
 
 // Failure error, if state is SKDownloadStateFailed
-@property(nonatomic, readonly, nullable) NSError *error API_AVAILABLE(ios(6.0), macos(10.8), watchos(6.2));
+@property(nonatomic, readonly, nullable) NSError *error API_DEPRECATED("Hosted content is no longer supported", ios(6.0, 16.0), macos(10.8, 13.0), tvos(9.0, 16.0), watchos(6.2, 9.0));
 
 // Overall progress for the download [0..1]
-@property(nonatomic, readonly) float progress API_AVAILABLE(ios(6.0), macos(10.8), watchos(6.2));
+@property(nonatomic, readonly) float progress API_DEPRECATED("Hosted content is no longer supported", ios(6.0, 16.0), macos(10.8, 13.0), tvos(9.0, 16.0), watchos(6.2, 9.0));
 
 // Estimated time remaining to complete the download, in seconds.  Value is SKDownloadTimeRemainingUnknown if estimate is unknownxx.
-@property(nonatomic, readonly) NSTimeInterval timeRemaining API_AVAILABLE(ios(6.0), macos(10.8), watchos(6.2));
+@property(nonatomic, readonly) NSTimeInterval timeRemaining API_DEPRECATED("Hosted content is no longer supported", ios(6.0, 16.0), macos(10.8, 13.0), tvos(9.0, 16.0), watchos(6.2, 9.0));
 
 // Transaction for this download
-@property(nonatomic, readonly) SKPaymentTransaction *transaction API_AVAILABLE(ios(6.0), macos(10.11), watchos(6.2));
+@property(nonatomic, readonly) SKPaymentTransaction *transaction API_DEPRECATED("Hosted content is no longer supported", ios(6.0, 16.0), macos(10.11, 13.0), tvos(9.0, 16.0), watchos(6.2, 9.0));
 
 
-+ (nullable NSURL *)contentURLForProductID:(NSString *)productID API_AVAILABLE(macos(10.8), macCatalyst(13.0)) API_UNAVAILABLE(ios, tvos, watchos);
++ (nullable NSURL *)contentURLForProductID:(NSString *)productID API_DEPRECATED("Hosted content is no longer supported", macos(10.8, 13.0), macCatalyst(13.0, 16.0)) API_UNAVAILABLE(ios, tvos, watchos);
 
 // Deletes the content for that identifier from disk
-+ (void)deleteContentForProductID:(NSString *)productID API_AVAILABLE(macos(10.8), macCatalyst(13.0)) API_UNAVAILABLE(ios, tvos, watchos);
++ (void)deleteContentForProductID:(NSString *)productID API_DEPRECATED("Hosted content is no longer supported", macos(10.8, 13.0), macCatalyst(13.0, 16.0)) API_UNAVAILABLE(ios, tvos, watchos);
 @end
 
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKOverlay.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKOverlay.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKOverlay.h	2022-02-23 07:09:56.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKOverlay.h	2022-06-03 18:07:02.000000000 -0400
@@ -32,7 +32,7 @@
 
 SK_EXTERN_CLASS
 SK_CLASS_FINAL
-API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(macos, watchos) __TVOS_PROHIBITED
+API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(macos, watchos) __TVOS_PROHIBITED NS_SWIFT_NONSENDABLE
 @interface SKOverlay : NSObject
 
 - (instancetype)init NS_UNAVAILABLE;
@@ -44,10 +44,10 @@
 
 #if !TARGET_OS_OSX
 /// Attempts to present an app overlay in a `UIWindowScene`.
-- (void)presentInScene:(UIWindowScene *)scene API_AVAILABLE(ios(14.0)) NS_EXTENSION_UNAVAILABLE("Overlays are not available in extensions");
+- (void)presentInScene:(UIWindowScene *)scene API_AVAILABLE(ios(14.0)) NS_EXTENSION_UNAVAILABLE("Overlays are not available in extensions") NS_SWIFT_UI_ACTOR;
 
 /// Dismisses an overlay being presented in a `UIWindowScene`.
-+ (void)dismissOverlayInScene:(UIWindowScene *)scene API_AVAILABLE(ios(14.0)) NS_EXTENSION_UNAVAILABLE("Overlays are not available in extensions");
++ (void)dismissOverlayInScene:(UIWindowScene *)scene API_AVAILABLE(ios(14.0)) NS_EXTENSION_UNAVAILABLE("Overlays are not available in extensions") NS_SWIFT_UI_ACTOR;
 #endif
 
 /// A delegate for overlay events.
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKOverlayConfiguration.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKOverlayConfiguration.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKOverlayConfiguration.h	2022-02-23 10:58:58.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKOverlayConfiguration.h	2022-05-31 14:49:40.000000000 -0400
@@ -7,6 +7,7 @@
 
 #import <Foundation/Foundation.h>
 #import <StoreKit/StoreKitDefines.h>
+#import <StoreKit/SKAdImpression.h>
 #import <StoreKit/SKOverlay.h>
 
 NS_ASSUME_NONNULL_BEGIN
@@ -18,7 +19,7 @@
 
 SK_EXTERN_CLASS
 API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(macos, watchos) __TVOS_PROHIBITED
-NS_SWIFT_NAME(SKOverlay.Configuration)
+NS_SWIFT_NAME(SKOverlay.Configuration) NS_SWIFT_NONSENDABLE
 @interface SKOverlayConfiguration : NSObject
 
 - (instancetype)init NS_UNAVAILABLE;
@@ -29,7 +30,7 @@
 SK_EXTERN_CLASS
 SK_CLASS_FINAL
 API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(macos, watchos) __TVOS_PROHIBITED
-NS_SWIFT_NAME(SKOverlay.AppConfiguration)
+NS_SWIFT_NAME(SKOverlay.AppConfiguration) NS_SWIFT_NONSENDABLE
 /// An overlay configuration that can be used to show any app from the App Store.
 @interface SKOverlayAppConfiguration : SKOverlayConfiguration
 
@@ -66,12 +67,14 @@
 
 - (nullable id)additionalValueForKey:(NSString *)key NS_WARN_UNUSED_RESULT;
 
+- (void)setAdImpression:(SKAdImpression *)impression API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(macos, watchos) __TVOS_PROHIBITED;
+
 @end
 
 SK_EXTERN_CLASS
 SK_CLASS_FINAL
 API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(macos, watchos) __TVOS_PROHIBITED
-NS_SWIFT_NAME(SKOverlay.AppClipConfiguration)
+NS_SWIFT_NAME(SKOverlay.AppClipConfiguration) NS_SWIFT_NONSENDABLE
 /// An overlay configuration that can be used to show an app clip's full app.
 @interface SKOverlayAppClipConfiguration : SKOverlayConfiguration
 
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKOverlayTransitionContext.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKOverlayTransitionContext.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKOverlayTransitionContext.h	2022-02-23 07:09:57.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKOverlayTransitionContext.h	2022-06-03 18:07:03.000000000 -0400
@@ -14,7 +14,7 @@
 SK_EXTERN_CLASS
 SK_CLASS_FINAL
 NS_SWIFT_NAME(SKOverlay.TransitionContext)
-API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(macos, watchos) __TVOS_PROHIBITED
+API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(macos, watchos) __TVOS_PROHIBITED NS_SWIFT_NONSENDABLE
 @interface SKOverlayTransitionContext : NSObject
 
 - (instancetype)init NS_UNAVAILABLE;
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKPayment.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKPayment.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKPayment.h	2022-02-23 07:09:55.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKPayment.h	2022-06-03 18:07:02.000000000 -0400
@@ -13,7 +13,7 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-SK_EXTERN_CLASS API_AVAILABLE(ios(3.0), macos(10.7), watchos(6.2)) @interface SKPayment : NSObject <NSCopying, NSMutableCopying> {
+SK_EXTERN_CLASS API_AVAILABLE(ios(3.0), macos(10.7), watchos(6.2)) NS_SWIFT_NONSENDABLE @interface SKPayment : NSObject <NSCopying, NSMutableCopying> {
 @private
     id _internal;
 }
@@ -43,7 +43,7 @@
 @end
 
 
-SK_EXTERN_CLASS API_AVAILABLE(ios(3.0), macos(10.7), watchos(6.2)) @interface SKMutablePayment : SKPayment
+SK_EXTERN_CLASS API_AVAILABLE(ios(3.0), macos(10.7), watchos(6.2)) NS_SWIFT_NONSENDABLE @interface SKMutablePayment : SKPayment
 
 @property(nonatomic, copy, readwrite, nullable) NSString *applicationUsername API_AVAILABLE(ios(7.0), macos(10.9), watchos(6.2));
 @property(nonatomic, copy, readwrite, nullable) SKPaymentDiscount *paymentDiscount API_AVAILABLE(ios(12.2), macos(10.14.4), watchos(6.2));
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKPaymentDiscount.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKPaymentDiscount.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKPaymentDiscount.h	2022-02-23 07:09:57.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKPaymentDiscount.h	2022-06-03 18:07:03.000000000 -0400
@@ -10,7 +10,7 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-SK_EXTERN_CLASS API_AVAILABLE(ios(12.2), macos(10.14.4), watchos(6.2)) @interface SKPaymentDiscount : NSObject {
+SK_EXTERN_CLASS API_AVAILABLE(ios(12.2), macos(10.14.4), watchos(6.2)) NS_SWIFT_SENDABLE @interface SKPaymentDiscount : NSObject {
 @private
     id _internal;
 }
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKPaymentQueue.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKPaymentQueue.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKPaymentQueue.h	2022-02-23 07:16:06.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKPaymentQueue.h	2022-06-03 18:09:21.000000000 -0400
@@ -19,7 +19,7 @@
 NS_ASSUME_NONNULL_BEGIN
 
 // SKPaymentQueue interacts with the server-side payment queue
-SK_EXTERN_CLASS API_AVAILABLE(ios(3.0), macos(10.7), watchos(6.2)) @interface SKPaymentQueue : NSObject {
+SK_EXTERN_CLASS API_AVAILABLE(ios(3.0), macos(10.7), watchos(6.2)) NS_SWIFT_SENDABLE @interface SKPaymentQueue : NSObject {
 @private
     id _internal;
 }
@@ -44,14 +44,14 @@
 - (void)finishTransaction:(SKPaymentTransaction *)transaction API_AVAILABLE(ios(3.0), macos(10.7), watchos(6.2));
 
 // Asynchronous.  Start the given downloads (SKDownload).
-- (void)startDownloads:(NSArray<SKDownload *> *)downloads API_AVAILABLE(ios(6.0), macos(10.8), watchos(6.2));
+- (void)startDownloads:(NSArray<SKDownload *> *)downloads API_DEPRECATED("Hosted content is no longer supported", ios(6.0, 16.0), macos(10.8, 13.0), tvos(9.0, 16.0), watchos(6.2, 9.0));
 
 // Asynchronous.  Pause/resume downloads (SKDownload).
-- (void)pauseDownloads:(NSArray<SKDownload *> *)downloads API_AVAILABLE(ios(6.0), macos(10.8), watchos(6.2));
-- (void)resumeDownloads:(NSArray<SKDownload *> *)downloads API_AVAILABLE(ios(6.0), macos(10.8), watchos(6.2));
+- (void)pauseDownloads:(NSArray<SKDownload *> *)downloads API_DEPRECATED("Hosted content is no longer supported", ios(6.0, 16.0), macos(10.8, 13.0), tvos(9.0, 16.0), watchos(6.2, 9.0));
+- (void)resumeDownloads:(NSArray<SKDownload *> *)downloads API_DEPRECATED("Hosted content is no longer supported", ios(6.0, 16.0), macos(10.8, 13.0), tvos(9.0, 16.0), watchos(6.2, 9.0));
 
 // Asynchronous.  Cancel downloads (SKDownload)
-- (void)cancelDownloads:(NSArray<SKDownload *> *)downloads API_AVAILABLE(ios(6.0), macos(10.8), watchos(6.2));
+- (void)cancelDownloads:(NSArray<SKDownload *> *)downloads API_DEPRECATED("Hosted content is no longer supported", ios(6.0, 16.0), macos(10.8, 13.0), tvos(9.0, 16.0), watchos(6.2, 9.0));
 
 // Observers are not retained.  The transactions array will only be synchronized with the server while the queue has observers.  This may require that the user authenticate.
 - (void)addTransactionObserver:(id <SKPaymentTransactionObserver>)observer API_AVAILABLE(ios(3.0), macos(10.7), watchos(6.2)) NS_SWIFT_NAME(add(_:));
@@ -99,7 +99,7 @@
 - (void)paymentQueueRestoreCompletedTransactionsFinished:(SKPaymentQueue *)queue API_AVAILABLE(ios(3.0), macos(10.7), watchos(6.2));
 
 // Sent when the download state has changed.
-- (void)paymentQueue:(SKPaymentQueue *)queue updatedDownloads:(NSArray<SKDownload *> *)downloads API_AVAILABLE(ios(6.0), macos(10.8), watchos(6.2));
+- (void)paymentQueue:(SKPaymentQueue *)queue updatedDownloads:(NSArray<SKDownload *> *)downloads API_DEPRECATED("Hosted content is no longer supported", ios(6.0, 16.0), macos(10.8, 13.0), tvos(9.0, 16.0), watchos(6.2, 9.0));
 
 // Sent when a user initiates an IAP buy from the App Store
 - (BOOL)paymentQueue:(SKPaymentQueue *)queue shouldAddStorePayment:(SKPayment *)payment forProduct:(SKProduct *)product NS_SWIFT_NAME(paymentQueue(_:shouldAddStorePayment:for:)) API_AVAILABLE(ios(11.0), macos(11.0), macCatalyst(14.0)) API_UNAVAILABLE(watchos);
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKPaymentTransaction.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKPaymentTransaction.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKPaymentTransaction.h	2022-02-23 07:09:56.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKPaymentTransaction.h	2022-06-03 18:07:03.000000000 -0400
@@ -21,7 +21,7 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-SK_EXTERN_CLASS API_AVAILABLE(ios(3.0), macos(10.7), watchos(6.2)) @interface SKPaymentTransaction : NSObject {
+SK_EXTERN_CLASS API_AVAILABLE(ios(3.0), macos(10.7), watchos(6.2)) NS_SWIFT_SENDABLE @interface SKPaymentTransaction : NSObject {
 @private
     id _internal;
 }
@@ -35,7 +35,7 @@
 @property(nonatomic, readonly) SKPayment *payment API_AVAILABLE(ios(3.0), macos(10.7), watchos(6.2));
 
 // Available downloads (SKDownload) for this transaction
-@property(nonatomic, readonly) NSArray<SKDownload *> *downloads API_AVAILABLE(ios(6.0), macos(10.8), watchos(6.2));
+@property(nonatomic, readonly) NSArray<SKDownload *> *downloads API_DEPRECATED("Hosted content is no longer supported", ios(6.0, 16.0), macos(10.8, 13.0), tvos(9.0, 16.0), watchos(6.2, 9.0));
 
 // The date when the transaction was added to the server queue.  Only valid if state is SKPaymentTransactionStatePurchased or SKPaymentTransactionStateRestored.
 @property(nonatomic, readonly, nullable) NSDate *transactionDate API_AVAILABLE(ios(3.0), macos(10.7), watchos(6.2));
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKProduct.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKProduct.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKProduct.h	2022-02-23 07:09:56.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKProduct.h	2022-06-03 18:07:02.000000000 -0400
@@ -19,7 +19,7 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-SK_EXTERN_CLASS API_AVAILABLE(ios(11.2), macos(10.13.2), watchos(6.2)) @interface SKProductSubscriptionPeriod : NSObject {
+SK_EXTERN_CLASS API_AVAILABLE(ios(11.2), macos(10.13.2), watchos(6.2)) NS_SWIFT_SENDABLE @interface SKProductSubscriptionPeriod : NSObject {
 @private
     id _internal;
 }
@@ -30,7 +30,7 @@
 
 @end
 
-SK_EXTERN_CLASS API_AVAILABLE(ios(3.0), macos(10.7), watchos(6.2)) @interface SKProduct : NSObject {
+SK_EXTERN_CLASS API_AVAILABLE(ios(3.0), macos(10.7), watchos(6.2)) NS_SWIFT_SENDABLE @interface SKProduct : NSObject {
 @private
     id _internal;
 }
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKProductDiscount.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKProductDiscount.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKProductDiscount.h	2022-02-23 07:09:57.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKProductDiscount.h	2022-06-03 18:07:03.000000000 -0400
@@ -23,7 +23,7 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-SK_EXTERN_CLASS API_AVAILABLE(ios(11.2), macos(10.13.2)) @interface SKProductDiscount : NSObject {
+SK_EXTERN_CLASS API_AVAILABLE(ios(11.2), macos(10.13.2)) NS_SWIFT_SENDABLE @interface SKProductDiscount : NSObject {
 @private
     id _internal;
 }
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKProductsRequest.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKProductsRequest.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKProductsRequest.h	2022-02-23 07:09:56.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKProductsRequest.h	2022-06-03 18:07:02.000000000 -0400
@@ -21,7 +21,7 @@
 
 
 // request information about products for your application
-SK_EXTERN_CLASS API_AVAILABLE(ios(3.0), macos(10.7), watchos(6.2)) @interface SKProductsRequest : SKRequest {
+SK_EXTERN_CLASS API_AVAILABLE(ios(3.0), macos(10.7), watchos(6.2)) NS_SWIFT_NONSENDABLE @interface SKProductsRequest : SKRequest {
 @private
     id _productsRequestInternal;
 }
@@ -34,7 +34,7 @@
 @end
 
 
-SK_EXTERN_CLASS API_AVAILABLE(ios(3.0), macos(10.7), watchos(6.2)) @interface SKProductsResponse : NSObject {
+SK_EXTERN_CLASS API_AVAILABLE(ios(3.0), macos(10.7), watchos(6.2)) NS_SWIFT_SENDABLE @interface SKProductsResponse : NSObject {
 @private
     id _internal;
 }
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKReceiptRefreshRequest.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKReceiptRefreshRequest.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKReceiptRefreshRequest.h	2022-02-23 07:09:56.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKReceiptRefreshRequest.h	2022-06-03 18:07:02.000000000 -0400
@@ -11,7 +11,7 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-SK_EXTERN_CLASS API_AVAILABLE(ios(7.0), macos(10.9), watchos(6.2)) @interface SKReceiptRefreshRequest : SKRequest {
+SK_EXTERN_CLASS API_AVAILABLE(ios(7.0), macos(10.9), watchos(6.2)) NS_SWIFT_NONSENDABLE @interface SKReceiptRefreshRequest : SKRequest {
 @private
     NSDictionary *_properties;
 }
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKRequest.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKRequest.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKRequest.h	2022-02-23 07:09:57.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKRequest.h	2022-06-03 18:07:03.000000000 -0400
@@ -13,7 +13,7 @@
 @protocol SKRequestDelegate;
 
 // Base class used to fetch data from the store.  Should not be used directly.
-SK_EXTERN_CLASS API_AVAILABLE(ios(3.0), macos(10.7), watchos(6.2)) @interface SKRequest : NSObject {
+SK_EXTERN_CLASS API_AVAILABLE(ios(3.0), macos(10.7), watchos(6.2)) NS_SWIFT_NONSENDABLE @interface SKRequest : NSObject {
 @private
     id _requestInternal;
 }
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKStoreProductViewController.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKStoreProductViewController.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKStoreProductViewController.h	2022-02-23 07:09:57.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKStoreProductViewController.h	2022-06-03 18:07:03.000000000 -0400
@@ -17,6 +17,7 @@
 NS_ASSUME_NONNULL_BEGIN
 
 @protocol SKStoreProductViewControllerDelegate;
+@class SKAdImpression;
 
 /* View controller to display iTunes Store product information */
 #if TARGET_OS_OSX
@@ -28,10 +29,15 @@
 // Delegate for product page events
 @property(nonatomic, weak, nullable) id <SKStoreProductViewControllerDelegate> delegate API_AVAILABLE(ios(6.0), macCatalyst(13.0), macos(11.0)) __TVOS_PROHIBITED;
 
-// Load product view for the product with the given parameters.  See below for parameters (SKStoreProductParameter*).
+// Load product view for the product with the given parameters. See below for parameters (SKStoreProductParameter*).
 // Block is invoked when the load finishes.
 - (void)loadProductWithParameters:(NSDictionary<NSString *, id> *)parameters completionBlock:(nullable void(^)(BOOL result, NSError * __nullable error))block API_AVAILABLE(ios(6.0), macCatalyst(13.0), macos(11.0)) __TVOS_PROHIBITED;
 
+// Load product view for the product with the given parameters and impression.
+// See below for parameters (SKStoreProductParameter*) and SKAdImpression for impression properties.
+// Block is invoked when the load finishes.
+- (void)loadProductWithParameters:(NSDictionary<NSString *, id> *)parameters impression:(SKAdImpression *)impression completionBlock:(nullable void(^)(BOOL result, NSError * __nullable error))block API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(macos,watchos) __TVOS_PROHIBITED;
+
 @end
 
 
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKStoreReviewController.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKStoreReviewController.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKStoreReviewController.h	2022-02-23 07:09:55.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKStoreReviewController.h	2022-06-03 18:07:02.000000000 -0400
@@ -14,7 +14,7 @@
 NS_ASSUME_NONNULL_BEGIN
 
 /** Controller class to request a review from the current user */
-SK_EXTERN_CLASS API_AVAILABLE(ios(10.3), macos(10.14)) API_UNAVAILABLE(watchos) __TVOS_PROHIBITED @interface SKStoreReviewController : NSObject
+SK_EXTERN_CLASS API_AVAILABLE(ios(10.3), macos(10.14)) API_UNAVAILABLE(watchos) __TVOS_PROHIBITED NS_SWIFT_SENDABLE @interface SKStoreReviewController : NSObject
 
 /** Request StoreKit to ask the user for an app review. Uses the keyWindow's UIWindowScene which may or may not be the scene a user is interacting with.
  *
@@ -35,7 +35,7 @@
  *  from a button or any other user action. For presenting a write review form, a deep link is
  *  available to the App Store by appending the query params "action=write-review" to a product URL.
  */
-+ (void)requestReviewInScene:(UIWindowScene *)windowScene API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos) __TVOS_PROHIBITED;
++ (void)requestReviewInScene:(UIWindowScene *)windowScene API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(watchos) __TVOS_PROHIBITED NS_SWIFT_UI_ACTOR;
 #endif
 @end
 
diff -ruN /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKStorefront.h /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKStorefront.h
--- /Applications/Xcode_13.3.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKStorefront.h	2022-02-23 07:09:56.000000000 -0500
+++ /Applications/Xcode_14.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/StoreKit.framework/Headers/SKStorefront.h	2022-06-03 18:07:02.000000000 -0400
@@ -10,7 +10,7 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-SK_EXTERN_CLASS API_AVAILABLE(ios(13.0), macos(10.15), watchos(6.2)) @interface SKStorefront : NSObject
+SK_EXTERN_CLASS API_AVAILABLE(ios(13.0), macos(10.15), watchos(6.2)) NS_SWIFT_SENDABLE @interface SKStorefront : NSObject
 
 /* The three letter country code for the current storefront */
 @property(NS_NONATOMIC_IOSONLY, copy, readonly) NSString *countryCode API_AVAILABLE(ios(13.0), macos(10.15), watchos(6.2));
Clone this wiki locally