[ios] Updated Facebooks frameworks.

This commit is contained in:
Илья Гречухин 2015-12-21 12:57:35 +03:00
parent 597327c795
commit ea7263979c
27 changed files with 112 additions and 456 deletions

View file

@ -37,6 +37,10 @@ FBSDK_EXTERN NSString *const FBSDKAccessTokenDidChangeNotification;
which do not change the user. If you're only interested in user
changes (such as logging out), you should check for the existence
of this key. The value is a NSNumber with a boolValue.
On a fresh start of the app where the SDK reads in the cached value
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;
@ -94,6 +98,9 @@ FBSDK_EXTERN NSString *const FBSDKAccessTokenChangeNewKey;
*/
@property (readonly, copy, nonatomic) NSString *userID;
- (instancetype)init NS_UNAVAILABLE;
+ (instancetype)new NS_UNAVAILABLE;
/*!
@abstract Initializes a new instance.
@param tokenString the opaque token string.

View file

@ -171,7 +171,7 @@ FBSDK_EXTERN NSString *const FBSDKAppEventParameterValueNo;
+ Events will be accumulated when the app is in a disconnected state, and sent when the connection is
restored and one of the above 'flush' conditions are met.
+ The `FBSDKAppEvents` class in thread-safe in that events may be logged from any of the app's threads.
+ The `FBSDKAppEvents` class is thread-safe in that events may be logged from any of the app's threads.
+ The developer can set the `flushBehavior` on `FBSDKAppEvents` to force the flushing of events to only
occur on an explicit call to the `flush` method.
@ -181,7 +181,7 @@ FBSDK_EXTERN NSString *const FBSDKAppEventParameterValueNo;
Some things to note when logging events:
+ There is a limit on the number of unique event names an app can use, on the order of 300.
+ There is a limit on the number of unique event names an app can use, on the order of 1000.
+ There is a limit to the number of unique parameter names in the provided parameters that can
be used per event, on the order of 25. This is not just for an individual call, but for all
invocations for that eventName.
@ -409,7 +409,7 @@ FBSDK_EXTERN NSString *const FBSDKAppEventParameterValueNo;
In some cases, apps want to use one Facebook App ID for login and social presence and another
for App Event logging. (An example is if multiple apps from the same company share an app ID for login, but
want distinct logging.) By default, this value is `nil`, and defers to the `FBSDKAppEventsOverrideAppIDBundleKey`
plist value. If that's not set, it defaults to `[FBSDKSettigns appID]`.
plist value. If that's not set, it defaults to `[FBSDKSettings appID]`.
This should be set before any other calls are made to `FBSDKAppEvents`. Thus, you should set it in your application
delegate's `application:didFinishLaunchingWithOptions:` delegate.

View file

@ -93,6 +93,16 @@ typedef NS_ENUM(NSInteger, FBSDKErrorCode)
@abstract Indicates an operation failed because a required access token was not found.
*/
FBSDKAccessTokenRequiredErrorCode,
/*!
@abstract Indicates an app switch (typically for a dialog) failed because the destination app is out of date.
*/
FBSDKAppVersionUnsupportedErrorCode,
/*!
@abstract Indicates an app switch to the browser (typically for a dialog) failed.
*/
FBSDKBrowswerUnavailableErrorCode,
};
/*!

View file

@ -34,5 +34,5 @@
#import <FBSDKCoreKit/FBSDKTestUsersManager.h>
#import <FBSDKCoreKit/FBSDKUtility.h>
#define FBSDK_VERSION_STRING @"4.4.0"
#define FBSDK_TARGET_PLATFORM_VERSION @"v2.4"
#define FBSDK_VERSION_STRING @"4.8.0"
#define FBSDK_TARGET_PLATFORM_VERSION @"v2.5"

View file

@ -171,6 +171,20 @@ totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite;
*/
@property (nonatomic, retain, readonly) NSHTTPURLResponse *URLResponse;
/*!
@methodgroup Class methods
*/
/*!
@method
@abstract
This method sets the default timeout on all FBSDKGraphRequestConnection instances. Defaults to 60 seconds.
@param defaultConnectionTimeout The timeout interval.
*/
+ (void)setDefaultConnectionTimeout:(NSTimeInterval)defaultConnectionTimeout;
/*!
@methodgroup Adding requests
*/

View file

@ -123,13 +123,22 @@ FBSDK_EXTERN NSString *const FBSDKProfileChangeNewKey;
*/
+ (void)enableUpdatesOnAccessTokenChange:(BOOL)enable;
/*!
@abstract A convenience method for returning a complete `NSURL` for retrieving the user's profile image.
@param mode The picture mode
@param size The height and width. This will be rounded to integer precision.
*/
- (NSURL *)imageURLForPictureMode:(FBSDKProfilePictureMode)mode size:(CGSize)size;
/*!
@abstract A convenience method for returning a Graph API path for retrieving the user's profile image.
@deprecated use `imageURLForPictureMode:size:` instead
@discussion You can pass this to a `FBSDKGraphRequest` instance to download the image.
@param mode The picture mode
@param size The height and width. This will be rounded to integer precision.
*/
- (NSString *)imagePathForPictureMode:(FBSDKProfilePictureMode)mode size:(CGSize)size;
- (NSString *)imagePathForPictureMode:(FBSDKProfilePictureMode)mode size:(CGSize)size
__attribute__ ((deprecated("use imageURLForPictureMode:size: instead")));
/*!
@abstract Returns YES if the profile is equivalent to the receiver.

View file

@ -1,26 +0,0 @@
// Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
//
// You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
// copy, modify, and distribute this software in source code or binary form for use
// in connection with the web services and APIs provided by Facebook.
//
// As with any software that integrates with the Facebook platform, your use of
// this software is subject to the Facebook Developer Principles and Policies
// [http://developers.facebook.com/policy/]. This copyright notice shall be
// included in all copies or substantial portions of the software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#import <Foundation/Foundation.h>
#import "FBSDKAccessToken.h"
#import "FBSDKAccessTokenCaching.h"
@interface FBSDKAccessTokenCacheV4 : NSObject<FBSDKAccessTokenCaching>
@end

View file

@ -1,31 +0,0 @@
// Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
//
// You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
// copy, modify, and distribute this software in source code or binary form for use
// in connection with the web services and APIs provided by Facebook.
//
// As with any software that integrates with the Facebook platform, your use of
// this software is subject to the Facebook Developer Principles and Policies
// [http://developers.facebook.com/policy/]. This copyright notice shall be
// included in all copies or substantial portions of the software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#import <Foundation/Foundation.h>
#import "FBSDKBridgeAPIRequest.h"
@interface FBSDKBridgeAPICrypto : NSObject
+ (void)addCipherKeyToQueryParameters:(NSMutableDictionary *)queryParameters;
+ (NSDictionary *)decryptResponseForRequest:(FBSDKBridgeAPIRequest *)request
queryParameters:(NSDictionary *)queryParameters
error:(NSError *__autoreleasing *)errorRef;
+ (void)reset;
@end

View file

@ -1,46 +0,0 @@
// Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
//
// You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
// copy, modify, and distribute this software in source code or binary form for use
// in connection with the web services and APIs provided by Facebook.
//
// As with any software that integrates with the Facebook platform, your use of
// this software is subject to the Facebook Developer Principles and Policies
// [http://developers.facebook.com/policy/]. This copyright notice shall be
// included in all copies or substantial portions of the software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#import <Foundation/Foundation.h>
#import <FBSDKCoreKit/FBSDKMacros.h>
#import "FBSDKBridgeAPIProtocolType.h"
@class FBSDKBridgeAPIRequest;
FBSDK_EXTERN NSString *const FBSDKBridgeAPIAppIDKey;
FBSDK_EXTERN NSString *const FBSDKBridgeAPISchemeSuffixKey;
FBSDK_EXTERN NSString *const FBSDKBridgeAPIVersionKey;
@protocol FBSDKBridgeAPIProtocol <NSObject>
@property (nonatomic, assign, readonly, getter=isEnabled) BOOL enabled;
- (NSURL *)requestURLWithActionID:(NSString *)actionID
scheme:(NSString *)scheme
methodName:(NSString *)methodName
methodVersion:(NSString *)methodVersion
parameters:(NSDictionary *)parameters
error:(NSError *__autoreleasing *)errorRef;
- (NSDictionary *)responseParametersForActionID:(NSString *)actionID
queryParameters:(NSDictionary *)queryParameters
cancelled:(BOOL *)cancelledRef
error:(NSError *__autoreleasing *)errorRef;
@end

View file

@ -1,70 +0,0 @@
// Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
//
// You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
// copy, modify, and distribute this software in source code or binary form for use
// in connection with the web services and APIs provided by Facebook.
//
// As with any software that integrates with the Facebook platform, your use of
// this software is subject to the Facebook Developer Principles and Policies
// [http://developers.facebook.com/policy/]. This copyright notice shall be
// included in all copies or substantial portions of the software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#import <UIKit/UIKit.h>
#import <FBSDKCoreKit/FBSDKMacros.h>
#import "FBSDKBridgeAPIProtocol.h"
typedef struct
{
__unsafe_unretained NSString *bridgeArgs;
__unsafe_unretained NSString *methodArgs;
__unsafe_unretained NSString *methodVersion;
} FBSDKBridgeAPIProtocolNativeV1OutputKeysStruct;
FBSDK_EXTERN const FBSDKBridgeAPIProtocolNativeV1OutputKeysStruct FBSDKBridgeAPIProtocolNativeV1OutputKeys;
typedef struct
{
__unsafe_unretained NSString *actionID;
__unsafe_unretained NSString *appIcon;
__unsafe_unretained NSString *appName;
__unsafe_unretained NSString *sdkVersion;
} FBSDKBridgeAPIProtocolNativeV1BridgeParameterOutputKeysStruct;
FBSDK_EXTERN const FBSDKBridgeAPIProtocolNativeV1BridgeParameterOutputKeysStruct FBSDKBridgeAPIProtocolNativeV1BridgeParameterOutputKeys;
typedef struct
{
__unsafe_unretained NSString *bridgeArgs;
__unsafe_unretained NSString *methodResults;
} FBSDKBridgeAPIProtocolNativeV1InputKeysStruct;
FBSDK_EXTERN const FBSDKBridgeAPIProtocolNativeV1InputKeysStruct FBSDKBridgeAPIProtocolNativeV1InputKeys;
typedef struct
{
__unsafe_unretained NSString *actionID;
__unsafe_unretained NSString *error;
} FBSDKBridgeAPIProtocolNativeV1BridgeParameterInputKeysStruct;
FBSDK_EXTERN const FBSDKBridgeAPIProtocolNativeV1BridgeParameterInputKeysStruct FBSDKBridgeAPIProtocolNativeV1BridgeParameterInputKeys;
@interface FBSDKBridgeAPIProtocolNativeV1 : NSObject <FBSDKBridgeAPIProtocol>
- (instancetype)initWithAppScheme:(NSString *)appScheme;
- (instancetype)initWithAppScheme:(NSString *)appScheme
pasteboard:(UIPasteboard *)pasteboard
dataLengthThreshold:(NSUInteger)dataLengthThreshold
includeAppIcon:(BOOL)includeAppIcon
NS_DESIGNATED_INITIALIZER;
@property (nonatomic, copy, readonly) NSString *appScheme;
@property (nonatomic, assign, readonly) NSUInteger dataLengthThreshold;
@property (nonatomic, assign, readonly) BOOL includeAppIcon;
@property (nonatomic, strong, readonly) UIPasteboard *pasteboard;
@end

View file

@ -1,25 +0,0 @@
// Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
//
// You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
// copy, modify, and distribute this software in source code or binary form for use
// in connection with the web services and APIs provided by Facebook.
//
// As with any software that integrates with the Facebook platform, your use of
// this software is subject to the Facebook Developer Principles and Policies
// [http://developers.facebook.com/policy/]. This copyright notice shall be
// included in all copies or substantial portions of the software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#import <UIKit/UIKit.h>
#import "FBSDKBridgeAPIProtocol.h"
@interface FBSDKBridgeAPIProtocolWebV1 : NSObject <FBSDKBridgeAPIProtocol>
@end

View file

@ -1,56 +0,0 @@
// Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
//
// You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
// copy, modify, and distribute this software in source code or binary form for use
// in connection with the web services and APIs provided by Facebook.
//
// As with any software that integrates with the Facebook platform, your use of
// this software is subject to the Facebook Developer Principles and Policies
// [http://developers.facebook.com/policy/]. This copyright notice shall be
// included in all copies or substantial portions of the software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#import <Foundation/Foundation.h>
@interface FBSDKError : NSObject
+ (NSString *)errorDomain;
+ (BOOL)errorIsNetworkError:(NSError *)error;
+ (NSError *)errorWithCode:(NSInteger)code message:(NSString *)message;
+ (NSError *)errorWithCode:(NSInteger)code message:(NSString *)message underlyingError:(NSError *)underlyingError;
+ (NSError *)errorWithCode:(NSInteger)code
userInfo:(NSDictionary *)userInfo
message:(NSString *)message
underlyingError:(NSError *)underlyingError;
+ (NSError *)invalidArgumentErrorWithName:(NSString *)name value:(id)value message:(NSString *)message;
+ (NSError *)invalidArgumentErrorWithName:(NSString *)name
value:(id)value
message:(NSString *)message
underlyingError:(NSError *)underlyingError;
+ (NSError *)invalidCollectionErrorWithName:(NSString *)name
collection:(id<NSFastEnumeration>)collection
item:(id)item
message:(NSString *)message;
+ (NSError *)invalidCollectionErrorWithName:(NSString *)name
collection:(id<NSFastEnumeration>)collection
item:(id)item
message:(NSString *)message
underlyingError:(NSError *)underlyingError;
+ (NSError *)requiredArgumentErrorWithName:(NSString *)name message:(NSString *)message;
+ (NSError *)requiredArgumentErrorWithName:(NSString *)name
message:(NSString *)message
underlyingError:(NSError *)underlyingError;
+ (NSError *)unknownErrorWithMessage:(NSString *)message;
@end

View file

@ -1,47 +0,0 @@
// Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
//
// You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
// copy, modify, and distribute this software in source code or binary form for use
// in connection with the web services and APIs provided by Facebook.
//
// As with any software that integrates with the Facebook platform, your use of
// this software is subject to the Facebook Developer Principles and Policies
// [http://developers.facebook.com/policy/]. This copyright notice shall be
// included in all copies or substantial portions of the software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#import <Foundation/Foundation.h>
#import <UIKit/UIImage.h>
@class FBSDKGraphRequestDataAttachment;
@class FBSDKLogger;
@interface FBSDKGraphRequestBody : NSObject
@property (nonatomic, retain, readonly) NSData *data;
- (void)appendWithKey:(NSString *)key
formValue:(NSString *)value
logger:(FBSDKLogger *)logger;
- (void)appendWithKey:(NSString *)key
imageValue:(UIImage *)image
logger:(FBSDKLogger *)logger;
- (void)appendWithKey:(NSString *)key
dataValue:(NSData *)data
logger:(FBSDKLogger *)logger;
- (void)appendWithKey:(NSString *)key
dataAttachmentValue:(FBSDKGraphRequestDataAttachment *)dataAttachment
logger:(FBSDKLogger *)logger;
+ (NSString *)mimeContentType;
@end

View file

@ -1,40 +0,0 @@
// Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
//
// You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
// copy, modify, and distribute this software in source code or binary form for use
// in connection with the web services and APIs provided by Facebook.
//
// As with any software that integrates with the Facebook platform, your use of
// this software is subject to the Facebook Developer Principles and Policies
// [http://developers.facebook.com/policy/]. This copyright notice shall be
// included in all copies or substantial portions of the software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#import <Foundation/Foundation.h>
#import <FBSDKCoreKit/FBSDKGraphRequestConnection.h>
// Internal only class to facilitate FBRequest processing, specifically
// associating FBRequest and FBRequestHandler instances and necessary
// data for retry processing.
@interface FBSDKGraphRequestMetadata : NSObject
@property (nonatomic, retain) FBSDKGraphRequest *request;
@property (nonatomic, copy) FBSDKGraphRequestHandler completionHandler;
@property (nonatomic, copy) NSDictionary *batchParameters;
- (instancetype)initWithRequest:(FBSDKGraphRequest *)request
completionHandler:(FBSDKGraphRequestHandler)handler
batchParameters:(NSDictionary *)batchParameters
NS_DESIGNATED_INITIALIZER;
- (void)invokeCompletionHandlerForConnection:(FBSDKGraphRequestConnection *)connection
withResults:(id)results
error:(NSError *)error;
@end

View file

@ -1,51 +0,0 @@
// Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
//
// You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
// copy, modify, and distribute this software in source code or binary form for use
// in connection with the web services and APIs provided by Facebook.
//
// As with any software that integrates with the Facebook platform, your use of
// this software is subject to the Facebook Developer Principles and Policies
// [http://developers.facebook.com/policy/]. This copyright notice shall be
// included in all copies or substantial portions of the software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#import <Foundation/Foundation.h>
@class FBSDKURLConnection;
typedef void (^FBSDKURLConnectionHandler)(FBSDKURLConnection *connection,
NSError *error,
NSURLResponse *response,
NSData *responseData);
@protocol FBSDKURLConnectionDelegate <NSObject>
@optional
- (void)facebookURLConnection:(FBSDKURLConnection *)connection
didSendBodyData:(NSInteger)bytesWritten
totalBytesWritten:(NSInteger)totalBytesWritten
totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite;
@end
@interface FBSDKURLConnection : NSObject
- (FBSDKURLConnection *)initWithRequest:(NSURLRequest *)request
completionHandler:(FBSDKURLConnectionHandler)handler
NS_DESIGNATED_INITIALIZER;
@property (nonatomic, assign) id<FBSDKURLConnectionDelegate> delegate;
- (void)cancel;
- (void)start;
- (void)setDelegateQueue:(NSOperationQueue *)queue;
@end

View file

@ -1,39 +0,0 @@
// Copyright (c) 2014-present, Facebook, Inc. All rights reserved.
//
// You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
// copy, modify, and distribute this software in source code or binary form for use
// in connection with the web services and APIs provided by Facebook.
//
// As with any software that integrates with the Facebook platform, your use of
// this software is subject to the Facebook Developer Principles and Policies
// [http://developers.facebook.com/policy/]. This copyright notice shall be
// included in all copies or substantial portions of the software.
//
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#import <UIKit/UIKit.h>
@protocol FBSDKWebDialogViewDelegate;
@interface FBSDKWebDialogView : UIView
@property (nonatomic, assign) id<FBSDKWebDialogViewDelegate> delegate;
- (void)loadURL:(NSURL *)URL;
- (void)stopLoading;
@end
@protocol FBSDKWebDialogViewDelegate <NSObject>
- (void)webDialogView:(FBSDKWebDialogView *)webDialogView didCompleteWithResults:(NSDictionary *)results;
- (void)webDialogView:(FBSDKWebDialogView *)webDialogView didFailWithError:(NSError *)error;
- (void)webDialogViewDidCancel:(FBSDKWebDialogView *)webDialogView;
- (void)webDialogViewDidFinishLoad:(FBSDKWebDialogView *)webDialogView;
@end

View file

@ -100,6 +100,7 @@ typedef NS_ENUM(NSUInteger, FBSDKLoginButtonTooltipBehavior)
*/
@protocol FBSDKLoginButtonDelegate <NSObject>
@required
/*!
@abstract Sent to the delegate when the button was used to login.
@param loginButton the sender
@ -116,4 +117,12 @@ didCompleteWithResult:(FBSDKLoginManagerLoginResult *)result
*/
- (void)loginButtonDidLogOut:(FBSDKLoginButton *)loginButton;
@optional
/*!
@abstract Sent to the delegate when the button is about to login.
@param loginButton the sender
@return YES if the login should be allowed to proceed, NO otherwise
*/
- (BOOL) loginButtonWillLogin:(FBSDKLoginButton *)loginButton;
@end

View file

@ -18,6 +18,7 @@
#import <Accounts/Accounts.h>
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
@class FBSDKLoginManagerLoginResult;
@ -65,28 +66,25 @@ typedef NS_ENUM(NSUInteger, FBSDKDefaultAudience)
provides the most secure and lowest friction way for a user to authorize the application to
interact with Facebook.
The \c FBSDKLoginBehavior enum specifies which log in method should be attempted. Most
applications will use the default, which attempts a login through the Facebook app and falls
back to the browser if needed.
If log in cannot be completed using the specificed behavior, the completion handler will
be invoked with an error in the \c FBSDKErrorDomain and a code of \c FBSDKLoginUnknownErrorCode.
The \c FBSDKLoginBehavior enum specifies which log-in methods may be used. The SDK
will determine the best behavior based on the current device (such as iOS version).
*/
typedef NS_ENUM(NSUInteger, FBSDKLoginBehavior)
{
/*!
@abstract Attempts log in through the native Facebook app. If the Facebook app is
not installed on the device, falls back to \c FBSDKLoginBehaviorBrowser. This is the
default behavior.
@abstract This is the default behavior, and indicates logging in through the native
Facebook app may be used. The SDK may still use Safari instead.
*/
FBSDKLoginBehaviorNative = 0,
/*!
@abstract Attempts log in through the Safari browser
@abstract Attempts log in through the Safari or SFSafariViewController, if available.
*/
FBSDKLoginBehaviorBrowser,
/*!
@abstract Attempts log in through the Facebook account currently signed in through Settings.
If no Facebook account is signed in, falls back to \c FBSDKLoginBehaviorNative.
@abstract Attempts log in through the Facebook account currently signed in through
the device Settings.
@note If the account is not available to the app (either not configured by user or
as determined by the SDK) this behavior falls back to \c FBSDKLoginBehaviorNative.
*/
FBSDKLoginBehaviorSystemAccount,
/*!
@ -119,15 +117,27 @@ typedef NS_ENUM(NSUInteger, FBSDKLoginBehavior)
/*!
@abstract the login behavior
@discussion you should only set this if you want an explicit login flow; otherwise, the SDK
will automatically determine the best flow available.
*/
@property (assign, nonatomic) FBSDKLoginBehavior loginBehavior;
/*!
@deprecated use logInWithReadPermissions:fromViewController:handler: instead
*/
- (void)logInWithReadPermissions:(NSArray *)permissions handler:(FBSDKLoginManagerRequestTokenHandler)handler
__attribute__ ((deprecated("use logInWithReadPermissions:fromViewController:handler: instead")));
/*!
@deprecated use logInWithPublishPermissions:fromViewController:handler: instead
*/
- (void)logInWithPublishPermissions:(NSArray *)permissions handler:(FBSDKLoginManagerRequestTokenHandler)handler
__attribute__ ((deprecated("use logInWithPublishPermissions:fromViewController:handler: instead")));
/*!
@abstract 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
automatically determined as best as possible.
@param handler the callback.
@discussion 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
@ -140,12 +150,16 @@ typedef NS_ENUM(NSUInteger, FBSDKLoginBehavior)
already contains the permissions you need before asking to reduce unnecessary app switching. For example,
you could make that check at viewDidLoad.
*/
- (void)logInWithReadPermissions:(NSArray *)permissions handler:(FBSDKLoginManagerRequestTokenHandler)handler;
- (void)logInWithReadPermissions:(NSArray *)permissions
fromViewController:(UIViewController *)fromViewController
handler:(FBSDKLoginManagerRequestTokenHandler)handler;
/*!
@abstract 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
automatically determined as best as possible.
@param handler the callback.
@discussion Use this method when asking for publish 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
@ -158,7 +172,9 @@ typedef NS_ENUM(NSUInteger, FBSDKLoginBehavior)
already contains the permissions you need before asking to reduce unnecessary app switching. For example,
you could make that check at viewDidLoad.
*/
- (void)logInWithPublishPermissions:(NSArray *)permissions handler:(FBSDKLoginManagerRequestTokenHandler)handler;
- (void)logInWithPublishPermissions:(NSArray *)permissions
fromViewController:(UIViewController *)fromViewController
handler:(FBSDKLoginManagerRequestTokenHandler)handler;
/*!
@abstract Logs the user out

View file

@ -17,6 +17,7 @@
// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#import <FBSDKShareKit/FBSDKAppInviteContent.h>
@ -29,10 +30,26 @@
/*!
@abstract Convenience method to show a FBSDKAppInviteDialog
@param viewController A UIViewController to present the dialog from.
@param content The content for the app invite.
@param delegate The receiver's delegate.
*/
+ (instancetype)showFromViewController:(UIViewController *)viewController
withContent:(FBSDKAppInviteContent *)content
delegate:(id<FBSDKAppInviteDialogDelegate>)delegate;
/*!
@deprecated use showFromViewController:withContent:delegate: instead
*/
+ (instancetype)showWithContent:(FBSDKAppInviteContent *)content delegate:(id<FBSDKAppInviteDialogDelegate>)delegate;
+ (instancetype)showWithContent:(FBSDKAppInviteContent *)content delegate:(id<FBSDKAppInviteDialogDelegate>)delegate
__attribute__ ((deprecated("use showFromViewController:withContent:delegate: instead")));
/*!
@abstract A UIViewController to present the dialog from.
@discussion If not specified, the top most view controller will be automatically determined as best as possible.
*/
@property (nonatomic, weak) UIViewController *fromViewController;
/*!
@abstract The receiver's delegate or nil if it doesn't have a delegate.

View file

@ -47,4 +47,9 @@ typedef NS_ENUM(NSInteger, FBSDKShareErrorCode)
@discussion Use the canShare methods to check for this case before calling show.
*/
FBSDKShareDialogNotAvailableErrorCode,
/*!
@The error code for unknown errors.
*/
FBSDKShareUnknownErrorCode,
};

View file

@ -38,8 +38,8 @@
delegate:(id<FBSDKSharingDelegate>)delegate;
/*!
@abstract A UIViewController to present the dialog from, if appropriate.
@discussion This value is required for FBSDKShareDialogModeShareSheet.
@abstract A UIViewController to present the dialog from.
@discussion If not specified, the top most view controller will be automatically determined as best as possible.
*/
@property (nonatomic, weak) UIViewController *fromViewController;