From 49b8839fda3439edc31581527e84036e58f55f0f Mon Sep 17 00:00:00 2001 From: lpw <pengwei.li@gamehollywood.com> Date: Tue, 26 Jan 2021 09:43:00 +0800 Subject: [PATCH] 3.9.2 --- frameworks/FBSDKCoreKit.framework/Headers/FBSDKAccessToken.h | 196 +++++++++++++++++++++++++++++++++++-------------- 1 files changed, 140 insertions(+), 56 deletions(-) diff --git a/frameworks/FBSDKCoreKit.framework/Headers/FBSDKAccessToken.h b/frameworks/FBSDKCoreKit.framework/Headers/FBSDKAccessToken.h index c712416..82a9b3d 100644 --- a/frameworks/FBSDKCoreKit.framework/Headers/FBSDKAccessToken.h +++ b/frameworks/FBSDKCoreKit.framework/Headers/FBSDKAccessToken.h @@ -18,9 +18,17 @@ #import <Foundation/Foundation.h> -#import <FBSDKCoreKit/FBSDKCopying.h> +#import "FBSDKCopying.h" + +#ifdef BUCK #import <FBSDKCoreKit/FBSDKGraphRequestConnection.h> -#import <FBSDKCoreKit/FBSDKMacros.h> +#else +#import "FBSDKGraphRequestConnection.h" +#endif + +NS_ASSUME_NONNULL_BEGIN + +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0 /** Notification indicating that the `currentAccessToken` has changed. @@ -29,7 +37,21 @@ `FBSDKAccessTokenChangeOldKey` and `FBSDKAccessTokenChangeNewKey`. */ -FBSDK_EXTERN NSString *const FBSDKAccessTokenDidChangeNotification; +FOUNDATION_EXPORT NSNotificationName const FBSDKAccessTokenDidChangeNotification +NS_SWIFT_NAME(AccessTokenDidChange); + +#else + +/** + Notification indicating that the `currentAccessToken` has changed. + + the userInfo dictionary of the notification will contain keys + `FBSDKAccessTokenChangeOldKey` and + `FBSDKAccessTokenChangeNewKey`. + */ +FOUNDATION_EXPORT NSString *const FBSDKAccessTokenDidChangeNotification +NS_SWIFT_NAME(AccessTokenDidChangeNotification); +#endif /** A key in the notification's userInfo that will be set @@ -44,147 +66,209 @@ of an access token, this key will also exist since the access token is moving from a null state (no user) to a non-null state (user). */ -FBSDK_EXTERN NSString *const FBSDKAccessTokenDidChangeUserID; +FOUNDATION_EXPORT NSString *const FBSDKAccessTokenDidChangeUserIDKey +NS_SWIFT_NAME(AccessTokenDidChangeUserIDKey); /* key in notification's userInfo object for getting the old token. If there was no old token, the key will not be present. */ -FBSDK_EXTERN NSString *const FBSDKAccessTokenChangeOldKey; +FOUNDATION_EXPORT NSString *const FBSDKAccessTokenChangeOldKey +NS_SWIFT_NAME(AccessTokenChangeOldKey); /* key in notification's userInfo object for getting the new token. If there is no new token, the key will not be present. */ -FBSDK_EXTERN NSString *const FBSDKAccessTokenChangeNewKey; +FOUNDATION_EXPORT NSString *const FBSDKAccessTokenChangeNewKey +NS_SWIFT_NAME(AccessTokenChangeNewKey); /* A key in the notification's userInfo that will be set if and only if the token has expired. */ -FBSDK_EXTERN NSString *const FBSDKAccessTokenDidExpire; +FOUNDATION_EXPORT NSString *const FBSDKAccessTokenDidExpireKey +NS_SWIFT_NAME(AccessTokenDidExpireKey); /** Represents an immutable access token for using Facebook services. */ +NS_SWIFT_NAME(AccessToken) @interface FBSDKAccessToken : NSObject<FBSDKCopying, NSSecureCoding> + + +/** + The "global" access token that represents the currently logged in user. + + The `currentAccessToken` is a convenient representation of the token of the + current user and is used by other SDK components (like `FBSDKLoginManager`). + */ +@property (class, nonatomic, copy, nullable) FBSDKAccessToken *currentAccessToken; + +/** + Returns YES if currentAccessToken is not nil AND currentAccessToken is not expired + + */ +@property (class, nonatomic, assign, readonly, getter=isCurrentAccessTokenActive) BOOL currentAccessTokenIsActive; /** Returns the app ID. */ -@property (readonly, copy, nonatomic) NSString *appID; +@property (nonatomic, copy, readonly) NSString *appID; + +/** + Returns the expiration date for data access + */ +@property (nonatomic, copy, readonly) NSDate *dataAccessExpirationDate; /** Returns the known declined permissions. */ -@property (readonly, copy, nonatomic) NSSet *declinedPermissions; +@property (nonatomic, copy, readonly) NSSet<NSString *> *declinedPermissions +NS_REFINED_FOR_SWIFT; + +/** + Returns the known declined permissions. + */ +@property (nonatomic, copy, readonly) NSSet<NSString *> *expiredPermissions +NS_REFINED_FOR_SWIFT; /** Returns the expiration date. */ -@property (readonly, copy, nonatomic) NSDate *expirationDate; +@property (nonatomic, copy, readonly) NSDate *expirationDate; /** Returns the known granted permissions. */ -@property (readonly, copy, nonatomic) NSSet *permissions; +@property (nonatomic, copy, readonly) NSSet<NSString *> *permissions +NS_REFINED_FOR_SWIFT; /** Returns the date the token was last refreshed. */ -@property (readonly, copy, nonatomic) NSDate *refreshDate; +@property (nonatomic, copy, readonly) NSDate *refreshDate; /** Returns the opaque token string. */ -@property (readonly, copy, nonatomic) NSString *tokenString; +@property (nonatomic, copy, readonly) NSString *tokenString; /** Returns the user ID. */ -@property (readonly, copy, nonatomic) NSString *userID; +@property (nonatomic, copy, readonly) NSString *userID; + +/** + The graph domain where this access token is valid. + */ +@property (nonatomic, copy, readonly) NSString *graphDomain; /** Returns whether the access token is expired by checking its expirationDate property */ -@property (readonly, assign, nonatomic, getter = isExpired) BOOL expired; +@property (readonly, assign, nonatomic, getter=isExpired) BOOL expired; + +/** + Returns whether user data access is still active for the given access token + */ +@property (readonly, assign, nonatomic, getter=isDataAccessExpired) BOOL dataAccessExpired; - (instancetype)init NS_UNAVAILABLE; + (instancetype)new NS_UNAVAILABLE; /** - Initializes a new instance. - - Parameter tokenString: the opaque token string. - - Parameter permissions: the granted permissions. Note this is converted to NSSet and is only + Initializes a new instance. + @param tokenString the opaque token string. + @param permissions the granted permissions. Note this is converted to NSSet and is only an NSArray for the convenience of literal syntax. - - Parameter declinedPermissions: the declined permissions. Note this is converted to NSSet and is only + @param declinedPermissions the declined permissions. Note this is converted to NSSet and is only an NSArray for the convenience of literal syntax. - - Parameter appID: the app ID. - - Parameter userID: the user ID. - - Parameter expirationDate: the optional expiration date (defaults to distantFuture). - - Parameter refreshDate: the optional date the token was last refreshed (defaults to today). + @param expiredPermissions the expired permissions. Note this is converted to NSSet and is only + an NSArray for the convenience of literal syntax. + @param appID the app ID. + @param userID the user ID. + @param expirationDate the optional expiration date (defaults to distantFuture). + @param refreshDate the optional date the token was last refreshed (defaults to today). + @param dataAccessExpirationDate the date which data access will expire for the given user + (defaults to distantFuture). This initializer should only be used for advanced apps that manage tokens explicitly. Typical login flows only need to use `FBSDKLoginManager` along with `+currentAccessToken`. */ - (instancetype)initWithTokenString:(NSString *)tokenString - permissions:(NSArray *)permissions - declinedPermissions:(NSArray *)declinedPermissions + permissions:(NSArray<NSString *> *)permissions + declinedPermissions:(NSArray<NSString *> *)declinedPermissions + expiredPermissions:(NSArray<NSString *> *)expiredPermissions appID:(NSString *)appID userID:(NSString *)userID - expirationDate:(NSDate *)expirationDate - refreshDate:(NSDate *)refreshDate + expirationDate:(nullable NSDate *)expirationDate + refreshDate:(nullable NSDate *)refreshDate + dataAccessExpirationDate:(nullable NSDate *)dataAccessExpirationDate NS_DESIGNATED_INITIALIZER; /** - Convenience getter to determine if a permission has been granted - - Parameter permission: The permission to check. + Convenience initializer. + @param tokenString the opaque token string. + @param permissions the granted permissions. Note this is converted to NSSet and is only + an NSArray for the convenience of literal syntax. + @param declinedPermissions the declined permissions. Note this is converted to NSSet and is only + an NSArray for the convenience of literal syntax. + @param expiredPermissions the expired permissions. Note this is converted to NSSet and is only + an NSArray for the convenience of literal syntax. + @param appID the app ID. + @param userID the user ID. + @param expirationDate the optional expiration date (defaults to distantFuture). + @param refreshDate the optional date the token was last refreshed (defaults to today). + @param dataAccessExpirationDate the date which data access will expire for the given user + (defaults to distantFuture). + @param graphDomain the domain this access token can be used in. + + This initializer should only be used for advanced apps that + manage tokens explicitly. Typical login flows only need to use `FBSDKLoginManager` + along with `+currentAccessToken`. */ -- (BOOL)hasGranted:(NSString *)permission; +- (instancetype)initWithTokenString:(NSString *)tokenString + permissions:(NSArray<NSString *> *)permissions + declinedPermissions:(NSArray<NSString *> *)declinedPermissions + expiredPermissions:(NSArray<NSString *> *)expiredPermissions + appID:(NSString *)appID + userID:(NSString *)userID + expirationDate:(nullable NSDate *)expirationDate + refreshDate:(nullable NSDate *)refreshDate + dataAccessExpirationDate:(nullable NSDate *)dataAccessExpirationDate + graphDomain:(nullable NSString *)graphDomain; + +/** + Convenience getter to determine if a permission has been granted + @param permission The permission to check. + */ +- (BOOL)hasGranted:(NSString *)permission +NS_SWIFT_NAME(hasGranted(permission:)); /** Compares the receiver to another FBSDKAccessToken - - Parameter token: The other token - - Returns: YES if the receiver's values are equal to the other token's values; otherwise NO + @param token The other token + @return YES if the receiver's values are equal to the other token's values; otherwise NO */ - (BOOL)isEqualToAccessToken:(FBSDKAccessToken *)token; /** - Returns the "global" access token that represents the currently logged in user. - - The `currentAccessToken` is a convenient representation of the token of the - current user and is used by other SDK components (like `FBSDKLoginManager`). - */ -+ (FBSDKAccessToken *)currentAccessToken; - -/** - Returns YES if currentAccessToken is not nil AND currentAccessToken is not expired - - */ -+ (BOOL)currentAccessTokenIsActive; - -/** - Sets the "global" access token that represents the currently logged in user. - - Parameter token: The access token to set. - - This will broadcast a notification and save the token to the app keychain. - */ -+ (void)setCurrentAccessToken:(FBSDKAccessToken *)token; - -/** Refresh the current access token's permission state and extend the token's expiration date, if possible. - - Parameter completionHandler: an optional callback handler that can surface any errors related to permission refreshing. + @param completionHandler an optional callback handler that can surface any errors related to permission refreshing. On a successful refresh, the currentAccessToken will be updated so you typically only need to observe the `FBSDKAccessTokenDidChangeNotification` notification. If a token is already expired, it cannot be refreshed. */ -+ (void)refreshCurrentAccessToken:(FBSDKGraphRequestHandler)completionHandler; ++ (void)refreshCurrentAccessToken:(nullable FBSDKGraphRequestBlock)completionHandler; @end + +NS_ASSUME_NONNULL_END -- Gitblit v1.8.0