From 88188ea7992a90e66db694e9fc1b304a59608044 Mon Sep 17 00:00:00 2001 From: lipengwei <lipengwei@nianben.com> Date: Thu, 26 Sep 2019 12:29:34 +0800 Subject: [PATCH] 3.8.3 --- frameworks/FBSDKCoreKit.framework/Headers/FBSDKAccessToken.h | 150 ++++++++++++++++++++++++++++++++------------------ 1 files changed, 96 insertions(+), 54 deletions(-) diff --git a/frameworks/FBSDKCoreKit.framework/Headers/FBSDKAccessToken.h b/frameworks/FBSDKCoreKit.framework/Headers/FBSDKAccessToken.h index c712416..94f9f8f 100644 --- a/frameworks/FBSDKCoreKit.framework/Headers/FBSDKAccessToken.h +++ b/frameworks/FBSDKCoreKit.framework/Headers/FBSDKAccessToken.h @@ -20,7 +20,10 @@ #import <FBSDKCoreKit/FBSDKCopying.h> #import <FBSDKCoreKit/FBSDKGraphRequestConnection.h> -#import <FBSDKCoreKit/FBSDKMacros.h> + +NS_ASSUME_NONNULL_BEGIN + +#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0 /** Notification indicating that the `currentAccessToken` has changed. @@ -29,7 +32,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 +61,172 @@ 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; /** 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. + @param permission The permission to check. */ -- (BOOL)hasGranted:(NSString *)permission; +- (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