From b19a78b27247f5f0761c35b5b3e8a41876eabb05 Mon Sep 17 00:00:00 2001 From: lpw <pengwei.li@gamehollywood.com> Date: Tue, 20 Apr 2021 17:18:32 +0800 Subject: [PATCH] no message --- frameworks/FBSDKLoginKit.framework/Headers/FBSDKLoginManager.h | 99 +++++++++++++++++++++++++++++++++++-------------- 1 files changed, 71 insertions(+), 28 deletions(-) diff --git a/frameworks/FBSDKLoginKit.framework/Headers/FBSDKLoginManager.h b/frameworks/FBSDKLoginKit.framework/Headers/FBSDKLoginManager.h index 7e8de23..e6b5aaf 100644 --- a/frameworks/FBSDKLoginKit.framework/Headers/FBSDKLoginManager.h +++ b/frameworks/FBSDKLoginKit.framework/Headers/FBSDKLoginManager.h @@ -18,6 +18,8 @@ #import <UIKit/UIKit.h> +#import "FBSDKLoginConfiguration.h" + NS_ASSUME_NONNULL_BEGIN #if TARGET_OS_TV @@ -32,9 +34,11 @@ // The way to fix this is to remove extensions of ObjC types in Swift. @class LoginManagerLoginResult; +@class FBSDKLoginConfiguration; typedef NS_ENUM(NSUInteger, LoginBehavior) { LoginBehaviorBrowser }; typedef NS_ENUM(NSUInteger, DefaultAudience) { DefaultAudienceFriends }; + typedef void (^LoginManagerLoginResultBlock)(LoginManagerLoginResult *_Nullable result, NSError *_Nullable error); @@ -47,6 +51,11 @@ fromViewController:(nullable UIViewController *)fromViewController handler:(nullable LoginManagerLoginResultBlock)handler NS_SWIFT_NAME(logIn(permissions:from:handler:)); + +- (void)logInFromViewController:(nullable UIViewController *)viewController + configuration:(FBSDKLoginConfiguration *)configuration + completion:(LoginManagerLoginResultBlock)completion +NS_REFINED_FOR_SWIFT; @end @@ -76,9 +85,7 @@ /** FBSDKDefaultAudience enum - Passed to open to indicate which default audience to use for sessions that post data to Facebook. - - + Passed to openURL to indicate which default audience to use for sessions that post data to Facebook. Certain operations such as publishing a status or publishing a photo require an audience. When the user grants an application permission to perform a publish operation, a default audience is selected as the @@ -98,14 +105,15 @@ /** `FBSDKLoginManager` provides methods for logging the user in and out. - `FBSDKLoginManager` works directly with `[FBSDKAccessToken currentAccessToken]` and - sets the "currentAccessToken" upon successful authorizations (or sets `nil` in case of `logOut`). + `FBSDKLoginManager` serves to help manage sessions represented by tokens for authentication, + `AuthenticationToken`, and data access, `AccessToken`. - You should check `[FBSDKAccessToken currentAccessToken]` before calling logIn* to see if there is - a cached token available (typically in your viewDidLoad). + You should check if the type of token you expect is present as a singleton instance, either `AccessToken.current` + or `AuthenticationToken.current` before calling any of the login methods to see if there is a cached token + available. A standard place to do this is in `viewDidLoad`. - If you are managing your own token instances outside of "currentAccessToken", you will need to set - "currentAccessToken" before calling logIn* to authorize further permissions on your tokens. + @warning If you are managing your own token instances outside of `AccessToken.current`, you will need to set + `AccessToken.current` before calling any of the login methods to authorize further permissions on your tokens. */ NS_SWIFT_NAME(LoginManager) @interface FBSDKLoginManager : NSObject @@ -123,6 +131,7 @@ /** Logs the user in or authorizes additional permissions. + @param permissions the optional array of permissions. Note this is converted to NSSet and is only an NSArray for the convenience of literal syntax. @param fromViewController the view controller to present from. If nil, the topmost view controller will be @@ -130,41 +139,73 @@ @param handler the callback. Use this method when asking for read permissions. You should only ask for permissions when they - are needed and explain the value to the user. You can inspect the result.declinedPermissions to also - provide more information to the user if they decline permissions. + are needed and explain the value to the user. You can inspect the `FBSDKLoginManagerLoginResultBlock`'s + `result.declinedPermissions` to provide more information to the user if they decline permissions. + You typically should check if `AccessToken.current` already contains the permissions you need before + asking to reduce unnecessary login attempts. For example, you could perform that check in `viewDidLoad`. - This method will present UI the user. You typically should check if `[FBSDKAccessToken currentAccessToken]` - already contains the permissions you need before asking to reduce unnecessary app switching. For example, - you could make that check at viewDidLoad. - You can only do one login call at a time. Calling a login method before the completion handler is called - on a previous login will return an error. + @warning You can only perform one login call at a time. Calling a login method before the completion handler is called + on a previous login attempt will result in an error. + @warning This method will present a UI to the user and thus should be called on the main thread. */ - (void)logInWithPermissions:(NSArray<NSString *> *)permissions - fromViewController:(nullable UIViewController *)fromViewController - handler:(nullable FBSDKLoginManagerLoginResultBlock)handler + fromViewController:(nullable UIViewController *)fromViewController + handler:(nullable FBSDKLoginManagerLoginResultBlock)handler NS_SWIFT_NAME(logIn(permissions:from:handler:)); + +/** + Logs the user in or authorizes additional permissions. + + @param viewController the view controller from which to present the login UI. If nil, the topmost view + controller will be automatically determined and used. + @param configuration the login configuration to use. + @param completion the login completion handler. + + Use this method when asking for permissions. You should only ask for permissions when they + are needed and the value should be explained to the user. You can inspect the + `FBSDKLoginManagerLoginResultBlock`'s `result.declinedPermissions` to provide more information + to the user if they decline permissions. + To reduce unnecessary login attempts, you should typically check if `AccessToken.current` + already contains the permissions you need. If it does, you probably do not need to call this method. + + @warning You can only perform one login call at a time. Calling a login method before the completion handler is called + on a previous login attempt will result in an error. + @warning This method will present a UI to the user and thus should be called on the main thread. + */ +- (void)logInFromViewController:(nullable UIViewController *)viewController + configuration:(FBSDKLoginConfiguration *)configuration + completion:(FBSDKLoginManagerLoginResultBlock)completion +NS_REFINED_FOR_SWIFT; /** Logs the user in with the given deep link url. Will only log user in if the given url contains valid login data. @param url the deep link url @param handler the callback. - This method should be called with the url from the openURL method. +This method will present a UI to the user and thus should be called on the main thread. +This method should be called with the url from the openURL method. + + @warning This method will present a UI to the user and thus should be called on the main thread. */ - (void)logInWithURL:(NSURL *)url handler:(nullable FBSDKLoginManagerLoginResultBlock)handler NS_SWIFT_NAME(logIn(url:handler:)); /** - Requests user's permission to reathorize application's data access, after it has expired due to inactivity. - @param fromViewController the view controller to present from. If nil, the topmost view controller will be - automatically determined as best as possible. + Requests user's permission to reathorize application's data access, after it has expired due to inactivity. + @param fromViewController the view controller from which to present the login UI. If nil, the topmost view + controller will be automatically determined and used. @param handler the callback. - Use this method when you need to reathorize your app's access to user data via Graph API, after such an access has expired. - You should provide as much context to the user as possible as to why you need to reauthorize the access, the scope of - access being reathorized, and what added value your app provides when the access is reathorized. - You can inspect the result.declinedPermissions to also provide more information to the user if they decline permissions. - This method will present UI the user. You typically should call this if `[FBSDKAccessToken isDataAccessExpired]` returns true. + +Use this method when you need to reathorize your app's access to user data via the Graph API. +You should only call this after access has expired. +You should provide as much context to the user as possible as to why you need to reauthorize the access, the +scope of access being reathorized, and what added value your app provides when the access is reathorized. +You can inspect the `result.declinedPermissions` to determine if you should provide more information to the +user based on any declined permissions. + + @warning This method will reauthorize using a `LoginConfiguration` with `FBSDKLoginTracking` set to `.enabled`. + @warning This method will present UI the user. You typically should call this if `AccessToken.isDataAccessExpired` is true. */ - (void)reauthorizeDataAccess:(UIViewController *)fromViewController handler:(FBSDKLoginManagerLoginResultBlock)handler @@ -173,7 +214,9 @@ /** Logs the user out - This calls [FBSDKAccessToken setCurrentAccessToken:nil] and [FBSDKProfile setCurrentProfile:nil]. + This nils out the singleton instances of `AccessToken` `AuthenticationToken` and `Profle`. + + @note This is only a client side logout. It will not log the user out of their Facebook account. */ - (void)logOut; -- Gitblit v1.8.0