Skip to content

MapKit tvOS xcode16.0 b1

Rolf Bjarne Kvinge edited this page Jul 12, 2024 · 3 revisions

#MapKit.framework https://github.com/xamarin/xamarin-macios/pull/20893

diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKAddressFilter.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKAddressFilter.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKAddressFilter.h	1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKAddressFilter.h	2024-05-31 07:21:23
@@ -0,0 +1,36 @@
+//
+//  MKAddressFilter.h
+//  MapKit
+//
+//  Copyright © 2024 Apple, Inc. All rights reserved.
+//
+
+#import <MapKit/MKFoundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+typedef NS_OPTIONS(NSUInteger, MKAddressFilterOption) {
+    MKAddressFilterOptionCountry = 1 << 0,
+    MKAddressFilterOptionAdministrativeArea = 1 << 1,
+    MKAddressFilterOptionSubAdministrativeArea = 1 << 2,
+    MKAddressFilterOptionLocality = 1 << 3,
+    MKAddressFilterOptionSubLocality = 1 << 4,
+    MKAddressFilterOptionPostalCode = 1 << 5
+} NS_SWIFT_NAME(MKAddressFilter.Options) API_AVAILABLE(ios(18.0), visionos(2.0), tvos(18.0), macos(15.0)) API_UNAVAILABLE(watchos);
+
+
+API_AVAILABLE(ios(18.0), visionos(2.0), tvos(18.0), macos(15.0)) API_UNAVAILABLE(watchos)
+@interface MKAddressFilter : NSObject <NSSecureCoding, NSCopying>
+
+@property (nonatomic, class, readonly) MKAddressFilter *filterIncludingAll NS_SWIFT_NAME(includingAll);
+@property (nonatomic, class, readonly) MKAddressFilter *filterExcludingAll NS_SWIFT_NAME(excludingAll);
+
+- (instancetype)initIncludingOptions:(MKAddressFilterOption)options NS_DESIGNATED_INITIALIZER NS_SWIFT_NAME(init(including:));
+- (instancetype)initExcludingOptions:(MKAddressFilterOption)options NS_DESIGNATED_INITIALIZER NS_SWIFT_NAME(init(excluding:));
+
+- (BOOL)includesOptions:(MKAddressFilterOption)options NS_SWIFT_NAME(includes(_:));
+- (BOOL)excludesOptions:(MKAddressFilterOption)options NS_SWIFT_NAME(excludes(_:));
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKAnnotationView.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKAnnotationView.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKAnnotationView.h	2024-04-11 02:44:56
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKAnnotationView.h	2024-05-30 04:50:02
@@ -77,6 +77,18 @@
 // centerOffset is the offset in screen points from the center of the annotion view.
 @property (nonatomic) CGPoint centerOffset;
 
+// The offset (in points) that selection accessories reference.
+//
+// By default, the center point of an annotation view is referenced
+// by accessories positioned adjacent to the annotation view on the map.
+// You can use this property to reposition the reference point as
+// necessary. MapKit measures the x- and y-offset values in points.
+// Positive offset values move the reference point down and to the right,
+// and negative values move it up and to the left.
+@property (nonatomic, assign) CGPoint accessoryOffset
+API_AVAILABLE(ios(18.0), macos(15.0), visionos(2.0))
+API_UNAVAILABLE(watchos, tvos);
+
 // calloutOffset is the offset in screen points from the top-middle of the annotation view, where the anchor of the callout should be shown.
 @property (nonatomic) CGPoint calloutOffset;
 
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKLocalSearch.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKLocalSearch.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKLocalSearch.h	2024-04-19 08:04:56
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKLocalSearch.h	2024-05-31 07:21:24
@@ -28,7 +28,7 @@
 
 // Any calls to -startWithCompletionHandler: while -[MKLocalSearch isSearching] will fail.
 // completionHandler will be called on the main queue
-- (void)startWithCompletionHandler:(MKLocalSearchCompletionHandler)completionHandler;
+- (void)startWithCompletionHandler:(NS_SWIFT_UI_ACTOR MKLocalSearchCompletionHandler)completionHandler;
 - (void)cancel;
 
 @property (nonatomic, readonly, getter=isSearching) BOOL searching;
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKLocalSearchCompleter.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKLocalSearchCompleter.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKLocalSearchCompleter.h	2024-04-19 08:04:57
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKLocalSearchCompleter.h	2024-05-31 07:21:24
@@ -7,6 +7,7 @@
 
 #import <MapKit/MapKit.h>
 #import <MapKit/MKLocalSearchRequest.h>
+#import <MapKit/MKAddressFilter.h>
 
 NS_ASSUME_NONNULL_BEGIN
 
@@ -27,7 +28,8 @@
 typedef NS_OPTIONS(NSUInteger, MKLocalSearchCompleterResultType) {
     MKLocalSearchCompleterResultTypeAddress = 1 << 0,
     MKLocalSearchCompleterResultTypePointOfInterest = 1 << 1,
-    MKLocalSearchCompleterResultTypeQuery = 1 << 2
+    MKLocalSearchCompleterResultTypeQuery = 1 << 2,
+    MKLocalSearchCompleterResultTypePhysicalFeature API_AVAILABLE(ios(18.0), visionos(2.0), tvos(18.0), macos(15.0)) API_UNAVAILABLE(watchos) = 1 << 3
 } API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
 
 NS_CLASS_AVAILABLE(10_11_4, 9_3) __TVOS_AVAILABLE(9_2) API_UNAVAILABLE(watchos)
@@ -35,6 +37,7 @@
 
 @property (nonatomic, copy) NSString *queryFragment;
 @property (nonatomic, assign) MKCoordinateRegion region;
+@property (nonatomic, assign) MKLocalSearchRegionPriority regionPriority API_AVAILABLE(ios(18.0), visionos(2.0), tvos(18.0), macos(15.0)) API_UNAVAILABLE(watchos);
 @property (nonatomic, assign) MKSearchCompletionFilterType filterType
 #if defined(TARGET_OS_VISION) && TARGET_OS_VISION
 API_UNAVAILABLE(visionos);
@@ -43,6 +46,7 @@
 #endif
 @property (nonatomic, assign) MKLocalSearchCompleterResultType resultTypes API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
 @property (nonatomic, copy, nullable) MKPointOfInterestFilter *pointOfInterestFilter API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
+@property (nonatomic, copy, nullable) MKAddressFilter *addressFilter API_AVAILABLE(ios(18.0), visionos(2.0), tvos(18.0), macos(15.0)) API_UNAVAILABLE(watchos);
 
 @property (nonatomic, weak, nullable) id<MKLocalSearchCompleterDelegate> delegate;
 
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKLocalSearchRequest.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKLocalSearchRequest.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKLocalSearchRequest.h	2024-04-19 08:04:55
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKLocalSearchRequest.h	2024-05-31 07:21:23
@@ -5,8 +5,10 @@
 //  Copyright (c) 2012-2014, Apple Inc. All rights reserved.
 //
 
+#import <MapKit/MKAddressFilter.h>
 #import <MapKit/MKFoundation.h>
 #import <MapKit/MKGeometry.h>
+#import <MapKit/MKTypes.h>
 
 @class MKPointOfInterestFilter;
 
@@ -14,7 +16,8 @@
 
 typedef NS_OPTIONS(NSUInteger, MKLocalSearchResultType) {
     MKLocalSearchResultTypeAddress = 1 << 0,
-    MKLocalSearchResultTypePointOfInterest = 1 << 1
+    MKLocalSearchResultTypePointOfInterest = 1 << 1,
+    MKLocalSearchResultTypePhysicalFeature API_AVAILABLE(ios(18.0), visionos(2.0), tvos(18.0), macos(15.0)) API_UNAVAILABLE(watchos) = 1 << 2
 } API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
 
 NS_CLASS_AVAILABLE(10_9, 6_1) __TVOS_AVAILABLE(9_2) API_UNAVAILABLE(watchos)
@@ -26,9 +29,11 @@
 
 @property (nonatomic, copy, nullable) NSString *naturalLanguageQuery;
 @property (nonatomic, assign) MKCoordinateRegion region;
+@property (nonatomic, assign) MKLocalSearchRegionPriority regionPriority API_AVAILABLE(ios(18.0), visionos(2.0), tvos(18.0), macos(15.0)) API_UNAVAILABLE(watchos);
 
 @property (nonatomic, assign) MKLocalSearchResultType resultTypes API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
 @property (nonatomic, copy, nullable) MKPointOfInterestFilter *pointOfInterestFilter API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
+@property (nonatomic, copy, nullable) MKAddressFilter *addressFilter API_AVAILABLE(ios(18.0), visionos(2.0), tvos(18.0), macos(15.0)) API_UNAVAILABLE(watchos);
 
 @end
 
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKLookAroundSceneRequest.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKLookAroundSceneRequest.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKLookAroundSceneRequest.h	2024-04-19 08:04:57
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKLookAroundSceneRequest.h	2024-05-31 07:21:24
@@ -28,7 +28,7 @@
 @property (nonatomic, readonly, getter=isCancelled) BOOL cancelled;
 @property (nonatomic, readonly, getter=isLoading) BOOL loading;
 
-- (void)getSceneWithCompletionHandler:(void (^)(MKLookAroundScene * _Nullable_result scene, NSError * _Nullable error))completionHandler NS_SWIFT_ASYNC_NAME(getter:scene());
+- (void)getSceneWithCompletionHandler:(NS_SWIFT_UI_ACTOR void (^)(MKLookAroundScene * _Nullable_result scene, NSError * _Nullable error))completionHandler NS_SWIFT_ASYNC_NAME(getter:scene());
 - (void)cancel;
 
 @end
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKLookAroundSnapshotter.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKLookAroundSnapshotter.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKLookAroundSnapshotter.h	2024-04-19 08:04:55
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKLookAroundSnapshotter.h	2024-05-31 07:21:23
@@ -22,7 +22,7 @@
 - (instancetype)initWithScene:(MKLookAroundScene *)scene options:(MKLookAroundSnapshotOptions *)options NS_DESIGNATED_INITIALIZER;
 
 // defaults to the main queue
-- (void)getSnapshotWithCompletionHandler:(void (^)(MKLookAroundSnapshot * _Nullable snapshot, NSError * _Nullable error))completionHandler NS_SWIFT_ASYNC_NAME(getter:snapshot());
+- (void)getSnapshotWithCompletionHandler:(NS_SWIFT_UI_ACTOR void (^)(MKLookAroundSnapshot * _Nullable snapshot, NSError * _Nullable error))completionHandler NS_SWIFT_ASYNC_NAME(getter:snapshot());
 - (void)cancel;
 
 @property (nonatomic, readonly, getter=isLoading) BOOL loading;
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKMapItem.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKMapItem.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKMapItem.h	2024-05-02 05:48:59
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKMapItem.h	2024-05-30 04:50:02
@@ -6,6 +6,7 @@
 //
 
 #import <MapKit/MKFoundation.h>
+#import <MapKit/MKMapItemIdentifier.h>
 #import <MapKit/MKPlacemark.h>
 #import <MapKit/MKPointOfInterestCategory.h>
 
@@ -17,6 +18,9 @@
 
 NS_CLASS_AVAILABLE(10_9, 6_0) __TVOS_AVAILABLE(9_2)
 @interface MKMapItem : NSObject
+
+@property (nonatomic, nullable, readonly) MKMapItemIdentifier *identifier API_AVAILABLE(ios(18.0), visionos(2.0), tvos(18.0), macos(15.0)) API_UNAVAILABLE(watchos);
+@property (nonatomic, readonly) NSSet<MKMapItemIdentifier *> *alternateIdentifiers API_AVAILABLE(ios(18.0), visionos(2.0), tvos(18.0), macos(15.0)) API_UNAVAILABLE(watchos);
 
 // If this MKMapItem represents your current location (isCurrentLocation == YES), then placemark will be nil.
 @property (nonatomic, readonly) MKPlacemark *placemark;
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKMapItemAnnotation.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKMapItemAnnotation.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKMapItemAnnotation.h	1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKMapItemAnnotation.h	2024-05-31 07:21:23
@@ -0,0 +1,33 @@
+//
+//  MKMapItemAnnotation.h
+//  MapKit
+//
+//  Copyright © 2024 Apple, Inc. All rights reserved.
+//
+
+#import <MapKit/MKAnnotation.h>
+#import <MapKit/MKMapItem.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+// An annotation that represents a map item
+API_AVAILABLE(ios(18.0), macos(15.0), visionos(2.0), tvos(18.0))
+API_UNAVAILABLE(watchos)
+@interface MKMapItemAnnotation : NSObject <MKAnnotation>
+
++ (instancetype)new NS_UNAVAILABLE;
+- (instancetype)init NS_UNAVAILABLE;
+
+// Creates a map item annotation
+//
+// If `mapItem` does not have valid `coordinate` data, the result will be `nil`.
+//
+// - Parameters:
+//   - mapItem: the map item this annotation will represent
+- (nullable instancetype)initWithMapItem:(MKMapItem *)mapItem NS_DESIGNATED_INITIALIZER;
+
+// The map item represented by this annotation
+@property (nonatomic, readonly, strong) MKMapItem *mapItem;
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKMapItemDetailViewController.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKMapItemDetailViewController.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKMapItemDetailViewController.h	1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKMapItemDetailViewController.h	2024-05-31 07:21:24
@@ -0,0 +1,76 @@
+//
+//  MKMapItemDetailViewController.h
+//  MapKit
+//
+//  Copyright © 2024 Apple, Inc. All rights reserved.
+//
+
+#import <MapKit/MKMapItem.h>
+
+#if TARGET_OS_IPHONE
+#import <UIKit/UIViewController.h>
+#else
+#import <AppKit/NSViewController.h>
+#endif
+
+@class MKMapItemDetailViewController;
+
+NS_ASSUME_NONNULL_BEGIN
+
+// Delegate for `MKMapItemDetailViewController`
+API_AVAILABLE(ios(18.0), macos(15.0), visionos(2.0))
+API_UNAVAILABLE(watchos, tvos)
+NS_SWIFT_UI_ACTOR
+@protocol MKMapItemDetailViewControllerDelegate <NSObject>
+
+// Called when the user is finished
+- (void)mapItemDetailViewControllerDidFinish:(MKMapItemDetailViewController *)detailViewController;
+
+@end
+
+// Displays detailed information about a map item
+//
+// Presented modally, the map item detail view controller displays place
+// information such as address and phone number.
+//
+// This class is intended to be used as-is and doesn’t support subclassing.
+// The view hierarchy for this class is private and must not be modified.
+API_AVAILABLE(ios(18.0), macos(15.0), visionos(2.0))
+API_UNAVAILABLE(watchos, tvos)
+#if TARGET_OS_IPHONE
+@interface MKMapItemDetailViewController : UIViewController
+#else
+@interface MKMapItemDetailViewController : NSViewController
+#endif
+
+// The map item to display
+//
+// If nil, a "loading" view is displayed
+@property (nonatomic, strong, nullable) MKMapItem *mapItem;
+
+// The map item detail view controller's delegate
+@property (nonatomic, weak, nullable) id <MKMapItemDetailViewControllerDelegate> delegate;
+
+// Create a map item detail view controller
+//
+// - Parameters:
+//   - mapItem: The map item to display, or `nil` for "loading"
+//   - displaysMap: If an inline map should be displayed with the place data.
+//     A value of `YES` must be specified if the application UI is not
+//     already showing the place in a map view.
+- (instancetype)initWithMapItem:(nullable MKMapItem *)mapItem
+                    displaysMap:(BOOL)displaysMap;
+
+// Create a map item detail view controller
+//
+// Displays an inline map with the place data. If the application UI is
+// already showing the place in a map view, the inline map can be disabled
+// by using the `- initWithMapItem:displaysMap:` initializer.
+//
+// - Parameters:
+//   - mapItem: The map item to display, or `nil` for "loading"
+- (instancetype)initWithMapItem:(nullable MKMapItem *)mapItem;
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKMapItemIdentifier.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKMapItemIdentifier.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKMapItemIdentifier.h	1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKMapItemIdentifier.h	2024-05-31 07:21:24
@@ -0,0 +1,25 @@
+//
+//  MKMapItemIdentifier.h
+//  MapKit
+//
+//  Copyright © 2023 Apple, Inc. All rights reserved.
+//
+
+#import <MapKit/MKFoundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+API_AVAILABLE(ios(18.0), visionos(2.0), tvos(18.0), macos(15.0)) API_UNAVAILABLE(watchos)
+NS_SWIFT_NAME(MKMapItem.Identifier)
+@interface MKMapItemIdentifier : NSObject <NSCopying, NSSecureCoding>
+
+- (instancetype)init NS_UNAVAILABLE;
++ (instancetype)new NS_UNAVAILABLE;
+
+- (nullable instancetype)initWithIdentifierString:(NSString *)string NS_SWIFT_NAME(init(rawValue:));
+
+@property (nonatomic, readonly) NSString *identifierString NS_SWIFT_NAME(rawValue);
+
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKMapItemRequest.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKMapItemRequest.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKMapItemRequest.h	2024-04-19 08:04:56
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKMapItemRequest.h	2024-05-31 07:21:23
@@ -6,24 +6,32 @@
 //
 
 #import <MapKit/MKFoundation.h>
+#import <MapKit/MKMapItemIdentifier.h>
 
 NS_ASSUME_NONNULL_BEGIN
 
 @class MKMapFeatureAnnotation;
 @class MKMapItem;
 
-API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(macos, tvos, watchos)
+API_AVAILABLE(ios(16.0), visionos(1.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos)
 @interface MKMapItemRequest : NSObject
 
 - (instancetype)init NS_UNAVAILABLE;
 + (instancetype)new NS_UNAVAILABLE;
 
-- (instancetype)initWithMapFeatureAnnotation:(MKMapFeatureAnnotation *)mapFeatureAnnotation NS_DESIGNATED_INITIALIZER;
+- (instancetype)initWithMapItemIdentifier:(MKMapItemIdentifier *)identifier NS_DESIGNATED_INITIALIZER API_AVAILABLE(ios(18.0), visionos(2.0), tvos(18.0), macos(15.0)) API_UNAVAILABLE(watchos);
 
-- (void)getMapItemWithCompletionHandler:(void (^)(MKMapItem * _Nullable mapItem, NSError * _Nullable error))completionHandler NS_SWIFT_ASYNC_NAME(getter:mapItem());
+- (instancetype)initWithMapFeatureAnnotation:(MKMapFeatureAnnotation *)mapFeatureAnnotation NS_DESIGNATED_INITIALIZER API_AVAILABLE(ios(16.0), visionos(1.0)) API_UNAVAILABLE(macos, tvos, watchos);
+
+- (void)getMapItemWithCompletionHandler:(NS_SWIFT_UI_ACTOR void (^)(MKMapItem * _Nullable mapItem, NSError * _Nullable error))completionHandler NS_SWIFT_ASYNC_NAME(getter:mapItem());
 - (void)cancel;
 
-@property (nonatomic, readonly) MKMapFeatureAnnotation *featureAnnotation;
+@property (nonatomic, nullable, readonly) MKMapItemIdentifier *mapItemIdentifier API_AVAILABLE(ios(18.0), visionos(2.0), tvos(18.0), macos(15.0)) API_UNAVAILABLE(watchos);
+
+@property (nonatomic, nullable, readonly) MKMapFeatureAnnotation *mapFeatureAnnotation API_AVAILABLE(ios(18.0), visionos(2.0)) API_UNAVAILABLE(macos, tvos, watchos);
+
+@property (nonatomic, readonly) MKMapFeatureAnnotation *featureAnnotation API_DEPRECATED_WITH_REPLACEMENT("mapFeatureAnnotation", ios(16.0, 18.0), visionos(1.0, 2.0)) API_UNAVAILABLE(macos, tvos, watchos);
+
 @property (nonatomic, readonly, getter=isCancelled) BOOL cancelled;
 @property (nonatomic, readonly, getter=isLoading) BOOL loading;
 
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKMapSnapshotter.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKMapSnapshotter.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKMapSnapshotter.h	2024-04-19 08:04:55
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKMapSnapshotter.h	2024-05-31 07:21:23
@@ -19,7 +19,7 @@
 
 - (instancetype)initWithOptions:(MKMapSnapshotOptions *)options NS_DESIGNATED_INITIALIZER;
 
-- (void)startWithCompletionHandler:(MKMapSnapshotCompletionHandler)completionHandler; // defaults to the main queue
+- (void)startWithCompletionHandler:(NS_SWIFT_UI_ACTOR MKMapSnapshotCompletionHandler)completionHandler; // defaults to the main queue
 - (void)startWithQueue:(dispatch_queue_t)queue completionHandler:(MKMapSnapshotCompletionHandler)completionHandler;
 - (void)cancel;
 
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKMapView.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKMapView.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKMapView.h	2024-04-14 19:10:21
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKMapView.h	2024-05-31 07:53:30
@@ -22,6 +22,10 @@
 #import <MapKit/MKMapFeatureAnnotation.h>
 #endif
 
+#if !TARGET_OS_WATCH
+#import <MapKit/MKSelectionAccessory.h>
+#endif
+
 @class MKUserLocation;
 @class MKMapCamera;
 @class MKMapCameraZoomRange;
@@ -252,6 +256,7 @@
 @end
 
 API_UNAVAILABLE(watchos)
+NS_SWIFT_UI_ACTOR
 @protocol MKMapViewDelegate <NSObject>
 @optional
 
@@ -287,6 +292,23 @@
 
 - (void)mapView:(MKMapView *)mapView didSelectAnnotation:(id<MKAnnotation>)annotation API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(macos, tvos, watchos);
 - (void)mapView:(MKMapView *)mapView didDeselectAnnotation:(id<MKAnnotation>)annotation API_AVAILABLE(ios(16.0)) API_UNAVAILABLE(macos, tvos, watchos);
+
+#if !TARGET_OS_WATCH && !TARGET_OS_TV
+// Specifies the accessory to display for a selected annotation
+//
+// Called for all selected annotations. Not all types of annotations
+// currently support displaying selection accessories. Please return `nil`
+// for annotations where a selection accessory is not desired.
+//
+// No accessory will be displayed if...
+// - `nil` is returned
+// - `- mapView:selectionAccessoryForAnnotation:` is not implemented
+// - the accessory returned is not supported for `annotation`
+- (nullable MKSelectionAccessory *)mapView:(MKMapView *)mapView
+           selectionAccessoryForAnnotation:(id<MKAnnotation>)annotation
+API_AVAILABLE(ios(18.0), macos(15.0), visionos(2.0))
+API_UNAVAILABLE(watchos, tvos);
+#endif
 
 - (void)mapViewWillStartLocatingUser:(MKMapView *)mapView NS_AVAILABLE(10_9, 4_0);
 - (void)mapViewDidStopLocatingUser:(MKMapView *)mapView NS_AVAILABLE(10_9, 4_0);
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKPointOfInterestCategory.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKPointOfInterestCategory.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKPointOfInterestCategory.h	2024-04-11 02:47:14
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKPointOfInterestCategory.h	2024-05-30 04:50:02
@@ -9,43 +9,76 @@
 
 typedef NSString * MKPointOfInterestCategory NS_TYPED_ENUM;
 
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryAnimalService API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryAirport API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryAmusementPark API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryAquarium API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryATM NS_SWIFT_NAME(atm) API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryAutomotiveRepair API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryBakery API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryBank API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryBaseball API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryBasketball API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryBeach API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryBeauty API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryBowling API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryBrewery API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryCafe API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryCampground API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryCarRental API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryCastle API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryConventionCenter API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryDistillery API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryEVCharger API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryFairground API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryFireStation API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryFishing API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryFitnessCenter API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryFoodMarket API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryFortress API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryGasStation API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryGolf API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryGoKart API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryHiking API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryHospital API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryHotel API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryKayaking API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryLandmark API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryLaundry API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryLibrary API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryMailbox API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryMarina API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryMiniGolf API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryMovieTheater API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryMuseum API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryMusicVenue API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryNationalMonument API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryNationalPark API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryNightlife API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryPark API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryParking API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryPharmacy API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryPlanetarium API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryPolice API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryPostOffice API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryPublicTransport API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryRestaurant API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryRestroom API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryRockClimbing API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryRVPark API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategorySchool API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategorySkatePark API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategorySkating API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategorySkiing API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategorySoccer API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategorySpa API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryStadium API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryStore API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategorySurfing API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategorySwimming API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryTennis API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryTheater API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryUniversity API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryWinery API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
+MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryVolleyball API_AVAILABLE(ios(18.0), visionos(2.0), macos(15.0), tvos(18.0)) API_UNAVAILABLE(watchos);
 MK_EXTERN MKPointOfInterestCategory const MKPointOfInterestCategoryZoo API_AVAILABLE(ios(13.0), macos(10.15), tvos(13.0)) API_UNAVAILABLE(watchos);
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKSelectionAccessory.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKSelectionAccessory.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKSelectionAccessory.h	1970-01-01 01:00:00
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKSelectionAccessory.h	2024-05-31 07:21:24
@@ -0,0 +1,95 @@
+//
+//  MKSelectionAccessory.h
+//  MapKit
+//
+//  Copyright © 2024 Apple, Inc. All rights reserved.
+//
+
+#if TARGET_OS_IPHONE
+#import <UIKit/UIViewController.h>
+#else
+#import <AppKit/NSViewController.h>
+#endif
+
+@class MKMapItemDetailSelectionAccessoryPresentationStyle;
+
+NS_ASSUME_NONNULL_BEGIN
+
+// The type of accessory to display for a selected annotation
+API_AVAILABLE(ios(18.0), macos(15.0), visionos(2.0))
+API_UNAVAILABLE(watchos, tvos)
+@interface MKSelectionAccessory : NSObject
+
++ (instancetype)new NS_UNAVAILABLE;
+- (instancetype)init NS_UNAVAILABLE;
+
+// Detailed information about a place
+//
+// Supported for `MKMapFeatureAnnotation` and `MKMapItemAnnotation`.
+//
+// - Parameters:
+//   - presentation: the presentation style to use
++ (MKSelectionAccessory *)mapItemDetailWithPresentationStyle:(MKMapItemDetailSelectionAccessoryPresentationStyle *)presentationStyle NS_SWIFT_NAME(mapItemDetail(_:));
+@end
+
+
+// The style to use for map item detail callout presentation
+typedef NS_ENUM(NSInteger, MKMapItemDetailSelectionAccessoryCalloutStyle) {
+    // An appropriate callout style will be chosen automatically.
+    MKMapItemDetailSelectionAccessoryCalloutStyleAutomatic,
+
+    // A rich, detailed view
+    MKMapItemDetailSelectionAccessoryCalloutStyleFull,
+
+    // A compact, space-saving presentation
+    MKMapItemDetailSelectionAccessoryCalloutStyleCompact
+} NS_SWIFT_NAME(MKMapItemDetailSelectionAccessoryPresentationStyle.CalloutStyle)
+API_AVAILABLE(ios(18.0), macos(15.0), visionos(2.0)) API_UNAVAILABLE(watchos, tvos);
+
+
+// The type of map item detail accessory presentation to use.
+API_AVAILABLE(ios(18.0), macos(15.0), visionos(2.0))
+API_UNAVAILABLE(watchos, tvos)
+NS_SWIFT_NAME(MKSelectionAccessory.MapItemDetailPresentationStyle)
+@interface MKMapItemDetailSelectionAccessoryPresentationStyle : NSObject
+
++ (instancetype)new NS_UNAVAILABLE;
+- (instancetype)init NS_UNAVAILABLE;
+
+// An appropriate presentation style will be chosen automatically
+//
+// Supplying a non-nil `presentationViewController` will enable sheet
+// presentation, if appropriate.
+#if TARGET_OS_IPHONE
++ (MKMapItemDetailSelectionAccessoryPresentationStyle *)automaticWithPresentationViewController:(nullable UIViewController *)presentationViewController NS_REFINED_FOR_SWIFT;
+#else
++ (MKMapItemDetailSelectionAccessoryPresentationStyle *)automaticWithPresentationViewController:(nullable NSViewController *)presentationViewController NS_REFINED_FOR_SWIFT;
+#endif
+
+// Show map item detail as an annotation callout on the map
+//
+// Uses the `automatic` callout style.
+@property (class, nonatomic, strong, readonly) MKMapItemDetailSelectionAccessoryPresentationStyle *callout;
+
+// Show map item detail as an annotation callout on the map
+//
+// - Parameters:
+//   - style: the callout style to use
++ (MKMapItemDetailSelectionAccessoryPresentationStyle *)calloutWithCalloutStyle:(MKMapItemDetailSelectionAccessoryCalloutStyle)style NS_REFINED_FOR_SWIFT;
+
+// Show map item detail by presenting a sheet
+//
+// - Parameters:
+//   - presentedFrom: the view controller that will present the sheet
+#if TARGET_OS_IPHONE
++ (MKMapItemDetailSelectionAccessoryPresentationStyle *)sheetPresentedFromViewController:(UIViewController *)viewController
+#else
++ (MKMapItemDetailSelectionAccessoryPresentationStyle *)sheetPresentedFromViewController:(NSViewController *)viewController
+#endif
+NS_SWIFT_NAME(sheet(presentedFrom:));
+
+// display a small "Open in Maps" affordance
+@property (class, nonatomic, strong, readonly) MKMapItemDetailSelectionAccessoryPresentationStyle *openInMaps;
+@end
+
+NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKTypes.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKTypes.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKTypes.h	2024-04-19 08:04:55
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MKTypes.h	2024-05-31 07:21:23
@@ -35,4 +35,9 @@
     MKFeatureVisibilityVisible
 } API_AVAILABLE(ios(11.0), tvos(11.0), macos(11.0)) API_UNAVAILABLE(watchos);
 
+typedef NS_ENUM(NSInteger, MKLocalSearchRegionPriority) {
+    MKLocalSearchRegionPriorityDefault = 0,
+    MKLocalSearchRegionPriorityRequired
+} API_AVAILABLE(ios(18.0), visionos(2.0), tvos(18.0), macos(15.0)) API_UNAVAILABLE(watchos);
+
 NS_ASSUME_NONNULL_END
diff -ruN /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MapKit.h /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MapKit.h
--- /Applications/Xcode_15.4.0.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MapKit.h	2024-04-19 08:04:53
+++ /Applications/Xcode_16.0.0-beta.app/Contents/Developer/Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS.sdk/System/Library/Frameworks/MapKit.framework/Headers/MapKit.h	2024-05-31 07:21:21
@@ -10,11 +10,13 @@
 #import <MapKit/MKAnnotation.h>
 #import <MapKit/MKDistanceFormatter.h>
 #import <MapKit/MKGeometry.h>
+#import <MapKit/MKMapItemIdentifier.h>
 #import <MapKit/MKMapItem.h>
 #import <MapKit/MKPlacemark.h>
 #import <MapKit/NSUserActivity+MKMapItem.h>
 
 #if __has_include(<MapKit/MKMapView.h>)
+#import <MapKit/MKAddressFilter.h>
 #import <MapKit/MKAnnotationView.h>
 #import <MapKit/MKMapView.h>
 #import <MapKit/MKMarkerAnnotationView.h>
@@ -26,6 +28,7 @@
 #import <MapKit/MKOverlay.h>
 #import <MapKit/MKShape.h>
 #import <MapKit/MKPointAnnotation.h>
+#import <MapKit/MKMapItemAnnotation.h>
 #import <MapKit/MKMultiPoint.h>
 #import <MapKit/MKMultiPolygon.h>
 #import <MapKit/MKMultiPolygonRenderer.h>
@@ -83,7 +86,6 @@
 #import <MapKit/MKUserTrackingButton.h>
 #import <MapKit/MKIconStyle.h>
 #import <MapKit/MKMapFeatureAnnotation.h>
-#import <MapKit/MKMapItemRequest.h>
 
 #endif // TARGET_OS_IOS || TARGET_OS_MACCATALYST || TARGET_OS_TV
 
@@ -97,5 +99,14 @@
 #import <MapKit/MKLookAroundViewController.h>
 
 #endif // (TARGET_OS_IOS || TARGET_OS_MACCATALYST || TARGET_OS_OSX || TARGET_OS_TV)
+
+#if (!TARGET_OS_WATCH)
+
+#import <MapKit/MKMapItemDetailViewController.h>
+#import <MapKit/MKMapItemRequest.h>
+#import <MapKit/MKSelectionAccessory.h>
+
+#endif // (!TARGET_OS_WATCH)
+
 
 #endif // __has_include(<MapKit/MKMapView.h>)
Clone this wiki locally