Skip to content

ShazamKit iOS xcode26.0 b1

Alex Soto edited this page Jun 9, 2025 · 2 revisions

#ShazamKit.framework

diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHCatalog.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHCatalog.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHCatalog.h	2025-04-19 09:03:54
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHCatalog.h	2025-05-23 15:53:01
@@ -10,23 +10,16 @@
 
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
 
-/// @brief An abstract base class for storing signatures
+/// An abstract base class for storing reference signatures and their associated metadata.
 ///
-/// @discussion You should not create instances of this class directly, instead use subclasses to provide the
-/// functionality that you need
+/// This is the base class of your custom catalog.
 SH_EXPORT API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0))
 @interface SHCatalog : NSObject
 
-/// @brief The minimum @c SHSignature duration that can be used to perform searches against this Catalog
-///
-/// @discussion A @c SHSignature that contains less than the minimum duration in seconds will be discarded without matching.
-/// @note A @c SHSignature under this duration does not have enough entropy to provide accurate matches.
+/// The minimum duration of a query signature that you use to match reference signatures in the catalog.
 @property (NS_NONATOMIC_IOSONLY, assign, readonly) NSTimeInterval minimumQuerySignatureDuration;
 
-/// @brief The maximum @c SHSignature duration that can be used to perform searches against this Catalog
-///
-/// @discussion A @c SHSignature over this duration will be rejected without matching. A well scoped @c SHSignature
-/// is more likely to provide accurate matches.
+/// The maximum duration of a query signature that you use to match reference signatures in the catalog.
 @property (NS_NONATOMIC_IOSONLY, assign, readonly) NSTimeInterval maximumQuerySignatureDuration;
 
 + (instancetype)new NS_UNAVAILABLE;
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHCustomCatalog.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHCustomCatalog.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHCustomCatalog.h	2025-04-19 09:03:54
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHCustomCatalog.h	2025-05-23 15:53:01
@@ -13,38 +13,50 @@
 
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
 
-/// @brief Configure a custom catalog of @c SHSignature objects to match against
-/// @discussion Use a custom catalog if you intend to search against reference signatures that you have provided yourself. All matches will be performed locally on the device against the signatures added to this Catalog.
-/// @c SHMediaItem can be built using custom data that will be returned when a match is made.
-/// Once this catalog has been built it can be written to disk and loaded again at a later date.
+/// An object for storing the reference signatures for custom audio recordings and their associated metadata.
+///
+/// Create a custom catalog by adding reference signatures that you generate from audio that you provide. You also add the associated metadata for each signature. Save your custom catalog and share it with others. You can also load a saved catalog.
 SH_EXPORT API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0))
 @interface SHCustomCatalog : SHCatalog
 
 /// The data representation of this file, it can be written to disk
 @property (NS_NONATOMIC_IOSONLY, strong, readonly) NSData *dataRepresentation API_AVAILABLE(macos(15.0), ios(18.0), tvos(18.0), watchos(11.0), visionos(2.0));
  
-/// Add a reference @c SHSignature and its associated @c SHMediaItem for matching
-/// @param signature The reference to match against
-/// @param mediaItems The metadata associated with the @c SHSignature
-/// @discussion Once the @c SHCatalog had been added to a @c SHSession further calls to this method will be ignored
-/// @return YES if the data was successfully added, NO on failure with a populated error parameter
+/// Adds a reference signature and its associated metadata to a catalog.
+///
+///
+/// > Note:
+/// > This system ignores calls to `addReferenceSignature(_:representing:)` after adding the catalog to an `SHSession`.
+///
+/// - Parameters:
+///   - signature: The reference signature for the audio recording.
+///   - mediaItems: The metadata for the recording.
 - (BOOL)addReferenceSignature:(SHSignature *)signature representingMediaItems:(NSArray<SHMediaItem *> *)mediaItems error:(NSError **)error;
 
-/// Load a `shazamcatalog` file from a file path URL
-/// @param customCatalogURL The path to the `shazamcatalog` file.
-/// @param error An error if the catalog could not be loaded
-/// @return YES if the data was successfully added, NO on failure with a populated error parameter
+/// Loads a saved custom catalog from a file.
+///
+/// - Parameters:
+///  - customCatalogURL: The file URL for a custom catalog.
+///  - error: An output value in Objective-C that indicates the type of error; otherwise, `nil`.
 - (BOOL)addCustomCatalogFromURL:(NSURL *)customCatalogURL error:(NSError **)error;
 
-/// Write this Catalog to a URL
-/// @discussion A Catalog can safely be shared among devices
-/// @note If the `destinationURL` is a directory, a file named Signatures.shazamcatalog will be created
-/// @param destinationURL The location to write to
-/// @param error populated on error, otherwise nil
-/// @return YES on success, NO on failure with a populated error parameter
+/// Saves the custom catalog to a local file.
+///
+/// If `destinationURL` is a directory, the system creates a `Signatures.shazamcatalog` file.
+///
+/// - Parameters:
+///   - destinationURL: A URL for the saved custom catalog file.
+///   - error: An output value in Objective-C that indicates the type of error; otherwise, `nil`.
+///
+/// - Returns: `YES` if the catalog writes to the file; otherwise, `NO`.
 - (BOOL)writeToURL:(NSURL *)destinationURL error:(NSError **)error API_DEPRECATED("Use dataRepresentation", macos(12.0, 15.0), ios(15.0, 18.0), tvos(15.0, 18.0), watchos(8.0, 11.0));
 
+/// Creates a new custom catalog object for storing reference audio signatures and their associated metadata.
+///
+/// - Returns: A new custom catalog for storing processed reference audio recordings and their associated metadata.
 + (instancetype)new API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0)) NS_SWIFT_UNAVAILABLE("Use init in Swift");
+
+/// Creates a new custom catalog object for storing reference audio signatures and their associated metadata.
 - (instancetype)init API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0));
 
 /// Load a @c SHCustomCatalog from data
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHError.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHError.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHError.h	2025-04-19 09:03:54
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHError.h	2025-05-23 15:53:01
@@ -8,54 +8,46 @@
 #import <Foundation/Foundation.h>
 #import <ShazamKit/SHDefines.h>
 
+/// The error domain for specific errors for ShazamKit.
 SH_EXPORT NSErrorDomain const SHErrorDomain API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0));
 
-/// Error codes returned when generating and matching signatures
+/// An error type that you create, or the system creates, to indicate problems with a catalog, match attempt, or signature, or when saving to a user's Shazam library.
 API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0))
 typedef NS_ERROR_ENUM(SHErrorDomain, SHErrorCode) {
     
-    /// The @c AVAudioFormat is not supported
-    /// @discussion ShazamKit only accepts certain audio formats
-    /// @see -[SHSignatureGenerator appendBuffer:atTime:error] for valid formats
+    /// The error code to indicate an unsupported audio format.
+    ///
+    /// For the list of the supported audio formats, see ``SHSignatureGenerator/append(_:at:)``.
     SHErrorCodeInvalidAudioFormat = 100,
     
-    /// The audio provided was not contiguous
-    /// @discussion Shazam requires audio to be contiguous in order
-    /// to match.
+    /// The error code to indicate the use of noncontiguous audio to request a match.
     SHErrorCodeAudioDiscontinuity = 101,
     
-    /// Failed to create a signature from the provided audio
-    /// @discussion Validate the audio you are supplying, it may be silence.
+    /// The error code to indicate that the system is unable to generate a signature from the audio.
+    ///
+    /// The most common cause of this error is silent audio input.
     SHErrorCodeSignatureInvalid = 200,
     
-    /// The signature duration is outside the valid range
-    /// @discussion The signature is valid but is too long/short for
-    /// the service attempting to match it
+    /// The error code to indicate that the length of the generated signature is too long or too short to make a match in the catalog.
+    ///
+    /// This error occurs when the length of the generated signature is less than ``SHCatalog/minimumQuerySignatureDuration`` or greater than ``SHCatalog/maximumQuerySignatureDuration`` for the session ``SHSession/catalog``.
     SHErrorCodeSignatureDurationInvalid = 201,
     
-    /// The request to match the signature failed
-    /// @discussion The attempt failed and was not matched, trying again may result in success
-    /// @note This code does not indicate a 'No Match'
+    /// The error code to indicate when a Shazam Music catalog server issue prevents finding a match.
     SHErrorCodeMatchAttemptFailed = 202,
     
-    /// Failed to load the Custom Catalog
-    /// @discussion Validate the structure of the Catalog file
+    /// The error code to indicate when the custom catalog fails to load due to an invalid format.
     SHErrorCodeCustomCatalogInvalid = 300,
     
-    /// The Custom Catalog URL was invalid
-    /// @discussion The URL must be a filePath URL that contains a valid Catalog
+    /// The error code to indicate that the format for the custom catalog URL is invalid.
     SHErrorCodeCustomCatalogInvalidURL = 301,
     
-    /// Failed to sync some content to the user's library
-    /// @discussion Failed to sync the user's library, trying again may result in success
-    /// Underlying error may contain more details about the failure
+    /// The error code that indicates when the system fails to add media items to or remove items from the user's Shazam library.
     SHErrorCodeMediaLibrarySyncFailed = 400,
     
-    /// Internal Error
-    /// @discussion ShazamKit encountered an internal error
+    /// The error code to indicate a generic framework error.
     SHErrorCodeInternalError API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0)) = 500,
     
-    /// Failed to fetch @c SHMediaItem
-    /// @discussion There was an error fetching the @c SHMediaItem or the provided @c shazamID is invalid.
+    /// The error code to indicate when the system fails to fetch one or more media items.
     SHErrorCodeMediaItemFetchFailed API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0)) = 600
 };
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHMatch.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHMatch.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHMatch.h	2025-04-19 09:03:54
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHMatch.h	2025-05-23 15:53:01
@@ -12,22 +12,16 @@
 
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
 
-/// @brief A @c SHMatch indicates that a Signature matched a reference Signature in the target @c SHCatalog
-/// @discussion A @c SHSignature can match many reference Signatures in a catalog and in turn a Signature can map to
-/// many @c SHMediaItem. Therefore a match encapsulates the query Signature and all of the various @c SHMediaItem it matched
+/// An object that represents the catalog media items that match a query.
 ///
-/// @note @c SHMatch is not intended to be subclassed
+/// A single query signature may match more than one reference signature. In addition, one reference signature may map to many media items.
 SH_EXPORT NS_SWIFT_SENDABLE API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0))
 @interface SHMatch : NSObject <NSSecureCoding>
 
-/// @brief The @c SHMatchedMediaItem belonging to the instance of @c SHSignature that we matched
-///
-/// @discussion One Signature may match multiple @c SHMediaItem, especially in the case of audio that uses samples. The array of @c SHMatchedMediaItem
-/// is ordered by the quality of the match. Use the first @c SHMatchedMediaItem if you intend to only show one result
+/// An array of the media items in the catalog that match the query signature, in order of the quality of the match.
 @property (NS_NONATOMIC_IOSONLY, strong, readonly) NSArray<SHMatchedMediaItem *> *mediaItems;
 
-/// The @c SHSignature used to query the @c SHCatalog
-/// @note This Signature is the query Signature, not the reference Signature contained in the @c SHCatalog
+/// The query signature for the match.
 @property (NS_NONATOMIC_IOSONLY, strong, readonly) SHSignature *querySignature;
 
 + (instancetype)new NS_UNAVAILABLE;
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHMatchedMediaItem.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHMatchedMediaItem.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHMatchedMediaItem.h	2025-04-19 09:03:54
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHMatchedMediaItem.h	2025-05-23 15:53:01
@@ -21,30 +21,30 @@
 API_AVAILABLE(macos(15.4), ios(18.4), tvos(18.4), watchos(11.4), visionos(2.4))
 SH_EXPORT SHMediaItemProperty const SHMediaItemConfidence;
 
-/// @brief @c SHMatchedMediaItem represents metadata that has been matched against a @c SHCatalog
-/// @discussion Extra information is presented that can only be generated from a match. The properties provided here
-/// that are not available on @c SHMediaItem are ephemeral and can differ each time there is a match of the @c SHSignature that this
-/// object represents
+/// An object that represents the metadata for a matched reference signature.
 ///
-/// @note @c SHMatchedMediaItem is not intended to be subclassed
+/// To access properties for custom media items, use subscripting. For more information, see ``SHMediaItem``.
 SH_EXPORT NS_SWIFT_SENDABLE API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0))
 @interface SHMatchedMediaItem : SHMediaItem <NSSecureCoding>
 
-/// The frequency difference between the reference and sample audio
-/// @discussion A value of 0.0 indicates the matched audio at the original frequency,
-/// a value of 0.1 indicates 100hz is now 110hz
+/// A multiple for the difference in frequency between the matched audio and the query audio.
+///
+/// A value of `0.0` indicates that the query and matched audio are at the same frequency. Other values indicate that the query audio is playing at a different frequency. For example, if the original recording plays at `100` Hz, a value of `0.05` indicates that the query recording plays at `105` Hz.
+///
+/// No match returns if the frequency skew is too large.
 @property (NS_NONATOMIC_IOSONLY, assign, readonly) float frequencySkew;
 
-/// @brief The difference between the start of the reference audio and the start of the sample audio
-/// @note This value can be negative if the source audio starts before the reference audio
+/// The timecode in the reference recording that matches the start of the query, in seconds.
+///
+/// The value can be negative if the query signature contains unrecognizable data before the data that corresponds to the start of the matched reference item.
 @property (NS_NONATOMIC_IOSONLY, assign, readonly) NSTimeInterval matchOffset;
 
-/// @brief The auto updating playback position in the reference signature
+/// The updated timecode in the reference recording that matches the current playback position of the query audio, in seconds.
 @property (NS_NONATOMIC_IOSONLY, assign, readonly) NSTimeInterval predictedCurrentMatchOffset;
 
 /// The level of confidence in the match result.
-/// @note This may be fetched using the key @c SHMediaItemConfidence
-/// @discussion The value ranges from 0.0 to 1.0, where 1.0 indicates the highest level of confidence.
+///
+/// The value ranges from 0.0 to 1.0, where 1.0 indicates the highest level of confidence.
 @property (NS_NONATOMIC_IOSONLY, assign, readonly) float confidence API_AVAILABLE(macos(15.4), ios(18.4), tvos(18.4), watchos(11.4), visionos(2.4));
 
 @end
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHMediaItem.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHMediaItem.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHMediaItem.h	2025-04-19 04:02:17
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHMediaItem.h	2025-05-24 02:08:31
@@ -11,6 +11,7 @@
 
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
 
+/// Constants for the media item property names.
 API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0))
 typedef NSString * SHMediaItemProperty NS_TYPED_EXTENSIBLE_ENUM;
 
@@ -62,103 +63,144 @@
 API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0))
 SH_EXPORT SHMediaItemProperty const SHMediaItemISRC;
 
-/// The time ranges in the represented media that are described by this @c SHMediaItem
+/// The key to access the time ranges property of a media item.
 SH_EXPORT SHMediaItemProperty const SHMediaItemTimeRanges API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0)) NS_REFINED_FOR_SWIFT;
 
-/// The frequency skew ranges that are described by this @c SHMediaItem
+/// The key to access the frequency skew ranges property of a media item.
 SH_EXPORT SHMediaItemProperty const SHMediaItemFrequencySkewRanges API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0)) NS_REFINED_FOR_SWIFT;
 
 /// The date when the media item was created
 SH_EXPORT SHMediaItemProperty const SHMediaItemCreationDate API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0));
 
-/// @brief @c SHMediaItem represents metadata associated with a @c SHSignature
-/// @discussion A @c SHMediaItem is used in two distinct ways
-///     1. As the base class of a @c SHMatchedMediaItem, and therefore as the result of a match
-///     2. As a way of associating metadata with reference signatures in a @c SHCustomCatalog
+/// An object that represents the metadata for a reference signature.
 ///
-/// A SHMediaItem contains no required fields and may be entirely blank, they can also contain custom data set with custom keys when making a @c SHCustomCatalog.
-/// 
-/// @note @c SHMediaItem  is not intended to be subclassed further.
+/// This class uses subscripting for the data elements of a custom media item that an existing property doesn't already represent.
+///
+/// Add a readable custom property by extending ``SHMediaItemProperty-struct``  with a key for that property, and by extending this class with a property that uses the key. The following code shows the extensions for an episode number:
+///
+/// ```swift
+/// // Add an episode number to the list of properties.
+/// extension SHMediaItemProperty {
+///     static let episode = SHMediaItemProperty("Episode")
+/// }
+///
+/// // Add a property for returning the episode number using a subscript.
+/// extension SHMediaItem {
+///     var episode: Int? {
+///         return self[.episode] as? Int
+///     }
+/// }
+/// ```
+///
+///
+/// Add your custom property when you create the media item as the following code shows:
+///
+/// ```swift
+/// // Create a new media item and set the title, subtitle, and episode properties.
+/// let mediaItem = SHMediaItem(properties: [.episode: 42,
+///                                          .title: "Question",
+///                                          .subtitle: "The Answer"])
+/// ```
+///
+///
+/// > Note:
+/// > The class of the object that represents a custom object must be one of: `Dictionary`, `Array`, `URL`, `Number`, `String`, `Date`, or `Data`.
 SH_EXPORT NS_SWIFT_SENDABLE API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0))
 @interface SHMediaItem : NSObject <NSSecureCoding, NSCopying>
 
-/// The Shazam Media ID
-/// @note This may be fetched using the key @c SHMediaItemShazamID
+/// The Shazam ID for the song.
 @property (NS_NONATOMIC_IOSONLY, copy, readonly, nullable) NSString *shazamID;
 
-/// The Title
-/// @note This may be fetched using the key @c SHMediaItemTitle
+/// A title for the media item.
 @property (NS_NONATOMIC_IOSONLY, copy, readonly, nullable) NSString *title;
 
-/// The Subtitle
-/// @note This may be fetched using the key @c SHMediaItemSubtitle
+/// A subtitle for the media item.
 @property (NS_NONATOMIC_IOSONLY, copy, readonly, nullable) NSString *subtitle;
 
-/// The Artist
-/// @note This may be fetched using the key @c SHMediaItemArtist
+/// The name of the artist for the media item, such as the performer of a song.
 @property (NS_NONATOMIC_IOSONLY, copy, readonly, nullable) NSString *artist;
 
-/// The Genre Names
-/// @note This may be fetched using the key @c SHMediaItemGenres
-/// @discussion An array of strings representing the genres of the media item. Will return an empty array if there are no genres.
+/// An array of genre names for the media item.
+///
+/// The array is empty if there are no media items.
 @property (NS_NONATOMIC_IOSONLY, strong, readonly) NSArray<NSString *> *genres;
 
-/// The Apple Music ID
-/// @note This may be fetched using the key @c SHMediaItemAppleMusicID
+/// The Apple Music ID for the song.
 @property (NS_NONATOMIC_IOSONLY, copy, readonly, nullable) NSString *appleMusicID;
 
-/// The Apple Music URL
-/// @note This may be fetched using the key @c SHMediaItemAppleMusicURL
+/// A link to the Apple Music page that contains the full information for the song.
 @property (NS_NONATOMIC_IOSONLY, strong, readonly, nullable) NSURL *appleMusicURL;
 
-/// The Web URL
-/// @discussion The URL will point to a page that displays the current object in its entirety
-/// @note This may be fetched using the key @c SHMediaItemWebURL
+/// A link to the Shazam Music catalog page that contains the full information for the song.
+///
+/// This link opens the Shazam app or App Clip if it's available on the device.
 @property (NS_NONATOMIC_IOSONLY, strong, readonly, nullable) NSURL *webURL;
 
-/// The Artwork URL
-/// @note This may be fetched using the key @c SHMediaItemArtworkURL
+/// The URL for artwork for the media item, such as an album cover.
 @property (NS_NONATOMIC_IOSONLY, strong, readonly, nullable) NSURL *artworkURL;
 
-/// The VideoURL
-/// @note This may be fetched using the key @c SHMediaItemVideoURL
+/// The URL for a video for the media item, such as a music video.
 @property (NS_NONATOMIC_IOSONLY, strong, readonly, nullable) NSURL *videoURL;
 
-/// @brief Whether this object represents explicit material
-/// @note This may be fetched using the key @c SHMediaItemExplicitContent
+/// A Boolean value that indicates whether the media item contains explicit content.
 @property (NS_NONATOMIC_IOSONLY, assign, readonly) BOOL explicitContent;
 
-/// @brief The International Standard Recording Code
-/// @note This may be fetched using the key @c SHMediaItemISRC
+/// The International Standard Recording Code (ISRC) for the media item.
 @property (NS_NONATOMIC_IOSONLY, copy, readonly, nullable) NSString *isrc;
 
-/// @brief An array of @c SHRange that indicate the offsets within the reference signature that this media item describes
+/// An array of ranges that indicate the offsets within the reference signature that this media item describes.
 @property (NS_NONATOMIC_IOSONLY, strong, readonly, nonnull) NSArray<SHRange *> *timeRanges API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0)) NS_REFINED_FOR_SWIFT;
 
-/// @brief An array of @c SHRange that indicate the frequency skews in the reference signature that this media item describes
+/// An array of ranges that indicate the frequency skews in the reference signature that this media item describes.
 @property (NS_NONATOMIC_IOSONLY, strong, readonly, nonnull) NSArray<SHRange *> *frequencySkewRanges API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0)) NS_REFINED_FOR_SWIFT;
 
-/// @brief The date when the @c SHMediaItem was created
-/// @note This may be fetched using the key @c SHMediaItemCreationDate
+/// The date the media item was created.
 @property (NS_NONATOMIC_IOSONLY, strong, readonly, nullable) NSDate *creationDate API_AVAILABLE(macos(14.0), ios(17.0), tvos(17.0), watchos(10.0));
 
-/// Construct a new instance with the provided dictionary
-/// @param properties A dictionary of @c SHMediaItemProperty and their values
-/// @discussion You may add your own keys here to return custom data, custom data should conform to NSCoding
+/// Creates a media item object with a dictionary of properties and their associated values.
+///
+/// - Parameters:
+///   - properties: A dictionary that contains the media item properties and their associated values.
 + (instancetype)mediaItemWithProperties:(NSDictionary<SHMediaItemProperty, id> *)properties NS_REFINED_FOR_SWIFT;
 
 #if !0
-/// @brief Fetch a @c SHMediaItem by Shazam ID
-/// @discussion The completionHandler will contain a @c SHMediaItem if the ShazamID is valid, otherwise nil and an error
+/// Requests the media item for the song with the specified Shazam ID.
+///
+/// > Important:
+/// > You can call this method from synchronous code using a completion handler, as shown on this page, or you can call it as an asynchronous method that has the following declaration:
+/// >
+/// > ```swift
+/// > class func fetch(shazamID: String) async throws -> SHMediaItem
+/// > ```
+/// >
+/// > For information about concurrency and asynchronous code in Swift, see <doc://com.apple.documentation/documentation/swift/calling-objective-c-apis-asynchronously>.
+///
+/// - Parameters:
+///   - shazamID: The Shazam ID of the song.
+///   - completionHandler: The completion handler that the system calls with the result of the request.
+///
+///     This block takes the following parameters:
+///
+///     - term `mediaItem`: A media item.
+///     - term `error`: An error object if a problem occurs when fetching the media item; otherwise, `nil`.
+///
 + (void)fetchMediaItemWithShazamID:(NSString *)shazamID completionHandler:(void (NS_SWIFT_SENDABLE ^)(SHMediaItem * __nullable mediaItem, NSError * __nullable error))completionHandler NS_SWIFT_NAME(fetch(shazamID:completionHandler:));
 #endif
 
-/// Retrieve a value using a known key
-/// @param property The `SHMediaItemProperty` for a value
+/// Accesses the property for the specified key for reading.
+///
+/// - Parameters:
+///   - property: The key for the property.
+///
+/// - Returns: The value of the property; otherwise, `nil`.
 - (id)valueForProperty:(SHMediaItemProperty)property NS_SWIFT_UNAVAILABLE("Use subscripting in Swift");
 
-/// Use subscripting to retrieve values
-/// @param key The `SHMediaItemProperty` or custom key for a value
+/// Accesses the property for the specified key for reading.
+///
+/// - Parameters:
+///   - key: The key for the media item property.
+///
+/// - Returns: The value of the property; otherwise, `nil`.
 - (id)objectForKeyedSubscript:(SHMediaItemProperty)key;
 
 + (instancetype)new NS_UNAVAILABLE;
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHMediaLibrary.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHMediaLibrary.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHMediaLibrary.h	2025-04-19 09:03:54
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHMediaLibrary.h	2025-05-23 15:53:01
@@ -6,30 +6,51 @@
 //
 
 #import <Foundation/Foundation.h>
+
 #import <ShazamKit/SHDefines.h>
 #import <ShazamKit/SHMediaItem.h>
 
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
 
-/// @brief @c SHMediaLibrary represents the user's synced Shazam library.
-/// @discussion You can add new @c SHMediaItem instances to the user's library.
+/// An object that represents the user's Shazam library.
+///
+/// Use `SHMediaLibrary` to add matched songs from the Shazam catalog to the user's Shazam library.
+///
+/// > Note:
+/// > There's no system permission necessary to write to the user's Shazam library. Consider requesting permission from the user before adding songs to the library.
 SH_EXPORT API_DEPRECATED("Use SHLibrary instead", macos(12.0, 15.0), ios(15.0, 18.0), tvos(15.0, 18.0), watchos(8.0, 11.0))
 @interface SHMediaLibrary : NSObject
 
-/// @brief Returns an instance of the default Shazam library.
+/// An instance of the user's default Shazam library.
 @property (class, NS_NONATOMIC_IOSONLY, strong, readonly) SHMediaLibrary *defaultLibrary;
 
-/// Adds an array of media items to the user's Shazam library.
+/// Adds an array of songs to the user's Shazam library.
 ///
-/// @discussion For each @c SHMediaItem instance passed in, the following @c SHMediaItemProperty keys will be saved:
-/// @c SHMediaItemShazamID, @c SHMediaItemTitle, @c SHMediaItemSubtitle.
-/// If @c SHMediaItemSubtitle is not set it may fallback to use @c SHMediaItemArtist if available.
+/// > Important:
+/// > You can call this method from synchronous code using a completion handler, as shown on this page, or you can call it as an asynchronous method that has the following declaration:
+/// >
+/// > ```swift
+/// > func add(_ mediaItems: [SHMediaItem]) async throws
+/// > ```
+/// >
+/// > For information about concurrency and asynchronous code in Swift, see <doc://com.apple.documentation/documentation/swift/calling-objective-c-apis-asynchronously>.
 ///
-/// @note @c SHMediaItemShazamID is required for each @c SHMediaItem to be considered valid.
-/// @c SHMediaItemShazamID must be a numeric only string
+/// Saving a song to the user's Shazam library also saves the following media item properties and their associated values:
 ///
-/// @param mediaItems An array containing the @c SHMediaItem objects to be added to the library.
-/// @param completionHandler A block called after all valid @c SHMediaItem objects have been added to the library. If an error occurred, the error parameter will be populated.
+/// - ``SHMediaItemProperty/shazamID``
+/// - ``SHMediaItemProperty/title``
+/// - ``SHMediaItemProperty/subtitle``, or ``SHMediaItemProperty/artist`` if the subtitle is unavailable
+///
+/// > Note:
+/// > Saving to the user's Shazam library works only for songs with a valid ``SHMediaItemProperty/shazamID``.
+///
+/// - Parameters:
+///   - mediaItems: An array of media items that represents the songs to add to the library.
+///   - completionHandler: The system calls this completion block after adding the media items to the library.
+///
+///     This block takes the following parameters:
+///
+///     - term `error`: An error object if a problem occurs when adding any item; otherwise, `nil`.
 - (void)addMediaItems:(NSArray<SHMediaItem *> *)mediaItems completionHandler:(void (NS_SWIFT_SENDABLE ^)(NSError * __nullable error))completionHandler;
 
 - (instancetype)init NS_UNAVAILABLE;
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHRange.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHRange.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHRange.h	2025-04-19 09:03:54
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHRange.h	2025-05-23 15:53:01
@@ -17,19 +17,21 @@
 /// The lowerBound of this time range
 @property (NS_NONATOMIC_IOSONLY, assign, readonly) double lowerBound;
 
-/// The upperBound of this time range, not included in this range
+/// The range's upper bound.
 @property (NS_NONATOMIC_IOSONLY, assign, readonly) double upperBound;
 
-/// Convenience constructor for creating a range
-/// @param lowerBound The lower bound of this range
-/// @param upperBound The upper bound of this range
-/// @note lowerBound should be less than or equal to upperBound
+/// Creates a range with the bounds you specify.
+///
+/// - Parameters:
+///   - lowerBound: The lower bound of the range.
+///   - upperBound: The upper bound of the range.
 + (instancetype)rangeWithLowerBound:(double)lowerBound upperBound:(double)upperBound;
 
-/// Convenience constructor for creating a range
-/// @param lowerBound The lower bound of this range
-/// @param upperBound The upper bound of this range
-/// @note lowerBound should be less than or equal to upperBound
+/// Creates a range with the bounds you specify.
+///
+/// - Parameters:
+///   - lowerBound: The lower bound of the range.
+///   - upperBound: The upper bound of the range.
 - (instancetype)initWithLowerBound:(double)lowerBound upperBound:(double)upperBound NS_DESIGNATED_INITIALIZER;
 
 - (instancetype)init NS_UNAVAILABLE;
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHSession.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHSession.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHSession.h	2025-04-19 04:02:17
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHSession.h	2025-05-24 02:16:27
@@ -16,68 +16,111 @@
 
 @class SHSession;
 
-/// All communication about matches is performed through this delegate.
+/// Methods that the session calls with the result of a match request.
 SH_EXPORT API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0))
 @protocol SHSessionDelegate <NSObject>
 
 @optional
 
-/// @brief A match was found in the @c SHCatalog for the provided @c SHSignature
-/// @param session The @c SHSession that made the match
-/// @param match The @c SHMatch of the matching audio
+/// Tells the delegate that the query signature matches an item in the catalog.
+///
+/// - Parameters:
+///   - session: The session object that performs the match.
+///   - match: The matching items from the catalog.
 - (void)session:(SHSession *)session didFindMatch:(SHMatch *)match;
 
-/// @brief The @c SHSignature did not match anything
-/// @param session The @c SHSession that attempted to match the @c SHSignature
-/// @param signature The @c SHSignature that did not match
-/// @param error An optional error. If simply no match was found this will be set to nil. It will be populated if there was an issue performing the match
+/// Tells the delegate that the query signature doesn't match an item in the catalog, or that there's an error.
+///
+/// You can retry the match if the error indicates an issue in communicating with the catalog server, such as ``SHError/Code/matchAttemptFailed``.
+///
+/// - Parameters:
+///   - session: The session object that performs the match.
+///   - signature: The query signature to use for the match.
+///   - error: The error that occurs; otherwise, `nil`, which indicates that there's no match.
 - (void)session:(SHSession *)session didNotFindMatchForSignature:(SHSignature *)signature error:(nullable NSError *)error;
 
 @end
 
-/// @brief A @c SHSession matches instances of @c SHSignature against a @c SHCatalog
+/// An object that matches a specific audio recording when a segment of that recording is part of captured sound in the Shazam catalog or your custom catalog.
 ///
-/// @discussion A @c SHSession can be used in two distinct ways to match against a @c SHCatalog
+/// Prepare to make matches by:
 ///
-/// 1. Pass a @c SHSignature to the -[SHSession matchSignature:] method and respond to matches sent to the delegate
-///      There is a 1 to 1 relationship between calls to this method and calls to the delegate
-/// 2. Pass a continuous stream of @c AVAudioPCMBuffer to the -[SHSession matchStreamingBuffer:atTime:] method, matches are sent to the delegate.
-///        ShazamKit will convert the buffers in SHSignature objects internally and perform matches against the @c SHCatalog. The details of how the matching
-///        is performed is an implementation detail and is subject to change. As such there will be many callbacks to the delegate per stream of audio, and the same match
-///        may be reported multiple times in succession.
+/// - Creating a session for the catalog that contains the reference signatures
+/// - Adding your delegate that receives the match results
 ///
+/// Search for a match in one of two ways:
+///
+/// - Generate a signature for the captured audio and call ``match(_:)``
+/// - Call ``matchStreamingBuffer(_:at:)`` with a streaming audio buffer, and ShazamKit generates the signature for you
+///
+/// Searching the catalog is asynchronous. The session calls your delegate methods with the result.
+///
+/// Matching songs in Shazam music requires enabling your app to access the catalog. For more information on enabling your app, see [Enable ShazamKit for an App ID](https://developer.apple.com/help/account/configure-app-services/shazamkit).
+///
+/// The code below shows searching for a match in the Shazam catalog using an existing audio buffer:
+///
+/// ```swift
+///// Set up the session.
+///let session = SHSession()
+///
+///// Create a signature from the captured audio buffer.
+///let signatureGenerator = SHSignatureGenerator()
+///try signatureGenerator.append(buffer, at: audioTime)
+///let signature = signatureGenerator.signature()
+///
+///// Check for a match.
+///let result = await session.result(from: signature)
+///
+///// Use the result.
+///switch result {
+///  case .match(let match):
+///       // Match found.
+///  case .noMatch(let signature):
+///       // No match found.
+///  case .error(let error, let signature):
+///       // An error occurred.
+///}
+/// ```
 SH_EXPORT API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0))
 @interface SHSession : NSObject
 
-/// @brief The @c SHCatalog used to initialize this session and which all matches will be made against
+/// The catalog object containing the reference signatures and their associated metadata that the session uses to perform matches.
 @property (NS_NONATOMIC_IOSONLY, strong, readonly) SHCatalog *catalog;
 
-/// @brief A delegate for communicating the results of matching
+/// The object that the session calls with the result of a match request.
 @property (NS_NONATOMIC_IOSONLY, weak) id<SHSessionDelegate> delegate;
 
 
-/// Create A new @c SHSession that searches the Shazam Catalog
+/// Creates a new session object for matching songs in the Shazam Music catalog.
 - (instancetype)init;
 
 
-/// Create A new @c SHSession based upon the supplied @c SHCatalog
-/// @param catalog The store of signatures to match against
+/// Creates a new session object for matching audio in a custom catalog.
+/// 
+///  - Parameters:
+///     - catalog: The catalog that contains the reference audio signatures and their associated metadata.
 - (instancetype)initWithCatalog:(SHCatalog *)catalog;
 
-/// @brief Flow audio buffers for matching into the session
-/// @discussion Audio will be converted into signatures and matched against the @c SHCatalog. Results are communicated through the delegate.
-/// The initial buffer specifies the @c AVAudioFormat and all subsequent buffers must contain the same format otherwise an error will be communicated through
-/// the delegate.
+/// Converts the audio in the buffer to a signature, and searches the reference signatures in the session catalog.
 ///
-/// It is advisable but not required to pass an @c AVAudioTime along with the audio buffer. The audio provided must be contiguous, gaps in the audio will have adverse
-/// effects on the ability to match the audio. The time variable is validated by the session to ensure that the audio is contiguous and mitigate the effect of discontiguous audio.
-/// @param buffer A buffer of audio to be used for recognition
-/// @param time Where in the stream the audio occurs
-/// @note This method only accepts PCM audio formats. The following sample rates are recommended but not required: 48000, 44100, 32000, 16000.
+/// This method continues to generate signatures and perform searches until the audio in the buffer stops, which may result in multiple calls to the ``SHSession/delegate``.
+///
+/// The audio buffer must be in one of the supported formats. For the list of the supported audio formats, see ``SHSignatureGenerator/append(_:at:)``.
+///
+/// To use the microphone as input for the buffer, see <doc:matching-audio-using-the-built-in-microphone>.
+///
+/// > Note:
+/// > You must use the audio format of the first call to this method in the current session in all subsequent calls for the session.
+///
+/// - Parameters:
+///    - buffer: An audio buffer.
+///    - time: The start time of the audio to use for generating the signatures.
 - (void)matchStreamingBuffer:(AVAudioPCMBuffer *)buffer atTime:(nullable AVAudioTime *)time;
 
-/// Match the @c SHSignature against the provided @c SHCatalog
-/// @param signature a @c SHSignature to be matched
+/// Searches for the query signature in the reference signatures that the session catalog contains.
+///
+///- Parameters:
+///  - signature: The signature for searching the catalog of reference signatures.
 - (void)matchSignature:(SHSignature *)signature;
 
 @end
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHSignature.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHSignature.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHSignature.h	2025-04-19 09:03:53
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHSignature.h	2025-05-23 15:53:01
@@ -10,40 +10,38 @@
 
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
 
-/// @brief The @c SHSignature class is an opaque data container that can be used to store recognition data.
-/// @discussion Signatures are a compact lossy representation of the original audio. The original audio cannot
-/// be recreated from a Signature, there exists only enough data to confirm that the signature matches a certain piece of audio
-/// when it is also converted into a Signature. It is similar in utility to a hashing function.
+/// An object that contains the opaque data and other information for a signature.
 ///
-/// Signatures can be matched against any type of audio not just music. The only requirement for a match is that the reference and query
-/// Signatures both contain the exact same pre recorded audio e.g. a live rendition of a song will not match against a studio recorded performance
-/// of the same piece.
+/// Save your signature to a file and share it with others by writing the data to a file. You can use the saved signatures of reference recordings to populate a custom catalog.
 ///
-/// There are exceptions to the requirement for exactly matching audio, a signature is robust against slight changes in frequency and speed.
-///
-/// @note @c SHSignature is not intended to be subclassed
+/// Check whether your captured query signature is long enough to search for a match by comparing ``duration`` to the ``SHCatalog/minimumQuerySignatureDuration`` and ``SHCatalog/maximumQuerySignatureDuration`` of a catalog.
 SH_EXPORT NS_SWIFT_SENDABLE API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0))
 @interface SHSignature : NSObject <NSSecureCoding, NSCopying>
 
-/// @brief The duration of the input audio that this signature is derived from
+/// The duration of the audio you use to generate the signature.
 ///
-/// @discussion The duration may not match the source audio duration exactly, audio that contains portions of silence may
-/// report shorter durations
+/// Audio that contains periods of silence may result in a duration value that's shorter than the full duration of the original audio track.
 @property(NS_NONATOMIC_IOSONLY, assign, readonly) NSTimeInterval duration;
 
-/// The raw data that comprises this signature, this is not audio data
+/// The raw data for the signature.
 @property(NS_NONATOMIC_IOSONLY, strong, readonly) NSData *dataRepresentation;
 
-/// Create a Signature from Signature data
-/// @param dataRepresentation Signature data generated by Shazam, this is not raw audio data
-/// @param error Error if the data was invalid
-/// @return A signature if the data contained a valid signature, nil otherwise
+/// Creates a signature object from raw data.
+///
+/// - Parameters:
+///   - dataRepresentation: The raw data for the signature.
+///   - error: The error that occurs; otherwise, `nil`.
+///
+/// - Returns: A signature if the raw data is a valid signature; otherwise, `nil`.
 + (nullable SHSignature *)signatureWithDataRepresentation:(NSData *)dataRepresentation error:(NSError **)error;
 
-/// Create a Signature from Signature data
-/// @param dataRepresentation Signature data generated by Shazam, this is not raw audio data
-/// @param error Error if the data was invalid
-/// @return A signature if the data contained a valid signature, nil otherwise
+/// Creates a signature object from raw data.
+///
+/// - Parameters:
+///   - dataRepresentation: The raw data for the signature.
+///   - error: The error that occurs; otherwise, `nil`.
+///
+/// - Returns: A signature if the raw data is a valid signature; otherwise, `nil`.
 - (nullable instancetype)initWithDataRepresentation:(NSData *)dataRepresentation error:(NSError **)error NS_DESIGNATED_INITIALIZER;
 
 @end
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHSignatureGenerator.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHSignatureGenerator.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHSignatureGenerator.h	2025-04-19 09:03:54
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/SHSignatureGenerator.h	2025-05-23 15:53:01
@@ -16,31 +16,57 @@
 
 NS_HEADER_AUDIT_BEGIN(nullability, sendability)
 
-/// @brief @c SHSignatureGenerator provides a way to convert audio data into instances of @c SHSignature
+/// An object for converting audio data into a signature.
+///
+/// Create both reference and query signatures using this class.
 SH_EXPORT API_AVAILABLE(macos(12.0), ios(15.0), tvos(15.0), watchos(8.0))
 @interface SHSignatureGenerator : NSObject
 
 #if __has_include(<AVFoundation/AVFoundation.h>)
-/// Create a `SHSignature` from an @c AVAsset.
-/// @param asset An AVAsset that contains audio you would like to convert to a Signature
-/// @discussion The asset can be any type of media that has audio tracks. If the asset has multiple tracks, they
-/// will be mixed into one @c SHSignature
-/// @param completionHandler A block called with the created @c SHSignature or nil and a populated error parameter if a signature could not be created.
+/// Creates a signature with the asset you specify.
+///
+/// > Important:
+/// > You can call this method from synchronous code using a completion handler, as shown on this page, or you can call it as an asynchronous method that has the following declaration:
+/// >
+/// > ```swift
+/// > class func signature(from asset: AVAsset) async throws -> SHSignature
+/// > ```
+/// >
+/// > For information about concurrency and asynchronous code in Swift, see <doc://com.apple.documentation/documentation/swift/calling-objective-c-apis-asynchronously>.
+///
+/// The asset you specify can be any type of media that contains audio tracks. If the asset has multiple tracks, the system mixes them into one ``SHSignature``.
+///
+/// - Parameters:
+///   - asset: An asset that contains the audio to convert.
+///   - completionHandler: The system calls this completion block after creating the signature, or an error if the system couldn't create it.
+///
+///     This block takes the following parameters:
+///
+///     - term `signature`: A new signature instance.
+///     - term error: An error object if a problem occurs when creating thesignature; otherwise, `nil`.
 + (void)generateSignatureFromAsset:(AVAsset *)asset completionHandler:(void (^)(SHSignature * __nullable signature, NSError * __nullable error))completionHandler API_AVAILABLE(macos(13.0), ios(16.0), tvos(16.0), watchos(9.0)) NS_SWIFT_ASYNC_NAME(signature(from:));
 #endif
 
-/// @brief Add audio to the generator
-/// @discussion Audio passed to the generator should be contiguous, passing non contiguous data will affect the quality of the @c SHSignature
-/// produced. Passing the @c AVAudioTime is not required but recommended, it allows the generator to detect when the audio is not contiguous.
-/// This method only accepts PCM audio formats. The following sample rates are recommended but not required: 48000, 44100, 32000, 16000.
-/// @param time Where in the stream the audio represents
-/// @param buffer The audio data to be appended to the signature
-/// @param error An error if there was an issue appending the buffer
+/// Adds audio to the generator.
+///
+/// Using noncontiguous audio may result in a lower-quality signature.
+///
+/// The audio must be PCM at one of these rates:
+///
+/// - `48000` hertz
+/// - `44100` hertz
+/// - `32000` hertz
+/// - `16000` hertz
+///
+/// - Parameters:
+///   - buffer: The audio data to append to the signature generator.
+///   - time: The time position of the start of the audio buffer in the full audio you use to generate the signature.
+///   - error: The error that occurs; otherwise, `nil`.
 - (BOOL)appendBuffer:(AVAudioPCMBuffer *)buffer atTime:(nullable AVAudioTime *)time error:(NSError **)error;
 
-/// @brief Convert the current audio data into a @c SHSignature
-/// @discussion Signature may be called as many times as needed, each time producing a @c SHSignature from
-/// the audio data
+/// Converts the audio buffer into a signature.
+///
+/// - Returns: A signature that ShazamKit generates from the audio buffer.
 - (SHSignature *)signature;
 
 @end
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/ShazamKit.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/ShazamKit.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/ShazamKit.h	2025-04-19 09:03:53
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/ShazamKit.h	2025-05-23 15:53:00
@@ -25,8 +25,5 @@
 
 #if !0
 #import <ShazamKit/SHMediaLibrary.h>
-#endif
-
-#if __has_include(<UniformTypeIdentifiers/UniformTypeIdentifiers.h>)
 #import <ShazamKit/UTType+SHShazamAdditions.h>
 #endif
diff -ruN /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/UTType+SHShazamAdditions.h /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/UTType+SHShazamAdditions.h
--- /Applications/Xcode_16.4.0.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/UTType+SHShazamAdditions.h	2025-04-19 09:03:54
+++ /Applications/Xcode_26.0.0-beta.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS.sdk/System/Library/Frameworks/ShazamKit.framework/Headers/UTType+SHShazamAdditions.h	2025-05-23 15:53:01
@@ -6,6 +6,7 @@
 //
 
 #import <Foundation/Foundation.h>
+
 #import <ShazamKit/SHDefines.h>
 #import <UniformTypeIdentifiers/UniformTypeIdentifiers.h>
 
@@ -23,3 +24,4 @@
 @end
 
 NS_HEADER_AUDIT_END(nullability)
+

Clone this wiki locally