Skip to content

PhotosUI macOS xcode27.0 b1

Alex Soto edited this page Jun 9, 2026 · 1 revision

#PhotosUI.framework

diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/PhotosUI.framework/Headers/PHPhotoLibrary+PhotosUISupport.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/PhotosUI.framework/Headers/PHPhotoLibrary+PhotosUISupport.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/PhotosUI.framework/Headers/PHPhotoLibrary+PhotosUISupport.h	1969-12-31 19:00:00
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/PhotosUI.framework/Headers/PHPhotoLibrary+PhotosUISupport.h	2026-05-30 22:51:30
@@ -0,0 +1,56 @@
+//
+//  PHPhotoLibrary+PhotosUISupport.h
+//  PhotosUI
+//
+//  Copyright © 2020 Apple Inc. All rights reserved.
+//
+
+#import <Photos/Photos.h>
+
+#if TARGET_OS_IPHONE || TARGET_OS_MACCATALYST
+@class UIWindowScene;
+@class UIViewController;
+#else
+@class NSWindow;
+#endif
+
+NS_ASSUME_NONNULL_BEGIN
+
+#if TARGET_OS_IPHONE || TARGET_OS_MACCATALYST
+
+API_AVAILABLE_BEGIN(ios(14))
+API_UNAVAILABLE_BEGIN(macos, tvos, watchos)
+
+@interface PHPhotoLibrary (PhotosUISupport_LimitedLibraryPicker)
+
+#pragma mark - Limited library picker
+
+/**
+ @abstract Prompt the user to update their limited library selection by presenting the limited library image picker when the user has opted into limited library access mode (see \c PHAuthorizationStatusLimited )
+ @param controller The view controller that is used to present the limited library picker.
+ @discussion Use this API when the user has enabled limited photo library access to present the limited library picker and give the user a way to update their selection. If the user has not enabled limited library access mode for this application, then this method will do nothing. This should be used when disabling the automatic limited library alert prompt (by adding \c PHPhotoLibraryPreventAutomaticLimitedAccessAlert = \c YES to the application's Info.plist).  
+ 
+ Any changes applied to the limited library selection by the user will trigger a \c PHPhotoLibraryChangeObserver update that can be used to observe the changes to the selection.
+ */
+- (void)presentLimitedLibraryPickerFromViewController:(UIViewController *)controller;
+
+/**
+ @abstract Prompt the user to update their limited library selection by presenting the limited library image picker when the user has opted into limited library access mode (see \c PHAuthorizationStatusLimited )
+ @param controller The view controller that is used to present the limited library picker.
+ @param completionHandler The block that will be called upon the user finishing their selection. Only newly selected assets will be provided to the block.
+ @discussion Use this API when the user has enabled limited photo library access to present the limited library picker and give the user a way to update their selection. If the user has not enabled limited library access mode for this application, then this method will do nothing. This should be used when disabling the automatic limited library alert prompt (by adding \c PHPhotoLibraryPreventAutomaticLimitedAccessAlert = \c YES to the application's Info.plist).
+ 
+ In addition to being provided the new asset local identifiers in the callback any changes applied to the limited library selection by the user will trigger a \c PHPhotoLibraryChangeObserver update that can be used to observe the changes to the selection.
+ */
+- (void)presentLimitedLibraryPickerFromViewController:(UIViewController *)controller completionHandler:(void(^)(NSArray<NSString *>*))completionHandler API_AVAILABLE(ios(15));
+
+@end
+
+API_UNAVAILABLE_END // (macos, tvos, watchos)
+API_AVAILABLE_END // (ios(14))
+
+#endif // TARGET_OS_IPHONE || TARGET_OS_MACCATALYST
+
+
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/PhotosUI.framework/Headers/PHPicker.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/PhotosUI.framework/Headers/PHPicker.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/PhotosUI.framework/Headers/PHPicker.h	2026-04-18 23:56:13
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/PhotosUI.framework/Headers/PHPicker.h	2026-05-30 22:31:19
@@ -66,14 +66,37 @@
     PHPickerCapabilitiesSensitivityAnalysisIntervention = 1 << 4,
 } API_AVAILABLE(ios(17), macos(14)) API_UNAVAILABLE(watchos, tvos);
 
+/// Constants that specify metadata options for \c PHPickerViewController.
+typedef NS_OPTIONS(NSUInteger, PHPickerMetadataOptions) {
+    /// No metadata options.
+    PHPickerMetadataOptionsNone = 0,
+    /// Remove location metadata.
+    PHPickerMetadataOptionsRemoveLocation = 1 << 0,
+    /// Remove captions metadata.
+    PHPickerMetadataOptionsRemoveCaptions = 1 << 1,
+} API_AVAILABLE(ios(27), macos(27), visionos(27)) API_UNAVAILABLE(watchos, tvos);
+
 NS_ASSUME_NONNULL_END
 
 API_AVAILABLE_BEGIN(ios(14), macos(13))
 API_UNAVAILABLE_BEGIN(tvos, watchos)
 NS_ASSUME_NONNULL_BEGIN
 
+/// A search text for \c PHPickerViewController.
+OS_EXPORT
+NS_REFINED_FOR_SWIFT
+API_AVAILABLE(ios(27), macos(27), visionos(27))
+API_UNAVAILABLE(watchos)
+@interface PHPickerSearchText : NSObject <NSCopying>
+
+/// Creates a search text from a string.
+- (instancetype)initWithString:(NSString *)string API_AVAILABLE(ios(27), macos(27), visionos(27));
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
 /// A filter that restricts which types of assets \c PHPickerViewController can show.
-__attribute__((objc_subclassing_restricted))
 OS_EXPORT
 NS_REFINED_FOR_SWIFT
 API_UNAVAILABLE(watchos)
@@ -127,13 +150,11 @@
 /// Returns a new filter formed by negating the given filter.
 + (PHPickerFilter *)notFilterOfSubfilter:(PHPickerFilter *)subfilter API_AVAILABLE(ios(15));
 
-+ (instancetype)new NS_UNAVAILABLE;
 - (instancetype)init NS_UNAVAILABLE;
 
 @end
 
 /// An update configuration for \c PHPickerViewController.
-__attribute__((objc_subclassing_restricted))
 OS_EXPORT
 NS_REFINED_FOR_SWIFT
 API_AVAILABLE(ios(17), macos(14))
@@ -145,10 +166,12 @@
 /// Edges of the picker that have no margin between the content and the edge (e.g. without bars in between).
 @property (nonatomic) NSDirectionalRectEdge edgesWithoutContentMargins API_AVAILABLE(ios(17), macos(14));
 
+/// The search text for the picker.
+@property (nonatomic, copy, nullable) PHPickerSearchText *searchText API_AVAILABLE(ios(27), macos(27), visionos(27));
+
 @end
 
 /// A configuration for \c PHPickerViewController.
-__attribute__((objc_subclassing_restricted))
 OS_EXPORT
 NS_REFINED_FOR_SWIFT
 API_UNAVAILABLE(watchos)
@@ -182,6 +205,12 @@
 /// Capabilities of the picker that should be disabled. Default is \c PHPickerCapabilitiesNone.
 @property (nonatomic) PHPickerCapabilities disabledCapabilities API_AVAILABLE(ios(17), macos(14));
 
+/// Metadata options for the picker. Default is \c PHPickerMetadataOptionsNone.
+@property (nonatomic) PHPickerMetadataOptions metadataOptions API_AVAILABLE(ios(27), macos(27), visionos(27));
+
+/// The search text for the picker. Default is \c nil.
+@property (nonatomic, copy, nullable) PHPickerSearchText *searchText API_AVAILABLE(ios(27), macos(27), visionos(27));
+
 /// Initializes a new configuration with the \c photoLibrary the picker should use.
 - (instancetype)initWithPhotoLibrary:(PHPhotoLibrary *)photoLibrary API_UNAVAILABLE(watchos);
 
@@ -191,7 +220,6 @@
 @end
 
 /// A user selected asset from \c PHPickerViewController.
-__attribute__((objc_subclassing_restricted))
 OS_EXPORT
 NS_REFINED_FOR_SWIFT
 API_UNAVAILABLE(watchos)
@@ -203,7 +231,6 @@
 /// The local identifier of the selected asset.
 @property (nonatomic, readonly, nullable) NSString *assetIdentifier API_UNAVAILABLE(watchos);
 
-+ (instancetype)new NS_UNAVAILABLE;
 - (instancetype)init NS_UNAVAILABLE;
 
 @end
@@ -225,7 +252,6 @@
 
 /// A picker that manages the system interfaces for choosing assets from the user's photo library and delivers the results of those interactions to a delegate.
 /// @discussion The picker is intended to be used as-is and does not support subclassing. It is out-of-process, so photo library access authorization is not needed. The view hierarchy for the picker is private and must not be modified.
-__attribute__((objc_subclassing_restricted))
 OS_EXPORT
 API_UNAVAILABLE(watchos)
 #if __has_include(<UIKit/UIViewController.h>) && TARGET_OS_IPHONE
@@ -265,7 +291,6 @@
 /// Zooms out content if possible.
 - (void)zoomOut API_AVAILABLE(ios(17), macos(14));
 
-+ (instancetype)new NS_UNAVAILABLE;
 - (instancetype)init NS_UNAVAILABLE;
 #if __has_include(<UIKit/UIViewController.h>) && TARGET_OS_IPHONE
 - (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil bundle:(nullable NSBundle *)nibBundleOrNil NS_UNAVAILABLE;
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/PhotosUI.framework/Headers/PHSharedAlbumCreationViewController.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/PhotosUI.framework/Headers/PHSharedAlbumCreationViewController.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/PhotosUI.framework/Headers/PHSharedAlbumCreationViewController.h	1969-12-31 19:00:00
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/PhotosUI.framework/Headers/PHSharedAlbumCreationViewController.h	2026-05-30 23:35:30
@@ -0,0 +1,112 @@
+//
+//  PHSharedAlbumCreationViewController.h
+//  PhotosUI
+//
+//  Copyright © 2026 Apple Inc. All rights reserved.
+//
+
+#if TARGET_OS_OSX
+#import <AppKit/AppKit.h>
+#else
+#import <UIKit/UIKit.h>
+#endif
+#import <Photos/Photos.h>
+
+@class PHSharedAlbumCreationViewController;
+
+NS_ASSUME_NONNULL_BEGIN
+API_AVAILABLE_BEGIN(ios(27), macos(27), visionos(27))
+API_UNAVAILABLE_BEGIN(tvos, watchos)
+
+/// The sharing policy for creating shared albums.
+typedef NS_ENUM(NSInteger, PHSharedAlbumCreationSharingPolicy) {
+    /// The policy for requiring that only people the user approves or invites are allowed to access the shared album.
+    PHSharedAlbumCreationSharingPolicyPrivate,
+    /// The policy for allowing anyone, without approval, to access the shared album.
+    PHSharedAlbumCreationSharingPolicyPublic,
+} NS_SWIFT_SENDABLE;
+
+/// An object used to configure a `PHSharedAlbumCreationViewController`.
+NS_REFINED_FOR_SWIFT
+@interface PHSharedAlbumCreationConfiguration : NSObject
+
+/// - Parameters:
+///     - photoLibrary: The photo library in which the shared album will be created.
+- (instancetype)initWithPhotoLibrary:(PHPhotoLibrary *)photoLibrary NS_DESIGNATED_INITIALIZER;
+
+/// The photo library in which the shared album will be created.
+@property (nonatomic, readonly) PHPhotoLibrary *photoLibrary;
+
+/// The default title for the shared album. Useful for suggesting a relevant title to the user. Defaults to `nil`.
+@property (nonatomic, copy, nullable) NSString *defaultTitle;
+
+/// The default sharing policy of the shared album. If not specified, this defaults to `PHSharedAlbumCreationSharingPolicyPrivate`.
+@property (nonatomic) PHSharedAlbumCreationSharingPolicy defaultPolicy;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+/// An object that contains useful information about a created shared album.
+NS_SWIFT_SENDABLE NS_REFINED_FOR_SWIFT
+@interface PHSharedAlbumCreationResult : NSObject
+
+/// The created shared album's identifier.
+@property (nonatomic, readonly) NSString *albumIdentifier;
+
+/// The created shared album's URL.
+@property (nonatomic, readonly) NSURL *albumURL;
+
+- (instancetype)init NS_UNAVAILABLE;
+
+@end
+
+/**
+ * @abstract A set of methods that the delegate must implement to respond to `PHSharedAlbumCreationViewController` events.
+ */
+NS_SWIFT_NAME(PHSharedAlbumCreationViewController.Delegate)
+@protocol PHSharedAlbumCreationViewControllerDelegate <NSObject>
+
+/**
+ * @abstract Called when shared album creation completes.
+ *
+ * @discussion If creation was successful, `-[PHSharedAlbumCreationViewController albumIdentifier]` will be non-`nil` and `error` will be `nil`. If creation was unsuccessful, `-[PHSharedAlbumCreationViewController albumIdentifier]` will be `nil` and `error` will be non-`nil`. The creation was cancelled by the user, both `-[PHSharedAlbumCreationViewController albumIdentifier]` and `error` will be `nil`. The view controller won't be dismissed automatically when this method is called.
+ */
+- (void)sharedAlbumCreationViewController:(PHSharedAlbumCreationViewController *)creationViewController didCompleteWithError:(nullable NSError *)error;
+
+@end
+
+#if TARGET_OS_OSX
+/**
+ * @abstract This class is used to present the shared album creation view from AppKit-based view controllers.
+ */
+@interface PHSharedAlbumCreationViewController: NSViewController
+#else
+/**
+ * @abstract This class is used to present the shared album creation view from UIKit-based view controllers.
+ */
+@interface PHSharedAlbumCreationViewController: UIViewController
+#endif
+
+/**
+ * @abstract Returns a view controller that allows the user to create a new shared album.
+ *
+ * @param configuration The configuration for creating a new shared album.
+ */
+- (instancetype)initWithConfiguration:(PHSharedAlbumCreationConfiguration *)configuration NS_DESIGNATED_INITIALIZER NS_REFINED_FOR_SWIFT;
+
+/// The delegate to respond to `PHSharedAlbumCreationViewController` events.
+@property (nonatomic, weak, nullable) id<PHSharedAlbumCreationViewControllerDelegate> delegate;
+
+/// Upon successful album creation, `creationResult` will be non-nil and provide information about the just-created shared album.
+@property (nonatomic, copy, nullable, readonly) PHSharedAlbumCreationResult *creationResult;
+
+- (instancetype)init NS_UNAVAILABLE;
+- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil bundle:(nullable NSBundle *)nibBundleOrNil NS_UNAVAILABLE;
+- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_UNAVAILABLE;
+
+@end
+
+API_UNAVAILABLE_END // tvos, watchos
+API_AVAILABLE_END // ios(27), macos(27), visionos(27)
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/PhotosUI.framework/Headers/PHSharedAlbumCustomizationViewController.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/PhotosUI.framework/Headers/PHSharedAlbumCustomizationViewController.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/PhotosUI.framework/Headers/PHSharedAlbumCustomizationViewController.h	1969-12-31 19:00:00
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/PhotosUI.framework/Headers/PHSharedAlbumCustomizationViewController.h	2026-05-30 22:51:30
@@ -0,0 +1,76 @@
+//
+//  PHSharedAlbumCustomizationViewController.h
+//  PhotosUI
+//
+//  Copyright © 2026 Apple Inc. All rights reserved.
+//
+
+#if TARGET_OS_OSX
+#import <AppKit/AppKit.h>
+#else
+#import <UIKit/UIKit.h>
+#endif
+#import <Photos/Photos.h>
+
+@class PHSharedAlbumCustomizationViewController;
+
+NS_ASSUME_NONNULL_BEGIN
+API_AVAILABLE_BEGIN(ios(27), macos(27), visionos(27))
+API_UNAVAILABLE_BEGIN(tvos, watchos)
+
+/**
+ * @abstract A set of methods that the delegate must implement to respond to `PHSharedAlbumCustomizationViewController` events.
+ */
+NS_SWIFT_NAME(PHSharedAlbumCustomizationViewController.Delegate)
+@protocol PHSharedAlbumCustomizationViewControllerDelegate <NSObject>
+
+/**
+ * @abstract Called when shared album customization completes.
+ *
+ * @discussion `error` will be `nil` if customization was successful and non-`nil` if it was unsuccessful. The view controller won't be dismissed automatically when this method is called.
+ */
+- (void)sharedAlbumCustomizationViewController:(PHSharedAlbumCustomizationViewController *)customizationViewController didCompleteWithError:(nullable NSError *)error;
+
+@end
+
+#if TARGET_OS_OSX
+/**
+ * @abstract This class is used to present the shared album customization view from AppKit-based view controllers.
+ *
+ * @discussion Only the system photo library is supported, so `albumIdentifier` must be for an album in the system photo library. If `albumIdentifier` is from a different library, showing a customization sheet will fail.
+ */
+@interface PHSharedAlbumCustomizationViewController: NSViewController
+#else
+/**
+ * @abstract This class is used to present the shared album customization view from UIKit-based view controllers.
+ *
+ * @discussion Only the system photo library is supported, so `albumIdentifier` must be for an album in the system photo library. If `albumIdentifier` is from a different library, showing a customization sheet will fail.
+ */
+@interface PHSharedAlbumCustomizationViewController: UIViewController
+#endif
+
+/**
+ * @abstract Returns a view controller that allows the user to customize a specified shared album.
+ *
+ * @discussion Only the system photo library is supported, so `albumIdentifier` must be for an album in the system photo library. If `albumIdentifier` is from a different library, showing a customization sheet will fail.
+ *
+ * @param albumIdentifier The identifier of the shared album to be customized.
+ * @param photoLibrary The photo library in which the specified shared album exists.
+ */
+- (instancetype)initWithAlbumIdentifier:(NSString *)albumIdentifier photoLibrary:(PHPhotoLibrary *)photoLibrary NS_DESIGNATED_INITIALIZER;
+
+/// The delegate to respond to `PHSharedAlbumCustomizationViewController` events.
+@property (nonatomic, weak, nullable) id<PHSharedAlbumCustomizationViewControllerDelegate> delegate;
+
+/// The identifier of the shared album to be customized.
+@property (nonatomic, copy, readonly) NSString *albumIdentifier;
+
+- (instancetype)init NS_UNAVAILABLE;
+- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil bundle:(nullable NSBundle *)nibBundleOrNil NS_UNAVAILABLE;
+- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_UNAVAILABLE;
+
+@end
+
+API_UNAVAILABLE_END // tvos, watchos
+API_AVAILABLE_END // ios(27), macos(27), visionos(27)
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/PhotosUI.framework/Headers/PHSharedAlbumPostingViewController.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/PhotosUI.framework/Headers/PHSharedAlbumPostingViewController.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/PhotosUI.framework/Headers/PHSharedAlbumPostingViewController.h	1969-12-31 19:00:00
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/PhotosUI.framework/Headers/PHSharedAlbumPostingViewController.h	2026-05-30 22:51:30
@@ -0,0 +1,72 @@
+//
+//  PHSharedAlbumPostingViewController.h
+//  PhotosUI
+//
+//  Copyright © 2026 Apple Inc. All rights reserved.
+//
+
+#if TARGET_OS_OSX
+#import <AppKit/AppKit.h>
+#else
+#import <UIKit/UIKit.h>
+#endif
+#import <Photos/Photos.h>
+#import <PhotosUI/PhotosUI.h>
+
+@class PHSharedAlbumPostingViewController;
+
+NS_ASSUME_NONNULL_BEGIN
+API_AVAILABLE_BEGIN(ios(27), macos(27), visionos(27))
+API_UNAVAILABLE_BEGIN(tvos, watchos)
+
+/**
+ * @abstract A set of methods that the delegate must implement to respond to `PHSharedAlbumPostingViewController` events.
+ */
+NS_SWIFT_NAME(PHSharedAlbumPostingViewController.Delegate)
+@protocol PHSharedAlbumPostingViewControllerDelegate <NSObject>
+
+/**
+ * @abstract Called when asset posting has completed.
+ *
+ * @discussion `error` will be `nil` if asset posting was successful and non-`nil` if it was unsuccessful. The view controller won't be dismissed automatically when this method is called.
+ */
+- (void)sharedAlbumPostingViewController:(PHSharedAlbumPostingViewController *)postingViewController didCompleteWithError:(nullable NSError *)error;
+
+@end
+
+#if TARGET_OS_OSX
+/**
+ * @abstract This class is used to present a view for posting assets to a shared album from AppKit-based view controllers.
+ */
+@interface PHSharedAlbumPostingViewController: NSViewController
+#else
+/**
+ * @abstract This class is used to present a view for posting assets to a shared album from UIKit-based view controllers.
+ */
+@interface PHSharedAlbumPostingViewController: UIViewController
+#endif
+
+/**
+ * @abstract Returns a view controller that allows the user to create a new shared album.
+ *
+ * @param items The items to be posted to the shared album.
+ * @param defaultAlbumIdentifier Identifier for the shared album to be pre-selected. If none provided, the user can manually choose a shared album.
+ * @param photoLibrary The photo library to choose from.
+ */
+- (instancetype)initWithItems:(NSArray<PHPickerResult *> *)items defaultAlbumIdentifier:(nullable NSString *)defaultAlbumIdentifier photoLibrary:(PHPhotoLibrary *)photoLibrary NS_DESIGNATED_INITIALIZER NS_REFINED_FOR_SWIFT;
+
+/// The delegate to respond to `PHSharedAlbumPostingViewController` events.
+@property (nonatomic, weak, nullable) id<PHSharedAlbumPostingViewControllerDelegate> delegate;
+
+/// The identifier of the shared album that was posted to.
+@property (nonatomic, copy, nullable, readonly) NSString *albumIdentifier;
+
+- (instancetype)init NS_UNAVAILABLE;
+- (instancetype)initWithNibName:(nullable NSString *)nibNameOrNil bundle:(nullable NSBundle *)nibBundleOrNil NS_UNAVAILABLE;
+- (nullable instancetype)initWithCoder:(NSCoder *)coder NS_UNAVAILABLE;
+
+@end
+
+API_UNAVAILABLE_END // tvos, watchos
+API_AVAILABLE_END // ios(27), macos(27), visionos(27)
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/PhotosUI.framework/Headers/PhotosUI.h /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/PhotosUI.framework/Headers/PhotosUI.h
--- /Applications/Xcode_26.5.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/PhotosUI.framework/Headers/PhotosUI.h	2026-04-19 02:27:20
+++ /Applications/Xcode_27.0.0-beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/PhotosUI.framework/Headers/PhotosUI.h	2026-05-30 22:51:30
@@ -20,10 +20,10 @@
 
 #if TARGET_OS_IOS || TARGET_OS_OSX || TARGET_OS_VISION
 #import <PhotosUI/PHContentEditingController.h>
-#endif
-
-#if TARGET_OS_IOS || TARGET_OS_VISION
 #import <PhotosUI/PHPhotoLibrary+PhotosUISupport.h>
+#import <PhotosUI/PHSharedAlbumCreationViewController.h>
+#import <PhotosUI/PHSharedAlbumCustomizationViewController.h>
+#import <PhotosUI/PHSharedAlbumPostingViewController.h>
 #endif
 
 #if TARGET_OS_OSX

Clone this wiki locally