lpw
2022-02-15 2e29a3a585524a054640bb6e7bdf26fe77ba1f17
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
/*
 * Copyright (c) Meta Platforms, Inc. and affiliates.
 * All rights reserved.
 *
 * This source code is licensed under the license found in the
 * LICENSE file in the root directory of this source tree.
 */
 
#import <UIKit/UIKit.h>
 
#import "TargetConditionals.h"
 
#if TARGET_OS_TV
 
@interface FBLoginButton : UIView
 
@property (nonatomic, copy) NSArray<NSString *> *permissions;
 
@end
 
#else
 
 #import <FBSDKCoreKit/FBSDKCoreKit.h>
 #import <FBSDKLoginKit/FBSDKLoginManager.h>
 #import <FBSDKLoginKit/FBSDKTooltipView.h>
 
NS_ASSUME_NONNULL_BEGIN
 
@protocol FBSDKLoginButtonDelegate;
 
/**
 NS_ENUM(NSUInteger, FBSDKLoginButtonTooltipBehavior)
  Indicates the desired login tooltip behavior.
 */
typedef NS_ENUM(NSUInteger, FBSDKLoginButtonTooltipBehavior) {
  /** The default behavior. The tooltip will only be displayed if
   the app is eligible (determined by possible server round trip) */
  FBSDKLoginButtonTooltipBehaviorAutomatic = 0,
  /** Force display of the tooltip (typically for UI testing) */
  FBSDKLoginButtonTooltipBehaviorForceDisplay = 1,
  /** Force disable. In this case you can still exert more refined
   control by manually constructing a `FBSDKLoginTooltipView` instance. */
  FBSDKLoginButtonTooltipBehaviorDisable = 2,
} NS_SWIFT_NAME(FBLoginButton.TooltipBehavior);
 
/**
  A button that initiates a log in or log out flow upon tapping.
 
 `FBSDKLoginButton` works with `FBSDKProfile.currentProfile` to
  determine what to display, and automatically starts authentication when tapped (i.e.,
  you do not need to manually subscribe action targets).
 
  Like `FBSDKLoginManager`, you should make sure your app delegate is connected to
  `FBSDKApplicationDelegate` in order for the button's delegate to receive messages.
 
 `FBSDKLoginButton` has a fixed height of @c 30 pixels, but you may change the width. `initWithFrame:CGRectZero`
 will size the button to its minimum frame.
*/
NS_SWIFT_NAME(FBLoginButton)
@interface FBSDKLoginButton : FBSDKButton
 
/**
  The default audience to use, if publish permissions are requested at login time.
 */
@property (nonatomic, assign) FBSDKDefaultAudience defaultAudience;
/**
  Gets or sets the delegate.
 */
@property (nonatomic, weak) IBOutlet id<FBSDKLoginButtonDelegate> delegate;
/*!
 @abstract The permissions to request.
 @discussion To provide the best experience, you should minimize the number of permissions you request, and only ask for them when needed.
 For example, do not ask for "user_location" until you the information is actually used by the app.
 
 Note this is converted to NSSet and is only
 an NSArray for the convenience of literal syntax.
 
 See [the permissions guide]( https://developers.facebook.com/docs/facebook-login/permissions/ ) for more details.
 */
@property (nonatomic, copy) NSArray<NSString *> *permissions;
/**
  Gets or sets the desired tooltip behavior.
 */
@property (nonatomic, assign) FBSDKLoginButtonTooltipBehavior tooltipBehavior;
/**
  Gets or sets the desired tooltip color style.
 */
@property (nonatomic, assign) FBSDKTooltipColorStyle tooltipColorStyle;
/**
  Gets or sets the desired tracking preference to use for login attempts. Defaults to `.enabled`
 */
@property (nonatomic, assign) FBSDKLoginTracking loginTracking;
/**
  Gets or sets an optional nonce to use for login attempts. A valid nonce must be a non-empty string without whitespace.
 An invalid nonce will not be set. Instead, default unique nonces will be used for login attempts.
 */
@property (nullable, nonatomic, copy) NSString *nonce;
/**
  Gets or sets an optional page id to use for login attempts.
 */
@property (nullable, nonatomic, copy) NSString *messengerPageId;
/**
  Gets or sets the auth_type to use in the login request. Defaults to rerequest.
 */
@property (nullable, nonatomic) FBSDKLoginAuthType authType;
 
@end
 
NS_ASSUME_NONNULL_END
 
#endif