#if 0 #elif defined(__arm64__) && __arm64__ // Generated by Apple Swift version 5.9.2 (swiftlang-5.9.2.2.56 clang-1500.1.0.2.5) #ifndef FBSDKSHAREKIT_SWIFT_H #define FBSDKSHAREKIT_SWIFT_H #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wgcc-compat" #if !defined(__has_include) # define __has_include(x) 0 #endif #if !defined(__has_attribute) # define __has_attribute(x) 0 #endif #if !defined(__has_feature) # define __has_feature(x) 0 #endif #if !defined(__has_warning) # define __has_warning(x) 0 #endif #if __has_include() # include #endif #pragma clang diagnostic ignored "-Wauto-import" #if defined(__OBJC__) #include #endif #if defined(__cplusplus) #include #include #include #include #include #include #include #else #include #include #include #include #endif #if defined(__cplusplus) #if defined(__arm64e__) && __has_include() # include #else #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wreserved-macro-identifier" # ifndef __ptrauth_swift_value_witness_function_pointer # define __ptrauth_swift_value_witness_function_pointer(x) # endif # ifndef __ptrauth_swift_class_method_pointer # define __ptrauth_swift_class_method_pointer(x) # endif #pragma clang diagnostic pop #endif #endif #if !defined(SWIFT_TYPEDEFS) # define SWIFT_TYPEDEFS 1 # if __has_include() # include # elif !defined(__cplusplus) typedef uint_least16_t char16_t; typedef uint_least32_t char32_t; # endif typedef float swift_float2 __attribute__((__ext_vector_type__(2))); typedef float swift_float3 __attribute__((__ext_vector_type__(3))); typedef float swift_float4 __attribute__((__ext_vector_type__(4))); typedef double swift_double2 __attribute__((__ext_vector_type__(2))); typedef double swift_double3 __attribute__((__ext_vector_type__(3))); typedef double swift_double4 __attribute__((__ext_vector_type__(4))); typedef int swift_int2 __attribute__((__ext_vector_type__(2))); typedef int swift_int3 __attribute__((__ext_vector_type__(3))); typedef int swift_int4 __attribute__((__ext_vector_type__(4))); typedef unsigned int swift_uint2 __attribute__((__ext_vector_type__(2))); typedef unsigned int swift_uint3 __attribute__((__ext_vector_type__(3))); typedef unsigned int swift_uint4 __attribute__((__ext_vector_type__(4))); #endif #if !defined(SWIFT_PASTE) # define SWIFT_PASTE_HELPER(x, y) x##y # define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y) #endif #if !defined(SWIFT_METATYPE) # define SWIFT_METATYPE(X) Class #endif #if !defined(SWIFT_CLASS_PROPERTY) # if __has_feature(objc_class_property) # define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__ # else # define SWIFT_CLASS_PROPERTY(...) # endif #endif #if !defined(SWIFT_RUNTIME_NAME) # if __has_attribute(objc_runtime_name) # define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X))) # else # define SWIFT_RUNTIME_NAME(X) # endif #endif #if !defined(SWIFT_COMPILE_NAME) # if __has_attribute(swift_name) # define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X))) # else # define SWIFT_COMPILE_NAME(X) # endif #endif #if !defined(SWIFT_METHOD_FAMILY) # if __has_attribute(objc_method_family) # define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X))) # else # define SWIFT_METHOD_FAMILY(X) # endif #endif #if !defined(SWIFT_NOESCAPE) # if __has_attribute(noescape) # define SWIFT_NOESCAPE __attribute__((noescape)) # else # define SWIFT_NOESCAPE # endif #endif #if !defined(SWIFT_RELEASES_ARGUMENT) # if __has_attribute(ns_consumed) # define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed)) # else # define SWIFT_RELEASES_ARGUMENT # endif #endif #if !defined(SWIFT_WARN_UNUSED_RESULT) # if __has_attribute(warn_unused_result) # define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result)) # else # define SWIFT_WARN_UNUSED_RESULT # endif #endif #if !defined(SWIFT_NORETURN) # if __has_attribute(noreturn) # define SWIFT_NORETURN __attribute__((noreturn)) # else # define SWIFT_NORETURN # endif #endif #if !defined(SWIFT_CLASS_EXTRA) # define SWIFT_CLASS_EXTRA #endif #if !defined(SWIFT_PROTOCOL_EXTRA) # define SWIFT_PROTOCOL_EXTRA #endif #if !defined(SWIFT_ENUM_EXTRA) # define SWIFT_ENUM_EXTRA #endif #if !defined(SWIFT_CLASS) # if __has_attribute(objc_subclassing_restricted) # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA # define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA # else # define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA # define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA # endif #endif #if !defined(SWIFT_RESILIENT_CLASS) # if __has_attribute(objc_class_stub) # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub)) # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME) # else # define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) # define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME) # endif #endif #if !defined(SWIFT_PROTOCOL) # define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA # define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA #endif #if !defined(SWIFT_EXTENSION) # define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__) #endif #if !defined(OBJC_DESIGNATED_INITIALIZER) # if __has_attribute(objc_designated_initializer) # define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer)) # else # define OBJC_DESIGNATED_INITIALIZER # endif #endif #if !defined(SWIFT_ENUM_ATTR) # if __has_attribute(enum_extensibility) # define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility))) # else # define SWIFT_ENUM_ATTR(_extensibility) # endif #endif #if !defined(SWIFT_ENUM) # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type # if __has_feature(generalized_swift_name) # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) enum _name : _type _name SWIFT_COMPILE_NAME(SWIFT_NAME); enum SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type # else # define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility) # endif #endif #if !defined(SWIFT_UNAVAILABLE) # define SWIFT_UNAVAILABLE __attribute__((unavailable)) #endif #if !defined(SWIFT_UNAVAILABLE_MSG) # define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg))) #endif #if !defined(SWIFT_AVAILABILITY) # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__))) #endif #if !defined(SWIFT_WEAK_IMPORT) # define SWIFT_WEAK_IMPORT __attribute__((weak_import)) #endif #if !defined(SWIFT_DEPRECATED) # define SWIFT_DEPRECATED __attribute__((deprecated)) #endif #if !defined(SWIFT_DEPRECATED_MSG) # define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__))) #endif #if !defined(SWIFT_DEPRECATED_OBJC) # if __has_feature(attribute_diagnose_if_objc) # define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning"))) # else # define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg) # endif #endif #if defined(__OBJC__) #if !defined(IBSegueAction) # define IBSegueAction #endif #endif #if !defined(SWIFT_EXTERN) # if defined(__cplusplus) # define SWIFT_EXTERN extern "C" # else # define SWIFT_EXTERN extern # endif #endif #if !defined(SWIFT_CALL) # define SWIFT_CALL __attribute__((swiftcall)) #endif #if !defined(SWIFT_INDIRECT_RESULT) # define SWIFT_INDIRECT_RESULT __attribute__((swift_indirect_result)) #endif #if !defined(SWIFT_CONTEXT) # define SWIFT_CONTEXT __attribute__((swift_context)) #endif #if !defined(SWIFT_ERROR_RESULT) # define SWIFT_ERROR_RESULT __attribute__((swift_error_result)) #endif #if defined(__cplusplus) # define SWIFT_NOEXCEPT noexcept #else # define SWIFT_NOEXCEPT #endif #if !defined(SWIFT_C_INLINE_THUNK) # if __has_attribute(always_inline) # if __has_attribute(nodebug) # define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) __attribute__((nodebug)) # else # define SWIFT_C_INLINE_THUNK inline __attribute__((always_inline)) # endif # else # define SWIFT_C_INLINE_THUNK inline # endif #endif #if defined(_WIN32) #if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) # define SWIFT_IMPORT_STDLIB_SYMBOL __declspec(dllimport) #endif #else #if !defined(SWIFT_IMPORT_STDLIB_SYMBOL) # define SWIFT_IMPORT_STDLIB_SYMBOL #endif #endif #if defined(__OBJC__) #if __has_feature(objc_modules) #if __has_warning("-Watimport-in-framework-header") #pragma clang diagnostic ignored "-Watimport-in-framework-header" #endif @import CoreFoundation; @import FBSDKCoreKit; @import Foundation; @import ObjectiveC; #endif #import #endif #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch" #pragma clang diagnostic ignored "-Wduplicate-method-arg" #if __has_warning("-Wpragma-clang-attribute") # pragma clang diagnostic ignored "-Wpragma-clang-attribute" #endif #pragma clang diagnostic ignored "-Wunknown-pragmas" #pragma clang diagnostic ignored "-Wnullability" #pragma clang diagnostic ignored "-Wdollar-in-identifier-extension" #if __has_attribute(external_source_symbol) # pragma push_macro("any") # undef any # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FBSDKShareKit",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol)) # pragma pop_macro("any") #endif #if defined(__OBJC__) @class NSURL; @class NSString; enum FBSDKAppInviteDestination : NSInteger; /// A model for app invite SWIFT_CLASS_NAMED("AppInviteContent") @interface FBSDKAppInviteContent : NSObject /// A URL to a preview image that will be displayed with the app invite /// This is optional. If you don’t include it a fallback image will be used. @property (nonatomic, copy) NSURL * _Nullable appInvitePreviewImageURL; /// An app link target that will be used as a target when the user accept the invite. @property (nonatomic, copy) NSURL * _Nonnull appLinkURL; /// Promotional code to be displayed while sending and receiving the invite. /// This is optional. This can be between 0 and 10 characters long and can contain /// alphanumeric characters only. To set a promo code, you need to set promo text. @property (nonatomic, copy) NSString * _Nullable promotionCode; /// Promotional text to be displayed while sending and receiving the invite. /// This is optional. This can be between 0 and 80 characters long and can contain /// alphanumeric and spaces only. @property (nonatomic, copy) NSString * _Nullable promotionText; /// Destination for the app invite. The default value is .facebook. @property (nonatomic) enum FBSDKAppInviteDestination destination; - (nonnull instancetype)initWithAppLinkURL:(NSURL * _Nonnull)appLinkURL OBJC_DESIGNATED_INITIALIZER; - (nonnull instancetype)init SWIFT_UNAVAILABLE; + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); @end /// Specifies the privacy of a group. typedef SWIFT_ENUM_NAMED(NSInteger, FBSDKAppInviteDestination, "Destination", open) { /// Deliver to Facebook FBSDKAppInviteDestinationFacebook = 0, FBSDKAppInviteDestinationMessenger = 1, }; /// An interface for validatable content and media. SWIFT_PROTOCOL_NAMED("SharingValidatable") @protocol FBSDKSharingValidatable /// Validate that this content or media contains valid values. /// \param options The share bridge options to use for validation. /// /// /// throws: /// If the values are not valid. - (BOOL)validateWithOptions:(FBSDKShareBridgeOptions)options error:(NSError * _Nullable * _Nullable)error; @end @interface FBSDKAppInviteContent (SWIFT_EXTENSION(FBSDKShareKit)) - (BOOL)validateWithOptions:(FBSDKShareBridgeOptions)bridgeOptions error:(NSError * _Nullable * _Nullable)error; @end /// A container of arguments for a camera effect. /// An argument is a String or [String] identified by a String key. SWIFT_CLASS_NAMED("CameraEffectArguments") @interface FBSDKCameraEffectArguments : NSObject /// Sets a string argument in the container. /// @param string The argument /// @param key The key for the argument - (void)setString:(NSString * _Nullable)string forKey:(NSString * _Nonnull)key; /// Gets a string argument from the container. /// @param key The key for the argument /// @return The string value or nil - (NSString * _Nullable)stringForKey:(NSString * _Nonnull)key SWIFT_WARN_UNUSED_RESULT; /// Sets a string array argument in the container. /// @param array The array argument /// @param key The key for the argument - (void)setArray:(NSArray * _Nullable)array forKey:(NSString * _Nonnull)key; /// Gets an array argument from the container. /// @param key The key for the argument /// @return The array argument - (NSArray * _Nullable)arrayForKey:(NSString * _Nonnull)key SWIFT_WARN_UNUSED_RESULT; - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; @end @class UIImage; /// A container of textures for a camera effect. /// A texture for a camera effect is an UIImages identified by a NSString key. SWIFT_CLASS_NAMED("CameraEffectTextures") @interface FBSDKCameraEffectTextures : NSObject /// Sets the image for a texture key. /// @param image The UIImage for the texture /// @param key The key for the texture - (void)setImage:(UIImage * _Nullable)image forKey:(NSString * _Nonnull)key; /// Gets the image for a texture key. /// @param key The key for the texture /// @return The texture UIImage or nil - (UIImage * _Nullable)imageForKey:(NSString * _Nonnull)key SWIFT_WARN_UNUSED_RESULT; - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; @end @protocol FBSDKSharingContent; /// The common interface for sharing buttons. /// See FBSendButton and FBShareButton SWIFT_PROTOCOL_NAMED("SharingButton") @protocol FBSDKSharingButton /// The content to be shared. @property (nonatomic, strong) id _Nullable shareContent; @end @class FBSDKMessageDialog; @class NSCoder; /// A button to send content through Messenger. /// Tapping the receiver will invoke the FBSDKShareDialog with the attached shareContent. If the dialog cannot /// be shown, the button will be disable. SWIFT_CLASS_NAMED("FBSendButton") @interface FBSDKSendButton : FBSDKButton @property (nonatomic, strong) FBSDKMessageDialog * _Nullable dialog; @property (nonatomic, strong) id _Nullable shareContent; @property (nonatomic, readonly, copy) NSDictionary * _Nullable analyticsParameters; @property (nonatomic, readonly) FBSDKAppEventName _Nonnull impressionTrackingEventName; @property (nonatomic, readonly, copy) NSString * _Nonnull impressionTrackingIdentifier; @property (nonatomic, readonly, getter=isImplicitlyDisabled) BOOL implicitlyDisabled; - (void)configureButton; - (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; @end /// A button to share content. /// Tapping the receiver will invoke the FBSDKShareDialog with the attached shareContent. If the dialog cannot /// be shown, the button will be disabled. SWIFT_CLASS_NAMED("FBShareButton") @interface FBSDKShareButton : FBSDKButton @property (nonatomic, strong) id _Nullable shareContent; @property (nonatomic, readonly, copy) NSDictionary * _Nullable analyticsParameters; @property (nonatomic, readonly) FBSDKAppEventName _Nonnull impressionTrackingEventName; @property (nonatomic, readonly, copy) NSString * _Nonnull impressionTrackingIdentifier; @property (nonatomic, readonly, getter=isImplicitlyDisabled) BOOL implicitlyDisabled; - (void)configureButton; - (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER; - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER; @end /// Represents a single hashtag that can be used with the share dialog. SWIFT_CLASS_NAMED("Hashtag") @interface FBSDKHashtag : NSObject /// The hashtag string. /// You are responsible for making sure that stringRepresentation is a valid hashtag (a single ‘#’ followed by one or more /// word characters). Invalid hashtags are ignored when sharing content. You can check validity with thevalid property. /// @return The hashtag string @property (nonatomic, copy) NSString * _Nonnull stringRepresentation; - (nonnull instancetype)initWithString:(NSString * _Nonnull)string OBJC_DESIGNATED_INITIALIZER; @property (nonatomic, readonly, copy) NSString * _Nonnull description; /// Tests if a hashtag is valid. /// A valid hashtag matches the regular expression “#\w+”: A single ‘#’ followed by one or more word characters. /// @return true if the hashtag is valid, false otherwise. @property (nonatomic, readonly) BOOL isValid; @property (nonatomic, readonly) NSUInteger hash; - (BOOL)isEqual:(id _Nullable)object SWIFT_WARN_UNUSED_RESULT; - (nonnull instancetype)init SWIFT_UNAVAILABLE; + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); @end @protocol FBSDKSharingDelegate; /// The common interface for components that initiate sharing. /// See ShareDialog, MessageDialog SWIFT_PROTOCOL_NAMED("Sharing") @protocol FBSDKSharing /// The receiver’s delegate or nil if it doesn’t have a delegate. @property (nonatomic, weak) id _Nullable delegate; /// The content to be shared. @property (nonatomic, strong) id _Nullable shareContent; /// A boolean value that indicates whether the receiver should fail if it finds an error with the share content. /// If false, the sharer will still be displayed without the data that was misconfigured. For example, an /// invalid placeID specified on the shareContent would produce a data error. @property (nonatomic) BOOL shouldFailOnDataError; /// Validates the content on the receiver. /// @throws An error if the content is invalid - (BOOL)validateWithError:(NSError * _Nullable * _Nullable)error; @end /// The common interface for dialogs that initiate sharing. SWIFT_PROTOCOL_NAMED("SharingDialog") @protocol FBSDKSharingDialog /// A boolean value that indicates whether the receiver can initiate a share. /// May return false 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 Sharing.validate(error:) /// @return true if the receiver can share, otherwise false. @property (nonatomic, readonly) BOOL canShow; /// Shows the dialog. /// @return true if the receiver was able to begin sharing, otherwise false. - (BOOL)show; @end /// A dialog for sharing content through Messenger. /// SUPPORTED SHARE TYPES ///
    ///
  • /// FBSDKShareLinkContent ///
  • ///
/// UNSUPPORTED SHARE TYPES (DEPRECATED AUGUST 2018) ///
    ///
  • /// FBSDKShareOpenGraphContent ///
  • ///
  • /// FBSDKSharePhotoContent ///
  • ///
  • /// FBSDKShareVideoContent ///
  • ///
  • /// FBSDKShareMessengerOpenGraphMusicTemplateContent ///
  • ///
  • /// FBSDKShareMessengerMediaTemplateContent ///
  • ///
  • /// FBSDKShareMessengerGenericTemplateContent ///
  • ///
  • /// Any other types that are not one of the four supported types listed above ///
  • ///
SWIFT_CLASS_NAMED("MessageDialog") @interface FBSDKMessageDialog : NSObject /// The receiver’s delegate or nil if it doesn’t have a delegate. @property (nonatomic, weak) id _Nullable delegate; /// The content to be shared. @property (nonatomic, strong) id _Nullable shareContent; /// A Boolean value that indicates whether the receiver should fail if it finds an error with the share content. /// If false, the sharer will still be displayed without the data that was mis-configured. For example, an /// invalid placeID specified on the shareContent would produce a data error. @property (nonatomic) BOOL shouldFailOnDataError; - (nonnull instancetype)init SWIFT_UNAVAILABLE; + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); /// Convenience initializer to return a Message Share Dialog with content and a delegate. /// @param content The content to be shared. /// @param delegate The receiver’s delegate. - (nonnull instancetype)initWithContent:(id _Nullable)content delegate:(id _Nullable)delegate; /// Convenience method to return a Message Share Dialog with content and a delegate. /// @param content The content to be shared. /// @param delegate The receiver’s delegate. + (FBSDKMessageDialog * _Nonnull)dialogWithContent:(id _Nullable)content delegate:(id _Nullable)delegate SWIFT_WARN_UNUSED_RESULT; /// Convenience method to show a Message Share Dialog with content and a delegate. /// @param content The content to be shared. /// @param delegate The receiver’s delegate. + (FBSDKMessageDialog * _Nonnull)showWithContent:(id _Nullable)content delegate:(id _Nullable)delegate SWIFT_WARN_UNUSED_RESULT; /// A Boolean value that indicates whether the receiver can initiate a share. /// May return false 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 Sharing.validate() /// @return true if the receiver can share, otherwise false. @property (nonatomic, readonly) BOOL canShow; /// Shows the dialog. /// @return true if the receiver was able to begin sharing, otherwise false. - (BOOL)show; /// Validates the content on the receiver. /// @return true if the content is valid, otherwise false. - (BOOL)validateWithError:(NSError * _Nullable * _Nullable)error; @end /// A model for content to share with a Facebook camera effect. SWIFT_CLASS_NAMED("ShareCameraEffectContent") @interface FBSDKShareCameraEffectContent : NSObject /// ID of the camera effect to use. @property (nonatomic, copy) NSString * _Nonnull effectID; /// Arguments for the effect. @property (nonatomic, strong) FBSDKCameraEffectArguments * _Nonnull effectArguments; /// Textures for the effect. @property (nonatomic, strong) FBSDKCameraEffectTextures * _Nonnull effectTextures; /// URL for the content being shared. /// This URL will be checked for all link meta tags for linking in platform specific ways. See documentation /// for App Links (https://developers.facebook.com/docs/applinks/) @property (nonatomic, copy) NSURL * _Nullable contentURL; /// Hashtag for the content being shared. @property (nonatomic, strong) FBSDKHashtag * _Nullable hashtag; /// List of IDs for taggable people to tag with this content. /// See documentation for Taggable Friends /// (https://developers.facebook.com/docs/graph-api/reference/user/taggable_friends) @property (nonatomic, copy) NSArray * _Nonnull peopleIDs; /// The ID for a place to tag with this content. @property (nonatomic, copy) NSString * _Nullable placeID; /// A value to be added to the referrer URL when a person follows a link from this shared content on feed. @property (nonatomic, copy) NSString * _Nullable ref; /// For shares into Messenger, this pageID will be used to map the app to page and attach attribution to the share. @property (nonatomic, copy) NSString * _Nullable pageID; /// A unique identifier for a share involving this content, useful for tracking purposes. @property (nonatomic, readonly, copy) NSString * _Nullable shareUUID; - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; @end /// A base interface for content to be shared. SWIFT_PROTOCOL_NAMED("SharingContent") @protocol FBSDKSharingContent /// URL for the content being shared. /// This URL will be checked for all link meta tags for linking in platform specific ways. /// See documentation for App Links (https://developers.facebook.com/docs/applinks/) @property (nonatomic, copy) NSURL * _Nullable contentURL; /// Hashtag for the content being shared. @property (nonatomic, strong) FBSDKHashtag * _Nullable hashtag; /// List of IDs for taggable people to tag with this content. /// See documentation for Taggable Friends /// (https://developers.facebook.com/docs/graph-api/reference/user/taggable_friends) @property (nonatomic, copy) NSArray * _Nonnull peopleIDs; /// The ID for a place to tag with this content. @property (nonatomic, copy) NSString * _Nullable placeID; /// A value to be added to the referrer URL when a person follows a link from this shared content on feed. @property (nonatomic, copy) NSString * _Nullable ref; /// For shares into Messenger, this pageID will be used to map the app to page and attach attribution to the share. @property (nonatomic, copy) NSString * _Nullable pageID; /// A unique identifier for a share involving this content, useful for tracking purposes. @property (nonatomic, readonly, copy) NSString * _Nullable shareUUID; /// Adds content to an existing dictionary as key/value pairs and returns the /// updated dictionary /// @param existingParameters An immutable dictionary of existing values /// @param bridgeOptions The options for bridging /// @return A new dictionary with the modified contents - (NSDictionary * _Nonnull)addParameters:(NSDictionary * _Nonnull)existingParameters bridgeOptions:(FBSDKShareBridgeOptions)bridgeOptions SWIFT_WARN_UNUSED_RESULT; @end @interface FBSDKShareCameraEffectContent (SWIFT_EXTENSION(FBSDKShareKit)) /// Adds content to an existing dictionary as key/value pairs and returns the /// updated dictionary /// @param existingParameters An immutable dictionary of existing values /// @param bridgeOptions The options for bridging /// @return A new dictionary with the modified contents - (NSDictionary * _Nonnull)addParameters:(NSDictionary * _Nonnull)existingParameters bridgeOptions:(FBSDKShareBridgeOptions)bridgeOptions SWIFT_WARN_UNUSED_RESULT; - (BOOL)validateWithOptions:(FBSDKShareBridgeOptions)bridgeOptions error:(NSError * _Nullable * _Nullable)error; @end @class UIViewController; enum FBSDKShareDialogMode : NSUInteger; /// A dialog for sharing content on Facebook. SWIFT_CLASS_NAMED("ShareDialog") @interface FBSDKShareDialog : NSObject /// A UIViewController from which to present the dialog. /// If not specified, the topmost view controller will be automatically determined as best as possible. @property (nonatomic, weak) UIViewController * _Nullable fromViewController; /// The mode with which to display the dialog. /// Defaults to .automatic, which will automatically choose the best available mode. @property (nonatomic) enum FBSDKShareDialogMode mode; /// The receiver’s delegate or nil if it doesn’t have a delegate. @property (nonatomic, weak) id _Nullable delegate; /// The content to be shared. @property (nonatomic, strong) id _Nullable shareContent; /// A Boolean value that indicates whether the receiver should fail if it finds an error with the share content. /// If false, the sharer will still be displayed without the data that was misconfigured. For example, an /// invalid placeID specified on the shareContent would produce a data error. @property (nonatomic) BOOL shouldFailOnDataError; /// Convenience initializer to initialize a ShareDialog with a view controller, content and delegate. /// @param viewController A view controller from which to present the dialog, if appropriate. /// @param content The content to be shared. /// @param delegate The dialog’s delegate. - (nonnull instancetype)initWithViewController:(UIViewController * _Nullable)viewController content:(id _Nullable)content delegate:(id _Nullable)delegate OBJC_DESIGNATED_INITIALIZER; /// Convenience method to create a ShareDialog with a view controller, content and delegate. /// @param viewController A view controller from which to present the dialog, if appropriate. /// @param content The content to be shared. /// @param delegate The dialog’s delegate. + (FBSDKShareDialog * _Nonnull)dialogWithViewController:(UIViewController * _Nullable)viewController withContent:(id _Nullable)content delegate:(id _Nullable)delegate SWIFT_WARN_UNUSED_RESULT; /// Convenience method to show a ShareDialog with a view controller, content and delegate. /// @param viewController A view controller from which to present the dialog, if appropriate. /// @param content The content to be shared. /// @param delegate The dialog’s delegate. + (FBSDKShareDialog * _Nonnull)showFromViewController:(UIViewController * _Nullable)viewController withContent:(id _Nullable)content delegate:(id _Nullable)delegate; - (nonnull instancetype)init SWIFT_UNAVAILABLE; + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); @end @interface FBSDKShareDialog (SWIFT_EXTENSION(FBSDKShareKit)) @end /// Modes for the FBSDKShareDialog. /// The automatic mode will progressively check the availability of different modes and open the most /// appropriate mode for the dialog that is available. typedef SWIFT_ENUM_NAMED(NSUInteger, FBSDKShareDialogMode, "Mode", open) { /// Acts with the most appropriate mode that is available. FBSDKShareDialogModeAutomatic = 0, /// Displays the dialog in the main native Facebook app. FBSDKShareDialogModeNative = 1, /// Displays the dialog in the iOS integrated share sheet. FBSDKShareDialogModeShareSheet = 2, /// Displays the dialog in Safari. FBSDKShareDialogModeBrowser = 3, /// Displays the dialog in a WKWebView within the app. FBSDKShareDialogModeWeb = 4, /// Displays the feed dialog in Safari. FBSDKShareDialogModeFeedBrowser = 5, /// Displays the feed dialog in a WKWebView within the app. FBSDKShareDialogModeFeedWeb = 6, }; @class FBSDKWebDialog; @interface FBSDKShareDialog (SWIFT_EXTENSION(FBSDKShareKit)) - (void)webDialog:(FBSDKWebDialog * _Nonnull)webDialog didCompleteWithResults:(NSDictionary * _Nonnull)results; - (void)webDialog:(FBSDKWebDialog * _Nonnull)webDialog didFailWithError:(NSError * _Nonnull)error; - (void)webDialogDidCancel:(FBSDKWebDialog * _Nonnull)webDialog; @end @interface FBSDKShareDialog (SWIFT_EXTENSION(FBSDKShareKit)) @property (nonatomic, readonly) BOOL canShow; - (BOOL)show; - (BOOL)validateWithError:(NSError * _Nullable * _Nullable)error; @end /// ShareError /// Error codes for ShareErrorDomain. typedef SWIFT_ENUM_NAMED(NSInteger, FBSDKShareError, "ShareError", open) { /// Reserved FBSDKShareErrorReserved = 200, /// The error code for errors from uploading open graph objects. FBSDKShareErrorOpenGraph = 201, /// The error code for when a sharing dialog is not available. /// Use the canShare methods to check for this case before calling show. FBSDKShareErrorDialogNotAvailable = 202, /// The error code for unknown errors. FBSDKShareErrorUnknown = 203, }; /// A model for status and link content to be shared. SWIFT_CLASS_NAMED("ShareLinkContent") @interface FBSDKShareLinkContent : NSObject /// Some quote text of the link. /// If specified, the quote text will render with custom styling on top of the link. @property (nonatomic, copy) NSString * _Nullable quote; /// URL for the content being shared. /// This URL will be checked for all link meta tags for linking in platform specific ways. See documentation /// for App Links (https://developers.facebook.com/docs/applinks/) @property (nonatomic, copy) NSURL * _Nullable contentURL; /// Hashtag for the content being shared. @property (nonatomic, strong) FBSDKHashtag * _Nullable hashtag; /// List of IDs for taggable people to tag with this content. /// See documentation for Taggable Friends /// (https://developers.facebook.com/docs/graph-api/reference/user/taggable_friends) @property (nonatomic, copy) NSArray * _Nonnull peopleIDs; /// The ID for a place to tag with this content. @property (nonatomic, copy) NSString * _Nullable placeID; /// A value to be added to the referrer URL when a person follows a link from this shared content on feed. @property (nonatomic, copy) NSString * _Nullable ref; /// For shares into Messenger, this pageID will be used to map the app to page and attach attribution to the share. @property (nonatomic, copy) NSString * _Nullable pageID; /// A unique identifier for a share involving this content, useful for tracking purposes. @property (nonatomic, readonly, copy) NSString * _Nullable shareUUID; - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; @end @interface FBSDKShareLinkContent (SWIFT_EXTENSION(FBSDKShareKit)) /// Adds content to an existing dictionary as key/value pairs and returns the /// updated dictionary /// @param existingParameters An immutable dictionary of existing values /// @param bridgeOptions The options for bridging /// @return A new dictionary with the modified contents - (NSDictionary * _Nonnull)addParameters:(NSDictionary * _Nonnull)existingParameters bridgeOptions:(FBSDKShareBridgeOptions)bridgeOptions SWIFT_WARN_UNUSED_RESULT; @end @interface FBSDKShareLinkContent (SWIFT_EXTENSION(FBSDKShareKit)) /// Asks the receiver to validate that its content or media values are valid. - (BOOL)validateWithOptions:(FBSDKShareBridgeOptions)bridgeOptions error:(NSError * _Nullable * _Nullable)error; @end /// A protocol for media content (photo or video) to be shared. SWIFT_PROTOCOL_NAMED("ShareMedia") @protocol FBSDKShareMedia @end /// A model for media content (photo or video) to be shared. SWIFT_CLASS_NAMED("ShareMediaContent") @interface FBSDKShareMediaContent : NSObject /// Media to be shared: an array of SharePhoto or ShareVideo @property (nonatomic, copy) NSArray> * _Nonnull media; /// URL for the content being shared. /// This URL will be checked for all link meta tags for linking in platform specific ways. See documentation /// for App Links (https://developers.facebook.com/docs/applinks/) @property (nonatomic, copy) NSURL * _Nullable contentURL; /// Hashtag for the content being shared. @property (nonatomic, strong) FBSDKHashtag * _Nullable hashtag; /// List of IDs for taggable people to tag with this content. /// See documentation for Taggable Friends /// (https://developers.facebook.com/docs/graph-api/reference/user/taggable_friends) @property (nonatomic, copy) NSArray * _Nonnull peopleIDs; /// The ID for a place to tag with this content. @property (nonatomic, copy) NSString * _Nullable placeID; /// A value to be added to the referrer URL when a person follows a link from this shared content on feed. @property (nonatomic, copy) NSString * _Nullable ref; /// For shares into Messenger, this pageID will be used to map the app to page and attach attribution to the share. @property (nonatomic, copy) NSString * _Nullable pageID; /// A unique identifier for a share involving this content, useful for tracking purposes. @property (nonatomic, readonly, copy) NSString * _Nullable shareUUID; - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; @end @interface FBSDKShareMediaContent (SWIFT_EXTENSION(FBSDKShareKit)) /// Asks the receiver to validate that its content or media values are valid. - (BOOL)validateWithOptions:(FBSDKShareBridgeOptions)bridgeOptions error:(NSError * _Nullable * _Nullable)error; @end @interface FBSDKShareMediaContent (SWIFT_EXTENSION(FBSDKShareKit)) /// Adds content to an existing dictionary as key/value pairs and returns the /// updated dictionary /// @param existingParameters An immutable dictionary of existing values /// @param bridgeOptions The options for bridging /// @return A new dictionary with the modified contents - (NSDictionary * _Nonnull)addParameters:(NSDictionary * _Nonnull)existingParameters bridgeOptions:(FBSDKShareBridgeOptions)bridgeOptions SWIFT_WARN_UNUSED_RESULT; @end @class PHAsset; /// A photo for sharing. SWIFT_CLASS_NAMED("SharePhoto") @interface FBSDKSharePhoto : NSObject /// If the photo is resident in memory, this method supplies the data. @property (nonatomic, strong) UIImage * _Nullable image; /// URL that points to a network location or the location of the photo on disk @property (nonatomic, copy) NSURL * _Nullable imageURL; /// The representation of the photo in the Photos library. @property (nonatomic, strong) PHAsset * _Nullable photoAsset; /// Specifies whether the photo represented by the receiver was generated by the user (true) /// or by the application (false). @property (nonatomic) BOOL isUserGenerated; /// The user-generated caption for the photo. Note that the ‘caption’ must come from /// the user, as pre-filled content is forbidden by the Platform Policies (2.3). @property (nonatomic, copy) NSString * _Nullable caption; /// Convenience method to build a new photo object with an image. /// \param image If the photo is resident in memory, this method supplies the data /// /// \param isUserGenerated Specifies whether the photo represented by the receiver was generated by the user or by the /// application /// - (nonnull instancetype)initWithImage:(UIImage * _Nonnull)image isUserGenerated:(BOOL)isUserGenerated; /// Convenience method to build a new photo object with an imageURL. /// This method should only be used when adding photo content to open graph stories. /// For example, if you’re trying to share a photo from the web by itself, download the image and use /// init(image:isUserGenerated:) instead. /// \param imageURL The URL to the photo /// /// \param isUserGenerated Specifies whether the photo represented by the receiver was generated by the user or by the /// application /// - (nonnull instancetype)initWithImageURL:(NSURL * _Nonnull)imageURL isUserGenerated:(BOOL)isUserGenerated; /// Convenience method to build a new photo object with a PHAsset. /// \param photoAsset The PHAsset that represents the photo in the Photos library. /// /// \param isUserGenerated Specifies whether the photo represented by the receiver was generated by the user or by /// the application /// - (nonnull instancetype)initWithPhotoAsset:(PHAsset * _Nonnull)photoAsset isUserGenerated:(BOOL)isUserGenerated; - (nonnull instancetype)init SWIFT_UNAVAILABLE; + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); @end @interface FBSDKSharePhoto (SWIFT_EXTENSION(FBSDKShareKit)) /// Asks the receiver to validate that its content or media values are valid. - (BOOL)validateWithOptions:(FBSDKShareBridgeOptions)bridgeOptions error:(NSError * _Nullable * _Nullable)error; @end /// A model for photo content to be shared. SWIFT_CLASS_NAMED("SharePhotoContent") @interface FBSDKSharePhotoContent : NSObject /// Photos to be shared. @property (nonatomic, copy) NSArray * _Nonnull photos; /// URL for the content being shared. /// This URL will be checked for all link meta tags for linking in platform specific ways. See documentation /// for App Links (https://developers.facebook.com/docs/applinks/) @property (nonatomic, copy) NSURL * _Nullable contentURL; /// Hashtag for the content being shared. @property (nonatomic, strong) FBSDKHashtag * _Nullable hashtag; /// List of IDs for taggable people to tag with this content. /// See documentation for Taggable Friends /// (https://developers.facebook.com/docs/graph-api/reference/user/taggable_friends) @property (nonatomic, copy) NSArray * _Nonnull peopleIDs; /// The ID for a place to tag with this content. @property (nonatomic, copy) NSString * _Nullable placeID; /// A value to be added to the referrer URL when a person follows a link from this shared content on feed. @property (nonatomic, copy) NSString * _Nullable ref; /// For shares into Messenger, this pageID will be used to map the app to page and attach attribution to the share. @property (nonatomic, copy) NSString * _Nullable pageID; /// A unique identifier for a share involving this content, useful for tracking purposes. @property (nonatomic, readonly, copy) NSString * _Nullable shareUUID; - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; @end @interface FBSDKSharePhotoContent (SWIFT_EXTENSION(FBSDKShareKit)) /// Adds content to an existing dictionary as key/value pairs and returns the /// updated dictionary /// @param existingParameters An immutable dictionary of existing values /// @param bridgeOptions The options for bridging /// @return A new dictionary with the modified contents - (NSDictionary * _Nonnull)addParameters:(NSDictionary * _Nonnull)existingParameters bridgeOptions:(FBSDKShareBridgeOptions)bridgeOptions SWIFT_WARN_UNUSED_RESULT; @end @interface FBSDKSharePhotoContent (SWIFT_EXTENSION(FBSDKShareKit)) /// Validate that this content contains valid values - (BOOL)validateWithOptions:(FBSDKShareBridgeOptions)bridgeOptions error:(NSError * _Nullable * _Nullable)error; @end @class NSData; /// A video for sharing. SWIFT_CLASS_NAMED("ShareVideo") @interface FBSDKShareVideo : NSObject /// The raw video data. @property (nonatomic, copy) NSData * _Nullable data; /// The representation of the video in the Photos library. @property (nonatomic, strong) PHAsset * _Nullable videoAsset; /// The file URL to the video. @property (nonatomic, copy) NSURL * _Nullable videoURL; /// The photo that represents the video. @property (nonatomic, strong) FBSDKSharePhoto * _Nullable previewPhoto; /// Convenience method to build a new video object from raw data and an optional preview photo. /// \param data The Data object that holds the raw video data. /// /// \param previewPhoto The photo that represents the video. /// - (nonnull instancetype)initWithData:(NSData * _Nonnull)data previewPhoto:(FBSDKSharePhoto * _Nullable)previewPhoto; /// Convenience method to build a new video object from a PHAsset and an optional preview photo. /// \param videoAsset The PHAsset that represents the video in the Photos library. /// /// \param previewPhoto The photo that represents the video. /// - (nonnull instancetype)initWithVideoAsset:(PHAsset * _Nonnull)videoAsset previewPhoto:(FBSDKSharePhoto * _Nullable)previewPhoto; /// Convenience method to build a new video object from a URL and an optional preview photo. /// \param videoURL The URL to the video. /// /// \param previewPhoto The photo that represents the video. /// - (nonnull instancetype)initWithVideoURL:(NSURL * _Nonnull)videoURL previewPhoto:(FBSDKSharePhoto * _Nullable)previewPhoto; - (nonnull instancetype)init SWIFT_UNAVAILABLE; + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable"); @end @interface FBSDKShareVideo (SWIFT_EXTENSION(FBSDKShareKit)) /// Asks the receiver to validate that its content or media values are valid. - (BOOL)validateWithOptions:(FBSDKShareBridgeOptions)bridgeOptions error:(NSError * _Nullable * _Nullable)error; @end /// A model for video content to be shared. SWIFT_CLASS_NAMED("ShareVideoContent") @interface FBSDKShareVideoContent : NSObject /// The video to be shared @property (nonatomic, strong) FBSDKShareVideo * _Nonnull video; /// URL for the content being shared. /// This URL will be checked for all link meta tags for linking in platform specific ways. See documentation /// for App Links (https://developers.facebook.com/docs/applinks/) @property (nonatomic, copy) NSURL * _Nullable contentURL; /// Hashtag for the content being shared. @property (nonatomic, strong) FBSDKHashtag * _Nullable hashtag; /// List of IDs for taggable people to tag with this content. /// See documentation for Taggable Friends /// (https://developers.facebook.com/docs/graph-api/reference/user/taggable_friends) @property (nonatomic, copy) NSArray * _Nonnull peopleIDs; /// The ID for a place to tag with this content. @property (nonatomic, copy) NSString * _Nullable placeID; /// A value to be added to the referrer URL when a person follows a link from this shared content on feed. @property (nonatomic, copy) NSString * _Nullable ref; /// For shares into Messenger, this pageID will be used to map the app to page and attach attribution to the share. @property (nonatomic, copy) NSString * _Nullable pageID; /// A unique identifier for a share involving this content, useful for tracking purposes. @property (nonatomic, readonly, copy) NSString * _Nullable shareUUID; - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER; @end @interface FBSDKShareVideoContent (SWIFT_EXTENSION(FBSDKShareKit)) /// Adds content to an existing dictionary as key/value pairs and returns the /// updated dictionary /// @param existingParameters An immutable dictionary of existing values /// @param bridgeOptions The options for bridging /// @return A new dictionary with the modified contents - (NSDictionary * _Nonnull)addParameters:(NSDictionary * _Nonnull)existingParameters bridgeOptions:(FBSDKShareBridgeOptions)bridgeOptions SWIFT_WARN_UNUSED_RESULT; @end @interface FBSDKShareVideoContent (SWIFT_EXTENSION(FBSDKShareKit)) - (BOOL)validateWithOptions:(FBSDKShareBridgeOptions)bridgeOptions error:(NSError * _Nullable * _Nullable)error; @end /// A delegate for types conforming to the Sharing protocol. /// The delegate is notified with the results of the sharer as long as the application has permissions to /// receive the information. For example, if the person is not signed into the containing app, the sharer may not be able /// to distinguish between completion of a share and cancellation. SWIFT_PROTOCOL_NAMED("SharingDelegate") @protocol FBSDKSharingDelegate /// Sent to the delegate when sharing completes without error or cancellation. /// @param sharer The sharer that completed. /// @param results The results from the sharer. This may be nil or empty. - (void)sharer:(id _Nonnull)sharer didCompleteWithResults:(NSDictionary * _Nonnull)results; /// Sent to the delegate when the sharer encounters an error. /// @param sharer The sharer that completed. /// @param error The error. - (void)sharer:(id _Nonnull)sharer didFailWithError:(NSError * _Nonnull)error; /// Sent to the delegate when the sharer is cancelled. /// @param sharer The sharer that completed. - (void)sharerDidCancel:(id _Nonnull)sharer; @end #endif #if __has_attribute(external_source_symbol) # pragma clang attribute pop #endif #if defined(__cplusplus) #endif #pragma clang diagnostic pop #endif #else #error unsupported Swift architecture #endif