hank
2019-06-20 e81c27b13950ca02baa879ae7b8108c0c3ef7fb0
frameworks/FBSDKShareKit.framework/Headers/FBSDKShareAPI.h
@@ -18,62 +18,97 @@
#import <Foundation/Foundation.h>
#import <FBSDKCoreKit/FBSDKAccessToken.h>
#import <FBSDKShareKit/FBSDKShareOpenGraphObject.h>
#import <FBSDKShareKit/FBSDKSharing.h>
/*!
 @abstract A utility class for sharing through the graph API.  Using this class requires an access token in
 [FBSDKAccessToken currentAccessToken] that has been granted the "publish_actions" permission.
 @discussion FBSDKShareAPI network requests are scheduled on the current run loop in the default run loop mode
 (like NSURLConnection). If you want to use FBSDKShareAPI in a background thread, you must manage the run loop
NS_ASSUME_NONNULL_BEGIN
/**
  A utility class for sharing through the graph API.  Using this class requires an access token that
 has been granted the "publish_actions" permission.
 FBSDKShareAPI network requests are scheduled on the current run loop in the default run loop mode.
 If you want to use FBSDKShareAPI in a background thread, you must manage the run loop
 yourself.
 */
NS_SWIFT_NAME(ShareAPI)
@interface FBSDKShareAPI : NSObject <FBSDKSharing>
/*!
 @abstract Convenience method to build up a share API with content and a delegate.
- (instancetype)init NS_DESIGNATED_INITIALIZER
NS_SWIFT_UNAVAILABLE("Use init(content:delegate:) instead");
+ (instancetype)new NS_UNAVAILABLE;
/**
  Convenience method to build up a share API with content and a delegate.
 @param content The content to be shared.
 @param delegate The receiver's delegate.
 */
+ (instancetype)shareWithContent:(id<FBSDKSharingContent>)content delegate:(id<FBSDKSharingDelegate>)delegate;
+ (instancetype)apiWithContent:(id<FBSDKSharingContent>)content
                      delegate:(nullable id<FBSDKSharingDelegate>)delegate
NS_SWIFT_NAME(init(content:delegate:));
/*!
 @abstract The message the person has provided through the custom dialog that will accompany the share content.
/**
 Convenience method to build up and share a share API with content and a delegate.
 @param content The content to be shared.
 @param delegate The receiver's delegate.
 */
@property (nonatomic, copy) NSString *message;
+ (instancetype)shareWithContent:(id<FBSDKSharingContent>)content
                        delegate:(nullable id<FBSDKSharingDelegate>)delegate
NS_SWIFT_UNAVAILABLE("Use init(content:delegate:).share() instead");
/*!
 @abstract The graph node to which content should be shared.
/**
  The message the person has provided through the custom dialog that will accompany the share content.
 */
@property (nonatomic, copy, nullable) NSString *message;
/**
  The graph node to which content should be shared.
 */
@property (nonatomic, copy) NSString *graphNode;
/*!
 @abstract A Boolean value that indicates whether the receiver can send the share.
 @discussion May return NO if the appropriate Facebook app is not installed and is required or an access token is
/**
  The access token used when performing a share. The access token must have the "publish_actions"
 permission granted.
 Defaults to [FBSDKAccessToken currentAccessToken]. Setting this to nil will revert the access token to
 [FBSDKAccessToken currentAccessToken].
 */
@property (nonatomic, strong, nullable) FBSDKAccessToken *accessToken;
/**
  A Boolean value that indicates whether the receiver can send the share.
 May return NO if the appropriate Facebook app is not installed and is required or an access token is
 required but not available.  This method does not validate the content on the receiver, so this can be checked before
 building up the content.
 @see [FBSDKSharing validateWithError:]
 @result YES if the receiver can send, otherwise NO.
 */
- (BOOL)canShare;
/*!
 @abstract Creates an User Owned Open Graph object without an action.
 @see [FBSDKSharing validateWithError:]
 @return YES if the receiver can send, otherwise NO.
 */
@property (nonatomic, readonly) BOOL canShare;
/**
  Creates an User Owned Open Graph object without an action.
 @param openGraphObject The open graph object to create.
 @discussion Use this method to create an object alone, when an action is not going to be posted with the object.  If
 Use this method to create an object alone, when an action is not going to be posted with the object.  If
 the object will be used within an action, just put the object in the action and share that as the shareContent and the
 object will be created in the process.  The delegate will be messaged with the results.
 Also see https://developers.facebook.com/docs/sharing/opengraph/object-api#objectapi-creatinguser
 @result YES if the receiver was able to send the request to create the object, otherwise NO.
 @return YES if the receiver was able to send the request to create the object, otherwise NO.
 */
- (BOOL)createOpenGraphObject:(FBSDKShareOpenGraphObject *)openGraphObject;
/*!
 @abstract Begins the send from the receiver.
 @result YES if the receiver was able to send the share, otherwise NO.
/**
  Begins the send from the receiver.
 @return YES if the receiver was able to send the share, otherwise NO.
 */
- (BOOL)share;
@end
NS_ASSUME_NONNULL_END