diff --git a/CHANGELOG.md b/CHANGELOG.md index 41ed00b..6b7efa4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,14 @@ # Changelog +## Spotify iOS SDK v2.0.0 + +What's New: +- Added a completionHandler to authorizeAndPlayURI API +- Support for pinned items in Your Library +- Fix crash NSRangeException -[NSConcreteMutableData replaceBytesInRange:withBytes:length:]: +- Fix umbrela header warnings in SpotifyiOS.xcframework +- Bumped the min deployment target version to iOS 12.0 + ## Spotify iOS SDK v1.2.5 What's New: diff --git a/DemoProjects/NowPlayingView/NowPlayingView.xcodeproj/project.pbxproj b/DemoProjects/NowPlayingView/NowPlayingView.xcodeproj/project.pbxproj index 88b1859..a39df09 100644 --- a/DemoProjects/NowPlayingView/NowPlayingView.xcodeproj/project.pbxproj +++ b/DemoProjects/NowPlayingView/NowPlayingView.xcodeproj/project.pbxproj @@ -19,7 +19,6 @@ F4F973F51CAD60320036411D /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F4F973F31CAD60320036411D /* Main.storyboard */; }; F4F973F71CAD60320036411D /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = F4F973F61CAD60320036411D /* Assets.xcassets */; }; F4F973FA1CAD60320036411D /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = F4F973F81CAD60320036411D /* LaunchScreen.storyboard */; }; - F4F974051CAD60C60036411D /* host.entitlements in Resources */ = {isa = PBXBuildFile; fileRef = F4F974041CAD60C60036411D /* host.entitlements */; }; F6EB42E11D2BB01100F57322 /* ContentItemCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6EB42E01D2BB01100F57322 /* ContentItemCell.swift */; }; F6EB42E31D2BB0D800F57322 /* ContentCollectionViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = F6EB42E21D2BB0D800F57322 /* ContentCollectionViewController.swift */; }; /* End PBXBuildFile section */ @@ -52,7 +51,6 @@ F4F973F61CAD60320036411D /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; F4F973F91CAD60320036411D /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; F4F973FB1CAD60320036411D /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - F4F974041CAD60C60036411D /* host.entitlements */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = host.entitlements; sourceTree = ""; }; F4F974081CAD62D40036411D /* NowPlayingView-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NowPlayingView-Bridging-Header.h"; sourceTree = ""; }; F6EB42E01D2BB01100F57322 /* ContentItemCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContentItemCell.swift; sourceTree = ""; }; F6EB42E21D2BB0D800F57322 /* ContentCollectionViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContentCollectionViewController.swift; sourceTree = ""; }; @@ -100,7 +98,6 @@ F4F973F31CAD60320036411D /* Main.storyboard */, F4F973F81CAD60320036411D /* LaunchScreen.storyboard */, F4F973FB1CAD60320036411D /* Info.plist */, - F4F974041CAD60C60036411D /* host.entitlements */, F4F974081CAD62D40036411D /* NowPlayingView-Bridging-Header.h */, 99A0FFE31D38F9B600A90453 /* PlaybackButtonGraphics.swift */, 998FF9BD1D3E54AC003E339B /* ConnectionStatusIndicatorView.swift */, @@ -144,8 +141,9 @@ F4F973E41CAD60320036411D /* Project object */ = { isa = PBXProject; attributes = { + BuildIndependentTargetsInParallel = YES; LastSwiftUpdateCheck = 0720; - LastUpgradeCheck = 1020; + LastUpgradeCheck = 1510; ORGANIZATIONNAME = Spotify; TargetAttributes = { F4F973EB1CAD60320036411D = { @@ -187,7 +185,6 @@ buildActionMask = 2147483647; files = ( F4F973FA1CAD60320036411D /* LaunchScreen.storyboard in Resources */, - F4F974051CAD60C60036411D /* host.entitlements in Resources */, F4F973F71CAD60320036411D /* Assets.xcassets in Resources */, F4F973F51CAD60320036411D /* Main.storyboard in Resources */, ); @@ -238,6 +235,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; @@ -257,6 +255,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -269,6 +268,7 @@ ENABLE_BITCODE = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; FRAMEWORK_SEARCH_PATHS = ../..; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; @@ -297,6 +297,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; @@ -316,6 +317,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -328,6 +330,7 @@ ENABLE_BITCODE = NO; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; FRAMEWORK_SEARCH_PATHS = ../..; GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; diff --git a/DemoProjects/NowPlayingView/NowPlayingView.xcodeproj/xcshareddata/xcschemes/Demo Projects - NowPlayingView.xcscheme b/DemoProjects/NowPlayingView/NowPlayingView.xcodeproj/xcshareddata/xcschemes/Demo Projects - NowPlayingView.xcscheme index 1a9b917..69c70f8 100644 --- a/DemoProjects/NowPlayingView/NowPlayingView.xcodeproj/xcshareddata/xcschemes/Demo Projects - NowPlayingView.xcscheme +++ b/DemoProjects/NowPlayingView/NowPlayingView.xcodeproj/xcshareddata/xcschemes/Demo Projects - NowPlayingView.xcscheme @@ -1,6 +1,6 @@ - - - - + + - - + + + + @@ -39,17 +48,6 @@ - - - - - - - - +@import SpotifyiOS; NS_ASSUME_NONNULL_BEGIN diff --git a/DemoProjects/SPTLoginSampleApp/SPTLoginSampleApp/ViewController.m b/DemoProjects/SPTLoginSampleApp/SPTLoginSampleApp/ViewController.m index 62a1757..93ebb35 100644 --- a/DemoProjects/SPTLoginSampleApp/SPTLoginSampleApp/ViewController.m +++ b/DemoProjects/SPTLoginSampleApp/SPTLoginSampleApp/ViewController.m @@ -55,13 +55,7 @@ - (void)didTapAuthButton:(ConnectButton *)sender /* Start the authorization process. This requires user input. */ - if (@available(iOS 11, *)) { - // Use this on iOS 11 and above to take advantage of SFAuthenticationSession - [self.sessionManager initiateSessionWithScope:scope options:SPTDefaultAuthorizationOption]; - } else { - // Use this on iOS versions < 11 to use SFSafariViewController - [self.sessionManager initiateSessionWithScope:scope options:SPTDefaultAuthorizationOption presentingViewController:self]; - } + [self.sessionManager initiateSessionWithScope:scope options:SPTDefaultAuthorizationOption]; } #pragma mark - SPTSessionManagerDelegate diff --git a/DemoProjects/SPTLoginSampleAppSwift/SPTLoginSampleAppSwift.xcodeproj/project.pbxproj b/DemoProjects/SPTLoginSampleAppSwift/SPTLoginSampleAppSwift.xcodeproj/project.pbxproj index 8eb350a..1990f32 100644 --- a/DemoProjects/SPTLoginSampleAppSwift/SPTLoginSampleAppSwift.xcodeproj/project.pbxproj +++ b/DemoProjects/SPTLoginSampleAppSwift/SPTLoginSampleAppSwift.xcodeproj/project.pbxproj @@ -120,8 +120,9 @@ 54AC7ED420081242008CD692 /* Project object */ = { isa = PBXProject; attributes = { + BuildIndependentTargetsInParallel = YES; LastSwiftUpdateCheck = 0940; - LastUpgradeCheck = 0940; + LastUpgradeCheck = 1510; ORGANIZATIONNAME = Spotify; TargetAttributes = { 54AC7EDB20081243008CD692 = { @@ -190,6 +191,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; @@ -211,6 +213,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -222,6 +225,7 @@ DEBUG_INFORMATION_FORMAT = dwarf; ENABLE_STRICT_OBJC_MSGSEND = YES; ENABLE_TESTABILITY = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; FRAMEWORK_SEARCH_PATHS = "../../**"; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_DYNAMIC_NO_PIC = NO; @@ -237,7 +241,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = YES; ONLY_ACTIVE_ARCH = YES; OTHER_LDFLAGS = "-ObjC"; @@ -252,6 +256,7 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES; CLANG_ANALYZER_NONNULL = YES; CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; @@ -273,6 +278,7 @@ CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_STRICT_PROTOTYPES = YES; CLANG_WARN_SUSPICIOUS_MOVE = YES; @@ -284,6 +290,7 @@ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_USER_SCRIPT_SANDBOXING = YES; FRAMEWORK_SEARCH_PATHS = "../../**"; GCC_C_LANGUAGE_STANDARD = gnu11; GCC_NO_COMMON_BLOCKS = YES; @@ -293,7 +300,7 @@ GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 9.0; + IPHONEOS_DEPLOYMENT_TARGET = 12.0; MTL_ENABLE_DEBUG_INFO = NO; OTHER_LDFLAGS = "-ObjC"; SDKROOT = iphoneos; diff --git a/DemoProjects/SPTLoginSampleAppSwift/SPTLoginSampleAppSwift.xcodeproj/xcshareddata/xcschemes/SPTLoginSampleAppSwift.xcscheme b/DemoProjects/SPTLoginSampleAppSwift/SPTLoginSampleAppSwift.xcodeproj/xcshareddata/xcschemes/SPTLoginSampleAppSwift.xcscheme index b201590..feaa6c8 100644 --- a/DemoProjects/SPTLoginSampleAppSwift/SPTLoginSampleAppSwift.xcodeproj/xcshareddata/xcschemes/SPTLoginSampleAppSwift.xcscheme +++ b/DemoProjects/SPTLoginSampleAppSwift/SPTLoginSampleAppSwift.xcodeproj/xcshareddata/xcschemes/SPTLoginSampleAppSwift.xcscheme @@ -1,6 +1,6 @@ + + + + @@ -39,17 +48,6 @@ - - - - - - - - *)additionalScopes; + additionalScopes:(nullable NSArray *)additionalScopes + completionHandler:(void (^ __nullable)(BOOL success))completionHandler; /** * Open Spotify app to obtain access token and start playback. @@ -209,15 +212,16 @@ typedef NS_ENUM(NSUInteger, SPTAppRemoteLogLevel) { * @param sessionIdentifier An optional unique identifier for this specific session, which is used for analytics purposes. Every new attempt to * connect to the Spotify app should have a new identifier, but the identifier used here should then be reused for the accompanied call to * `connectWithSessionIdentifier:`. + * @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * - * @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if * the Spotify app is installed and can attempt to handle the authorization request. */ -- (BOOL)authorizeAndPlayURI:(NSString *)playURI +- (void)authorizeAndPlayURI:(NSString *)playURI asRadio:(BOOL)asRadio additionalScopes:(nullable NSArray *)additionalScopes - sessionIdentifier:(nullable NSUUID *)sessionIdentifier; + sessionIdentifier:(nullable NSUUID *)sessionIdentifier + completionHandler:(void (^ __nullable)(BOOL success))completionHandler; /** * Parse out an access token or error description from a url passed to application:openURL:options: * diff --git a/SpotifyiOS.framework/Headers/SPTAppRemoteContentItem.h b/SpotifyiOS.framework/Headers/SPTAppRemoteContentItem.h index 2119543..a1d5b42 100644 --- a/SpotifyiOS.framework/Headers/SPTAppRemoteContentItem.h +++ b/SpotifyiOS.framework/Headers/SPTAppRemoteContentItem.h @@ -33,6 +33,9 @@ NS_ASSUME_NONNULL_BEGIN /// Returns `YES` if the item is expected to contain children, otherwise `NO`. @property (nonatomic, assign, readonly, getter=isContainer) BOOL container; +/// Returns `YES` if the item is pinned in Your Library, otherwise `NO`. +@property (nonatomic, assign, readonly, getter=isPinned) BOOL pinnned; + /** A list of the content item's children. diff --git a/SpotifyiOS.framework/Headers/SpotifyAppRemote.h b/SpotifyiOS.framework/Headers/SpotifyAppRemote.h index afce4a6..5383aa5 100644 --- a/SpotifyiOS.framework/Headers/SpotifyAppRemote.h +++ b/SpotifyiOS.framework/Headers/SpotifyAppRemote.h @@ -24,6 +24,8 @@ #import "SPTAppRemoteLibraryState.h" #import "SPTAppRemoteContentItem.h" #import "SPTAppRemotePodcastPlaybackSpeed.h" +#import "SPTAppRemoteConnectivityAPI.h" +#import "SPTAppRemoteConnectivityState.h" #import "SPTConfiguration.h" diff --git a/SpotifyiOS.framework/SpotifyiOS b/SpotifyiOS.framework/SpotifyiOS index d8327c8..5d879dc 100644 Binary files a/SpotifyiOS.framework/SpotifyiOS and b/SpotifyiOS.framework/SpotifyiOS differ diff --git a/SpotifyiOS.framework/Versions/A/Headers/SPTAppRemote.h b/SpotifyiOS.framework/Versions/A/Headers/SPTAppRemote.h index bef85ef..a758a79 100644 --- a/SpotifyiOS.framework/Versions/A/Headers/SPTAppRemote.h +++ b/SpotifyiOS.framework/Versions/A/Headers/SPTAppRemote.h @@ -166,24 +166,26 @@ typedef NS_ENUM(NSUInteger, SPTAppRemoteLogLevel) { * The passed URI will start playing unless Spotify is already playing. * * @param URI The URI to play. Use a blank string to attempt to play the user's last song + * @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * - * @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if * the Spotify app is installed and can attempt to handle the authorization request. */ -- (BOOL)authorizeAndPlayURI:(NSString *)URI; +- (void)authorizeAndPlayURI:(NSString *)URI completionHandler:(void (^ __nullable)(BOOL success))completionHandler; /** * Open Spotify app to obtain access token and start playback. * * @param playURI The URI to play. Use a blank string to attempt to play the user's last song * @param asRadio `YES` to start radio for the given URI. + * @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * - * @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if * the Spotify app is installed and can attempt to handle the authorization request. */ -- (BOOL)authorizeAndPlayURI:(NSString *)playURI asRadio:(BOOL)asRadio; +- (void)authorizeAndPlayURI:(NSString *)playURI + asRadio:(BOOL)asRadio + completionHandler:(void (^ __nullable)(BOOL success))completionHandler; /** * Open Spotify app to obtain access token and start playback. @@ -191,14 +193,15 @@ typedef NS_ENUM(NSUInteger, SPTAppRemoteLogLevel) { * @param playURI The URI to play. Use a blank string to attempt to play the user's last song * @param asRadio `YES` to start radio for the given URI. * @param additionalScopes An array of scopes in addition to `app-remote-control`. Can be nil if you only need `app-remote-control` +* @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * -* @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if * the Spotify app is installed and can attempt to handle the authorization request. */ -- (BOOL)authorizeAndPlayURI:(NSString *)playURI +- (void)authorizeAndPlayURI:(NSString *)playURI asRadio:(BOOL)asRadio - additionalScopes:(nullable NSArray *)additionalScopes; + additionalScopes:(nullable NSArray *)additionalScopes + completionHandler:(void (^ __nullable)(BOOL success))completionHandler; /** * Open Spotify app to obtain access token and start playback. @@ -209,15 +212,16 @@ typedef NS_ENUM(NSUInteger, SPTAppRemoteLogLevel) { * @param sessionIdentifier An optional unique identifier for this specific session, which is used for analytics purposes. Every new attempt to * connect to the Spotify app should have a new identifier, but the identifier used here should then be reused for the accompanied call to * `connectWithSessionIdentifier:`. + * @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * - * @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if * the Spotify app is installed and can attempt to handle the authorization request. */ -- (BOOL)authorizeAndPlayURI:(NSString *)playURI +- (void)authorizeAndPlayURI:(NSString *)playURI asRadio:(BOOL)asRadio additionalScopes:(nullable NSArray *)additionalScopes - sessionIdentifier:(nullable NSUUID *)sessionIdentifier; + sessionIdentifier:(nullable NSUUID *)sessionIdentifier + completionHandler:(void (^ __nullable)(BOOL success))completionHandler; /** * Parse out an access token or error description from a url passed to application:openURL:options: * diff --git a/SpotifyiOS.framework/Versions/A/Headers/SPTAppRemoteContentItem.h b/SpotifyiOS.framework/Versions/A/Headers/SPTAppRemoteContentItem.h index 2119543..a1d5b42 100644 --- a/SpotifyiOS.framework/Versions/A/Headers/SPTAppRemoteContentItem.h +++ b/SpotifyiOS.framework/Versions/A/Headers/SPTAppRemoteContentItem.h @@ -33,6 +33,9 @@ NS_ASSUME_NONNULL_BEGIN /// Returns `YES` if the item is expected to contain children, otherwise `NO`. @property (nonatomic, assign, readonly, getter=isContainer) BOOL container; +/// Returns `YES` if the item is pinned in Your Library, otherwise `NO`. +@property (nonatomic, assign, readonly, getter=isPinned) BOOL pinnned; + /** A list of the content item's children. diff --git a/SpotifyiOS.framework/Versions/A/Headers/SpotifyAppRemote.h b/SpotifyiOS.framework/Versions/A/Headers/SpotifyAppRemote.h index afce4a6..5383aa5 100644 --- a/SpotifyiOS.framework/Versions/A/Headers/SpotifyAppRemote.h +++ b/SpotifyiOS.framework/Versions/A/Headers/SpotifyAppRemote.h @@ -24,6 +24,8 @@ #import "SPTAppRemoteLibraryState.h" #import "SPTAppRemoteContentItem.h" #import "SPTAppRemotePodcastPlaybackSpeed.h" +#import "SPTAppRemoteConnectivityAPI.h" +#import "SPTAppRemoteConnectivityState.h" #import "SPTConfiguration.h" diff --git a/SpotifyiOS.framework/Versions/A/SpotifyiOS b/SpotifyiOS.framework/Versions/A/SpotifyiOS index d8327c8..5d879dc 100644 Binary files a/SpotifyiOS.framework/Versions/A/SpotifyiOS and b/SpotifyiOS.framework/Versions/A/SpotifyiOS differ diff --git a/SpotifyiOS.framework/Versions/Current/Headers/SPTAppRemote.h b/SpotifyiOS.framework/Versions/Current/Headers/SPTAppRemote.h index bef85ef..a758a79 100644 --- a/SpotifyiOS.framework/Versions/Current/Headers/SPTAppRemote.h +++ b/SpotifyiOS.framework/Versions/Current/Headers/SPTAppRemote.h @@ -166,24 +166,26 @@ typedef NS_ENUM(NSUInteger, SPTAppRemoteLogLevel) { * The passed URI will start playing unless Spotify is already playing. * * @param URI The URI to play. Use a blank string to attempt to play the user's last song + * @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * - * @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if * the Spotify app is installed and can attempt to handle the authorization request. */ -- (BOOL)authorizeAndPlayURI:(NSString *)URI; +- (void)authorizeAndPlayURI:(NSString *)URI completionHandler:(void (^ __nullable)(BOOL success))completionHandler; /** * Open Spotify app to obtain access token and start playback. * * @param playURI The URI to play. Use a blank string to attempt to play the user's last song * @param asRadio `YES` to start radio for the given URI. + * @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * - * @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if * the Spotify app is installed and can attempt to handle the authorization request. */ -- (BOOL)authorizeAndPlayURI:(NSString *)playURI asRadio:(BOOL)asRadio; +- (void)authorizeAndPlayURI:(NSString *)playURI + asRadio:(BOOL)asRadio + completionHandler:(void (^ __nullable)(BOOL success))completionHandler; /** * Open Spotify app to obtain access token and start playback. @@ -191,14 +193,15 @@ typedef NS_ENUM(NSUInteger, SPTAppRemoteLogLevel) { * @param playURI The URI to play. Use a blank string to attempt to play the user's last song * @param asRadio `YES` to start radio for the given URI. * @param additionalScopes An array of scopes in addition to `app-remote-control`. Can be nil if you only need `app-remote-control` +* @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * -* @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if * the Spotify app is installed and can attempt to handle the authorization request. */ -- (BOOL)authorizeAndPlayURI:(NSString *)playURI +- (void)authorizeAndPlayURI:(NSString *)playURI asRadio:(BOOL)asRadio - additionalScopes:(nullable NSArray *)additionalScopes; + additionalScopes:(nullable NSArray *)additionalScopes + completionHandler:(void (^ __nullable)(BOOL success))completionHandler; /** * Open Spotify app to obtain access token and start playback. @@ -209,15 +212,16 @@ typedef NS_ENUM(NSUInteger, SPTAppRemoteLogLevel) { * @param sessionIdentifier An optional unique identifier for this specific session, which is used for analytics purposes. Every new attempt to * connect to the Spotify app should have a new identifier, but the identifier used here should then be reused for the accompanied call to * `connectWithSessionIdentifier:`. + * @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * - * @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if * the Spotify app is installed and can attempt to handle the authorization request. */ -- (BOOL)authorizeAndPlayURI:(NSString *)playURI +- (void)authorizeAndPlayURI:(NSString *)playURI asRadio:(BOOL)asRadio additionalScopes:(nullable NSArray *)additionalScopes - sessionIdentifier:(nullable NSUUID *)sessionIdentifier; + sessionIdentifier:(nullable NSUUID *)sessionIdentifier + completionHandler:(void (^ __nullable)(BOOL success))completionHandler; /** * Parse out an access token or error description from a url passed to application:openURL:options: * diff --git a/SpotifyiOS.framework/Versions/Current/Headers/SPTAppRemoteContentItem.h b/SpotifyiOS.framework/Versions/Current/Headers/SPTAppRemoteContentItem.h index 2119543..a1d5b42 100644 --- a/SpotifyiOS.framework/Versions/Current/Headers/SPTAppRemoteContentItem.h +++ b/SpotifyiOS.framework/Versions/Current/Headers/SPTAppRemoteContentItem.h @@ -33,6 +33,9 @@ NS_ASSUME_NONNULL_BEGIN /// Returns `YES` if the item is expected to contain children, otherwise `NO`. @property (nonatomic, assign, readonly, getter=isContainer) BOOL container; +/// Returns `YES` if the item is pinned in Your Library, otherwise `NO`. +@property (nonatomic, assign, readonly, getter=isPinned) BOOL pinnned; + /** A list of the content item's children. diff --git a/SpotifyiOS.framework/Versions/Current/Headers/SpotifyAppRemote.h b/SpotifyiOS.framework/Versions/Current/Headers/SpotifyAppRemote.h index afce4a6..5383aa5 100644 --- a/SpotifyiOS.framework/Versions/Current/Headers/SpotifyAppRemote.h +++ b/SpotifyiOS.framework/Versions/Current/Headers/SpotifyAppRemote.h @@ -24,6 +24,8 @@ #import "SPTAppRemoteLibraryState.h" #import "SPTAppRemoteContentItem.h" #import "SPTAppRemotePodcastPlaybackSpeed.h" +#import "SPTAppRemoteConnectivityAPI.h" +#import "SPTAppRemoteConnectivityState.h" #import "SPTConfiguration.h" diff --git a/SpotifyiOS.framework/Versions/Current/SpotifyiOS b/SpotifyiOS.framework/Versions/Current/SpotifyiOS index d8327c8..5d879dc 100644 Binary files a/SpotifyiOS.framework/Versions/Current/SpotifyiOS and b/SpotifyiOS.framework/Versions/Current/SpotifyiOS differ diff --git a/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Headers/SPTAppRemote.h b/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Headers/SPTAppRemote.h index bef85ef..a758a79 100644 --- a/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Headers/SPTAppRemote.h +++ b/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Headers/SPTAppRemote.h @@ -166,24 +166,26 @@ typedef NS_ENUM(NSUInteger, SPTAppRemoteLogLevel) { * The passed URI will start playing unless Spotify is already playing. * * @param URI The URI to play. Use a blank string to attempt to play the user's last song + * @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * - * @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if * the Spotify app is installed and can attempt to handle the authorization request. */ -- (BOOL)authorizeAndPlayURI:(NSString *)URI; +- (void)authorizeAndPlayURI:(NSString *)URI completionHandler:(void (^ __nullable)(BOOL success))completionHandler; /** * Open Spotify app to obtain access token and start playback. * * @param playURI The URI to play. Use a blank string to attempt to play the user's last song * @param asRadio `YES` to start radio for the given URI. + * @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * - * @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if * the Spotify app is installed and can attempt to handle the authorization request. */ -- (BOOL)authorizeAndPlayURI:(NSString *)playURI asRadio:(BOOL)asRadio; +- (void)authorizeAndPlayURI:(NSString *)playURI + asRadio:(BOOL)asRadio + completionHandler:(void (^ __nullable)(BOOL success))completionHandler; /** * Open Spotify app to obtain access token and start playback. @@ -191,14 +193,15 @@ typedef NS_ENUM(NSUInteger, SPTAppRemoteLogLevel) { * @param playURI The URI to play. Use a blank string to attempt to play the user's last song * @param asRadio `YES` to start radio for the given URI. * @param additionalScopes An array of scopes in addition to `app-remote-control`. Can be nil if you only need `app-remote-control` +* @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * -* @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if * the Spotify app is installed and can attempt to handle the authorization request. */ -- (BOOL)authorizeAndPlayURI:(NSString *)playURI +- (void)authorizeAndPlayURI:(NSString *)playURI asRadio:(BOOL)asRadio - additionalScopes:(nullable NSArray *)additionalScopes; + additionalScopes:(nullable NSArray *)additionalScopes + completionHandler:(void (^ __nullable)(BOOL success))completionHandler; /** * Open Spotify app to obtain access token and start playback. @@ -209,15 +212,16 @@ typedef NS_ENUM(NSUInteger, SPTAppRemoteLogLevel) { * @param sessionIdentifier An optional unique identifier for this specific session, which is used for analytics purposes. Every new attempt to * connect to the Spotify app should have a new identifier, but the identifier used here should then be reused for the accompanied call to * `connectWithSessionIdentifier:`. + * @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * - * @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if * the Spotify app is installed and can attempt to handle the authorization request. */ -- (BOOL)authorizeAndPlayURI:(NSString *)playURI +- (void)authorizeAndPlayURI:(NSString *)playURI asRadio:(BOOL)asRadio additionalScopes:(nullable NSArray *)additionalScopes - sessionIdentifier:(nullable NSUUID *)sessionIdentifier; + sessionIdentifier:(nullable NSUUID *)sessionIdentifier + completionHandler:(void (^ __nullable)(BOOL success))completionHandler; /** * Parse out an access token or error description from a url passed to application:openURL:options: * diff --git a/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Headers/SPTAppRemoteContentItem.h b/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Headers/SPTAppRemoteContentItem.h index 2119543..a1d5b42 100644 --- a/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Headers/SPTAppRemoteContentItem.h +++ b/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Headers/SPTAppRemoteContentItem.h @@ -33,6 +33,9 @@ NS_ASSUME_NONNULL_BEGIN /// Returns `YES` if the item is expected to contain children, otherwise `NO`. @property (nonatomic, assign, readonly, getter=isContainer) BOOL container; +/// Returns `YES` if the item is pinned in Your Library, otherwise `NO`. +@property (nonatomic, assign, readonly, getter=isPinned) BOOL pinnned; + /** A list of the content item's children. diff --git a/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Headers/SpotifyAppRemote.h b/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Headers/SpotifyAppRemote.h index afce4a6..5383aa5 100644 --- a/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Headers/SpotifyAppRemote.h +++ b/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Headers/SpotifyAppRemote.h @@ -24,6 +24,8 @@ #import "SPTAppRemoteLibraryState.h" #import "SPTAppRemoteContentItem.h" #import "SPTAppRemotePodcastPlaybackSpeed.h" +#import "SPTAppRemoteConnectivityAPI.h" +#import "SPTAppRemoteConnectivityState.h" #import "SPTConfiguration.h" diff --git a/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Info.plist b/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Info.plist index 29755ff..7f0f859 100644 Binary files a/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Info.plist and b/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/Info.plist differ diff --git a/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/SpotifyiOS b/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/SpotifyiOS index b0000dc..612fa38 100755 Binary files a/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/SpotifyiOS and b/SpotifyiOS.xcframework/ios-arm64/SpotifyiOS.framework/SpotifyiOS differ diff --git a/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Headers/SPTAppRemote.h b/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Headers/SPTAppRemote.h index bef85ef..a758a79 100644 --- a/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Headers/SPTAppRemote.h +++ b/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Headers/SPTAppRemote.h @@ -166,24 +166,26 @@ typedef NS_ENUM(NSUInteger, SPTAppRemoteLogLevel) { * The passed URI will start playing unless Spotify is already playing. * * @param URI The URI to play. Use a blank string to attempt to play the user's last song + * @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * - * @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if * the Spotify app is installed and can attempt to handle the authorization request. */ -- (BOOL)authorizeAndPlayURI:(NSString *)URI; +- (void)authorizeAndPlayURI:(NSString *)URI completionHandler:(void (^ __nullable)(BOOL success))completionHandler; /** * Open Spotify app to obtain access token and start playback. * * @param playURI The URI to play. Use a blank string to attempt to play the user's last song * @param asRadio `YES` to start radio for the given URI. + * @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * - * @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if * the Spotify app is installed and can attempt to handle the authorization request. */ -- (BOOL)authorizeAndPlayURI:(NSString *)playURI asRadio:(BOOL)asRadio; +- (void)authorizeAndPlayURI:(NSString *)playURI + asRadio:(BOOL)asRadio + completionHandler:(void (^ __nullable)(BOOL success))completionHandler; /** * Open Spotify app to obtain access token and start playback. @@ -191,14 +193,15 @@ typedef NS_ENUM(NSUInteger, SPTAppRemoteLogLevel) { * @param playURI The URI to play. Use a blank string to attempt to play the user's last song * @param asRadio `YES` to start radio for the given URI. * @param additionalScopes An array of scopes in addition to `app-remote-control`. Can be nil if you only need `app-remote-control` +* @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * -* @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if * the Spotify app is installed and can attempt to handle the authorization request. */ -- (BOOL)authorizeAndPlayURI:(NSString *)playURI +- (void)authorizeAndPlayURI:(NSString *)playURI asRadio:(BOOL)asRadio - additionalScopes:(nullable NSArray *)additionalScopes; + additionalScopes:(nullable NSArray *)additionalScopes + completionHandler:(void (^ __nullable)(BOOL success))completionHandler; /** * Open Spotify app to obtain access token and start playback. @@ -209,15 +212,16 @@ typedef NS_ENUM(NSUInteger, SPTAppRemoteLogLevel) { * @param sessionIdentifier An optional unique identifier for this specific session, which is used for analytics purposes. Every new attempt to * connect to the Spotify app should have a new identifier, but the identifier used here should then be reused for the accompanied call to * `connectWithSessionIdentifier:`. + * @param completionHandler `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * - * @return `YES` if the Spotify app is installed and an authorization attempt can be made, otherwise `NO`. * Note: The return `BOOL` here is not a measure of whether or not authentication succeeded, only a check if * the Spotify app is installed and can attempt to handle the authorization request. */ -- (BOOL)authorizeAndPlayURI:(NSString *)playURI +- (void)authorizeAndPlayURI:(NSString *)playURI asRadio:(BOOL)asRadio additionalScopes:(nullable NSArray *)additionalScopes - sessionIdentifier:(nullable NSUUID *)sessionIdentifier; + sessionIdentifier:(nullable NSUUID *)sessionIdentifier + completionHandler:(void (^ __nullable)(BOOL success))completionHandler; /** * Parse out an access token or error description from a url passed to application:openURL:options: * diff --git a/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Headers/SPTAppRemoteContentItem.h b/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Headers/SPTAppRemoteContentItem.h index 2119543..a1d5b42 100644 --- a/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Headers/SPTAppRemoteContentItem.h +++ b/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Headers/SPTAppRemoteContentItem.h @@ -33,6 +33,9 @@ NS_ASSUME_NONNULL_BEGIN /// Returns `YES` if the item is expected to contain children, otherwise `NO`. @property (nonatomic, assign, readonly, getter=isContainer) BOOL container; +/// Returns `YES` if the item is pinned in Your Library, otherwise `NO`. +@property (nonatomic, assign, readonly, getter=isPinned) BOOL pinnned; + /** A list of the content item's children. diff --git a/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Headers/SpotifyAppRemote.h b/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Headers/SpotifyAppRemote.h index afce4a6..5383aa5 100644 --- a/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Headers/SpotifyAppRemote.h +++ b/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Headers/SpotifyAppRemote.h @@ -24,6 +24,8 @@ #import "SPTAppRemoteLibraryState.h" #import "SPTAppRemoteContentItem.h" #import "SPTAppRemotePodcastPlaybackSpeed.h" +#import "SPTAppRemoteConnectivityAPI.h" +#import "SPTAppRemoteConnectivityState.h" #import "SPTConfiguration.h" diff --git a/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Info.plist b/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Info.plist index d458e3c..18589fb 100644 Binary files a/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Info.plist and b/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/Info.plist differ diff --git a/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/SpotifyiOS b/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/SpotifyiOS index 9c3271f..aeddb97 100755 Binary files a/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/SpotifyiOS and b/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/SpotifyiOS differ diff --git a/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/_CodeSignature/CodeResources b/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/_CodeSignature/CodeResources index 952c3b8..be0a021 100644 --- a/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/_CodeSignature/CodeResources +++ b/SpotifyiOS.xcframework/ios-arm64_x86_64-simulator/SpotifyiOS.framework/_CodeSignature/CodeResources @@ -6,7 +6,7 @@ Headers/SPTAppRemote.h - t7Hh0L+Ak3xs6WIBPjMos5RegOE= + vp2fDLrEgvwm5wd1GwLK2CnY1/4= Headers/SPTAppRemoteAlbum.h @@ -38,7 +38,7 @@ Headers/SPTAppRemoteContentItem.h - tkJ3T/eZcZGrEXO2Js63LB6y8TY= + hO4Xt+59R4BoPfF0y7mIMcQTTiY= Headers/SPTAppRemoteCrossfadeState.h @@ -118,7 +118,7 @@ Headers/SpotifyAppRemote.h - TCwc+uBsEd4YUZOvpso42XL5VyQ= + 1Cw+jZPqfjJ5sc6yW7xoPHNN2fU= Headers/SpotifyiOS.h @@ -126,7 +126,7 @@ Info.plist - mByYLZyZ8HkCZUmDX+2K2RIBHDM= + /v/AhOv6QcQ/6v7/aN8A5Rxcjck= Modules/module.modulemap @@ -141,21 +141,13 @@ Headers/SPTAppRemote.h - hash - - t7Hh0L+Ak3xs6WIBPjMos5RegOE= - hash2 - n1eb/urgmLhozCxMSEHITpWZ0/jAwg7Iw5s8W+IQhZQ= + LqO/oRsmWu5uFGJuYm2xmaj7Lq4bdmYhyYqD/nVFR8w= Headers/SPTAppRemoteAlbum.h - hash - - Lu2h8RV/1rCYVe0UeVYTpq08R0s= - hash2 juYHeLMlaqhRmfOQgyPv3+mqe19WB9c/yN9YhZmYkuw= @@ -163,10 +155,6 @@ Headers/SPTAppRemoteArtist.h - hash - - tE8Iok89gLPlWD3mhRcBWnvJ7LM= - hash2 16uyxiFbm57Zbm6EvDLKut7wUBQYMY0gqsco8+e1EUQ= @@ -174,10 +162,6 @@ Headers/SPTAppRemoteCommon.h - hash - - CpelKULwWd0nTTZbrWggK9Wh1Sk= - hash2 w2tXhJ6V84gaIx/oufHMM0aVRj6s5J1qhoHN/N8dwKA= @@ -185,10 +169,6 @@ Headers/SPTAppRemoteConnectionParams.h - hash - - 5Q+ZskgYeMEl9/QUrJEGrIOt/qU= - hash2 YBy/6s0WAEfEy7DbEx+Y7Emavnp8+95MrmRfai1kCXI= @@ -196,10 +176,6 @@ Headers/SPTAppRemoteConnectivityAPI.h - hash - - 1IsWgCd35d9eLZ1bLK9rcc42SC4= - hash2 y39A3+0t/j/EkXSsm0S/dJ/bbq6oPB+x7VzRh9UPF6I= @@ -207,10 +183,6 @@ Headers/SPTAppRemoteConnectivityState.h - hash - - gQ/++ZcqYbuCiOwa5pfKqlY081s= - hash2 OXTYAMLmKRT8pEPD3x5G+Srjfc6genLNyv7/+LONxZE= @@ -218,10 +190,6 @@ Headers/SPTAppRemoteContentAPI.h - hash - - 0CSzqvLvOMUxpLRCSBx47RDBMdA= - hash2 wUxkL7K8laoKaNERxEMy7g1idgkQHHEcXkWDTd502Lc= @@ -229,21 +197,13 @@ Headers/SPTAppRemoteContentItem.h - hash - - tkJ3T/eZcZGrEXO2Js63LB6y8TY= - hash2 - xJQbxcr/OCWc0bREbNhIcHee/B4hx1LXlatNxlT4/ak= + OVONqE0kPMPEPtBmg6qBJyk13EX7AS+Gty4eabVgX10= Headers/SPTAppRemoteCrossfadeState.h - hash - - USFdXS57TktpjTBwfq4MRMR5AR8= - hash2 06hbkMdjdn6+wjqoIYXh27mnu6W2fKZ6Q0LPUQ8I85M= @@ -251,10 +211,6 @@ Headers/SPTAppRemoteImageAPI.h - hash - - cFwXJG6kY/Wp9abR7/JSlGRjVhU= - hash2 IZe/KdziuyH++/XzVhual9PbJGOmoSITmoGzKUDXxm0= @@ -262,10 +218,6 @@ Headers/SPTAppRemoteImageRepresentable.h - hash - - ciJ5/qk+pvsaWmK/Htwzo8VWV+I= - hash2 gZBSnduQFKgPAyxGlhOITe/t2W4V3Wbn8s4rwLOfz+E= @@ -273,10 +225,6 @@ Headers/SPTAppRemoteLibraryState.h - hash - - SVMsqEYwTZpjyW7aoWdcj/WlP7k= - hash2 /eJQTzpaVEJiOoqG2rKbd+0WCitm5v/ii0bcBbF+bN8= @@ -284,10 +232,6 @@ Headers/SPTAppRemotePlaybackOptions.h - hash - - pvw2bdL4fv6RTSBuMCc9K5QevCQ= - hash2 1G7XYL6zsUzdDiLHAk90M4xKRAsCcnG0anx7hJtBOIw= @@ -295,10 +239,6 @@ Headers/SPTAppRemotePlaybackRestrictions.h - hash - - ALUn1+dXGFf0AEY4mWOSFz4F3qg= - hash2 +N64MGaUhioHAEuekcSrvVl1FcxznUei5Yq1/KkNei0= @@ -306,10 +246,6 @@ Headers/SPTAppRemotePlayerAPI.h - hash - - krhVrXqBo4Nh4YXRuHZURfKclEE= - hash2 6z0uDE9BpPOZKQnKlWPNWCwR/SI0sNAdsE9bBd8vBPM= @@ -317,10 +253,6 @@ Headers/SPTAppRemotePlayerState.h - hash - - 0nUxiikB1mLHRqFJodmtSGL1hqo= - hash2 7Ll+4R7t6Q6NmK8hPnM9+eTrmWR1giwbO0tl3gNveGg= @@ -328,10 +260,6 @@ Headers/SPTAppRemotePodcastPlaybackSpeed.h - hash - - buVPJyc1tr0zVzlF8BxtP1fmG2s= - hash2 K6cJayK1RuCic1Fs7eLWuw6H0MhhoRWO7Qfvn4NOW0s= @@ -339,10 +267,6 @@ Headers/SPTAppRemoteTrack.h - hash - - v7ZLVkQtBEpkm+4SivDvn3tYr0M= - hash2 z1NcXcgGzKWhIOZevAQkV2xci5z/j6p8DOz2fc8daAQ= @@ -350,10 +274,6 @@ Headers/SPTAppRemoteUserAPI.h - hash - - jqgSBg6Bc1Aae/ON6m2ZsusMyoY= - hash2 TwgrVtdlg5ymXlTu1AUGCYsgADjaiPCfAw3xtP4Ni+0= @@ -361,10 +281,6 @@ Headers/SPTAppRemoteUserCapabilities.h - hash - - On4cqNDucPiWZnxsw2L7e02TifQ= - hash2 rgzoWbjiSQUKhTH4hzYJo1V4oOZ4xFWukaED0hRL7yw= @@ -372,10 +288,6 @@ Headers/SPTConfiguration.h - hash - - wInZ+pQ74rpgg+DSyN9GdZEoRVI= - hash2 KOEVP54qMgj9xnvGAjhJOZfDI84RSGqCmPCUA7D5qXs= @@ -383,10 +295,6 @@ Headers/SPTError.h - hash - - Kj+zm7PGIYwZLO3nL5NfqmfXVXk= - hash2 I3Wuh5U8eLBeuTGWV/yJYUs5Atyxua9PVcNY/2cngUw= @@ -394,10 +302,6 @@ Headers/SPTLogin.h - hash - - ZPUkIqDFb0qI+2kxt9cwkiviDko= - hash2 3ztxaTf7CakFIb3Taz03z0g6SIig46Typzij8SFOjhQ= @@ -405,10 +309,6 @@ Headers/SPTMacros.h - hash - - 2idMsqzDSas1N9J6xTuIf5w7ozI= - hash2 UnnsQX3ImXUW0a1tx8DJP31c400JMOqw3gBvpITN3ZQ= @@ -416,10 +316,6 @@ Headers/SPTScope.h - hash - - F575KcNSsah0efQcJ9NxqhMj1XU= - hash2 oZRtWZZrHNdvliwGwMDUAH/E2Vm6ndbJY/bjqznGmMk= @@ -427,10 +323,6 @@ Headers/SPTSession.h - hash - - tlKyXr4cYHsmCVT1Pirrn7YD35M= - hash2 vBWbY6+HvUhHlV9tJR+cTDCIm7PX7qYms/CZ4o6rdE8= @@ -438,10 +330,6 @@ Headers/SPTSessionManager.h - hash - - evF+aCKdg+ryTNUXk5Eik/6MNOk= - hash2 p/WBdGNx2Obgjj9TAAjhS6QP/j80z8ShuFmr6uQdNZA= @@ -449,21 +337,13 @@ Headers/SpotifyAppRemote.h - hash - - TCwc+uBsEd4YUZOvpso42XL5VyQ= - hash2 - qmvRjoF49m2IoRzbsHDQHB2LJu8WgF14k9gGWPiBVvE= + 0ObwzhpBLFLDyQYujNSwdCRrHo9QoTRQWSOlQ82MHyM= Headers/SpotifyiOS.h - hash - - q2AWpJkisBaRyAAIh23bnigAQec= - hash2 w/SJykKvp2r09Ybp14YnSuITltaCZXKnBTWeQ1NILHM= @@ -471,10 +351,6 @@ Modules/module.modulemap - hash - - bSv5rrubzka9LTf5wONuMfVl89g= - hash2 vR9YKCxR0961pUp2+RjzaFT70qVubKGYzMnmFbHJRXg= @@ -482,10 +358,6 @@ PrivacyInfo.xcprivacy - hash - - AL1dh5ctObXBjoBiabSJ86M3HQs= - hash2 WpuPwM3bECAbtHzCgEs/AExyUUdmItJb/E61TtRuEIQ= diff --git a/docs/auth.md b/docs/auth.md index e68ac74..18b178e 100644 --- a/docs/auth.md +++ b/docs/auth.md @@ -61,11 +61,5 @@ The main entry point for authentication if you need to authorize without startin */ SPTScope scope = SPTUserFollowReadScope | SPTAppRemoteControlScope; - if (@available(iOS 11, *)) { - // Use this on iOS 11 and above to take advantage of SFAuthenticationSession - [self.sessionManager initiateSessionWithScope:scope options:SPTDefaultAuthorizationOption]; - } else { - // Use this on iOS versions < 11 to use SFSafariViewController - [self.sessionManager initiateSessionWithScope:scope options:SPTDefaultAuthorizationOption presentingViewController:self]; - } + [self.sessionManager initiateSessionWithScope:scope options:SPTDefaultAuthorizationOption]; ``` diff --git a/docs/html/Blocks/SPTAppRemoteCallback.html b/docs/html/Blocks/SPTAppRemoteCallback.html index 37c9205..b22061e 100644 --- a/docs/html/Blocks/SPTAppRemoteCallback.html +++ b/docs/html/Blocks/SPTAppRemoteCallback.html @@ -112,7 +112,7 @@

Declared In