lpw
2023-06-03 e0ec4235cc7b8d05ec1aaa414ec2d2cac798d74e
commit | author | age
2e29a3 1 #if 0
L 2 #elif defined(__arm64__) && __arm64__
e0ec42 3 // Generated by Apple Swift version 5.7.2 (swiftlang-5.7.2.135.5 clang-1400.0.29.51)
2e29a3 4 #ifndef FBSDKCOREKIT_SWIFT_H
L 5 #define FBSDKCOREKIT_SWIFT_H
6 #pragma clang diagnostic push
7 #pragma clang diagnostic ignored "-Wgcc-compat"
8
9 #if !defined(__has_include)
10 # define __has_include(x) 0
11 #endif
12 #if !defined(__has_attribute)
13 # define __has_attribute(x) 0
14 #endif
15 #if !defined(__has_feature)
16 # define __has_feature(x) 0
17 #endif
18 #if !defined(__has_warning)
19 # define __has_warning(x) 0
20 #endif
21
22 #if __has_include(<swift/objc-prologue.h>)
23 # include <swift/objc-prologue.h>
24 #endif
25
e0ec42 26 #pragma clang diagnostic ignored "-Wduplicate-method-match"
2e29a3 27 #pragma clang diagnostic ignored "-Wauto-import"
e0ec42 28 #if defined(__OBJC__)
2e29a3 29 #include <Foundation/Foundation.h>
e0ec42 30 #endif
L 31 #if defined(__cplusplus)
32 #include <cstdint>
33 #include <cstddef>
34 #include <cstdbool>
35 #else
2e29a3 36 #include <stdint.h>
L 37 #include <stddef.h>
38 #include <stdbool.h>
e0ec42 39 #endif
2e29a3 40
L 41 #if !defined(SWIFT_TYPEDEFS)
42 # define SWIFT_TYPEDEFS 1
43 # if __has_include(<uchar.h>)
44 #  include <uchar.h>
45 # elif !defined(__cplusplus)
46 typedef uint_least16_t char16_t;
47 typedef uint_least32_t char32_t;
48 # endif
49 typedef float swift_float2  __attribute__((__ext_vector_type__(2)));
50 typedef float swift_float3  __attribute__((__ext_vector_type__(3)));
51 typedef float swift_float4  __attribute__((__ext_vector_type__(4)));
52 typedef double swift_double2  __attribute__((__ext_vector_type__(2)));
53 typedef double swift_double3  __attribute__((__ext_vector_type__(3)));
54 typedef double swift_double4  __attribute__((__ext_vector_type__(4)));
55 typedef int swift_int2  __attribute__((__ext_vector_type__(2)));
56 typedef int swift_int3  __attribute__((__ext_vector_type__(3)));
57 typedef int swift_int4  __attribute__((__ext_vector_type__(4)));
58 typedef unsigned int swift_uint2  __attribute__((__ext_vector_type__(2)));
59 typedef unsigned int swift_uint3  __attribute__((__ext_vector_type__(3)));
60 typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
61 #endif
62
63 #if !defined(SWIFT_PASTE)
64 # define SWIFT_PASTE_HELPER(x, y) x##y
65 # define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
66 #endif
67 #if !defined(SWIFT_METATYPE)
68 # define SWIFT_METATYPE(X) Class
69 #endif
70 #if !defined(SWIFT_CLASS_PROPERTY)
71 # if __has_feature(objc_class_property)
72 #  define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
73 # else
74 #  define SWIFT_CLASS_PROPERTY(...)
75 # endif
76 #endif
77
78 #if __has_attribute(objc_runtime_name)
79 # define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
80 #else
81 # define SWIFT_RUNTIME_NAME(X)
82 #endif
83 #if __has_attribute(swift_name)
84 # define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
85 #else
86 # define SWIFT_COMPILE_NAME(X)
87 #endif
88 #if __has_attribute(objc_method_family)
89 # define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
90 #else
91 # define SWIFT_METHOD_FAMILY(X)
92 #endif
93 #if __has_attribute(noescape)
94 # define SWIFT_NOESCAPE __attribute__((noescape))
95 #else
96 # define SWIFT_NOESCAPE
97 #endif
98 #if __has_attribute(ns_consumed)
99 # define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
100 #else
101 # define SWIFT_RELEASES_ARGUMENT
102 #endif
103 #if __has_attribute(warn_unused_result)
104 # define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
105 #else
106 # define SWIFT_WARN_UNUSED_RESULT
107 #endif
108 #if __has_attribute(noreturn)
109 # define SWIFT_NORETURN __attribute__((noreturn))
110 #else
111 # define SWIFT_NORETURN
112 #endif
113 #if !defined(SWIFT_CLASS_EXTRA)
114 # define SWIFT_CLASS_EXTRA
115 #endif
116 #if !defined(SWIFT_PROTOCOL_EXTRA)
117 # define SWIFT_PROTOCOL_EXTRA
118 #endif
119 #if !defined(SWIFT_ENUM_EXTRA)
120 # define SWIFT_ENUM_EXTRA
121 #endif
122 #if !defined(SWIFT_CLASS)
123 # if __has_attribute(objc_subclassing_restricted)
124 #  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
125 #  define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
126 # else
127 #  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
128 #  define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
129 # endif
130 #endif
131 #if !defined(SWIFT_RESILIENT_CLASS)
132 # if __has_attribute(objc_class_stub)
133 #  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
134 #  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
135 # else
136 #  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
137 #  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
138 # endif
139 #endif
140
141 #if !defined(SWIFT_PROTOCOL)
142 # define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
143 # define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
144 #endif
145
146 #if !defined(SWIFT_EXTENSION)
147 # define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
148 #endif
149
150 #if !defined(OBJC_DESIGNATED_INITIALIZER)
151 # if __has_attribute(objc_designated_initializer)
152 #  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
153 # else
154 #  define OBJC_DESIGNATED_INITIALIZER
155 # endif
156 #endif
157 #if !defined(SWIFT_ENUM_ATTR)
158 # if defined(__has_attribute) && __has_attribute(enum_extensibility)
159 #  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
160 # else
161 #  define SWIFT_ENUM_ATTR(_extensibility)
162 # endif
163 #endif
164 #if !defined(SWIFT_ENUM)
165 # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
166 # if __has_feature(generalized_swift_name)
167 #  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
168 # else
169 #  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
170 # endif
171 #endif
172 #if !defined(SWIFT_UNAVAILABLE)
173 # define SWIFT_UNAVAILABLE __attribute__((unavailable))
174 #endif
175 #if !defined(SWIFT_UNAVAILABLE_MSG)
176 # define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
177 #endif
178 #if !defined(SWIFT_AVAILABILITY)
179 # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
180 #endif
181 #if !defined(SWIFT_WEAK_IMPORT)
182 # define SWIFT_WEAK_IMPORT __attribute__((weak_import))
183 #endif
184 #if !defined(SWIFT_DEPRECATED)
185 # define SWIFT_DEPRECATED __attribute__((deprecated))
186 #endif
187 #if !defined(SWIFT_DEPRECATED_MSG)
188 # define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
189 #endif
190 #if __has_feature(attribute_diagnose_if_objc)
191 # define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
192 #else
193 # define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
194 #endif
e0ec42 195 #if defined(__OBJC__)
2e29a3 196 #if !defined(IBSegueAction)
L 197 # define IBSegueAction
198 #endif
e0ec42 199 #endif
L 200 #if !defined(SWIFT_EXTERN)
201 # if defined(__cplusplus)
202 #  define SWIFT_EXTERN extern "C"
203 # else
204 #  define SWIFT_EXTERN extern
205 # endif
206 #endif
207 #if !defined(SWIFT_CALL)
208 # define SWIFT_CALL __attribute__((swiftcall))
209 #endif
210 #if defined(__cplusplus)
211 #if !defined(SWIFT_NOEXCEPT)
212 # define SWIFT_NOEXCEPT noexcept
213 #endif
214 #else
215 #if !defined(SWIFT_NOEXCEPT)
216 # define SWIFT_NOEXCEPT 
217 #endif
218 #endif
219 #if defined(__cplusplus)
220 #if !defined(SWIFT_CXX_INT_DEFINED)
221 #define SWIFT_CXX_INT_DEFINED
222 namespace swift {
223 using Int = ptrdiff_t;
224 using UInt = size_t;
225 }
226 #endif
227 #endif
228 #if defined(__OBJC__)
2e29a3 229 #if __has_feature(modules)
L 230 #if __has_warning("-Watimport-in-framework-header")
231 #pragma clang diagnostic ignored "-Watimport-in-framework-header"
232 #endif
e0ec42 233 @import AuthenticationServices;
L 234 @import CoreFoundation;
235 @import CoreGraphics;
236 @import FBAEMKit;
237 @import Foundation;
238 @import ObjectiveC;
239 @import SafariServices;
240 @import StoreKit;
241 @import UIKit;
2e29a3 242 #endif
L 243
e0ec42 244 #import <FBSDKCoreKit/FBSDKCoreKit.h>
L 245
246 #endif
2e29a3 247 #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
L 248 #pragma clang diagnostic ignored "-Wduplicate-method-arg"
249 #if __has_warning("-Wpragma-clang-attribute")
250 # pragma clang diagnostic ignored "-Wpragma-clang-attribute"
251 #endif
252 #pragma clang diagnostic ignored "-Wunknown-pragmas"
253 #pragma clang diagnostic ignored "-Wnullability"
e0ec42 254 #pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
2e29a3 255
L 256 #if __has_attribute(external_source_symbol)
257 # pragma push_macro("any")
258 # undef any
259 # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FBSDKCoreKit",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
260 # pragma pop_macro("any")
261 #endif
262
e0ec42 263 #if defined(__OBJC__)
L 264 @class NSString;
265 @class NSNumber;
266 @class NSURL;
2e29a3 267
e0ec42 268 /// Internal Type exposed to facilitate transition to Swift.
L 269 /// API Subject to change or removal without warning. Do not use.
270 /// @warning INTERNAL - DO NOT USE
271 SWIFT_PROTOCOL_NAMED("_AEMReporterProtocol")
272 @protocol FBSDKAEMReporter
273 + (void)enable;
274 + (void)recordAndUpdateEvent:(NSString * _Nonnull)event currency:(NSString * _Nullable)currency value:(NSNumber * _Nullable)value parameters:(NSDictionary<NSString *, id> * _Nullable)parameters;
275 + (void)setConversionFilteringEnabled:(BOOL)isEnabled;
276 + (void)setCatalogMatchingEnabled:(BOOL)isEnabled;
277 + (void)setAdvertiserRuleMatchInServerEnabled:(BOOL)isEnabled;
278 + (void)handle:(NSURL * _Nonnull)url;
279 @end
280
281
282 @interface FBAEMReporter (SWIFT_EXTENSION(FBSDKCoreKit)) <FBSDKAEMReporter>
283 @end
284
285
286
287 @protocol FBSDKAppLinkTarget;
288
289 /// Contains App Link metadata relevant for navigation on this device
290 /// derived from the HTML at a given URL.
291 SWIFT_CLASS_NAMED("AppLink")
292 @interface FBSDKAppLink : NSObject <FBSDKAppLink>
293 /// The URL from which this FBSDKAppLink was derived
294 @property (nonatomic, readonly, copy) NSURL * _Nullable sourceURL;
295 /// The ordered list of targets applicable to this platform that will be used
296 /// for navigation.
297 @property (nonatomic, readonly, copy) NSArray<id <FBSDKAppLinkTarget>> * _Nonnull targets;
298 /// The fallback web URL to use if no targets are installed on this device.
299 @property (nonatomic, readonly, copy) NSURL * _Nullable webURL;
300 /// Internal property exposed to facilitate transition to Swift.
301 /// API Subject to change or removal without warning. Do not use.
302 /// <blockquote>
303 /// Warning: INTERNAL - DO NOT USE
304 ///
305 /// </blockquote>
306 @property (nonatomic, getter=isBackToReferrer) BOOL backToReferrer;
307 /// Creates an AppLink with the given list of AppLinkTargets and target URL.
308 /// Generally, this will only be used by implementers of the AppLinkResolving protocol,
309 /// as these implementers will produce App Link metadata for a given URL.
310 /// \param sourceURL The <em>URL</em> from which this App Link is derived.
311 ///
312 /// \param targets An ordered list of AppLinkTargets for this platform derived from App Link metadata.
313 ///
314 /// \param webURL The fallback web URL, if any, for the app link.
315 ///
316 - (nonnull instancetype)initWithSourceURL:(NSURL * _Nullable)sourceURL targets:(NSArray<id <FBSDKAppLinkTarget>> * _Nonnull)targets webURL:(NSURL * _Nullable)webURL;
317 /// Creates an AppLink with the given list of AppLinkTargets and target URL.
318 /// Generally, this will only be used by implementers of the AppLinkResolving protocol,
319 /// as these implementers will produce App Link metadata for a given URL.
320 /// \param sourceURL The <em>URL</em> from which this App Link is derived.
321 ///
322 /// \param targets An ordered list of AppLinkTargets for this platform derived from App Link metadata.
323 ///
324 /// \param webURL The fallback web URL, if any, for the app link.
325 ///
326 + (id <FBSDKAppLink> _Nonnull)appLinkWithSourceURL:(NSURL * _Nullable)sourceURL targets:(NSArray<id <FBSDKAppLinkTarget>> * _Nonnull)targets webURL:(NSURL * _Nullable)webURL SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("\n      Please use designated init to instantiate an AppLink. This method will be removed in future releases.\"\n      ");
327 /// Internal method exposed to facilitate transition to Swift.
328 /// API Subject to change or removal without warning. Do not use.
329 /// <blockquote>
330 /// Warning: INTERNAL - DO NOT USE
331 ///
332 /// </blockquote>
333 - (nonnull instancetype)initWithSourceURL:(NSURL * _Nullable)sourceURL targets:(NSArray<id <FBSDKAppLinkTarget>> * _Nonnull)targets webURL:(NSURL * _Nullable)webURL isBackToReferrer:(BOOL)isBackToReferrer OBJC_DESIGNATED_INITIALIZER;
334 - (nonnull instancetype)init SWIFT_UNAVAILABLE;
335 + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
336 @end
337
338 @protocol FBSDKAppLinkResolving;
339 @protocol FBSDKSettings;
340 @class NSError;
341
342 /// Represents a pending request to navigate to an app link. Instead of simplying opening a URL, you can build custom requests with additional navigation and app data attached to them by creating an <code>AppLinkNavigation</code>.
343 SWIFT_CLASS_NAMED("AppLinkNavigation") SWIFT_AVAILABILITY(ios_app_extension,unavailable,message="Not available in app extension")
344 @interface FBSDKAppLinkNavigation : NSObject
345 /// The default resolver to be used for App Link resolution. If the developer has not set one explicitly,
346 /// a basic, built-in <code>WebViewAppLinkResolver</code> will be used.
347 SWIFT_CLASS_PROPERTY(@property (nonatomic, class, strong) id <FBSDKAppLinkResolving> _Nonnull defaultResolver;)
348 + (id <FBSDKAppLinkResolving> _Nonnull)defaultResolver SWIFT_WARN_UNUSED_RESULT;
349 + (void)setDefaultResolver:(id <FBSDKAppLinkResolving> _Nonnull)newValue;
350 /// The extras for the AppLinkNavigation. This will generally contain application-specific
351 /// data that should be passed along with the request, such as advertiser or affiliate IDs or
352 /// other such metadata relevant on this device.
353 @property (nonatomic, readonly, copy) NSDictionary<NSString *, id> * _Nonnull extras;
354 /// The al_applink_data for the AppLinkNavigation. This will generally contain data common to
355 /// navigation attempts such as back-links, user agents, and other information that may be used
356 /// in routing and handling an App Link request.
357 @property (nonatomic, readonly, copy) NSDictionary<NSString *, id> * _Nonnull appLinkData;
358 /// The AppLink to navigate to
359 @property (nonatomic, readonly, strong) FBSDKAppLink * _Nonnull appLink;
360 /// Returns navigation type for current instance. It does not produce any side-effects as the <code>navigate</code> method.
361 @property (nonatomic, readonly) FBSDKAppLinkNavigationType navigationType;
362 /// Creates an AppLinkNavigation with the given link, extras, and App Link data
363 - (nonnull instancetype)initWithAppLink:(FBSDKAppLink * _Nonnull)appLink extras:(NSDictionary<NSString *, id> * _Nonnull)extras appLinkData:(NSDictionary<NSString *, id> * _Nonnull)appLinkData OBJC_DESIGNATED_INITIALIZER;
364 /// Creates an AppLinkNavigation with the given link, extras,  App Link data and settings
365 - (nonnull instancetype)initWithAppLink:(FBSDKAppLink * _Nonnull)appLink extras:(NSDictionary<NSString *, id> * _Nonnull)extras appLinkData:(NSDictionary<NSString *, id> * _Nonnull)appLinkData settings:(id <FBSDKSettings> _Nonnull)settings SWIFT_DEPRECATED_MSG("\n      Please use init(appLink:extras:appLinkData:) to instantiate an `AppLinkNavigation`.\n      This method will be removed in the next major version.\"\n      ");
366 /// Creates an AppLinkNavigation with the given link, extras, and App Link data. The <code>settings</code> argument will be ignored in favor of internal dependency injection.
367 + (FBSDKAppLinkNavigation * _Nonnull)navigationWithAppLink:(FBSDKAppLink * _Nonnull)appLink extras:(NSDictionary<NSString *, id> * _Nonnull)extras appLinkData:(NSDictionary<NSString *, id> * _Nonnull)appLinkData settings:(id <FBSDKSettings> _Nonnull)settings SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("\n      Please use designated init to instantiate an AppLinkNavigation. This method will be removed in future releases.\"\n      ");
368 /// Creates an instance of <code>[String: [String: String]]</code> with the correct format for iOS callback URLs to be used as ‘appLinkData’ argument in the call to init(appLink:extras:appLinkData:).
369 + (NSDictionary<NSString *, NSDictionary<NSString *, NSString *> *> * _Nonnull)callbackAppLinkDataForAppWithName:(NSString * _Nonnull)appName url:(NSString * _Nonnull)url SWIFT_WARN_UNUSED_RESULT;
370 /// Performs the navigation
371 - (FBSDKAppLinkNavigationType)navigate:(NSError * _Nullable * _Nullable)errorPointer SWIFT_WARN_UNUSED_RESULT;
372 /// Returns an AppLink for the given URL
373 + (void)resolveAppLink:(NSURL * _Nonnull)destination handler:(FBSDKAppLinkBlock _Nonnull)handler;
374 /// Returns an AppLink for the given URL using the given App Link resolution strategy
375 + (void)resolveAppLink:(NSURL * _Nonnull)destination resolver:(id <FBSDKAppLinkResolving> _Nonnull)resolver handler:(FBSDKAppLinkBlock _Nonnull)handler;
376 /// Navigates to an AppLink and returns whether it opened in-app or in-browser
377 + (FBSDKAppLinkNavigationType)navigateToAppLink:(FBSDKAppLink * _Nonnull)appLink error:(NSError * _Nullable * _Nullable)errorPointer SWIFT_WARN_UNUSED_RESULT;
378 /// Returns an AppLinkNavigationType based on a FBSDKAppLink.
379 /// It’s essentially a no-side-effect version of navigateToAppLink:error:,
380 /// allowing apps to determine flow based on the link type (e.g. open an
381 /// internal web view instead of going straight to the browser for regular links.)
382 + (FBSDKAppLinkNavigationType)navigationTypeForLink:(FBSDKAppLink * _Nonnull)appLink SWIFT_WARN_UNUSED_RESULT;
383 /// Navigates to a URL (an asynchronous action) and returns a NavigationType
384 + (void)navigateToURL:(NSURL * _Nonnull)destination handler:(FBSDKAppLinkNavigationBlock _Nonnull)handler;
385 /// Navigates to a URL (an asynchronous action) using the given App Link resolution
386 /// strategy and returns a NavigationType
387 + (void)navigateToURL:(NSURL * _Nonnull)destination resolver:(id <FBSDKAppLinkResolving> _Nonnull)resolver handler:(FBSDKAppLinkNavigationBlock _Nonnull)handler;
388 - (nonnull instancetype)init SWIFT_UNAVAILABLE;
389 + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
390 @end
391
392
393
394 /// Provides an implementation of the AppLinkResolving protocol that uses the Facebook App Link
395 /// Index API to resolve App Links given a URL. It also provides an additional helper method that can resolve
396 /// multiple App Links in a single call.
397 SWIFT_CLASS_NAMED("AppLinkResolver")
398 @interface FBSDKAppLinkResolver : NSObject <FBSDKAppLinkResolving>
399 - (void)appLinkFromURL:(NSURL * _Nonnull)url handler:(FBSDKAppLinkBlock _Nonnull)handler;
400 /// Asynchronously resolves App Link data for a given array of URLs.
401 /// @param urls The URLs to resolve into an App Link.
402 /// @param handler The completion block that will return an App Link for the given URL.
403 - (void)appLinksFrom:(NSArray<NSURL *> * _Nonnull)urls handler:(FBSDKAppLinksBlock _Nonnull)handler SWIFT_AVAILABILITY(ios_app_extension,unavailable,message="Not available in app extension");
404 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
405 @end
406
407
408
409 /// Represents a target defined in App Link metadata, consisting of at least
410 /// a URL, and optionally an App Store ID and name.
411 SWIFT_CLASS_NAMED("AppLinkTarget")
412 @interface FBSDKAppLinkTarget : NSObject <FBSDKAppLinkTarget>
413 /// The URL prefix for this app link target
414 @property (nonatomic, readonly, copy) NSURL * _Nullable URL;
415 /// The app ID for the app store
416 @property (nonatomic, readonly, copy) NSString * _Nullable appStoreId;
417 /// The name of the app
418 @property (nonatomic, readonly, copy) NSString * _Nonnull appName;
419 /// Creates a AppLinkTarget with the given app site and target URL.
420 - (nonnull instancetype)initWithURL:(NSURL * _Nullable)url appStoreId:(NSString * _Nullable)appStoreId appName:(NSString * _Nonnull)appName OBJC_DESIGNATED_INITIALIZER;
421 /// Creates a AppLinkTarget with the given app site and target URL.
422 + (FBSDKAppLinkTarget * _Nonnull)appLinkTargetWithURL:(NSURL * _Nullable)url appStoreId:(NSString * _Nullable)appStoreId appName:(NSString * _Nonnull)appName SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("\n      Please use designated init to instantiate an AppLinkTarget. This method will be removed in future releases.\"\n      ");
423 - (nonnull instancetype)init SWIFT_UNAVAILABLE;
424 + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
425 @end
426
427 @class UIApplication;
428 @class NSUserActivity;
429 @protocol FBSDKApplicationObserving;
430
431 /// An <code>ApplicationDelegate</code> is designed to post-process the results from Facebook Login
432 /// or Facebook Dialogs (or any action that requires switching over to the native Facebook
433 /// app or Safari).
434 /// The methods in this class are designed to mirror those in <code>UIApplicationDelegate</code>, and you
435 /// should call them in the respective methods in your application delegate implementation.
436 SWIFT_CLASS_NAMED("ApplicationDelegate")
437 @interface FBSDKApplicationDelegate : NSObject
438 /// Gets the singleton instance.
439 SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBSDKApplicationDelegate * _Nonnull sharedInstance;)
440 + (FBSDKApplicationDelegate * _Nonnull)sharedInstance SWIFT_WARN_UNUSED_RESULT;
441 - (nonnull instancetype)init SWIFT_UNAVAILABLE;
442 + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
443 /// Initializes the SDK.
444 /// If you are using the SDK within the context of the <code>UIApplication</code> lifecycle, do not use this method.
445 /// Instead use <code>application(_:didFinishLaunchingWithOptions:)</code>.
446 /// As part of SDK initialization, basic auto logging of app events will occur, this can be
447 /// controlled via the ‘FacebookAutoLogAppEventsEnabled’ key in your project’s Info.plist file.
448 - (void)initializeSDK;
449 /// Call this method from the <code>UIApplicationDelegate.application(_:continue:restorationHandler:)</code> method
450 /// of your application delegate. It should be invoked in order to properly process the web URL (universal link)
451 /// once the end user is redirected to your app.
452 /// \param application The application as passed to `UIApplicationDelegate.application(_:continue:restorationHandler:).
453 ///
454 /// \param userActivity The user activity as passed to <code>UIApplicationDelegate.application(_:continue:restorationHandler:)</code>.
455 ///
456 ///
457 /// returns:
458 /// <code>true</code> if the URL was intended for the Facebook SDK, <code>false</code> if not.
459 - (BOOL)application:(UIApplication * _Nonnull)application continueUserActivity:(NSUserActivity * _Nonnull)userActivity;
460 /// Call this method from the <code>UIApplicationDelegate.application(_:open:options:)</code> method
461 /// of your application delegate. It should be invoked for the proper processing of responses during interaction
462 /// with the native Facebook app or Safari as part of an SSO authorization flow or Facebook dialogs.
463 /// \param application The application as passed to <code>UIApplicationDelegate.application(_:open:options:)</code>.
464 ///
465 /// \param url The URL as passed to <code>UIApplicationDelegate.application(_:open:options:)</code>.
466 ///
467 /// \param options The options dictionary as passed to <code>UIApplicationDelegate.application(_:open:options:)</code>.
468 ///
469 ///
470 /// returns:
471 /// <code>true</code> if the URL was intended for the Facebook SDK, <code>false</code> if not.
472 - (BOOL)application:(UIApplication * _Nonnull)application openURL:(NSURL * _Nonnull)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> * _Nonnull)options;
473 /// Call this method from the <code>UIApplicationDelegate.application(_:openL:sourceApplication:annotation:)</code> method
474 /// of your application delegate. It should be invoked for the proper processing of responses during interaction
475 /// with the native Facebook app or Safari as part of an SSO authorization flow or Facebook dialogs.
476 /// \param application The application as passed to <code>UIApplicationDelegate.application(_:open:sourceApplication:annotation:)</code>.
477 ///
478 /// \param url The URL as passed to <code>UIApplicationDelegate.application(_:open:sourceApplication:annotation:)</code>.
479 ///
480 /// \param sourceApplication The source application as passed to <code>UIApplicationDelegate.application(_:open:sourceApplication:annotation:)</code>.
481 ///
482 /// \param annotation The annotation as passed to <code>UIApplicationDelegate.application(_:open:sourceApplication:annotation:)</code>.
483 ///
484 ///
485 /// returns:
486 /// <code>true</code> if the URL was intended for the Facebook SDK, <code>false</code> if not.
487 - (BOOL)application:(UIApplication * _Nonnull)application openURL:(NSURL * _Nonnull)url sourceApplication:(NSString * _Nullable)sourceApplication annotation:(id _Nullable)annotation;
488 /// Call this method from the <code>UIApplicationDelegate.application(_:didFinishLaunchingWithOptions:)</code> method
489 /// of your application delegate. It should be invoked for the proper use of the Facebook SDK.
490 /// As part of SDK initialization, basic auto-logging of app events will occur; this can be
491 /// controlled via the <code>FacebookAutoLogAppEventsEnabled</code> key in the project’s Info.plist file.
492 /// note:
493 /// If this method is called after calling <code>initializeSDK</code>, then the return value will always be <code>false</code>.
494 /// \param application The application as passed to <code>UIApplicationDelegate.application(_:didFinishLaunchingWithOptions:)</code>.
495 ///
496 /// \param launchOptions The launch options as passed to <code>UIApplicationDelegate.application(_:didFinishLaunchingWithOptions:)</code>.
497 ///
498 ///
499 /// returns:
500 /// <code>true</code> if there are any added application observers that themselves return true from calling <code>application(_:didFinishLaunchingWithOptions:)</code>.
501 /// Otherwise will return <code>false</code>.
502 - (BOOL)application:(UIApplication * _Nonnull)application didFinishLaunchingWithOptions:(NSDictionary<UIApplicationLaunchOptionsKey, id> * _Nullable)launchOptions;
503 /// Adds an observer that will be informed about application lifecycle events.
504 /// note:
505 /// Observers are weakly held
506 - (void)addObserver:(id <FBSDKApplicationObserving> _Nonnull)observer;
507 /// Removes an observer so that it will no longer be informed about application lifecycle events.
508 - (void)removeObserver:(id <FBSDKApplicationObserving> _Nonnull)observer;
509 @end
510
511
512 SWIFT_CLASS_NAMED("AuthenticationTokenClaims")
513 @interface FBSDKAuthenticationTokenClaims : NSObject
514 /// Internal method exposed to facilitate transition to Swift.
515 /// API Subject to change or removal without warning. Do not use.
516 /// @warning INTERNAL - DO NOT USE
517 - (nullable instancetype)initWithEncodedClaims:(NSString * _Nonnull)encodedClaims nonce:(NSString * _Nonnull)expectedNonce;
518 - (nonnull instancetype)init SWIFT_UNAVAILABLE;
519 + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
520 @end
521
522
523 @protocol FBSDKGraphRequestFactory;
524
525 SWIFT_PROTOCOL_NAMED("CAPIReporter")
526 @protocol FBSDKCAPIReporter
527 - (void)enable;
528 - (void)configureWithFactory:(id <FBSDKGraphRequestFactory> _Nonnull)factory settings:(id <FBSDKSettings> _Nonnull)settings;
529 - (void)recordEvent:(NSDictionary<NSString *, id> * _Nonnull)parameters;
530 @end
531
532 @protocol FBSDKInternalURLOpener;
533
534 /// Internal type exposed to facilitate transition to Swift.
535 /// API Subject to change or removal without warning. Do not use.
536 /// @warning INTERNAL - DO NOT USE
537 SWIFT_CLASS("_TtC12FBSDKCoreKit17CoreUIApplication")
538 @interface CoreUIApplication : NSObject
539 SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) id <FBSDKInternalURLOpener> _Nonnull shared;)
540 + (id <FBSDKInternalURLOpener> _Nonnull)shared SWIFT_WARN_UNUSED_RESULT;
541 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
542 @end
543
544 @class UIImage;
545 @class UIColor;
546
547 /// Internal Type exposed to facilitate transition to Swift.
548 /// API Subject to change or removal without warning. Do not use.
549 /// @warning INTERNAL - DO NOT USE
550 SWIFT_CLASS_NAMED("FBIcon")
551 @interface FBSDKIcon : NSObject
552 - (CGPathRef _Nullable)pathWith:(CGSize)size SWIFT_WARN_UNUSED_RESULT;
553 - (UIImage * _Nullable)imageWithSize:(CGSize)size SWIFT_WARN_UNUSED_RESULT;
554 - (UIImage * _Nullable)imageWithSize:(CGSize)size color:(UIColor * _Nonnull)color SWIFT_WARN_UNUSED_RESULT;
555 - (UIImage * _Nullable)imageWithSize:(CGSize)size scale:(CGFloat)scale color:(UIColor * _Nonnull)color SWIFT_WARN_UNUSED_RESULT;
556 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
557 @end
558
559 enum FBSDKProfilePictureMode : NSUInteger;
560 @class FBSDKProfile;
561 @class NSCoder;
562
563 /// A view to display a profile picture.
564 SWIFT_CLASS_NAMED("FBProfilePictureView")
565 @interface FBSDKProfilePictureView : UIView
566 /// The mode for the receiver to determine the aspect ratio of the source image.
567 @property (nonatomic) enum FBSDKProfilePictureMode pictureMode;
568 /// The profile ID to show the picture for.
569 @property (nonatomic, copy) NSString * _Nonnull profileID;
570 @property (nonatomic) CGRect bounds;
571 @property (nonatomic) UIViewContentMode contentMode;
572 /// Create a new instance.
573 /// \param frame Frame rectangle for the view.
574 ///
575 /// \param profile Optional profile to display a picture for.
576 ///
577 - (nonnull instancetype)initWith:(CGRect)frame profile:(FBSDKProfile * _Nullable)profile OBJC_DESIGNATED_INITIALIZER;
578 /// Create a new instance.
579 /// \param profile Optional profile to display a picture for.
580 ///
581 - (nonnull instancetype)initWithProfile:(FBSDKProfile * _Nullable)profile;
582 /// Initializes and returns a newly allocated view object with the specified frame rectangle.
583 /// \param frame The frame rectangle for the view, measured in points. The origin of the frame is relative to the superview in which you plan to add it.
584 /// This method uses the frame rectangle to set the center and bounds properties accordingly.
585 ///
586 - (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
587 /// Initializes and returns a newly allocated view object from the specified coder.
588 - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
589 /// Explicitly marks the receiver as needing to update the image.
590 /// This method is called whenever any properties that affect the source image are modified, but this can also
591 /// be used to trigger a manual update of the image if it needs to be re-downloaded.
592 - (void)setNeedsImageUpdate;
593 @end
594
595
596 SWIFT_CLASS("_TtC12FBSDKCoreKit25FBSDKAppEventsCAPIManager")
597 @interface FBSDKAppEventsCAPIManager : NSObject <FBSDKCAPIReporter>
598 SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBSDKAppEventsCAPIManager * _Nonnull shared;)
599 + (FBSDKAppEventsCAPIManager * _Nonnull)shared SWIFT_WARN_UNUSED_RESULT;
600 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
601 - (void)configureWithFactory:(id <FBSDKGraphRequestFactory> _Nonnull)factory settings:(id <FBSDKSettings> _Nonnull)settings;
602 - (void)enable;
603 - (void)recordEvent:(NSDictionary<NSString *, id> * _Nonnull)parameters;
604 @end
605
606
607 SWIFT_CLASS("_TtC12FBSDKCoreKit35FBSDKTransformerGraphRequestFactory")
608 @interface FBSDKTransformerGraphRequestFactory : NSObject
609 SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBSDKTransformerGraphRequestFactory * _Nonnull shared;)
610 + (FBSDKTransformerGraphRequestFactory * _Nonnull)shared SWIFT_WARN_UNUSED_RESULT;
611 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
612 - (void)configureWithDatasetID:(NSString * _Nonnull)datasetID url:(NSString * _Nonnull)url accessKey:(NSString * _Nonnull)accessKey;
613 - (void)callCapiGatewayAPIWith:(NSDictionary<NSString *, id> * _Nonnull)parameters userAgent:(NSString * _Nonnull)userAgent;
614 @end
615
616 @class NSDate;
617 @class FBSDKUserAgeRange;
618 @class FBSDKLocation;
619
620 /// Represents an immutable Facebook profile.
621 /// This class provides a global current profile instance to more easily
622 /// add social context to your application. When the profile changes, a notification is
623 /// posted so that you can update relevant parts of your UI. It is persisted to <code>UserDefaults.standard</code>.
624 /// Typically, you will want to set <code>enableUpdatesOnAccessTokenChange</code> to <code>true</code> so that
625 /// it automatically observes changes to <code>AccessToken.current</code>.
626 /// You can use this class to build your own <code>ProfilePictureView</code> or in place of typical requests to the <code>/me</code> endpoint.
627 SWIFT_CLASS_NAMED("Profile")
628 @interface FBSDKProfile : NSObject
629 /// The user identifier.
630 @property (nonatomic, readonly, copy) FBSDKUserIdentifier _Nonnull userID;
631 /// The user’s first name.
632 @property (nonatomic, readonly, copy) NSString * _Nullable firstName;
633 /// The user’s middle name.
634 @property (nonatomic, readonly, copy) NSString * _Nullable middleName;
635 /// The user’s last name.
636 @property (nonatomic, readonly, copy) NSString * _Nullable lastName;
637 /// The user’s complete name.
638 @property (nonatomic, readonly, copy) NSString * _Nullable name;
639 /// A URL to the user’s profile.
640 /// important:
641 /// This field will only be populated if your user has granted your application the <code>user_link</code> permission.
642 /// Consider using <code>AppLinkResolver</code> to resolve this URL to an app link in order to link directly to
643 /// the user’s profile in the Facebook app.
644 @property (nonatomic, readonly, copy) NSURL * _Nullable linkURL;
645 /// The last time the profile data was fetched.
646 @property (nonatomic, readonly, copy) NSDate * _Nonnull refreshDate;
647 /// A URL to use for fetching the user’s profile image.
648 @property (nonatomic, readonly, copy) NSURL * _Nullable imageURL;
649 /// The user’s email address.
650 /// important:
651 /// This field will only be populated if your user has granted your application the <code>email</code> permission.
652 @property (nonatomic, readonly, copy) NSString * _Nullable email;
653 /// A list of identifiers of the user’s friends.
654 /// important:
655 /// This field will only be populated if your user has granted your application
656 /// the <code>user_friends</code> permission.
657 @property (nonatomic, readonly, copy) NSArray<NSString *> * _Nullable friendIDs;
658 /// The user’s birthday.
659 /// important:
660 /// This field will only be populated if your user has granted your application
661 /// the <code>user_birthday</code> permission.
662 @property (nonatomic, readonly, copy) NSDate * _Nullable birthday;
663 /// The user’s age range.
664 /// important:
665 /// This field will only be populated if your user has granted your application
666 /// the <code>user_age_range</code> permission.
667 @property (nonatomic, readonly, strong) FBSDKUserAgeRange * _Nullable ageRange;
668 /// The user’s hometown.
669 /// important:
670 /// This field will only be populated if your user has granted your application
671 /// the <code>user_hometown</code> permission.
672 @property (nonatomic, readonly, strong) FBSDKLocation * _Nullable hometown;
673 /// The user’s location.
674 /// important:
675 /// This field will only be populated if your user has granted your application
676 /// the <code>user_location</code> permission.
677 @property (nonatomic, readonly, strong) FBSDKLocation * _Nullable location;
678 /// The user’s gender.
679 /// important:
680 /// This field will only be populated if your user has granted your application
681 /// the <code>user_gender</code> permission.
682 @property (nonatomic, readonly, copy) NSString * _Nullable gender;
683 /// Indicates whether this type will automatically observe access token changes
684 /// (via <code>AccessTokenDidChange</code> notifications).
685 /// If observing changes, this class will issue a Graph request for public profile data when the current token’s user
686 /// identifier differs from the current profile. You can observe profile changes via <code>ProfileDidChange</code> notifications
687 /// to handle an updated profile.
688 /// note:
689 /// If the current access token is cleared, the current profile instance remains available. It’s also possible
690 /// for <code>current</code> to return <code>nil</code> until the data is fetched.
691 SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL isUpdatedWithAccessTokenChange;)
692 + (BOOL)isUpdatedWithAccessTokenChange SWIFT_WARN_UNUSED_RESULT;
693 + (void)setIsUpdatedWithAccessTokenChange:(BOOL)value;
694 /// Creates a new profile.
695 /// \param userID The user’s identifier.
696 ///
697 /// \param firstName The user’s first name. Defaults to <code>nil</code>.
698 ///
699 /// \param middleName The user’s middle name. Defaults to <code>nil</code>.
700 ///
701 /// \param lastName The user’s last name. Defaults to <code>nil</code>.
702 ///
703 /// \param name The user’s complete name. Defaults to <code>nil</code>.
704 ///
705 /// \param linkURL The link for the profile. Defaults to <code>nil</code>.
706 ///
707 /// \param refreshDate The date the profile was fetched. Defaults to the time of instantiation.
708 ///
709 - (nonnull instancetype)initWithUserID:(FBSDKUserIdentifier _Nonnull)userID firstName:(NSString * _Nullable)firstName middleName:(NSString * _Nullable)middleName lastName:(NSString * _Nullable)lastName name:(NSString * _Nullable)name linkURL:(NSURL * _Nullable)linkURL refreshDate:(NSDate * _Nullable)refreshDate;
710 /// Creates a new profile.
711 /// \param userID The user’s identifier. Defaults to <code>nil</code>.
712 ///
713 /// \param firstName The user’s first name. Defaults to <code>nil</code>.
714 ///
715 /// \param middleName The user’s middle name. Defaults to <code>nil</code>.
716 ///
717 /// \param lastName The user’s last name. Defaults to <code>nil</code>.
718 ///
719 /// \param name The user’s complete name. Defaults to <code>nil</code>.
720 ///
721 /// \param linkURL The link for this profile. Defaults to <code>nil</code>.
722 ///
723 /// \param refreshDate The date this profile was fetched. Defaults to the time of instantiation.
724 ///
725 /// \param imageURL A URL to use for fetching a user’s profile image.
726 ///
727 /// \param email The user’s email address. Defaults to <code>nil</code>.
728 ///
729 /// \param friendIDs A list of identifiers for the user’s friends. Defaults to <code>nil</code>.
730 ///
731 /// \param birthday The user’s birthday. Defaults to <code>nil</code>.
732 ///
733 /// \param ageRange The user’s age range. Defaults to <code>nil</code>.
734 ///
735 /// \param hometown The user’s hometown. Defaults to <code>nil</code>.
736 ///
737 /// \param location The user’s location. Defaults to <code>nil</code>.
738 ///
739 /// \param gender The user’s gender. Defaults to <code>nil</code>.
740 ///
741 - (nonnull instancetype)initWithUserID:(FBSDKUserIdentifier _Nonnull)userID firstName:(NSString * _Nullable)firstName middleName:(NSString * _Nullable)middleName lastName:(NSString * _Nullable)lastName name:(NSString * _Nullable)name linkURL:(NSURL * _Nullable)linkURL refreshDate:(NSDate * _Nullable)refreshDate imageURL:(NSURL * _Nullable)imageURL email:(NSString * _Nullable)email friendIDs:(NSArray<NSString *> * _Nullable)friendIDs birthday:(NSDate * _Nullable)birthday ageRange:(FBSDKUserAgeRange * _Nullable)ageRange hometown:(FBSDKLocation * _Nullable)hometown location:(FBSDKLocation * _Nullable)location gender:(NSString * _Nullable)gender;
742 /// Creates a new profile.
743 /// \param userID The user’s identifier. Defaults to <code>nil</code>.
744 ///
745 /// \param firstName The user’s first name. Defaults to <code>nil</code>.
746 ///
747 /// \param middleName The user’s middle name. Defaults to <code>nil</code>.
748 ///
749 /// \param lastName The user’s last name. Defaults to <code>nil</code>.
750 ///
751 /// \param name The user’s complete name. Defaults to <code>nil</code>.
752 ///
753 /// \param linkURL The link for the profile. Defaults to <code>nil</code>.
754 ///
755 /// \param refreshDate The date the profile was fetched. Defaults to the time of instantiation.
756 ///
757 /// \param imageURL A URL to use for fetching the user’s profile image Defaults to <code>nil</code>.
758 ///
759 /// \param email The user’s email address. Defaults to <code>nil</code>.
760 ///
761 /// \param friendIDs A list of identifiers for the user’s friends. Defaults to <code>nil</code>.
762 ///
763 /// \param birthday The user’s birthday. Defaults to <code>nil</code>.
764 ///
765 /// \param ageRange The user’s age range. Defaults to <code>nil</code>.
766 ///
767 /// \param hometown The user’s hometown. Defaults to <code>nil</code>.
768 ///
769 /// \param location The user’s location. Defaults to <code>nil</code>.
770 ///
771 /// \param gender The user’s gender. Defaults to <code>nil</code>.
772 ///
773 /// \param isLimited Indicates whether the information provided is incomplete in some way.
774 /// When <code>true</code>, <code>loadCurrentProfile(completion:):</code> will assume the profile is incomplete and disregard
775 /// any cached profile. Defaults to <code>false</code>.
776 ///
777 - (nonnull instancetype)initWithUserID:(FBSDKUserIdentifier _Nonnull)userID firstName:(NSString * _Nullable)firstName middleName:(NSString * _Nullable)middleName lastName:(NSString * _Nullable)lastName name:(NSString * _Nullable)name linkURL:(NSURL * _Nullable)linkURL refreshDate:(NSDate * _Nullable)refreshDate imageURL:(NSURL * _Nullable)imageURL email:(NSString * _Nullable)email friendIDs:(NSArray<NSString *> * _Nullable)friendIDs birthday:(NSDate * _Nullable)birthday ageRange:(FBSDKUserAgeRange * _Nullable)ageRange hometown:(FBSDKLocation * _Nullable)hometown location:(FBSDKLocation * _Nullable)location gender:(NSString * _Nullable)gender isLimited:(BOOL)isLimited OBJC_DESIGNATED_INITIALIZER;
778 /// Indicates whether this type will automatically observe access token changes
779 /// (via <code>AccessTokenDidChange</code> notifications).
780 /// If observing changes, this class will issue a Graph request for public profile data when the current token’s user
781 /// identifier differs from the current profile. You can observe profile changes via <code>ProfileDidChange</code> notifications
782 /// to handle an updated profile.
783 /// note:
784 /// If the current access token is cleared, the current profile instance remains available. It’s also possible
785 /// for <code>current</code> to return <code>nil</code> until the data is fetched.
786 + (void)enableUpdatesOnAccessTokenChange:(BOOL)enabled SWIFT_DEPRECATED_MSG("This method is deprecated and will be removed in the next major release. Use `isUpdatedWithAccessTokenChange` instead.");
787 - (nonnull instancetype)init SWIFT_UNAVAILABLE;
788 + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
789 @end
790
791
792 @interface FBSDKProfile (SWIFT_EXTENSION(FBSDKCoreKit))
793 /// A convenience method for returning a complete <code>URL</code> for retrieving the user’s profile image.
794 /// \param pictureMode The picture mode.
795 ///
796 /// \param size The height and width. This will be rounded to integer precision.
797 ///
798 - (NSURL * _Nullable)imageURLForPictureMode:(enum FBSDKProfilePictureMode)pictureMode size:(CGSize)size SWIFT_WARN_UNUSED_RESULT;
799 @end
800
801 /// Defines the aspect ratio mode for the source image of the profile picture.
802 typedef SWIFT_ENUM_NAMED(NSUInteger, FBSDKProfilePictureMode, "PictureMode", open) {
803 /// A square cropped version of the image will be included in the view.
804   FBSDKProfilePictureModeSquare = 0,
805 /// The original picture’s aspect ratio will be used for the source image in the view.
806   FBSDKProfilePictureModeNormal = 1,
807 /// The original picture’s aspect ratio will be used for the source image in the view.
808   FBSDKProfilePictureModeAlbum = 2,
809 /// The original picture’s aspect ratio will be used for the source image in the view.
810   FBSDKProfilePictureModeSmall = 3,
811 /// The original picture’s aspect ratio will be used for the source image in the view.
812   FBSDKProfilePictureModeLarge = 4,
813 };
814
815
816
817 /// Internal type exposed to facilitate transition to Swift.
818 /// API Subject to change or removal without warning. Do not use.
819 /// @warning INTERNAL - DO NOT USE
820 SWIFT_PROTOCOL_NAMED("ProfileProviding")
821 @protocol FBSDKProfileProviding
822 SWIFT_CLASS_PROPERTY(@property (nonatomic, class, strong) FBSDKProfile * _Nullable currentProfile;)
823 + (FBSDKProfile * _Nullable)currentProfile SWIFT_WARN_UNUSED_RESULT;
824 + (void)setCurrentProfile:(FBSDKProfile * _Nullable)newValue;
825 + (FBSDKProfile * _Nullable)fetchCachedProfile SWIFT_WARN_UNUSED_RESULT;
826 @end
827
828
829 @interface FBSDKProfile (SWIFT_EXTENSION(FBSDKCoreKit)) <FBSDKProfileProviding>
830 /// The current profile.
831 SWIFT_CLASS_PROPERTY(@property (nonatomic, class, strong) FBSDKProfile * _Nullable currentProfile;)
832 + (FBSDKProfile * _Nullable)currentProfile SWIFT_WARN_UNUSED_RESULT;
833 + (void)setCurrentProfile:(FBSDKProfile * _Nullable)newValue;
834 + (nullable instancetype)fetchCachedProfile SWIFT_WARN_UNUSED_RESULT;
835 @end
836
837
838 @interface FBSDKProfile (SWIFT_EXTENSION(FBSDKCoreKit)) <NSSecureCoding>
839 SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) BOOL supportsSecureCoding;)
840 + (BOOL)supportsSecureCoding SWIFT_WARN_UNUSED_RESULT;
841 - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)decoder;
842 - (void)encodeWithCoder:(NSCoder * _Nonnull)encoder;
843 @end
844
845
846 @interface FBSDKProfile (SWIFT_EXTENSION(FBSDKCoreKit))
847 /// Loads the current profile and passes it to the completion block.
848 /// note:
849 /// If the profile is already loaded, this method will call the completion block synchronously, otherwise it
850 /// will begin a graph request to update <code>current</code> and then call the completion block when finished.
851 /// <ul>
852 ///   <li>
853 ///     Parameter: completion The block to be executed once the profile is loaded.
854 ///   </li>
855 /// </ul>
856 + (void)loadCurrentProfileWithCompletion:(FBSDKProfileBlock _Nullable)completion;
857 @end
858
859
860
861 /// Internal Type exposed to facilitate transition to Swift.
862 /// API Subject to change or removal without warning. Do not use.
863 /// @warning INTERNAL - DO NOT USE
864 SWIFT_CLASS("_TtC12FBSDKCoreKit27ServerConfigurationProvider")
865 @interface ServerConfigurationProvider : NSObject
866 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
867 @end
868
869
870 /// Internal type exposed to facilitate transition to Swift.
871 /// API Subject to change or removal without warning. Do not use.
872 /// @warning INTERNAL - DO NOT USE
873 SWIFT_PROTOCOL_NAMED("SettingsProtocol")
874 @protocol FBSDKSettings
875 @property (nonatomic, copy) NSString * _Nullable appID;
876 @property (nonatomic, copy) NSString * _Nullable clientToken;
877 @property (nonatomic, copy) NSString * _Nullable userAgentSuffix;
878 @property (nonatomic, readonly, copy) NSString * _Nonnull sdkVersion;
879 @property (nonatomic, copy) NSString * _Nullable displayName;
880 @property (nonatomic, copy) NSString * _Nullable facebookDomainPart;
881 @property (nonatomic, copy) NSSet<FBSDKLoggingBehavior> * _Nonnull loggingBehaviors;
882 @property (nonatomic, copy) NSString * _Nullable appURLSchemeSuffix;
883 @property (nonatomic, readonly) BOOL isDataProcessingRestricted;
884 @property (nonatomic, readonly) BOOL isAutoLogAppEventsEnabled;
885 @property (nonatomic) BOOL codelessDebugLogEnabled SWIFT_DEPRECATED_MSG("\n      This property is deprecated and will be removed in the next major release.       Use `isCodelessDebugLogEnabled` instead.\n      ");
886 @property (nonatomic) BOOL isCodelessDebugLogEnabled;
887 @property (nonatomic) BOOL advertiserIDCollectionEnabled SWIFT_DEPRECATED_MSG("\n      This property is deprecated and will be removed in the next major release.       Use `isAdvertiserIDCollectionEnabled` instead.\n      ");
888 @property (nonatomic) BOOL isAdvertiserIDCollectionEnabled;
889 @property (nonatomic, readonly) BOOL isSetATETimeExceedsInstallTime SWIFT_DEPRECATED_MSG("\n      This property is deprecated and will be removed in the next major release.       Use `isATETimeSufficientlyDelayed` instead.\n      ");
890 @property (nonatomic, readonly) BOOL isATETimeSufficientlyDelayed;
891 @property (nonatomic, readonly) BOOL isSKAdNetworkReportEnabled;
892 @property (nonatomic, readonly) FBSDKAdvertisingTrackingStatus advertisingTrackingStatus;
893 @property (nonatomic, readonly, copy) NSDate * _Nullable installTimestamp;
894 @property (nonatomic, readonly, copy) NSDate * _Nullable advertiserTrackingEnabledTimestamp;
895 @property (nonatomic) BOOL isEventDataUsageLimited;
896 @property (nonatomic) BOOL shouldUseTokenOptimizations;
897 @property (nonatomic, copy) NSString * _Nonnull graphAPIVersion;
898 @property (nonatomic) BOOL isGraphErrorRecoveryEnabled;
899 @property (nonatomic, readonly, copy) NSString * _Nullable graphAPIDebugParamValue SWIFT_DEPRECATED_MSG("\n      This property is deprecated and will be removed in the next major release.       Use `graphAPIDebugParameterValue` instead.\n      ");
900 @property (nonatomic, readonly, copy) NSString * _Nullable graphAPIDebugParameterValue;
901 @property (nonatomic) BOOL advertiserTrackingEnabled SWIFT_DEPRECATED_MSG("\n      This property is deprecated and will be removed in the next major release.       Use `isAdvertiserTrackingEnabled` instead.\n      ");
902 @property (nonatomic) BOOL isAdvertiserTrackingEnabled;
903 @property (nonatomic) BOOL shouldUseCachedValuesForExpensiveMetadata;
904 @property (nonatomic, readonly, copy) NSDictionary<NSString *, id> * _Nullable persistableDataProcessingOptions;
905 /// Sets the data processing options.
906 /// \param options The list of options.
907 ///
908 - (void)setDataProcessingOptions:(NSArray<NSString *> * _Nullable)options;
909 /// Sets the data processing options.
910 /// \param options The list of the options. 
911 ///
912 /// \param country The code for the country. 
913 ///
914 /// \param state The code for the state. 
915 ///
916 - (void)setDataProcessingOptions:(NSArray<NSString *> * _Nullable)options country:(int32_t)country state:(int32_t)state;
917 @end
918
919
920 SWIFT_CLASS_NAMED("Settings")
921 @interface FBSDKSettings : NSObject <FBSDKSettingsLogging, FBSDKSettings, FBSDKClientTokenProviding>
922 /// The shared settings instance. Prefer this and the exposed instance methods over the type properties and methods.
923 SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBSDKSettings * _Nonnull sharedSettings;)
924 + (FBSDKSettings * _Nonnull)sharedSettings SWIFT_WARN_UNUSED_RESULT;
925 /// The Facebook SDK version in use.
926 @property (nonatomic, readonly, copy) NSString * _Nonnull sdkVersion;
927 /// The default Graph API version.
928 @property (nonatomic, readonly, copy) NSString * _Nonnull defaultGraphAPIVersion;
929 /// The quality of JPEG images sent to Facebook from the SDK expressed as a value from 0.0 to 1.0.
930 /// The default value is 0.9.
931 @property (nonatomic) CGFloat JPEGCompressionQuality;
932 /// Controls the automatic logging of basic app events such as <code>activateApp</code> and <code>deactivateApp</code>.
933 /// The default value is <code>true</code>.
934 @property (nonatomic) BOOL autoLogAppEventsEnabled SWIFT_DEPRECATED_MSG("\n      This property is deprecated and will be removed in the next major release.       Use `isAutoLogAppEventsEnabled` instead.\n      ");
935 /// Controls the automatic logging of basic app events such as <code>activateApp</code> and <code>deactivateApp</code>.
936 /// The default value is <code>true</code>.
937 @property (nonatomic) BOOL isAutoLogAppEventsEnabled;
938 /// Controls the <code>fb_codeless_debug</code> logging event.
939 /// The default value is <code>false</code>.
940 @property (nonatomic) BOOL codelessDebugLogEnabled SWIFT_DEPRECATED_MSG("\n      This property is deprecated and will be removed in the next major release.       Use `isCodelessDebugLogEnabled` instead.\n      ");
941 /// Controls the <code>fb_codeless_debug</code> logging event.
942 /// The default value is <code>false</code>.
943 @property (nonatomic) BOOL isCodelessDebugLogEnabled;
944 /// Controls the access to IDFA.
945 /// The default value is <code>true</code>.
946 @property (nonatomic) BOOL advertiserIDCollectionEnabled SWIFT_DEPRECATED_MSG("\n      This property is deprecated and will be removed in the next major release.       Use `isAdvertiserIDCollectionEnabled` instead.\n      ");
947 /// Controls the access to IDFA.
948 /// The default value is <code>true</code>.
949 @property (nonatomic) BOOL isAdvertiserIDCollectionEnabled;
950 /// Controls the SKAdNetwork report.
951 /// The default value is <code>true</code>.
952 @property (nonatomic) BOOL skAdNetworkReportEnabled SWIFT_DEPRECATED_MSG("\n      This property is deprecated and will be removed in the next major release.       Use `isSKAdNetworkReportEnabled` instead.\n      ");
953 /// Controls the SKAdNetwork report.
954 /// The default value is <code>true</code>.
955 @property (nonatomic) BOOL isSKAdNetworkReportEnabled;
956 /// Whether data such as that generated through <code>AppEvents</code> and sent to Facebook
957 /// should be restricted from being used for purposes other than analytics and conversions.
958 /// The default value is <code>false</code>. This value is stored on the device and persists across app launches.
959 @property (nonatomic) BOOL isEventDataUsageLimited;
960 /// Whether in-memory cached values should be used for expensive metadata fields, such as
961 /// carrier and advertiser ID, that are fetched on many <code>applicationDidBecomeActive</code> notifications.
962 /// The default value is <code>false</code>. This value is stored on the device and persists across app launches.
963 @property (nonatomic) BOOL shouldUseCachedValuesForExpensiveMetadata;
964 /// Controls error recovery for all <code>GraphRequest</code> instances created after the value is changed.
965 @property (nonatomic) BOOL isGraphErrorRecoveryEnabled;
966 /// The Facebook App ID used by the SDK.
967 /// The default value will be read from the application’s plist (FacebookAppID).
968 @property (nonatomic, copy) NSString * _Nullable appID;
969 /// The default URL scheme suffix used for sessions.
970 /// The default value will be read from the application’s plist (FacebookUrlSchemeSuffix).
971 @property (nonatomic, copy) NSString * _Nullable appURLSchemeSuffix;
972 /// The client token needed for certain anonymous API calls (i.e., those made without a user-based access token).
973 /// An app’s client token can be found by navigating to https://developers.facebook.com/apps/YOUR-APP-ID
974 /// (replacing “YOUR-APP-ID” with your actual app ID), choosing “Settings->Advanced” and scrolling to the “Security”.
975 /// The default value will be read from the application’s plist (FacebookClientToken).
976 @property (nonatomic, copy) NSString * _Nullable clientToken;
977 /// The Facebook Display Name used by the SDK.
978 /// This should match the Display Name that has been set for the app with the corresponding Facebook App ID
979 /// in the Facebook App Dashboard.
980 /// The default value will be read from the application’s plist (FacebookDisplayName).
981 @property (nonatomic, copy) NSString * _Nullable displayName;
982 /// The Facebook domain part. This can be used to change the Facebook domain
983 /// (e.g. “beta”) so that requests will be sent to <code>graph.beta.facebook.com</code>.
984 /// The default value will be read from the application’s plist (FacebookDomainPart).
985 @property (nonatomic, copy) NSString * _Nullable facebookDomainPart;
986 /// Overrides the default Graph API version to use with <code>GraphRequest</code> instances.
987 /// The string should be of the form <code>"v2.7"</code>.
988 /// The default value is <code>defaultGraphAPIVersion</code>.
989 @property (nonatomic, copy) NSString * _Nonnull graphAPIVersion;
990 /// Internal property exposed to facilitate transition to Swift.
991 /// API Subject to change or removal without warning. Do not use.
992 /// @warning INTERNAL - DO NOT USE
993 @property (nonatomic, copy) NSString * _Nullable userAgentSuffix;
994 /// Controls the advertiser tracking status of the data sent to Facebook.
995 /// The default value is <code>false</code>.
996 @property (nonatomic) BOOL advertiserTrackingEnabled SWIFT_DEPRECATED_MSG("\n      This property is deprecated and will be removed in the next major release.       Use `isAdvertiserTrackingEnabled` instead.\n      ");
997 /// Controls the advertiser tracking status of the data sent to Facebook.
998 /// The default value is <code>false</code>.
999 @property (nonatomic) BOOL isAdvertiserTrackingEnabled;
1000 /// Internal property exposed to facilitate transition to Swift.
1001 /// API Subject to change or removal without warning. Do not use.
1002 /// @warning INTERNAL - DO NOT USE
1003 @property (nonatomic) FBSDKAdvertisingTrackingStatus advertisingTrackingStatus;
1004 /// Internal property exposed to facilitate transition to Swift.
1005 /// API Subject to change or removal without warning. Do not use.
1006 /// @warning INTERNAL - DO NOT USE
1007 @property (nonatomic, readonly) BOOL isDataProcessingRestricted;
1008 /// Internal property exposed to facilitate transition to Swift.
1009 /// API Subject to change or removal without warning. Do not use.
1010 /// @warning INTERNAL - DO NOT USE
1011 @property (nonatomic, readonly, copy) NSDictionary<NSString *, id> * _Nullable persistableDataProcessingOptions;
1012 /// Set the data processing options.
1013 /// \param options The list of options.
1014 ///
1015 - (void)setDataProcessingOptions:(NSArray<NSString *> * _Nullable)options;
1016 /// Sets the data processing options.
1017 /// \param options The list of the options. 
1018 ///
1019 /// \param country The code for the country. 
1020 ///
1021 /// \param state The code for the state. 
1022 ///
1023 - (void)setDataProcessingOptions:(NSArray<NSString *> * _Nullable)options country:(int32_t)country state:(int32_t)state;
1024 /// The current Facebook SDK logging behavior. This should consist of strings
1025 /// defined as constants with <code>LoggingBehavior</code> that indicate what information should be logged.
1026 /// Set to an empty set in order to disable all logging.
1027 /// You can also define this via an array in your app’s plist with the key “FacebookLoggingBehavior”; or add/remove
1028 /// individual values via <code>enableLoggingBehavior(_:)</code> or <code>disableLoggingBehavior(_:)</code>
1029 /// The default value is <code>[.developerErrors]</code>.
1030 @property (nonatomic, copy) NSSet<FBSDKLoggingBehavior> * _Nonnull loggingBehaviors;
1031 /// Enable a particular Facebook SDK logging behavior.
1032 /// \param loggingBehavior The logging behavior to enable. This should be a string constant defined
1033 /// as a <code>LoggingBehavior</code>.
1034 ///
1035 - (void)enableLoggingBehavior:(FBSDKLoggingBehavior _Nonnull)loggingBehavior;
1036 /// Disable a particular Facebook SDK logging behavior.
1037 /// \param loggingBehavior The logging behavior to disable. This should be a string constant defined
1038 /// as a <code>LoggingBehavior</code>.
1039 ///
1040 - (void)disableLoggingBehavior:(FBSDKLoggingBehavior _Nonnull)loggingBehavior;
1041 /// Internal property exposed to facilitate transition to Swift.
1042 /// API Subject to change or removal without warning. Do not use.
1043 /// @warning INTERNAL - DO NOT USE
1044 @property (nonatomic) BOOL shouldUseTokenOptimizations;
1045 /// Internal property exposed to facilitate transition to Swift.
1046 /// API Subject to change or removal without warning. Do not use.
1047 /// @warning INTERNAL - DO NOT USE
1048 @property (nonatomic, readonly) BOOL isSetATETimeExceedsInstallTime SWIFT_DEPRECATED_MSG("\n      This property is deprecated and will be removed in the next major release.       Use `isATETimeSufficientlyDelayed` instead.\n      ");
1049 /// Internal property exposed to facilitate transition to Swift.
1050 /// API Subject to change or removal without warning. Do not use.
1051 /// @warning INTERNAL - DO NOT USE
1052 @property (nonatomic, readonly) BOOL isATETimeSufficientlyDelayed;
1053 /// Internal property exposed to facilitate transition to Swift.
1054 /// API Subject to change or removal without warning. Do not use.
1055 /// @warning INTERNAL - DO NOT USE
1056 @property (nonatomic, readonly, copy) NSDate * _Nullable installTimestamp;
1057 /// Internal property exposed to facilitate transition to Swift.
1058 /// API Subject to change or removal without warning. Do not use.
1059 /// @warning INTERNAL - DO NOT USE
1060 @property (nonatomic, readonly, copy) NSDate * _Nullable advertiserTrackingEnabledTimestamp;
1061 /// Internal property exposed to facilitate transition to Swift.
1062 /// API Subject to change or removal without warning. Do not use.
1063 /// @warning INTERNAL - DO NOT USE
1064 @property (nonatomic, readonly, copy) NSString * _Nullable graphAPIDebugParamValue SWIFT_DEPRECATED_MSG("\n      This property is deprecated and will be removed in the next major release.       Use `graphAPIDebugParameterValue` instead.\n      ");
1065 /// Internal property exposed to facilitate transition to Swift.
1066 /// API Subject to change or removal without warning. Do not use.
1067 /// @warning INTERNAL - DO NOT USE
1068 @property (nonatomic, readonly, copy) NSString * _Nullable graphAPIDebugParameterValue;
1069 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1070 @end
1071
1072
1073
1074
1075
1076
1077 @interface FBSDKSettings (SWIFT_EXTENSION(FBSDKCoreKit))
1078 /// Internal method exposed to facilitate transition to Swift.
1079 /// API Subject to change or removal without warning. Do not use.
1080 /// @warning INTERNAL - DO NOT USE
1081 - (void)recordInstall;
1082 /// Internal method exposed to facilitate transition to Swift.
1083 /// API Subject to change or removal without warning. Do not use.
1084 /// @warning INTERNAL - DO NOT USE
1085 - (void)logWarnings;
1086 /// Internal method exposed to facilitate transition to Swift.
1087 /// API Subject to change or removal without warning. Do not use.
1088 /// @warning INTERNAL - DO NOT USE
1089 - (void)logIfSDKSettingsChanged;
1090 @end
1091
1092
1093
1094
1095 /// Internal Type exposed to facilitate transition to Swift.
1096 /// API Subject to change or removal without warning. Do not use.
1097 /// @warning INTERNAL - DO NOT USE
1098 SWIFT_PROTOCOL_NAMED("_AccessTokenExpiring")
1099 @protocol _FBSDKAccessTokenExpiring
1100 @end
1101
1102 @protocol _FBSDKNotificationPosting;
1103 @protocol FBSDKNotificationDelivering;
1104
1105 /// Internal Type exposed to facilitate transition to Swift.
1106 /// API Subject to change or removal without warning. Do not use.
1107 /// @warning INTERNAL - DO NOT USE
1108 SWIFT_CLASS_NAMED("_AccessTokenExpirer")
1109 @interface _FBSDKAccessTokenExpirer : NSObject <_FBSDKAccessTokenExpiring>
1110 - (nonnull instancetype)initWithNotificationCenter:(id <_FBSDKNotificationPosting, FBSDKNotificationDelivering> _Nonnull)notificationCenter OBJC_DESIGNATED_INITIALIZER;
1111 - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1112 + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1113 @end
1114
1115
1116 @class FBSDKContainerViewController;
1117
1118 /// Internal Type exposed to facilitate transition to Swift.
1119 /// API Subject to change or removal without warning. Do not use.
1120 /// @warning INTERNAL - DO NOT USE
1121 SWIFT_CLASS("_TtC12FBSDKCoreKit10_BridgeAPI")
1122 @interface _BridgeAPI : NSObject <FBSDKBridgeAPIRequestOpening, FBSDKApplicationObserving, FBSDKURLOpener, FBSDKContainerViewControllerDelegate, SFSafariViewControllerDelegate>
1123 - (void)viewControllerDidDisappear:(FBSDKContainerViewController * _Nonnull)viewController animated:(BOOL)animated;
1124 - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1125 + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1126 @end
1127
1128 @class SFSafariViewController;
1129
1130 @interface _BridgeAPI (SWIFT_EXTENSION(FBSDKCoreKit))
1131 - (void)safariViewControllerDidFinish:(SFSafariViewController * _Nonnull)safariViewController;
1132 @end
1133
1134 @class ASWebAuthenticationSession;
1135
1136 SWIFT_AVAILABILITY(ios,introduced=13)
1137 @interface _BridgeAPI (SWIFT_EXTENSION(FBSDKCoreKit)) <ASWebAuthenticationPresentationContextProviding>
1138 - (ASPresentationAnchor _Nonnull)presentationAnchorForWebAuthenticationSession:(ASWebAuthenticationSession * _Nonnull)session SWIFT_WARN_UNUSED_RESULT;
1139 @end
1140
1141 @protocol FBSDKURLOpening;
1142 @protocol FBSDKBridgeAPIRequest;
1143 @class UIViewController;
1144
1145 @interface _BridgeAPI (SWIFT_EXTENSION(FBSDKCoreKit))
1146 - (void)openURL:(NSURL * _Nonnull)url sender:(id <FBSDKURLOpening> _Nullable)sender handler:(FBSDKSuccessBlock _Nonnull)handler;
1147 - (void)openBridgeAPIRequest:(id <FBSDKBridgeAPIRequest> _Nonnull)request useSafariViewController:(BOOL)useSafariViewController fromViewController:(UIViewController * _Nullable)fromViewController completionBlock:(FBSDKBridgeAPIResponseBlock _Nonnull)completionBlock;
1148 - (void)openURLWithSafariViewController:(NSURL * _Nonnull)url sender:(id <FBSDKURLOpening> _Nullable)sender fromViewController:(UIViewController * _Nullable)fromViewController handler:(FBSDKSuccessBlock _Nonnull)handler;
1149 @end
1150
1151
1152 @interface _BridgeAPI (SWIFT_EXTENSION(FBSDKCoreKit))
1153 - (void)applicationWillResignActive:(UIApplication * _Nullable)application;
1154 - (void)applicationDidBecomeActive:(UIApplication * _Nullable)application;
1155 - (void)applicationDidEnterBackground:(UIApplication * _Nullable)application;
1156 - (BOOL)application:(UIApplication * _Nonnull)application openURL:(NSURL * _Nonnull)url sourceApplication:(NSString * _Nullable)sourceApplication annotation:(id _Nullable)annotation SWIFT_WARN_UNUSED_RESULT;
1157 - (BOOL)application:(UIApplication * _Nonnull)application didFinishLaunchingWithOptions:(NSDictionary<UIApplicationLaunchOptionsKey, id> * _Nullable)launchOptions SWIFT_WARN_UNUSED_RESULT;
1158 @end
1159
1160 @protocol FBSDKPasteboard;
1161
1162 /// Internal Type exposed to facilitate transition to Swift.
1163 /// API Subject to change or removal without warning. Do not use.
1164 /// @warning INTERNAL - DO NOT USE
1165 SWIFT_CLASS_NAMED("_BridgeAPIProtocolNativeV1")
1166 @interface FBSDKBridgeAPIProtocolNativeV1 : NSObject <FBSDKBridgeAPIProtocol>
1167 - (nonnull instancetype)initWithAppScheme:(NSString * _Nullable)appScheme;
1168 - (nonnull instancetype)initWithAppScheme:(NSString * _Nullable)appScheme pasteboard:(id <FBSDKPasteboard> _Nullable)pasteboard dataLengthThreshold:(NSUInteger)dataLengthThreshold includeAppIcon:(BOOL)shouldIncludeAppIcon OBJC_DESIGNATED_INITIALIZER;
1169 - (NSURL * _Nullable)requestURLWithActionID:(NSString * _Nonnull)actionID scheme:(NSString * _Nonnull)scheme methodName:(NSString * _Nonnull)methodName parameters:(NSDictionary<NSString *, id> * _Nonnull)parameters error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
1170 - (NSDictionary<NSString *, id> * _Nullable)responseParametersForActionID:(NSString * _Nonnull)actionID queryParameters:(NSDictionary<NSString *, id> * _Nonnull)queryParameters cancelled:(BOOL * _Nullable)cancelledRef error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
1171 - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1172 + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1173 @end
1174
1175
1176
1177 /// Internal Type exposed to facilitate transition to Swift.
1178 /// API Subject to change or removal without warning. Do not use.
1179 /// @warning INTERNAL - DO NOT USE
1180 SWIFT_CLASS_NAMED("_BridgeAPIRequestFactory")
1181 @interface FBSDKBridgeAPIRequestFactory : NSObject <FBSDKBridgeAPIRequestCreating>
1182 - (id <FBSDKBridgeAPIRequest> _Nullable)bridgeAPIRequestWithProtocolType:(FBSDKBridgeAPIProtocolType)protocolType scheme:(NSString * _Nonnull)scheme methodName:(NSString * _Nullable)methodName parameters:(NSDictionary<NSString *, id> * _Nullable)parameters userInfo:(NSDictionary<NSString *, id> * _Nullable)userInfo SWIFT_WARN_UNUSED_RESULT;
1183 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1184 @end
1185
1186 @class FBSDKDialogConfiguration;
1187
1188 /// Internal Type exposed to facilitate transition to Swift.
1189 /// API Subject to change or removal without warning. Do not use.
1190 /// @warning INTERNAL - DO NOT USE
1191 SWIFT_CLASS_NAMED("_DialogConfigurationMapBuilder")
1192 @interface FBSDKDialogConfigurationMapBuilder : NSObject <FBSDKDialogConfigurationMapBuilding>
1193 - (NSDictionary<NSString *, FBSDKDialogConfiguration *> * _Nonnull)buildDialogConfigurationMapWithRawConfigurations:(NSArray<NSDictionary<NSString *, id> *> * _Nonnull)rawConfigurations SWIFT_WARN_UNUSED_RESULT;
1194 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1195 @end
1196
1197
1198 /// Internal type exposed to facilitate transition to Swift.
1199 /// API Subject to change or removal without warning. Do not use.
1200 /// @warning INTERNAL - DO NOT USE
1201 SWIFT_CLASS_NAMED("_ErrorFactory")
1202 @interface FBSDKErrorFactory : NSObject <FBSDKErrorCreating>
1203 - (NSError * _Nonnull)errorWithCode:(NSInteger)code userInfo:(NSDictionary<NSString *, id> * _Nullable)userInfo message:(NSString * _Nullable)message underlyingError:(NSError * _Nullable)underlyingError SWIFT_WARN_UNUSED_RESULT;
1204 - (NSError * _Nonnull)errorWithDomain:(NSString * _Nonnull)domain code:(NSInteger)code userInfo:(NSDictionary<NSString *, id> * _Nullable)userInfo message:(NSString * _Nullable)message underlyingError:(NSError * _Nullable)underlyingError SWIFT_WARN_UNUSED_RESULT;
1205 - (NSError * _Nonnull)invalidArgumentErrorWithName:(NSString * _Nonnull)name value:(id _Nullable)value message:(NSString * _Nullable)message underlyingError:(NSError * _Nullable)underlyingError SWIFT_WARN_UNUSED_RESULT;
1206 - (NSError * _Nonnull)invalidArgumentErrorWithDomain:(NSString * _Nonnull)domain name:(NSString * _Nonnull)name value:(id _Nullable)value message:(NSString * _Nullable)message underlyingError:(NSError * _Nullable)underlyingError SWIFT_WARN_UNUSED_RESULT;
1207 - (NSError * _Nonnull)requiredArgumentErrorWithName:(NSString * _Nonnull)name message:(NSString * _Nullable)message underlyingError:(NSError * _Nullable)underlyingError SWIFT_WARN_UNUSED_RESULT;
1208 - (NSError * _Nonnull)requiredArgumentErrorWithDomain:(NSString * _Nonnull)domain name:(NSString * _Nonnull)name message:(NSString * _Nullable)message underlyingError:(NSError * _Nullable)underlyingError SWIFT_WARN_UNUSED_RESULT;
1209 - (NSError * _Nonnull)unknownErrorWithMessage:(NSString * _Nullable)message userInfo:(NSDictionary<NSString *, id> * _Nullable)userInfo SWIFT_WARN_UNUSED_RESULT;
1210 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1211 @end
1212
1213
1214
1215 /// Internal Type exposed to facilitate transition to Swift.
1216 /// API Subject to change or removal without warning. Do not use.
1217 /// @warning INTERNAL - DO NOT USE
1218 SWIFT_CLASS_NAMED("_FBCloseIcon")
1219 @interface FBSDKCloseIcon : NSObject
1220 - (UIImage * _Nullable)imageWithSize:(CGSize)size SWIFT_WARN_UNUSED_RESULT;
1221 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1222 @end
1223
1224
1225 /// Internal Type exposed to facilitate transition to Swift.
1226 /// API Subject to change or removal without warning. Do not use.
1227 /// @warning INTERNAL - DO NOT USE
1228 SWIFT_CLASS_NAMED("_FBLogo")
1229 @interface FBSDKLogo : FBSDKIcon
1230 - (CGPathRef _Nullable)pathWith:(CGSize)size SWIFT_WARN_UNUSED_RESULT;
1231 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1232 @end
1233
1234
1235 /// Internal Type exposed to facilitate transition to Swift.
1236 /// API Subject to change or removal without warning. Do not use.
1237 /// @warning INTERNAL - DO NOT USE
1238 SWIFT_CLASS_NAMED("_FeatureManager")
1239 @interface FBSDKFeatureManager : NSObject <FBSDKFeatureChecking, FBSDKFeatureDisabling>
1240 SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBSDKFeatureManager * _Nonnull shared;)
1241 + (FBSDKFeatureManager * _Nonnull)shared SWIFT_WARN_UNUSED_RESULT;
1242 - (BOOL)isEnabled:(FBSDKFeature)feature SWIFT_WARN_UNUSED_RESULT;
1243 - (void)checkFeature:(FBSDKFeature)feature completionBlock:(FBSDKFeatureManagerBlock _Nonnull)completionBlock;
1244 - (void)disableFeature:(FBSDKFeature)feature;
1245 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1246 @end
1247
1248
1249
1250 /// Internal Type exposed to facilitate transition to Swift.
1251 /// API Subject to change or removal without warning. Do not use.
1252 /// @warning INTERNAL - DO NOT USE
1253 SWIFT_CLASS_NAMED("_HumanSilhouetteIcon")
1254 @interface FBSDKHumanSilhouetteIcon : FBSDKIcon
1255 - (CGPathRef _Nullable)pathWith:(CGSize)size SWIFT_WARN_UNUSED_RESULT;
1256 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1257 @end
1258
1259
1260 /// Internal Type exposed to facilitate transition to Swift.
1261 /// API Subject to change or removal without warning. Do not use.
1262 /// @warning INTERNAL - DO NOT USE
1263 SWIFT_CLASS_NAMED("_MeasurementEvent")
1264 @interface FBSDKMeasurementEvent : NSObject <FBSDKAppLinkEventPosting>
1265 - (void)postNotificationForEventName:(NSString * _Nonnull)eventName args:(NSDictionary<NSString *, id> * _Nonnull)arguments;
1266 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1267 @end
1268
1269 @class SKPaymentQueue;
1270 @protocol FBSDKPaymentProductRequestorCreating;
1271
1272 /// Internal Type exposed to facilitate transition to Swift.
1273 /// API Subject to change or removal without warning. Do not use.
1274 /// @warning INTERNAL - DO NOT USE
1275 /// Class to encapsulate implicit logging of purchase events
1276 SWIFT_CLASS_NAMED("_PaymentObserver")
1277 @interface FBSDKPaymentObserver : NSObject <FBSDKPaymentObserving>
1278 - (nonnull instancetype)initWithPaymentQueue:(SKPaymentQueue * _Nonnull)paymentQueue paymentProductRequestorFactory:(id <FBSDKPaymentProductRequestorCreating> _Nonnull)paymentProductRequestorFactory OBJC_DESIGNATED_INITIALIZER;
1279 - (void)startObservingTransactions;
1280 - (void)stopObservingTransactions;
1281 - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1282 + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1283 @end
1284
1285 @class SKPaymentTransaction;
1286
1287 @interface FBSDKPaymentObserver (SWIFT_EXTENSION(FBSDKCoreKit)) <SKPaymentTransactionObserver>
1288 - (void)paymentQueue:(SKPaymentQueue * _Nonnull)queue updatedTransactions:(NSArray<SKPaymentTransaction *> * _Nonnull)transactions;
1289 @end
1290
1291 @class FBSDKPaymentProductRequestor;
1292
1293 /// Internal Type exposed to facilitate transition to Swift.
1294 /// API Subject to change or removal without warning. Do not use.
1295 /// @warning INTERNAL - DO NOT USE
1296 SWIFT_CLASS_NAMED("_PaymentProductRequestorFactory")
1297 @interface FBSDKPaymentProductRequestorFactory : NSObject <FBSDKPaymentProductRequestorCreating>
1298 - (FBSDKPaymentProductRequestor * _Nonnull)createRequestorWithTransaction:(SKPaymentTransaction * _Nonnull)transaction SWIFT_WARN_UNUSED_RESULT;
1299 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1300 @end
1301
1302
1303
1304 /// Internal Type exposed to facilitate transition to Swift.
1305 /// API Subject to change or removal without warning. Do not use.
1306 /// @warning INTERNAL - DO NOT USE
1307 SWIFT_CLASS_NAMED("_RestrictiveEventFilter")
1308 @interface FBSDKRestrictiveEventFilter : NSObject
1309 @property (nonatomic, readonly, copy) NSString * _Nonnull eventName;
1310 @property (nonatomic, readonly, copy) NSDictionary<NSString *, id> * _Nonnull restrictiveParameters;
1311 - (nonnull instancetype)initWithEventName:(NSString * _Nonnull)eventName restrictiveParameters:(NSDictionary<NSString *, id> * _Nonnull)restrictiveParameters OBJC_DESIGNATED_INITIALIZER;
1312 - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1313 + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1314 @end
1315
1316
1317 /// Internal Type exposed to facilitate transition to Swift.
1318 /// API Subject to change or removal without warning. Do not use.
1319 /// @warning INTERNAL - DO NOT USE
1320 SWIFT_CLASS_NAMED("_SKAdNetworkEvent")
1321 @interface FBSDKSKAdNetworkEvent : NSObject
1322 @property (nonatomic, readonly, copy) NSString * _Nullable eventName;
1323 @property (nonatomic, copy) NSDictionary<NSString *, NSNumber *> * _Nullable values;
1324 - (nullable instancetype)initWithJSON:(NSDictionary<NSString *, id> * _Nonnull)json OBJC_DESIGNATED_INITIALIZER;
1325 - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1326 + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1327 @end
1328
1329
1330 /// Internal Type exposed to facilitate transition to Swift.
1331 /// API Subject to change or removal without warning. Do not use.
1332 /// @warning INTERNAL - DO NOT USE
1333 SWIFT_CLASS_NAMED("_ViewImpressionLogger")
1334 @interface FBSDKViewImpressionLogger : NSObject <FBSDKImpressionLogging>
1335 - (nonnull instancetype)initWithEventName:(FBSDKAppEventName _Nonnull)eventName OBJC_DESIGNATED_INITIALIZER;
1336 + (FBSDKViewImpressionLogger * _Nonnull)retrieveLoggerWith:(FBSDKAppEventName _Nonnull)eventName SWIFT_WARN_UNUSED_RESULT;
1337 - (void)logImpressionWithIdentifier:(NSString * _Nonnull)identifier parameters:(NSDictionary<FBSDKAppEventParameterName, id> * _Nullable)parameters;
1338 - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1339 + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1340 @end
1341
1342
1343 @protocol FBSDKWebDialogDelegate;
1344
1345 /// Internal Type exposed to facilitate transition to Swift.
1346 /// API Subject to change or removal without warning. Do not use.
1347 /// @warning INTERNAL - DO NOT USE
1348 SWIFT_CLASS_NAMED("_WebDialog")
1349 @interface FBSDKWebDialog : NSObject
1350 @property (nonatomic) BOOL shouldDeferVisibility;
1351 @property (nonatomic, weak) id <FBSDKWebDialogDelegate> _Nullable delegate;
1352 - (nonnull instancetype)initWithName:(NSString * _Nonnull)name parameters:(NSDictionary<NSString *, NSString *> * _Nullable)parameters webViewFrame:(CGRect)webViewFrame path:(NSString * _Nullable)path OBJC_DESIGNATED_INITIALIZER;
1353 - (nonnull instancetype)initWithName:(NSString * _Nonnull)name;
1354 - (void)show;
1355 - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1356 + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1357 @end
1358
1359 @class FBSDKWebDialogView;
1360
1361 @interface FBSDKWebDialog (SWIFT_EXTENSION(FBSDKCoreKit)) <FBSDKWebDialogViewDelegate>
1362 - (void)webDialogView:(FBSDKWebDialogView * _Nonnull)webDialogView didCompleteWithResults:(NSDictionary<NSString *, id> * _Nonnull)results;
1363 - (void)webDialogView:(FBSDKWebDialogView * _Nonnull)webDialogView didFailWithError:(NSError * _Nonnull)error;
1364 - (void)webDialogViewDidCancel:(FBSDKWebDialogView * _Nonnull)webDialogView;
1365 - (void)webDialogViewDidFinishLoad:(FBSDKWebDialogView * _Nonnull)webDialogView;
1366 @end
1367
1368
1369 @protocol FBSDKWebView;
1370
1371 /// Internal Type exposed to facilitate transition to Swift.
1372 /// API Subject to change or removal without warning. Do not use.
1373 /// @warning INTERNAL - DO NOT USE
1374 SWIFT_CLASS_NAMED("_WebViewFactory")
1375 @interface FBSDKWebViewFactory : NSObject <FBSDKWebViewProviding>
1376 - (id <FBSDKWebView> _Nonnull)createWebViewWithFrame:(CGRect)frame SWIFT_WARN_UNUSED_RESULT;
1377 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1378 @end
1379
1380 #endif
1381 #if defined(__cplusplus)
1382 #endif
2e29a3 1383 #if __has_attribute(external_source_symbol)
L 1384 # pragma clang attribute pop
1385 #endif
1386 #pragma clang diagnostic pop
1387 #endif
1388
1389 #elif defined(__x86_64__) && __x86_64__
e0ec42 1390 // Generated by Apple Swift version 5.7.2 (swiftlang-5.7.2.135.5 clang-1400.0.29.51)
2e29a3 1391 #ifndef FBSDKCOREKIT_SWIFT_H
L 1392 #define FBSDKCOREKIT_SWIFT_H
1393 #pragma clang diagnostic push
1394 #pragma clang diagnostic ignored "-Wgcc-compat"
1395
1396 #if !defined(__has_include)
1397 # define __has_include(x) 0
1398 #endif
1399 #if !defined(__has_attribute)
1400 # define __has_attribute(x) 0
1401 #endif
1402 #if !defined(__has_feature)
1403 # define __has_feature(x) 0
1404 #endif
1405 #if !defined(__has_warning)
1406 # define __has_warning(x) 0
1407 #endif
1408
1409 #if __has_include(<swift/objc-prologue.h>)
1410 # include <swift/objc-prologue.h>
1411 #endif
1412
e0ec42 1413 #pragma clang diagnostic ignored "-Wduplicate-method-match"
2e29a3 1414 #pragma clang diagnostic ignored "-Wauto-import"
e0ec42 1415 #if defined(__OBJC__)
2e29a3 1416 #include <Foundation/Foundation.h>
e0ec42 1417 #endif
L 1418 #if defined(__cplusplus)
1419 #include <cstdint>
1420 #include <cstddef>
1421 #include <cstdbool>
1422 #else
2e29a3 1423 #include <stdint.h>
L 1424 #include <stddef.h>
1425 #include <stdbool.h>
e0ec42 1426 #endif
2e29a3 1427
L 1428 #if !defined(SWIFT_TYPEDEFS)
1429 # define SWIFT_TYPEDEFS 1
1430 # if __has_include(<uchar.h>)
1431 #  include <uchar.h>
1432 # elif !defined(__cplusplus)
1433 typedef uint_least16_t char16_t;
1434 typedef uint_least32_t char32_t;
1435 # endif
1436 typedef float swift_float2  __attribute__((__ext_vector_type__(2)));
1437 typedef float swift_float3  __attribute__((__ext_vector_type__(3)));
1438 typedef float swift_float4  __attribute__((__ext_vector_type__(4)));
1439 typedef double swift_double2  __attribute__((__ext_vector_type__(2)));
1440 typedef double swift_double3  __attribute__((__ext_vector_type__(3)));
1441 typedef double swift_double4  __attribute__((__ext_vector_type__(4)));
1442 typedef int swift_int2  __attribute__((__ext_vector_type__(2)));
1443 typedef int swift_int3  __attribute__((__ext_vector_type__(3)));
1444 typedef int swift_int4  __attribute__((__ext_vector_type__(4)));
1445 typedef unsigned int swift_uint2  __attribute__((__ext_vector_type__(2)));
1446 typedef unsigned int swift_uint3  __attribute__((__ext_vector_type__(3)));
1447 typedef unsigned int swift_uint4  __attribute__((__ext_vector_type__(4)));
1448 #endif
1449
1450 #if !defined(SWIFT_PASTE)
1451 # define SWIFT_PASTE_HELPER(x, y) x##y
1452 # define SWIFT_PASTE(x, y) SWIFT_PASTE_HELPER(x, y)
1453 #endif
1454 #if !defined(SWIFT_METATYPE)
1455 # define SWIFT_METATYPE(X) Class
1456 #endif
1457 #if !defined(SWIFT_CLASS_PROPERTY)
1458 # if __has_feature(objc_class_property)
1459 #  define SWIFT_CLASS_PROPERTY(...) __VA_ARGS__
1460 # else
1461 #  define SWIFT_CLASS_PROPERTY(...)
1462 # endif
1463 #endif
1464
1465 #if __has_attribute(objc_runtime_name)
1466 # define SWIFT_RUNTIME_NAME(X) __attribute__((objc_runtime_name(X)))
1467 #else
1468 # define SWIFT_RUNTIME_NAME(X)
1469 #endif
1470 #if __has_attribute(swift_name)
1471 # define SWIFT_COMPILE_NAME(X) __attribute__((swift_name(X)))
1472 #else
1473 # define SWIFT_COMPILE_NAME(X)
1474 #endif
1475 #if __has_attribute(objc_method_family)
1476 # define SWIFT_METHOD_FAMILY(X) __attribute__((objc_method_family(X)))
1477 #else
1478 # define SWIFT_METHOD_FAMILY(X)
1479 #endif
1480 #if __has_attribute(noescape)
1481 # define SWIFT_NOESCAPE __attribute__((noescape))
1482 #else
1483 # define SWIFT_NOESCAPE
1484 #endif
1485 #if __has_attribute(ns_consumed)
1486 # define SWIFT_RELEASES_ARGUMENT __attribute__((ns_consumed))
1487 #else
1488 # define SWIFT_RELEASES_ARGUMENT
1489 #endif
1490 #if __has_attribute(warn_unused_result)
1491 # define SWIFT_WARN_UNUSED_RESULT __attribute__((warn_unused_result))
1492 #else
1493 # define SWIFT_WARN_UNUSED_RESULT
1494 #endif
1495 #if __has_attribute(noreturn)
1496 # define SWIFT_NORETURN __attribute__((noreturn))
1497 #else
1498 # define SWIFT_NORETURN
1499 #endif
1500 #if !defined(SWIFT_CLASS_EXTRA)
1501 # define SWIFT_CLASS_EXTRA
1502 #endif
1503 #if !defined(SWIFT_PROTOCOL_EXTRA)
1504 # define SWIFT_PROTOCOL_EXTRA
1505 #endif
1506 #if !defined(SWIFT_ENUM_EXTRA)
1507 # define SWIFT_ENUM_EXTRA
1508 #endif
1509 #if !defined(SWIFT_CLASS)
1510 # if __has_attribute(objc_subclassing_restricted)
1511 #  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_CLASS_EXTRA
1512 #  define SWIFT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_subclassing_restricted)) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
1513 # else
1514 #  define SWIFT_CLASS(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
1515 #  define SWIFT_CLASS_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_CLASS_EXTRA
1516 # endif
1517 #endif
1518 #if !defined(SWIFT_RESILIENT_CLASS)
1519 # if __has_attribute(objc_class_stub)
1520 #  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME) __attribute__((objc_class_stub))
1521 #  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) __attribute__((objc_class_stub)) SWIFT_CLASS_NAMED(SWIFT_NAME)
1522 # else
1523 #  define SWIFT_RESILIENT_CLASS(SWIFT_NAME) SWIFT_CLASS(SWIFT_NAME)
1524 #  define SWIFT_RESILIENT_CLASS_NAMED(SWIFT_NAME) SWIFT_CLASS_NAMED(SWIFT_NAME)
1525 # endif
1526 #endif
1527
1528 #if !defined(SWIFT_PROTOCOL)
1529 # define SWIFT_PROTOCOL(SWIFT_NAME) SWIFT_RUNTIME_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
1530 # define SWIFT_PROTOCOL_NAMED(SWIFT_NAME) SWIFT_COMPILE_NAME(SWIFT_NAME) SWIFT_PROTOCOL_EXTRA
1531 #endif
1532
1533 #if !defined(SWIFT_EXTENSION)
1534 # define SWIFT_EXTENSION(M) SWIFT_PASTE(M##_Swift_, __LINE__)
1535 #endif
1536
1537 #if !defined(OBJC_DESIGNATED_INITIALIZER)
1538 # if __has_attribute(objc_designated_initializer)
1539 #  define OBJC_DESIGNATED_INITIALIZER __attribute__((objc_designated_initializer))
1540 # else
1541 #  define OBJC_DESIGNATED_INITIALIZER
1542 # endif
1543 #endif
1544 #if !defined(SWIFT_ENUM_ATTR)
1545 # if defined(__has_attribute) && __has_attribute(enum_extensibility)
1546 #  define SWIFT_ENUM_ATTR(_extensibility) __attribute__((enum_extensibility(_extensibility)))
1547 # else
1548 #  define SWIFT_ENUM_ATTR(_extensibility)
1549 # endif
1550 #endif
1551 #if !defined(SWIFT_ENUM)
1552 # define SWIFT_ENUM(_type, _name, _extensibility) enum _name : _type _name; enum SWIFT_ENUM_ATTR(_extensibility) SWIFT_ENUM_EXTRA _name : _type
1553 # if __has_feature(generalized_swift_name)
1554 #  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
1555 # else
1556 #  define SWIFT_ENUM_NAMED(_type, _name, SWIFT_NAME, _extensibility) SWIFT_ENUM(_type, _name, _extensibility)
1557 # endif
1558 #endif
1559 #if !defined(SWIFT_UNAVAILABLE)
1560 # define SWIFT_UNAVAILABLE __attribute__((unavailable))
1561 #endif
1562 #if !defined(SWIFT_UNAVAILABLE_MSG)
1563 # define SWIFT_UNAVAILABLE_MSG(msg) __attribute__((unavailable(msg)))
1564 #endif
1565 #if !defined(SWIFT_AVAILABILITY)
1566 # define SWIFT_AVAILABILITY(plat, ...) __attribute__((availability(plat, __VA_ARGS__)))
1567 #endif
1568 #if !defined(SWIFT_WEAK_IMPORT)
1569 # define SWIFT_WEAK_IMPORT __attribute__((weak_import))
1570 #endif
1571 #if !defined(SWIFT_DEPRECATED)
1572 # define SWIFT_DEPRECATED __attribute__((deprecated))
1573 #endif
1574 #if !defined(SWIFT_DEPRECATED_MSG)
1575 # define SWIFT_DEPRECATED_MSG(...) __attribute__((deprecated(__VA_ARGS__)))
1576 #endif
1577 #if __has_feature(attribute_diagnose_if_objc)
1578 # define SWIFT_DEPRECATED_OBJC(Msg) __attribute__((diagnose_if(1, Msg, "warning")))
1579 #else
1580 # define SWIFT_DEPRECATED_OBJC(Msg) SWIFT_DEPRECATED_MSG(Msg)
1581 #endif
e0ec42 1582 #if defined(__OBJC__)
2e29a3 1583 #if !defined(IBSegueAction)
L 1584 # define IBSegueAction
1585 #endif
e0ec42 1586 #endif
L 1587 #if !defined(SWIFT_EXTERN)
1588 # if defined(__cplusplus)
1589 #  define SWIFT_EXTERN extern "C"
1590 # else
1591 #  define SWIFT_EXTERN extern
1592 # endif
1593 #endif
1594 #if !defined(SWIFT_CALL)
1595 # define SWIFT_CALL __attribute__((swiftcall))
1596 #endif
1597 #if defined(__cplusplus)
1598 #if !defined(SWIFT_NOEXCEPT)
1599 # define SWIFT_NOEXCEPT noexcept
1600 #endif
1601 #else
1602 #if !defined(SWIFT_NOEXCEPT)
1603 # define SWIFT_NOEXCEPT 
1604 #endif
1605 #endif
1606 #if defined(__cplusplus)
1607 #if !defined(SWIFT_CXX_INT_DEFINED)
1608 #define SWIFT_CXX_INT_DEFINED
1609 namespace swift {
1610 using Int = ptrdiff_t;
1611 using UInt = size_t;
1612 }
1613 #endif
1614 #endif
1615 #if defined(__OBJC__)
2e29a3 1616 #if __has_feature(modules)
L 1617 #if __has_warning("-Watimport-in-framework-header")
1618 #pragma clang diagnostic ignored "-Watimport-in-framework-header"
1619 #endif
e0ec42 1620 @import AuthenticationServices;
L 1621 @import CoreFoundation;
1622 @import CoreGraphics;
1623 @import FBAEMKit;
1624 @import Foundation;
1625 @import ObjectiveC;
1626 @import SafariServices;
1627 @import StoreKit;
1628 @import UIKit;
2e29a3 1629 #endif
L 1630
e0ec42 1631 #import <FBSDKCoreKit/FBSDKCoreKit.h>
L 1632
1633 #endif
2e29a3 1634 #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
L 1635 #pragma clang diagnostic ignored "-Wduplicate-method-arg"
1636 #if __has_warning("-Wpragma-clang-attribute")
1637 # pragma clang diagnostic ignored "-Wpragma-clang-attribute"
1638 #endif
1639 #pragma clang diagnostic ignored "-Wunknown-pragmas"
1640 #pragma clang diagnostic ignored "-Wnullability"
e0ec42 1641 #pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
2e29a3 1642
L 1643 #if __has_attribute(external_source_symbol)
1644 # pragma push_macro("any")
1645 # undef any
1646 # pragma clang attribute push(__attribute__((external_source_symbol(language="Swift", defined_in="FBSDKCoreKit",generated_declaration))), apply_to=any(function,enum,objc_interface,objc_category,objc_protocol))
1647 # pragma pop_macro("any")
1648 #endif
1649
e0ec42 1650 #if defined(__OBJC__)
L 1651 @class NSString;
1652 @class NSNumber;
1653 @class NSURL;
2e29a3 1654
e0ec42 1655 /// Internal Type exposed to facilitate transition to Swift.
L 1656 /// API Subject to change or removal without warning. Do not use.
1657 /// @warning INTERNAL - DO NOT USE
1658 SWIFT_PROTOCOL_NAMED("_AEMReporterProtocol")
1659 @protocol FBSDKAEMReporter
1660 + (void)enable;
1661 + (void)recordAndUpdateEvent:(NSString * _Nonnull)event currency:(NSString * _Nullable)currency value:(NSNumber * _Nullable)value parameters:(NSDictionary<NSString *, id> * _Nullable)parameters;
1662 + (void)setConversionFilteringEnabled:(BOOL)isEnabled;
1663 + (void)setCatalogMatchingEnabled:(BOOL)isEnabled;
1664 + (void)setAdvertiserRuleMatchInServerEnabled:(BOOL)isEnabled;
1665 + (void)handle:(NSURL * _Nonnull)url;
1666 @end
1667
1668
1669 @interface FBAEMReporter (SWIFT_EXTENSION(FBSDKCoreKit)) <FBSDKAEMReporter>
1670 @end
1671
1672
1673
1674 @protocol FBSDKAppLinkTarget;
1675
1676 /// Contains App Link metadata relevant for navigation on this device
1677 /// derived from the HTML at a given URL.
1678 SWIFT_CLASS_NAMED("AppLink")
1679 @interface FBSDKAppLink : NSObject <FBSDKAppLink>
1680 /// The URL from which this FBSDKAppLink was derived
1681 @property (nonatomic, readonly, copy) NSURL * _Nullable sourceURL;
1682 /// The ordered list of targets applicable to this platform that will be used
1683 /// for navigation.
1684 @property (nonatomic, readonly, copy) NSArray<id <FBSDKAppLinkTarget>> * _Nonnull targets;
1685 /// The fallback web URL to use if no targets are installed on this device.
1686 @property (nonatomic, readonly, copy) NSURL * _Nullable webURL;
1687 /// Internal property exposed to facilitate transition to Swift.
1688 /// API Subject to change or removal without warning. Do not use.
1689 /// <blockquote>
1690 /// Warning: INTERNAL - DO NOT USE
1691 ///
1692 /// </blockquote>
1693 @property (nonatomic, getter=isBackToReferrer) BOOL backToReferrer;
1694 /// Creates an AppLink with the given list of AppLinkTargets and target URL.
1695 /// Generally, this will only be used by implementers of the AppLinkResolving protocol,
1696 /// as these implementers will produce App Link metadata for a given URL.
1697 /// \param sourceURL The <em>URL</em> from which this App Link is derived.
1698 ///
1699 /// \param targets An ordered list of AppLinkTargets for this platform derived from App Link metadata.
1700 ///
1701 /// \param webURL The fallback web URL, if any, for the app link.
1702 ///
1703 - (nonnull instancetype)initWithSourceURL:(NSURL * _Nullable)sourceURL targets:(NSArray<id <FBSDKAppLinkTarget>> * _Nonnull)targets webURL:(NSURL * _Nullable)webURL;
1704 /// Creates an AppLink with the given list of AppLinkTargets and target URL.
1705 /// Generally, this will only be used by implementers of the AppLinkResolving protocol,
1706 /// as these implementers will produce App Link metadata for a given URL.
1707 /// \param sourceURL The <em>URL</em> from which this App Link is derived.
1708 ///
1709 /// \param targets An ordered list of AppLinkTargets for this platform derived from App Link metadata.
1710 ///
1711 /// \param webURL The fallback web URL, if any, for the app link.
1712 ///
1713 + (id <FBSDKAppLink> _Nonnull)appLinkWithSourceURL:(NSURL * _Nullable)sourceURL targets:(NSArray<id <FBSDKAppLinkTarget>> * _Nonnull)targets webURL:(NSURL * _Nullable)webURL SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("\n      Please use designated init to instantiate an AppLink. This method will be removed in future releases.\"\n      ");
1714 /// Internal method exposed to facilitate transition to Swift.
1715 /// API Subject to change or removal without warning. Do not use.
1716 /// <blockquote>
1717 /// Warning: INTERNAL - DO NOT USE
1718 ///
1719 /// </blockquote>
1720 - (nonnull instancetype)initWithSourceURL:(NSURL * _Nullable)sourceURL targets:(NSArray<id <FBSDKAppLinkTarget>> * _Nonnull)targets webURL:(NSURL * _Nullable)webURL isBackToReferrer:(BOOL)isBackToReferrer OBJC_DESIGNATED_INITIALIZER;
1721 - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1722 + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1723 @end
1724
1725 @protocol FBSDKAppLinkResolving;
1726 @protocol FBSDKSettings;
1727 @class NSError;
1728
1729 /// Represents a pending request to navigate to an app link. Instead of simplying opening a URL, you can build custom requests with additional navigation and app data attached to them by creating an <code>AppLinkNavigation</code>.
1730 SWIFT_CLASS_NAMED("AppLinkNavigation") SWIFT_AVAILABILITY(ios_app_extension,unavailable,message="Not available in app extension")
1731 @interface FBSDKAppLinkNavigation : NSObject
1732 /// The default resolver to be used for App Link resolution. If the developer has not set one explicitly,
1733 /// a basic, built-in <code>WebViewAppLinkResolver</code> will be used.
1734 SWIFT_CLASS_PROPERTY(@property (nonatomic, class, strong) id <FBSDKAppLinkResolving> _Nonnull defaultResolver;)
1735 + (id <FBSDKAppLinkResolving> _Nonnull)defaultResolver SWIFT_WARN_UNUSED_RESULT;
1736 + (void)setDefaultResolver:(id <FBSDKAppLinkResolving> _Nonnull)newValue;
1737 /// The extras for the AppLinkNavigation. This will generally contain application-specific
1738 /// data that should be passed along with the request, such as advertiser or affiliate IDs or
1739 /// other such metadata relevant on this device.
1740 @property (nonatomic, readonly, copy) NSDictionary<NSString *, id> * _Nonnull extras;
1741 /// The al_applink_data for the AppLinkNavigation. This will generally contain data common to
1742 /// navigation attempts such as back-links, user agents, and other information that may be used
1743 /// in routing and handling an App Link request.
1744 @property (nonatomic, readonly, copy) NSDictionary<NSString *, id> * _Nonnull appLinkData;
1745 /// The AppLink to navigate to
1746 @property (nonatomic, readonly, strong) FBSDKAppLink * _Nonnull appLink;
1747 /// Returns navigation type for current instance. It does not produce any side-effects as the <code>navigate</code> method.
1748 @property (nonatomic, readonly) FBSDKAppLinkNavigationType navigationType;
1749 /// Creates an AppLinkNavigation with the given link, extras, and App Link data
1750 - (nonnull instancetype)initWithAppLink:(FBSDKAppLink * _Nonnull)appLink extras:(NSDictionary<NSString *, id> * _Nonnull)extras appLinkData:(NSDictionary<NSString *, id> * _Nonnull)appLinkData OBJC_DESIGNATED_INITIALIZER;
1751 /// Creates an AppLinkNavigation with the given link, extras,  App Link data and settings
1752 - (nonnull instancetype)initWithAppLink:(FBSDKAppLink * _Nonnull)appLink extras:(NSDictionary<NSString *, id> * _Nonnull)extras appLinkData:(NSDictionary<NSString *, id> * _Nonnull)appLinkData settings:(id <FBSDKSettings> _Nonnull)settings SWIFT_DEPRECATED_MSG("\n      Please use init(appLink:extras:appLinkData:) to instantiate an `AppLinkNavigation`.\n      This method will be removed in the next major version.\"\n      ");
1753 /// Creates an AppLinkNavigation with the given link, extras, and App Link data. The <code>settings</code> argument will be ignored in favor of internal dependency injection.
1754 + (FBSDKAppLinkNavigation * _Nonnull)navigationWithAppLink:(FBSDKAppLink * _Nonnull)appLink extras:(NSDictionary<NSString *, id> * _Nonnull)extras appLinkData:(NSDictionary<NSString *, id> * _Nonnull)appLinkData settings:(id <FBSDKSettings> _Nonnull)settings SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("\n      Please use designated init to instantiate an AppLinkNavigation. This method will be removed in future releases.\"\n      ");
1755 /// Creates an instance of <code>[String: [String: String]]</code> with the correct format for iOS callback URLs to be used as ‘appLinkData’ argument in the call to init(appLink:extras:appLinkData:).
1756 + (NSDictionary<NSString *, NSDictionary<NSString *, NSString *> *> * _Nonnull)callbackAppLinkDataForAppWithName:(NSString * _Nonnull)appName url:(NSString * _Nonnull)url SWIFT_WARN_UNUSED_RESULT;
1757 /// Performs the navigation
1758 - (FBSDKAppLinkNavigationType)navigate:(NSError * _Nullable * _Nullable)errorPointer SWIFT_WARN_UNUSED_RESULT;
1759 /// Returns an AppLink for the given URL
1760 + (void)resolveAppLink:(NSURL * _Nonnull)destination handler:(FBSDKAppLinkBlock _Nonnull)handler;
1761 /// Returns an AppLink for the given URL using the given App Link resolution strategy
1762 + (void)resolveAppLink:(NSURL * _Nonnull)destination resolver:(id <FBSDKAppLinkResolving> _Nonnull)resolver handler:(FBSDKAppLinkBlock _Nonnull)handler;
1763 /// Navigates to an AppLink and returns whether it opened in-app or in-browser
1764 + (FBSDKAppLinkNavigationType)navigateToAppLink:(FBSDKAppLink * _Nonnull)appLink error:(NSError * _Nullable * _Nullable)errorPointer SWIFT_WARN_UNUSED_RESULT;
1765 /// Returns an AppLinkNavigationType based on a FBSDKAppLink.
1766 /// It’s essentially a no-side-effect version of navigateToAppLink:error:,
1767 /// allowing apps to determine flow based on the link type (e.g. open an
1768 /// internal web view instead of going straight to the browser for regular links.)
1769 + (FBSDKAppLinkNavigationType)navigationTypeForLink:(FBSDKAppLink * _Nonnull)appLink SWIFT_WARN_UNUSED_RESULT;
1770 /// Navigates to a URL (an asynchronous action) and returns a NavigationType
1771 + (void)navigateToURL:(NSURL * _Nonnull)destination handler:(FBSDKAppLinkNavigationBlock _Nonnull)handler;
1772 /// Navigates to a URL (an asynchronous action) using the given App Link resolution
1773 /// strategy and returns a NavigationType
1774 + (void)navigateToURL:(NSURL * _Nonnull)destination resolver:(id <FBSDKAppLinkResolving> _Nonnull)resolver handler:(FBSDKAppLinkNavigationBlock _Nonnull)handler;
1775 - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1776 + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1777 @end
1778
1779
1780
1781 /// Provides an implementation of the AppLinkResolving protocol that uses the Facebook App Link
1782 /// Index API to resolve App Links given a URL. It also provides an additional helper method that can resolve
1783 /// multiple App Links in a single call.
1784 SWIFT_CLASS_NAMED("AppLinkResolver")
1785 @interface FBSDKAppLinkResolver : NSObject <FBSDKAppLinkResolving>
1786 - (void)appLinkFromURL:(NSURL * _Nonnull)url handler:(FBSDKAppLinkBlock _Nonnull)handler;
1787 /// Asynchronously resolves App Link data for a given array of URLs.
1788 /// @param urls The URLs to resolve into an App Link.
1789 /// @param handler The completion block that will return an App Link for the given URL.
1790 - (void)appLinksFrom:(NSArray<NSURL *> * _Nonnull)urls handler:(FBSDKAppLinksBlock _Nonnull)handler SWIFT_AVAILABILITY(ios_app_extension,unavailable,message="Not available in app extension");
1791 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1792 @end
1793
1794
1795
1796 /// Represents a target defined in App Link metadata, consisting of at least
1797 /// a URL, and optionally an App Store ID and name.
1798 SWIFT_CLASS_NAMED("AppLinkTarget")
1799 @interface FBSDKAppLinkTarget : NSObject <FBSDKAppLinkTarget>
1800 /// The URL prefix for this app link target
1801 @property (nonatomic, readonly, copy) NSURL * _Nullable URL;
1802 /// The app ID for the app store
1803 @property (nonatomic, readonly, copy) NSString * _Nullable appStoreId;
1804 /// The name of the app
1805 @property (nonatomic, readonly, copy) NSString * _Nonnull appName;
1806 /// Creates a AppLinkTarget with the given app site and target URL.
1807 - (nonnull instancetype)initWithURL:(NSURL * _Nullable)url appStoreId:(NSString * _Nullable)appStoreId appName:(NSString * _Nonnull)appName OBJC_DESIGNATED_INITIALIZER;
1808 /// Creates a AppLinkTarget with the given app site and target URL.
1809 + (FBSDKAppLinkTarget * _Nonnull)appLinkTargetWithURL:(NSURL * _Nullable)url appStoreId:(NSString * _Nullable)appStoreId appName:(NSString * _Nonnull)appName SWIFT_WARN_UNUSED_RESULT SWIFT_DEPRECATED_MSG("\n      Please use designated init to instantiate an AppLinkTarget. This method will be removed in future releases.\"\n      ");
1810 - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1811 + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1812 @end
1813
1814 @class UIApplication;
1815 @class NSUserActivity;
1816 @protocol FBSDKApplicationObserving;
1817
1818 /// An <code>ApplicationDelegate</code> is designed to post-process the results from Facebook Login
1819 /// or Facebook Dialogs (or any action that requires switching over to the native Facebook
1820 /// app or Safari).
1821 /// The methods in this class are designed to mirror those in <code>UIApplicationDelegate</code>, and you
1822 /// should call them in the respective methods in your application delegate implementation.
1823 SWIFT_CLASS_NAMED("ApplicationDelegate")
1824 @interface FBSDKApplicationDelegate : NSObject
1825 /// Gets the singleton instance.
1826 SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBSDKApplicationDelegate * _Nonnull sharedInstance;)
1827 + (FBSDKApplicationDelegate * _Nonnull)sharedInstance SWIFT_WARN_UNUSED_RESULT;
1828 - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1829 + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1830 /// Initializes the SDK.
1831 /// If you are using the SDK within the context of the <code>UIApplication</code> lifecycle, do not use this method.
1832 /// Instead use <code>application(_:didFinishLaunchingWithOptions:)</code>.
1833 /// As part of SDK initialization, basic auto logging of app events will occur, this can be
1834 /// controlled via the ‘FacebookAutoLogAppEventsEnabled’ key in your project’s Info.plist file.
1835 - (void)initializeSDK;
1836 /// Call this method from the <code>UIApplicationDelegate.application(_:continue:restorationHandler:)</code> method
1837 /// of your application delegate. It should be invoked in order to properly process the web URL (universal link)
1838 /// once the end user is redirected to your app.
1839 /// \param application The application as passed to `UIApplicationDelegate.application(_:continue:restorationHandler:).
1840 ///
1841 /// \param userActivity The user activity as passed to <code>UIApplicationDelegate.application(_:continue:restorationHandler:)</code>.
1842 ///
1843 ///
1844 /// returns:
1845 /// <code>true</code> if the URL was intended for the Facebook SDK, <code>false</code> if not.
1846 - (BOOL)application:(UIApplication * _Nonnull)application continueUserActivity:(NSUserActivity * _Nonnull)userActivity;
1847 /// Call this method from the <code>UIApplicationDelegate.application(_:open:options:)</code> method
1848 /// of your application delegate. It should be invoked for the proper processing of responses during interaction
1849 /// with the native Facebook app or Safari as part of an SSO authorization flow or Facebook dialogs.
1850 /// \param application The application as passed to <code>UIApplicationDelegate.application(_:open:options:)</code>.
1851 ///
1852 /// \param url The URL as passed to <code>UIApplicationDelegate.application(_:open:options:)</code>.
1853 ///
1854 /// \param options The options dictionary as passed to <code>UIApplicationDelegate.application(_:open:options:)</code>.
1855 ///
1856 ///
1857 /// returns:
1858 /// <code>true</code> if the URL was intended for the Facebook SDK, <code>false</code> if not.
1859 - (BOOL)application:(UIApplication * _Nonnull)application openURL:(NSURL * _Nonnull)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> * _Nonnull)options;
1860 /// Call this method from the <code>UIApplicationDelegate.application(_:openL:sourceApplication:annotation:)</code> method
1861 /// of your application delegate. It should be invoked for the proper processing of responses during interaction
1862 /// with the native Facebook app or Safari as part of an SSO authorization flow or Facebook dialogs.
1863 /// \param application The application as passed to <code>UIApplicationDelegate.application(_:open:sourceApplication:annotation:)</code>.
1864 ///
1865 /// \param url The URL as passed to <code>UIApplicationDelegate.application(_:open:sourceApplication:annotation:)</code>.
1866 ///
1867 /// \param sourceApplication The source application as passed to <code>UIApplicationDelegate.application(_:open:sourceApplication:annotation:)</code>.
1868 ///
1869 /// \param annotation The annotation as passed to <code>UIApplicationDelegate.application(_:open:sourceApplication:annotation:)</code>.
1870 ///
1871 ///
1872 /// returns:
1873 /// <code>true</code> if the URL was intended for the Facebook SDK, <code>false</code> if not.
1874 - (BOOL)application:(UIApplication * _Nonnull)application openURL:(NSURL * _Nonnull)url sourceApplication:(NSString * _Nullable)sourceApplication annotation:(id _Nullable)annotation;
1875 /// Call this method from the <code>UIApplicationDelegate.application(_:didFinishLaunchingWithOptions:)</code> method
1876 /// of your application delegate. It should be invoked for the proper use of the Facebook SDK.
1877 /// As part of SDK initialization, basic auto-logging of app events will occur; this can be
1878 /// controlled via the <code>FacebookAutoLogAppEventsEnabled</code> key in the project’s Info.plist file.
1879 /// note:
1880 /// If this method is called after calling <code>initializeSDK</code>, then the return value will always be <code>false</code>.
1881 /// \param application The application as passed to <code>UIApplicationDelegate.application(_:didFinishLaunchingWithOptions:)</code>.
1882 ///
1883 /// \param launchOptions The launch options as passed to <code>UIApplicationDelegate.application(_:didFinishLaunchingWithOptions:)</code>.
1884 ///
1885 ///
1886 /// returns:
1887 /// <code>true</code> if there are any added application observers that themselves return true from calling <code>application(_:didFinishLaunchingWithOptions:)</code>.
1888 /// Otherwise will return <code>false</code>.
1889 - (BOOL)application:(UIApplication * _Nonnull)application didFinishLaunchingWithOptions:(NSDictionary<UIApplicationLaunchOptionsKey, id> * _Nullable)launchOptions;
1890 /// Adds an observer that will be informed about application lifecycle events.
1891 /// note:
1892 /// Observers are weakly held
1893 - (void)addObserver:(id <FBSDKApplicationObserving> _Nonnull)observer;
1894 /// Removes an observer so that it will no longer be informed about application lifecycle events.
1895 - (void)removeObserver:(id <FBSDKApplicationObserving> _Nonnull)observer;
1896 @end
1897
1898
1899 SWIFT_CLASS_NAMED("AuthenticationTokenClaims")
1900 @interface FBSDKAuthenticationTokenClaims : NSObject
1901 /// Internal method exposed to facilitate transition to Swift.
1902 /// API Subject to change or removal without warning. Do not use.
1903 /// @warning INTERNAL - DO NOT USE
1904 - (nullable instancetype)initWithEncodedClaims:(NSString * _Nonnull)encodedClaims nonce:(NSString * _Nonnull)expectedNonce;
1905 - (nonnull instancetype)init SWIFT_UNAVAILABLE;
1906 + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
1907 @end
1908
1909
1910 @protocol FBSDKGraphRequestFactory;
1911
1912 SWIFT_PROTOCOL_NAMED("CAPIReporter")
1913 @protocol FBSDKCAPIReporter
1914 - (void)enable;
1915 - (void)configureWithFactory:(id <FBSDKGraphRequestFactory> _Nonnull)factory settings:(id <FBSDKSettings> _Nonnull)settings;
1916 - (void)recordEvent:(NSDictionary<NSString *, id> * _Nonnull)parameters;
1917 @end
1918
1919 @protocol FBSDKInternalURLOpener;
1920
1921 /// Internal type exposed to facilitate transition to Swift.
1922 /// API Subject to change or removal without warning. Do not use.
1923 /// @warning INTERNAL - DO NOT USE
1924 SWIFT_CLASS("_TtC12FBSDKCoreKit17CoreUIApplication")
1925 @interface CoreUIApplication : NSObject
1926 SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) id <FBSDKInternalURLOpener> _Nonnull shared;)
1927 + (id <FBSDKInternalURLOpener> _Nonnull)shared SWIFT_WARN_UNUSED_RESULT;
1928 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1929 @end
1930
1931 @class UIImage;
1932 @class UIColor;
1933
1934 /// Internal Type exposed to facilitate transition to Swift.
1935 /// API Subject to change or removal without warning. Do not use.
1936 /// @warning INTERNAL - DO NOT USE
1937 SWIFT_CLASS_NAMED("FBIcon")
1938 @interface FBSDKIcon : NSObject
1939 - (CGPathRef _Nullable)pathWith:(CGSize)size SWIFT_WARN_UNUSED_RESULT;
1940 - (UIImage * _Nullable)imageWithSize:(CGSize)size SWIFT_WARN_UNUSED_RESULT;
1941 - (UIImage * _Nullable)imageWithSize:(CGSize)size color:(UIColor * _Nonnull)color SWIFT_WARN_UNUSED_RESULT;
1942 - (UIImage * _Nullable)imageWithSize:(CGSize)size scale:(CGFloat)scale color:(UIColor * _Nonnull)color SWIFT_WARN_UNUSED_RESULT;
1943 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1944 @end
1945
1946 enum FBSDKProfilePictureMode : NSUInteger;
1947 @class FBSDKProfile;
1948 @class NSCoder;
1949
1950 /// A view to display a profile picture.
1951 SWIFT_CLASS_NAMED("FBProfilePictureView")
1952 @interface FBSDKProfilePictureView : UIView
1953 /// The mode for the receiver to determine the aspect ratio of the source image.
1954 @property (nonatomic) enum FBSDKProfilePictureMode pictureMode;
1955 /// The profile ID to show the picture for.
1956 @property (nonatomic, copy) NSString * _Nonnull profileID;
1957 @property (nonatomic) CGRect bounds;
1958 @property (nonatomic) UIViewContentMode contentMode;
1959 /// Create a new instance.
1960 /// \param frame Frame rectangle for the view.
1961 ///
1962 /// \param profile Optional profile to display a picture for.
1963 ///
1964 - (nonnull instancetype)initWith:(CGRect)frame profile:(FBSDKProfile * _Nullable)profile OBJC_DESIGNATED_INITIALIZER;
1965 /// Create a new instance.
1966 /// \param profile Optional profile to display a picture for.
1967 ///
1968 - (nonnull instancetype)initWithProfile:(FBSDKProfile * _Nullable)profile;
1969 /// Initializes and returns a newly allocated view object with the specified frame rectangle.
1970 /// \param frame The frame rectangle for the view, measured in points. The origin of the frame is relative to the superview in which you plan to add it.
1971 /// This method uses the frame rectangle to set the center and bounds properties accordingly.
1972 ///
1973 - (nonnull instancetype)initWithFrame:(CGRect)frame OBJC_DESIGNATED_INITIALIZER;
1974 /// Initializes and returns a newly allocated view object from the specified coder.
1975 - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)coder OBJC_DESIGNATED_INITIALIZER;
1976 /// Explicitly marks the receiver as needing to update the image.
1977 /// This method is called whenever any properties that affect the source image are modified, but this can also
1978 /// be used to trigger a manual update of the image if it needs to be re-downloaded.
1979 - (void)setNeedsImageUpdate;
1980 @end
1981
1982
1983 SWIFT_CLASS("_TtC12FBSDKCoreKit25FBSDKAppEventsCAPIManager")
1984 @interface FBSDKAppEventsCAPIManager : NSObject <FBSDKCAPIReporter>
1985 SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBSDKAppEventsCAPIManager * _Nonnull shared;)
1986 + (FBSDKAppEventsCAPIManager * _Nonnull)shared SWIFT_WARN_UNUSED_RESULT;
1987 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1988 - (void)configureWithFactory:(id <FBSDKGraphRequestFactory> _Nonnull)factory settings:(id <FBSDKSettings> _Nonnull)settings;
1989 - (void)enable;
1990 - (void)recordEvent:(NSDictionary<NSString *, id> * _Nonnull)parameters;
1991 @end
1992
1993
1994 SWIFT_CLASS("_TtC12FBSDKCoreKit35FBSDKTransformerGraphRequestFactory")
1995 @interface FBSDKTransformerGraphRequestFactory : NSObject
1996 SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBSDKTransformerGraphRequestFactory * _Nonnull shared;)
1997 + (FBSDKTransformerGraphRequestFactory * _Nonnull)shared SWIFT_WARN_UNUSED_RESULT;
1998 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
1999 - (void)configureWithDatasetID:(NSString * _Nonnull)datasetID url:(NSString * _Nonnull)url accessKey:(NSString * _Nonnull)accessKey;
2000 - (void)callCapiGatewayAPIWith:(NSDictionary<NSString *, id> * _Nonnull)parameters userAgent:(NSString * _Nonnull)userAgent;
2001 @end
2002
2003 @class NSDate;
2004 @class FBSDKUserAgeRange;
2005 @class FBSDKLocation;
2006
2007 /// Represents an immutable Facebook profile.
2008 /// This class provides a global current profile instance to more easily
2009 /// add social context to your application. When the profile changes, a notification is
2010 /// posted so that you can update relevant parts of your UI. It is persisted to <code>UserDefaults.standard</code>.
2011 /// Typically, you will want to set <code>enableUpdatesOnAccessTokenChange</code> to <code>true</code> so that
2012 /// it automatically observes changes to <code>AccessToken.current</code>.
2013 /// You can use this class to build your own <code>ProfilePictureView</code> or in place of typical requests to the <code>/me</code> endpoint.
2014 SWIFT_CLASS_NAMED("Profile")
2015 @interface FBSDKProfile : NSObject
2016 /// The user identifier.
2017 @property (nonatomic, readonly, copy) FBSDKUserIdentifier _Nonnull userID;
2018 /// The user’s first name.
2019 @property (nonatomic, readonly, copy) NSString * _Nullable firstName;
2020 /// The user’s middle name.
2021 @property (nonatomic, readonly, copy) NSString * _Nullable middleName;
2022 /// The user’s last name.
2023 @property (nonatomic, readonly, copy) NSString * _Nullable lastName;
2024 /// The user’s complete name.
2025 @property (nonatomic, readonly, copy) NSString * _Nullable name;
2026 /// A URL to the user’s profile.
2027 /// important:
2028 /// This field will only be populated if your user has granted your application the <code>user_link</code> permission.
2029 /// Consider using <code>AppLinkResolver</code> to resolve this URL to an app link in order to link directly to
2030 /// the user’s profile in the Facebook app.
2031 @property (nonatomic, readonly, copy) NSURL * _Nullable linkURL;
2032 /// The last time the profile data was fetched.
2033 @property (nonatomic, readonly, copy) NSDate * _Nonnull refreshDate;
2034 /// A URL to use for fetching the user’s profile image.
2035 @property (nonatomic, readonly, copy) NSURL * _Nullable imageURL;
2036 /// The user’s email address.
2037 /// important:
2038 /// This field will only be populated if your user has granted your application the <code>email</code> permission.
2039 @property (nonatomic, readonly, copy) NSString * _Nullable email;
2040 /// A list of identifiers of the user’s friends.
2041 /// important:
2042 /// This field will only be populated if your user has granted your application
2043 /// the <code>user_friends</code> permission.
2044 @property (nonatomic, readonly, copy) NSArray<NSString *> * _Nullable friendIDs;
2045 /// The user’s birthday.
2046 /// important:
2047 /// This field will only be populated if your user has granted your application
2048 /// the <code>user_birthday</code> permission.
2049 @property (nonatomic, readonly, copy) NSDate * _Nullable birthday;
2050 /// The user’s age range.
2051 /// important:
2052 /// This field will only be populated if your user has granted your application
2053 /// the <code>user_age_range</code> permission.
2054 @property (nonatomic, readonly, strong) FBSDKUserAgeRange * _Nullable ageRange;
2055 /// The user’s hometown.
2056 /// important:
2057 /// This field will only be populated if your user has granted your application
2058 /// the <code>user_hometown</code> permission.
2059 @property (nonatomic, readonly, strong) FBSDKLocation * _Nullable hometown;
2060 /// The user’s location.
2061 /// important:
2062 /// This field will only be populated if your user has granted your application
2063 /// the <code>user_location</code> permission.
2064 @property (nonatomic, readonly, strong) FBSDKLocation * _Nullable location;
2065 /// The user’s gender.
2066 /// important:
2067 /// This field will only be populated if your user has granted your application
2068 /// the <code>user_gender</code> permission.
2069 @property (nonatomic, readonly, copy) NSString * _Nullable gender;
2070 /// Indicates whether this type will automatically observe access token changes
2071 /// (via <code>AccessTokenDidChange</code> notifications).
2072 /// If observing changes, this class will issue a Graph request for public profile data when the current token’s user
2073 /// identifier differs from the current profile. You can observe profile changes via <code>ProfileDidChange</code> notifications
2074 /// to handle an updated profile.
2075 /// note:
2076 /// If the current access token is cleared, the current profile instance remains available. It’s also possible
2077 /// for <code>current</code> to return <code>nil</code> until the data is fetched.
2078 SWIFT_CLASS_PROPERTY(@property (nonatomic, class) BOOL isUpdatedWithAccessTokenChange;)
2079 + (BOOL)isUpdatedWithAccessTokenChange SWIFT_WARN_UNUSED_RESULT;
2080 + (void)setIsUpdatedWithAccessTokenChange:(BOOL)value;
2081 /// Creates a new profile.
2082 /// \param userID The user’s identifier.
2083 ///
2084 /// \param firstName The user’s first name. Defaults to <code>nil</code>.
2085 ///
2086 /// \param middleName The user’s middle name. Defaults to <code>nil</code>.
2087 ///
2088 /// \param lastName The user’s last name. Defaults to <code>nil</code>.
2089 ///
2090 /// \param name The user’s complete name. Defaults to <code>nil</code>.
2091 ///
2092 /// \param linkURL The link for the profile. Defaults to <code>nil</code>.
2093 ///
2094 /// \param refreshDate The date the profile was fetched. Defaults to the time of instantiation.
2095 ///
2096 - (nonnull instancetype)initWithUserID:(FBSDKUserIdentifier _Nonnull)userID firstName:(NSString * _Nullable)firstName middleName:(NSString * _Nullable)middleName lastName:(NSString * _Nullable)lastName name:(NSString * _Nullable)name linkURL:(NSURL * _Nullable)linkURL refreshDate:(NSDate * _Nullable)refreshDate;
2097 /// Creates a new profile.
2098 /// \param userID The user’s identifier. Defaults to <code>nil</code>.
2099 ///
2100 /// \param firstName The user’s first name. Defaults to <code>nil</code>.
2101 ///
2102 /// \param middleName The user’s middle name. Defaults to <code>nil</code>.
2103 ///
2104 /// \param lastName The user’s last name. Defaults to <code>nil</code>.
2105 ///
2106 /// \param name The user’s complete name. Defaults to <code>nil</code>.
2107 ///
2108 /// \param linkURL The link for this profile. Defaults to <code>nil</code>.
2109 ///
2110 /// \param refreshDate The date this profile was fetched. Defaults to the time of instantiation.
2111 ///
2112 /// \param imageURL A URL to use for fetching a user’s profile image.
2113 ///
2114 /// \param email The user’s email address. Defaults to <code>nil</code>.
2115 ///
2116 /// \param friendIDs A list of identifiers for the user’s friends. Defaults to <code>nil</code>.
2117 ///
2118 /// \param birthday The user’s birthday. Defaults to <code>nil</code>.
2119 ///
2120 /// \param ageRange The user’s age range. Defaults to <code>nil</code>.
2121 ///
2122 /// \param hometown The user’s hometown. Defaults to <code>nil</code>.
2123 ///
2124 /// \param location The user’s location. Defaults to <code>nil</code>.
2125 ///
2126 /// \param gender The user’s gender. Defaults to <code>nil</code>.
2127 ///
2128 - (nonnull instancetype)initWithUserID:(FBSDKUserIdentifier _Nonnull)userID firstName:(NSString * _Nullable)firstName middleName:(NSString * _Nullable)middleName lastName:(NSString * _Nullable)lastName name:(NSString * _Nullable)name linkURL:(NSURL * _Nullable)linkURL refreshDate:(NSDate * _Nullable)refreshDate imageURL:(NSURL * _Nullable)imageURL email:(NSString * _Nullable)email friendIDs:(NSArray<NSString *> * _Nullable)friendIDs birthday:(NSDate * _Nullable)birthday ageRange:(FBSDKUserAgeRange * _Nullable)ageRange hometown:(FBSDKLocation * _Nullable)hometown location:(FBSDKLocation * _Nullable)location gender:(NSString * _Nullable)gender;
2129 /// Creates a new profile.
2130 /// \param userID The user’s identifier. Defaults to <code>nil</code>.
2131 ///
2132 /// \param firstName The user’s first name. Defaults to <code>nil</code>.
2133 ///
2134 /// \param middleName The user’s middle name. Defaults to <code>nil</code>.
2135 ///
2136 /// \param lastName The user’s last name. Defaults to <code>nil</code>.
2137 ///
2138 /// \param name The user’s complete name. Defaults to <code>nil</code>.
2139 ///
2140 /// \param linkURL The link for the profile. Defaults to <code>nil</code>.
2141 ///
2142 /// \param refreshDate The date the profile was fetched. Defaults to the time of instantiation.
2143 ///
2144 /// \param imageURL A URL to use for fetching the user’s profile image Defaults to <code>nil</code>.
2145 ///
2146 /// \param email The user’s email address. Defaults to <code>nil</code>.
2147 ///
2148 /// \param friendIDs A list of identifiers for the user’s friends. Defaults to <code>nil</code>.
2149 ///
2150 /// \param birthday The user’s birthday. Defaults to <code>nil</code>.
2151 ///
2152 /// \param ageRange The user’s age range. Defaults to <code>nil</code>.
2153 ///
2154 /// \param hometown The user’s hometown. Defaults to <code>nil</code>.
2155 ///
2156 /// \param location The user’s location. Defaults to <code>nil</code>.
2157 ///
2158 /// \param gender The user’s gender. Defaults to <code>nil</code>.
2159 ///
2160 /// \param isLimited Indicates whether the information provided is incomplete in some way.
2161 /// When <code>true</code>, <code>loadCurrentProfile(completion:):</code> will assume the profile is incomplete and disregard
2162 /// any cached profile. Defaults to <code>false</code>.
2163 ///
2164 - (nonnull instancetype)initWithUserID:(FBSDKUserIdentifier _Nonnull)userID firstName:(NSString * _Nullable)firstName middleName:(NSString * _Nullable)middleName lastName:(NSString * _Nullable)lastName name:(NSString * _Nullable)name linkURL:(NSURL * _Nullable)linkURL refreshDate:(NSDate * _Nullable)refreshDate imageURL:(NSURL * _Nullable)imageURL email:(NSString * _Nullable)email friendIDs:(NSArray<NSString *> * _Nullable)friendIDs birthday:(NSDate * _Nullable)birthday ageRange:(FBSDKUserAgeRange * _Nullable)ageRange hometown:(FBSDKLocation * _Nullable)hometown location:(FBSDKLocation * _Nullable)location gender:(NSString * _Nullable)gender isLimited:(BOOL)isLimited OBJC_DESIGNATED_INITIALIZER;
2165 /// Indicates whether this type will automatically observe access token changes
2166 /// (via <code>AccessTokenDidChange</code> notifications).
2167 /// If observing changes, this class will issue a Graph request for public profile data when the current token’s user
2168 /// identifier differs from the current profile. You can observe profile changes via <code>ProfileDidChange</code> notifications
2169 /// to handle an updated profile.
2170 /// note:
2171 /// If the current access token is cleared, the current profile instance remains available. It’s also possible
2172 /// for <code>current</code> to return <code>nil</code> until the data is fetched.
2173 + (void)enableUpdatesOnAccessTokenChange:(BOOL)enabled SWIFT_DEPRECATED_MSG("This method is deprecated and will be removed in the next major release. Use `isUpdatedWithAccessTokenChange` instead.");
2174 - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2175 + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2176 @end
2177
2178
2179 @interface FBSDKProfile (SWIFT_EXTENSION(FBSDKCoreKit))
2180 /// A convenience method for returning a complete <code>URL</code> for retrieving the user’s profile image.
2181 /// \param pictureMode The picture mode.
2182 ///
2183 /// \param size The height and width. This will be rounded to integer precision.
2184 ///
2185 - (NSURL * _Nullable)imageURLForPictureMode:(enum FBSDKProfilePictureMode)pictureMode size:(CGSize)size SWIFT_WARN_UNUSED_RESULT;
2186 @end
2187
2188 /// Defines the aspect ratio mode for the source image of the profile picture.
2189 typedef SWIFT_ENUM_NAMED(NSUInteger, FBSDKProfilePictureMode, "PictureMode", open) {
2190 /// A square cropped version of the image will be included in the view.
2191   FBSDKProfilePictureModeSquare = 0,
2192 /// The original picture’s aspect ratio will be used for the source image in the view.
2193   FBSDKProfilePictureModeNormal = 1,
2194 /// The original picture’s aspect ratio will be used for the source image in the view.
2195   FBSDKProfilePictureModeAlbum = 2,
2196 /// The original picture’s aspect ratio will be used for the source image in the view.
2197   FBSDKProfilePictureModeSmall = 3,
2198 /// The original picture’s aspect ratio will be used for the source image in the view.
2199   FBSDKProfilePictureModeLarge = 4,
2200 };
2201
2202
2203
2204 /// Internal type exposed to facilitate transition to Swift.
2205 /// API Subject to change or removal without warning. Do not use.
2206 /// @warning INTERNAL - DO NOT USE
2207 SWIFT_PROTOCOL_NAMED("ProfileProviding")
2208 @protocol FBSDKProfileProviding
2209 SWIFT_CLASS_PROPERTY(@property (nonatomic, class, strong) FBSDKProfile * _Nullable currentProfile;)
2210 + (FBSDKProfile * _Nullable)currentProfile SWIFT_WARN_UNUSED_RESULT;
2211 + (void)setCurrentProfile:(FBSDKProfile * _Nullable)newValue;
2212 + (FBSDKProfile * _Nullable)fetchCachedProfile SWIFT_WARN_UNUSED_RESULT;
2213 @end
2214
2215
2216 @interface FBSDKProfile (SWIFT_EXTENSION(FBSDKCoreKit)) <FBSDKProfileProviding>
2217 /// The current profile.
2218 SWIFT_CLASS_PROPERTY(@property (nonatomic, class, strong) FBSDKProfile * _Nullable currentProfile;)
2219 + (FBSDKProfile * _Nullable)currentProfile SWIFT_WARN_UNUSED_RESULT;
2220 + (void)setCurrentProfile:(FBSDKProfile * _Nullable)newValue;
2221 + (nullable instancetype)fetchCachedProfile SWIFT_WARN_UNUSED_RESULT;
2222 @end
2223
2224
2225 @interface FBSDKProfile (SWIFT_EXTENSION(FBSDKCoreKit)) <NSSecureCoding>
2226 SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly) BOOL supportsSecureCoding;)
2227 + (BOOL)supportsSecureCoding SWIFT_WARN_UNUSED_RESULT;
2228 - (nullable instancetype)initWithCoder:(NSCoder * _Nonnull)decoder;
2229 - (void)encodeWithCoder:(NSCoder * _Nonnull)encoder;
2230 @end
2231
2232
2233 @interface FBSDKProfile (SWIFT_EXTENSION(FBSDKCoreKit))
2234 /// Loads the current profile and passes it to the completion block.
2235 /// note:
2236 /// If the profile is already loaded, this method will call the completion block synchronously, otherwise it
2237 /// will begin a graph request to update <code>current</code> and then call the completion block when finished.
2238 /// <ul>
2239 ///   <li>
2240 ///     Parameter: completion The block to be executed once the profile is loaded.
2241 ///   </li>
2242 /// </ul>
2243 + (void)loadCurrentProfileWithCompletion:(FBSDKProfileBlock _Nullable)completion;
2244 @end
2245
2246
2247
2248 /// Internal Type exposed to facilitate transition to Swift.
2249 /// API Subject to change or removal without warning. Do not use.
2250 /// @warning INTERNAL - DO NOT USE
2251 SWIFT_CLASS("_TtC12FBSDKCoreKit27ServerConfigurationProvider")
2252 @interface ServerConfigurationProvider : NSObject
2253 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
2254 @end
2255
2256
2257 /// Internal type exposed to facilitate transition to Swift.
2258 /// API Subject to change or removal without warning. Do not use.
2259 /// @warning INTERNAL - DO NOT USE
2260 SWIFT_PROTOCOL_NAMED("SettingsProtocol")
2261 @protocol FBSDKSettings
2262 @property (nonatomic, copy) NSString * _Nullable appID;
2263 @property (nonatomic, copy) NSString * _Nullable clientToken;
2264 @property (nonatomic, copy) NSString * _Nullable userAgentSuffix;
2265 @property (nonatomic, readonly, copy) NSString * _Nonnull sdkVersion;
2266 @property (nonatomic, copy) NSString * _Nullable displayName;
2267 @property (nonatomic, copy) NSString * _Nullable facebookDomainPart;
2268 @property (nonatomic, copy) NSSet<FBSDKLoggingBehavior> * _Nonnull loggingBehaviors;
2269 @property (nonatomic, copy) NSString * _Nullable appURLSchemeSuffix;
2270 @property (nonatomic, readonly) BOOL isDataProcessingRestricted;
2271 @property (nonatomic, readonly) BOOL isAutoLogAppEventsEnabled;
2272 @property (nonatomic) BOOL codelessDebugLogEnabled SWIFT_DEPRECATED_MSG("\n      This property is deprecated and will be removed in the next major release.       Use `isCodelessDebugLogEnabled` instead.\n      ");
2273 @property (nonatomic) BOOL isCodelessDebugLogEnabled;
2274 @property (nonatomic) BOOL advertiserIDCollectionEnabled SWIFT_DEPRECATED_MSG("\n      This property is deprecated and will be removed in the next major release.       Use `isAdvertiserIDCollectionEnabled` instead.\n      ");
2275 @property (nonatomic) BOOL isAdvertiserIDCollectionEnabled;
2276 @property (nonatomic, readonly) BOOL isSetATETimeExceedsInstallTime SWIFT_DEPRECATED_MSG("\n      This property is deprecated and will be removed in the next major release.       Use `isATETimeSufficientlyDelayed` instead.\n      ");
2277 @property (nonatomic, readonly) BOOL isATETimeSufficientlyDelayed;
2278 @property (nonatomic, readonly) BOOL isSKAdNetworkReportEnabled;
2279 @property (nonatomic, readonly) FBSDKAdvertisingTrackingStatus advertisingTrackingStatus;
2280 @property (nonatomic, readonly, copy) NSDate * _Nullable installTimestamp;
2281 @property (nonatomic, readonly, copy) NSDate * _Nullable advertiserTrackingEnabledTimestamp;
2282 @property (nonatomic) BOOL isEventDataUsageLimited;
2283 @property (nonatomic) BOOL shouldUseTokenOptimizations;
2284 @property (nonatomic, copy) NSString * _Nonnull graphAPIVersion;
2285 @property (nonatomic) BOOL isGraphErrorRecoveryEnabled;
2286 @property (nonatomic, readonly, copy) NSString * _Nullable graphAPIDebugParamValue SWIFT_DEPRECATED_MSG("\n      This property is deprecated and will be removed in the next major release.       Use `graphAPIDebugParameterValue` instead.\n      ");
2287 @property (nonatomic, readonly, copy) NSString * _Nullable graphAPIDebugParameterValue;
2288 @property (nonatomic) BOOL advertiserTrackingEnabled SWIFT_DEPRECATED_MSG("\n      This property is deprecated and will be removed in the next major release.       Use `isAdvertiserTrackingEnabled` instead.\n      ");
2289 @property (nonatomic) BOOL isAdvertiserTrackingEnabled;
2290 @property (nonatomic) BOOL shouldUseCachedValuesForExpensiveMetadata;
2291 @property (nonatomic, readonly, copy) NSDictionary<NSString *, id> * _Nullable persistableDataProcessingOptions;
2292 /// Sets the data processing options.
2293 /// \param options The list of options.
2294 ///
2295 - (void)setDataProcessingOptions:(NSArray<NSString *> * _Nullable)options;
2296 /// Sets the data processing options.
2297 /// \param options The list of the options. 
2298 ///
2299 /// \param country The code for the country. 
2300 ///
2301 /// \param state The code for the state. 
2302 ///
2303 - (void)setDataProcessingOptions:(NSArray<NSString *> * _Nullable)options country:(int32_t)country state:(int32_t)state;
2304 @end
2305
2306
2307 SWIFT_CLASS_NAMED("Settings")
2308 @interface FBSDKSettings : NSObject <FBSDKSettingsLogging, FBSDKSettings, FBSDKClientTokenProviding>
2309 /// The shared settings instance. Prefer this and the exposed instance methods over the type properties and methods.
2310 SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBSDKSettings * _Nonnull sharedSettings;)
2311 + (FBSDKSettings * _Nonnull)sharedSettings SWIFT_WARN_UNUSED_RESULT;
2312 /// The Facebook SDK version in use.
2313 @property (nonatomic, readonly, copy) NSString * _Nonnull sdkVersion;
2314 /// The default Graph API version.
2315 @property (nonatomic, readonly, copy) NSString * _Nonnull defaultGraphAPIVersion;
2316 /// The quality of JPEG images sent to Facebook from the SDK expressed as a value from 0.0 to 1.0.
2317 /// The default value is 0.9.
2318 @property (nonatomic) CGFloat JPEGCompressionQuality;
2319 /// Controls the automatic logging of basic app events such as <code>activateApp</code> and <code>deactivateApp</code>.
2320 /// The default value is <code>true</code>.
2321 @property (nonatomic) BOOL autoLogAppEventsEnabled SWIFT_DEPRECATED_MSG("\n      This property is deprecated and will be removed in the next major release.       Use `isAutoLogAppEventsEnabled` instead.\n      ");
2322 /// Controls the automatic logging of basic app events such as <code>activateApp</code> and <code>deactivateApp</code>.
2323 /// The default value is <code>true</code>.
2324 @property (nonatomic) BOOL isAutoLogAppEventsEnabled;
2325 /// Controls the <code>fb_codeless_debug</code> logging event.
2326 /// The default value is <code>false</code>.
2327 @property (nonatomic) BOOL codelessDebugLogEnabled SWIFT_DEPRECATED_MSG("\n      This property is deprecated and will be removed in the next major release.       Use `isCodelessDebugLogEnabled` instead.\n      ");
2328 /// Controls the <code>fb_codeless_debug</code> logging event.
2329 /// The default value is <code>false</code>.
2330 @property (nonatomic) BOOL isCodelessDebugLogEnabled;
2331 /// Controls the access to IDFA.
2332 /// The default value is <code>true</code>.
2333 @property (nonatomic) BOOL advertiserIDCollectionEnabled SWIFT_DEPRECATED_MSG("\n      This property is deprecated and will be removed in the next major release.       Use `isAdvertiserIDCollectionEnabled` instead.\n      ");
2334 /// Controls the access to IDFA.
2335 /// The default value is <code>true</code>.
2336 @property (nonatomic) BOOL isAdvertiserIDCollectionEnabled;
2337 /// Controls the SKAdNetwork report.
2338 /// The default value is <code>true</code>.
2339 @property (nonatomic) BOOL skAdNetworkReportEnabled SWIFT_DEPRECATED_MSG("\n      This property is deprecated and will be removed in the next major release.       Use `isSKAdNetworkReportEnabled` instead.\n      ");
2340 /// Controls the SKAdNetwork report.
2341 /// The default value is <code>true</code>.
2342 @property (nonatomic) BOOL isSKAdNetworkReportEnabled;
2343 /// Whether data such as that generated through <code>AppEvents</code> and sent to Facebook
2344 /// should be restricted from being used for purposes other than analytics and conversions.
2345 /// The default value is <code>false</code>. This value is stored on the device and persists across app launches.
2346 @property (nonatomic) BOOL isEventDataUsageLimited;
2347 /// Whether in-memory cached values should be used for expensive metadata fields, such as
2348 /// carrier and advertiser ID, that are fetched on many <code>applicationDidBecomeActive</code> notifications.
2349 /// The default value is <code>false</code>. This value is stored on the device and persists across app launches.
2350 @property (nonatomic) BOOL shouldUseCachedValuesForExpensiveMetadata;
2351 /// Controls error recovery for all <code>GraphRequest</code> instances created after the value is changed.
2352 @property (nonatomic) BOOL isGraphErrorRecoveryEnabled;
2353 /// The Facebook App ID used by the SDK.
2354 /// The default value will be read from the application’s plist (FacebookAppID).
2355 @property (nonatomic, copy) NSString * _Nullable appID;
2356 /// The default URL scheme suffix used for sessions.
2357 /// The default value will be read from the application’s plist (FacebookUrlSchemeSuffix).
2358 @property (nonatomic, copy) NSString * _Nullable appURLSchemeSuffix;
2359 /// The client token needed for certain anonymous API calls (i.e., those made without a user-based access token).
2360 /// An app’s client token can be found by navigating to https://developers.facebook.com/apps/YOUR-APP-ID
2361 /// (replacing “YOUR-APP-ID” with your actual app ID), choosing “Settings->Advanced” and scrolling to the “Security”.
2362 /// The default value will be read from the application’s plist (FacebookClientToken).
2363 @property (nonatomic, copy) NSString * _Nullable clientToken;
2364 /// The Facebook Display Name used by the SDK.
2365 /// This should match the Display Name that has been set for the app with the corresponding Facebook App ID
2366 /// in the Facebook App Dashboard.
2367 /// The default value will be read from the application’s plist (FacebookDisplayName).
2368 @property (nonatomic, copy) NSString * _Nullable displayName;
2369 /// The Facebook domain part. This can be used to change the Facebook domain
2370 /// (e.g. “beta”) so that requests will be sent to <code>graph.beta.facebook.com</code>.
2371 /// The default value will be read from the application’s plist (FacebookDomainPart).
2372 @property (nonatomic, copy) NSString * _Nullable facebookDomainPart;
2373 /// Overrides the default Graph API version to use with <code>GraphRequest</code> instances.
2374 /// The string should be of the form <code>"v2.7"</code>.
2375 /// The default value is <code>defaultGraphAPIVersion</code>.
2376 @property (nonatomic, copy) NSString * _Nonnull graphAPIVersion;
2377 /// Internal property exposed to facilitate transition to Swift.
2378 /// API Subject to change or removal without warning. Do not use.
2379 /// @warning INTERNAL - DO NOT USE
2380 @property (nonatomic, copy) NSString * _Nullable userAgentSuffix;
2381 /// Controls the advertiser tracking status of the data sent to Facebook.
2382 /// The default value is <code>false</code>.
2383 @property (nonatomic) BOOL advertiserTrackingEnabled SWIFT_DEPRECATED_MSG("\n      This property is deprecated and will be removed in the next major release.       Use `isAdvertiserTrackingEnabled` instead.\n      ");
2384 /// Controls the advertiser tracking status of the data sent to Facebook.
2385 /// The default value is <code>false</code>.
2386 @property (nonatomic) BOOL isAdvertiserTrackingEnabled;
2387 /// Internal property exposed to facilitate transition to Swift.
2388 /// API Subject to change or removal without warning. Do not use.
2389 /// @warning INTERNAL - DO NOT USE
2390 @property (nonatomic) FBSDKAdvertisingTrackingStatus advertisingTrackingStatus;
2391 /// Internal property exposed to facilitate transition to Swift.
2392 /// API Subject to change or removal without warning. Do not use.
2393 /// @warning INTERNAL - DO NOT USE
2394 @property (nonatomic, readonly) BOOL isDataProcessingRestricted;
2395 /// Internal property exposed to facilitate transition to Swift.
2396 /// API Subject to change or removal without warning. Do not use.
2397 /// @warning INTERNAL - DO NOT USE
2398 @property (nonatomic, readonly, copy) NSDictionary<NSString *, id> * _Nullable persistableDataProcessingOptions;
2399 /// Set the data processing options.
2400 /// \param options The list of options.
2401 ///
2402 - (void)setDataProcessingOptions:(NSArray<NSString *> * _Nullable)options;
2403 /// Sets the data processing options.
2404 /// \param options The list of the options. 
2405 ///
2406 /// \param country The code for the country. 
2407 ///
2408 /// \param state The code for the state. 
2409 ///
2410 - (void)setDataProcessingOptions:(NSArray<NSString *> * _Nullable)options country:(int32_t)country state:(int32_t)state;
2411 /// The current Facebook SDK logging behavior. This should consist of strings
2412 /// defined as constants with <code>LoggingBehavior</code> that indicate what information should be logged.
2413 /// Set to an empty set in order to disable all logging.
2414 /// You can also define this via an array in your app’s plist with the key “FacebookLoggingBehavior”; or add/remove
2415 /// individual values via <code>enableLoggingBehavior(_:)</code> or <code>disableLoggingBehavior(_:)</code>
2416 /// The default value is <code>[.developerErrors]</code>.
2417 @property (nonatomic, copy) NSSet<FBSDKLoggingBehavior> * _Nonnull loggingBehaviors;
2418 /// Enable a particular Facebook SDK logging behavior.
2419 /// \param loggingBehavior The logging behavior to enable. This should be a string constant defined
2420 /// as a <code>LoggingBehavior</code>.
2421 ///
2422 - (void)enableLoggingBehavior:(FBSDKLoggingBehavior _Nonnull)loggingBehavior;
2423 /// Disable a particular Facebook SDK logging behavior.
2424 /// \param loggingBehavior The logging behavior to disable. This should be a string constant defined
2425 /// as a <code>LoggingBehavior</code>.
2426 ///
2427 - (void)disableLoggingBehavior:(FBSDKLoggingBehavior _Nonnull)loggingBehavior;
2428 /// Internal property exposed to facilitate transition to Swift.
2429 /// API Subject to change or removal without warning. Do not use.
2430 /// @warning INTERNAL - DO NOT USE
2431 @property (nonatomic) BOOL shouldUseTokenOptimizations;
2432 /// Internal property exposed to facilitate transition to Swift.
2433 /// API Subject to change or removal without warning. Do not use.
2434 /// @warning INTERNAL - DO NOT USE
2435 @property (nonatomic, readonly) BOOL isSetATETimeExceedsInstallTime SWIFT_DEPRECATED_MSG("\n      This property is deprecated and will be removed in the next major release.       Use `isATETimeSufficientlyDelayed` instead.\n      ");
2436 /// Internal property exposed to facilitate transition to Swift.
2437 /// API Subject to change or removal without warning. Do not use.
2438 /// @warning INTERNAL - DO NOT USE
2439 @property (nonatomic, readonly) BOOL isATETimeSufficientlyDelayed;
2440 /// Internal property exposed to facilitate transition to Swift.
2441 /// API Subject to change or removal without warning. Do not use.
2442 /// @warning INTERNAL - DO NOT USE
2443 @property (nonatomic, readonly, copy) NSDate * _Nullable installTimestamp;
2444 /// Internal property exposed to facilitate transition to Swift.
2445 /// API Subject to change or removal without warning. Do not use.
2446 /// @warning INTERNAL - DO NOT USE
2447 @property (nonatomic, readonly, copy) NSDate * _Nullable advertiserTrackingEnabledTimestamp;
2448 /// Internal property exposed to facilitate transition to Swift.
2449 /// API Subject to change or removal without warning. Do not use.
2450 /// @warning INTERNAL - DO NOT USE
2451 @property (nonatomic, readonly, copy) NSString * _Nullable graphAPIDebugParamValue SWIFT_DEPRECATED_MSG("\n      This property is deprecated and will be removed in the next major release.       Use `graphAPIDebugParameterValue` instead.\n      ");
2452 /// Internal property exposed to facilitate transition to Swift.
2453 /// API Subject to change or removal without warning. Do not use.
2454 /// @warning INTERNAL - DO NOT USE
2455 @property (nonatomic, readonly, copy) NSString * _Nullable graphAPIDebugParameterValue;
2456 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
2457 @end
2458
2459
2460
2461
2462
2463
2464 @interface FBSDKSettings (SWIFT_EXTENSION(FBSDKCoreKit))
2465 /// Internal method exposed to facilitate transition to Swift.
2466 /// API Subject to change or removal without warning. Do not use.
2467 /// @warning INTERNAL - DO NOT USE
2468 - (void)recordInstall;
2469 /// Internal method exposed to facilitate transition to Swift.
2470 /// API Subject to change or removal without warning. Do not use.
2471 /// @warning INTERNAL - DO NOT USE
2472 - (void)logWarnings;
2473 /// Internal method exposed to facilitate transition to Swift.
2474 /// API Subject to change or removal without warning. Do not use.
2475 /// @warning INTERNAL - DO NOT USE
2476 - (void)logIfSDKSettingsChanged;
2477 @end
2478
2479
2480
2481
2482 /// Internal Type exposed to facilitate transition to Swift.
2483 /// API Subject to change or removal without warning. Do not use.
2484 /// @warning INTERNAL - DO NOT USE
2485 SWIFT_PROTOCOL_NAMED("_AccessTokenExpiring")
2486 @protocol _FBSDKAccessTokenExpiring
2487 @end
2488
2489 @protocol _FBSDKNotificationPosting;
2490 @protocol FBSDKNotificationDelivering;
2491
2492 /// Internal Type exposed to facilitate transition to Swift.
2493 /// API Subject to change or removal without warning. Do not use.
2494 /// @warning INTERNAL - DO NOT USE
2495 SWIFT_CLASS_NAMED("_AccessTokenExpirer")
2496 @interface _FBSDKAccessTokenExpirer : NSObject <_FBSDKAccessTokenExpiring>
2497 - (nonnull instancetype)initWithNotificationCenter:(id <_FBSDKNotificationPosting, FBSDKNotificationDelivering> _Nonnull)notificationCenter OBJC_DESIGNATED_INITIALIZER;
2498 - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2499 + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2500 @end
2501
2502
2503 @class FBSDKContainerViewController;
2504
2505 /// Internal Type exposed to facilitate transition to Swift.
2506 /// API Subject to change or removal without warning. Do not use.
2507 /// @warning INTERNAL - DO NOT USE
2508 SWIFT_CLASS("_TtC12FBSDKCoreKit10_BridgeAPI")
2509 @interface _BridgeAPI : NSObject <FBSDKBridgeAPIRequestOpening, FBSDKApplicationObserving, FBSDKURLOpener, FBSDKContainerViewControllerDelegate, SFSafariViewControllerDelegate>
2510 - (void)viewControllerDidDisappear:(FBSDKContainerViewController * _Nonnull)viewController animated:(BOOL)animated;
2511 - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2512 + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2513 @end
2514
2515 @class SFSafariViewController;
2516
2517 @interface _BridgeAPI (SWIFT_EXTENSION(FBSDKCoreKit))
2518 - (void)safariViewControllerDidFinish:(SFSafariViewController * _Nonnull)safariViewController;
2519 @end
2520
2521 @class ASWebAuthenticationSession;
2522
2523 SWIFT_AVAILABILITY(ios,introduced=13)
2524 @interface _BridgeAPI (SWIFT_EXTENSION(FBSDKCoreKit)) <ASWebAuthenticationPresentationContextProviding>
2525 - (ASPresentationAnchor _Nonnull)presentationAnchorForWebAuthenticationSession:(ASWebAuthenticationSession * _Nonnull)session SWIFT_WARN_UNUSED_RESULT;
2526 @end
2527
2528 @protocol FBSDKURLOpening;
2529 @protocol FBSDKBridgeAPIRequest;
2530 @class UIViewController;
2531
2532 @interface _BridgeAPI (SWIFT_EXTENSION(FBSDKCoreKit))
2533 - (void)openURL:(NSURL * _Nonnull)url sender:(id <FBSDKURLOpening> _Nullable)sender handler:(FBSDKSuccessBlock _Nonnull)handler;
2534 - (void)openBridgeAPIRequest:(id <FBSDKBridgeAPIRequest> _Nonnull)request useSafariViewController:(BOOL)useSafariViewController fromViewController:(UIViewController * _Nullable)fromViewController completionBlock:(FBSDKBridgeAPIResponseBlock _Nonnull)completionBlock;
2535 - (void)openURLWithSafariViewController:(NSURL * _Nonnull)url sender:(id <FBSDKURLOpening> _Nullable)sender fromViewController:(UIViewController * _Nullable)fromViewController handler:(FBSDKSuccessBlock _Nonnull)handler;
2536 @end
2537
2538
2539 @interface _BridgeAPI (SWIFT_EXTENSION(FBSDKCoreKit))
2540 - (void)applicationWillResignActive:(UIApplication * _Nullable)application;
2541 - (void)applicationDidBecomeActive:(UIApplication * _Nullable)application;
2542 - (void)applicationDidEnterBackground:(UIApplication * _Nullable)application;
2543 - (BOOL)application:(UIApplication * _Nonnull)application openURL:(NSURL * _Nonnull)url sourceApplication:(NSString * _Nullable)sourceApplication annotation:(id _Nullable)annotation SWIFT_WARN_UNUSED_RESULT;
2544 - (BOOL)application:(UIApplication * _Nonnull)application didFinishLaunchingWithOptions:(NSDictionary<UIApplicationLaunchOptionsKey, id> * _Nullable)launchOptions SWIFT_WARN_UNUSED_RESULT;
2545 @end
2546
2547 @protocol FBSDKPasteboard;
2548
2549 /// Internal Type exposed to facilitate transition to Swift.
2550 /// API Subject to change or removal without warning. Do not use.
2551 /// @warning INTERNAL - DO NOT USE
2552 SWIFT_CLASS_NAMED("_BridgeAPIProtocolNativeV1")
2553 @interface FBSDKBridgeAPIProtocolNativeV1 : NSObject <FBSDKBridgeAPIProtocol>
2554 - (nonnull instancetype)initWithAppScheme:(NSString * _Nullable)appScheme;
2555 - (nonnull instancetype)initWithAppScheme:(NSString * _Nullable)appScheme pasteboard:(id <FBSDKPasteboard> _Nullable)pasteboard dataLengthThreshold:(NSUInteger)dataLengthThreshold includeAppIcon:(BOOL)shouldIncludeAppIcon OBJC_DESIGNATED_INITIALIZER;
2556 - (NSURL * _Nullable)requestURLWithActionID:(NSString * _Nonnull)actionID scheme:(NSString * _Nonnull)scheme methodName:(NSString * _Nonnull)methodName parameters:(NSDictionary<NSString *, id> * _Nonnull)parameters error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
2557 - (NSDictionary<NSString *, id> * _Nullable)responseParametersForActionID:(NSString * _Nonnull)actionID queryParameters:(NSDictionary<NSString *, id> * _Nonnull)queryParameters cancelled:(BOOL * _Nullable)cancelledRef error:(NSError * _Nullable * _Nullable)error SWIFT_WARN_UNUSED_RESULT;
2558 - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2559 + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2560 @end
2561
2562
2563
2564 /// Internal Type exposed to facilitate transition to Swift.
2565 /// API Subject to change or removal without warning. Do not use.
2566 /// @warning INTERNAL - DO NOT USE
2567 SWIFT_CLASS_NAMED("_BridgeAPIRequestFactory")
2568 @interface FBSDKBridgeAPIRequestFactory : NSObject <FBSDKBridgeAPIRequestCreating>
2569 - (id <FBSDKBridgeAPIRequest> _Nullable)bridgeAPIRequestWithProtocolType:(FBSDKBridgeAPIProtocolType)protocolType scheme:(NSString * _Nonnull)scheme methodName:(NSString * _Nullable)methodName parameters:(NSDictionary<NSString *, id> * _Nullable)parameters userInfo:(NSDictionary<NSString *, id> * _Nullable)userInfo SWIFT_WARN_UNUSED_RESULT;
2570 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
2571 @end
2572
2573 @class FBSDKDialogConfiguration;
2574
2575 /// Internal Type exposed to facilitate transition to Swift.
2576 /// API Subject to change or removal without warning. Do not use.
2577 /// @warning INTERNAL - DO NOT USE
2578 SWIFT_CLASS_NAMED("_DialogConfigurationMapBuilder")
2579 @interface FBSDKDialogConfigurationMapBuilder : NSObject <FBSDKDialogConfigurationMapBuilding>
2580 - (NSDictionary<NSString *, FBSDKDialogConfiguration *> * _Nonnull)buildDialogConfigurationMapWithRawConfigurations:(NSArray<NSDictionary<NSString *, id> *> * _Nonnull)rawConfigurations SWIFT_WARN_UNUSED_RESULT;
2581 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
2582 @end
2583
2584
2585 /// Internal type exposed to facilitate transition to Swift.
2586 /// API Subject to change or removal without warning. Do not use.
2587 /// @warning INTERNAL - DO NOT USE
2588 SWIFT_CLASS_NAMED("_ErrorFactory")
2589 @interface FBSDKErrorFactory : NSObject <FBSDKErrorCreating>
2590 - (NSError * _Nonnull)errorWithCode:(NSInteger)code userInfo:(NSDictionary<NSString *, id> * _Nullable)userInfo message:(NSString * _Nullable)message underlyingError:(NSError * _Nullable)underlyingError SWIFT_WARN_UNUSED_RESULT;
2591 - (NSError * _Nonnull)errorWithDomain:(NSString * _Nonnull)domain code:(NSInteger)code userInfo:(NSDictionary<NSString *, id> * _Nullable)userInfo message:(NSString * _Nullable)message underlyingError:(NSError * _Nullable)underlyingError SWIFT_WARN_UNUSED_RESULT;
2592 - (NSError * _Nonnull)invalidArgumentErrorWithName:(NSString * _Nonnull)name value:(id _Nullable)value message:(NSString * _Nullable)message underlyingError:(NSError * _Nullable)underlyingError SWIFT_WARN_UNUSED_RESULT;
2593 - (NSError * _Nonnull)invalidArgumentErrorWithDomain:(NSString * _Nonnull)domain name:(NSString * _Nonnull)name value:(id _Nullable)value message:(NSString * _Nullable)message underlyingError:(NSError * _Nullable)underlyingError SWIFT_WARN_UNUSED_RESULT;
2594 - (NSError * _Nonnull)requiredArgumentErrorWithName:(NSString * _Nonnull)name message:(NSString * _Nullable)message underlyingError:(NSError * _Nullable)underlyingError SWIFT_WARN_UNUSED_RESULT;
2595 - (NSError * _Nonnull)requiredArgumentErrorWithDomain:(NSString * _Nonnull)domain name:(NSString * _Nonnull)name message:(NSString * _Nullable)message underlyingError:(NSError * _Nullable)underlyingError SWIFT_WARN_UNUSED_RESULT;
2596 - (NSError * _Nonnull)unknownErrorWithMessage:(NSString * _Nullable)message userInfo:(NSDictionary<NSString *, id> * _Nullable)userInfo SWIFT_WARN_UNUSED_RESULT;
2597 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
2598 @end
2599
2600
2601
2602 /// Internal Type exposed to facilitate transition to Swift.
2603 /// API Subject to change or removal without warning. Do not use.
2604 /// @warning INTERNAL - DO NOT USE
2605 SWIFT_CLASS_NAMED("_FBCloseIcon")
2606 @interface FBSDKCloseIcon : NSObject
2607 - (UIImage * _Nullable)imageWithSize:(CGSize)size SWIFT_WARN_UNUSED_RESULT;
2608 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
2609 @end
2610
2611
2612 /// Internal Type exposed to facilitate transition to Swift.
2613 /// API Subject to change or removal without warning. Do not use.
2614 /// @warning INTERNAL - DO NOT USE
2615 SWIFT_CLASS_NAMED("_FBLogo")
2616 @interface FBSDKLogo : FBSDKIcon
2617 - (CGPathRef _Nullable)pathWith:(CGSize)size SWIFT_WARN_UNUSED_RESULT;
2618 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
2619 @end
2620
2621
2622 /// Internal Type exposed to facilitate transition to Swift.
2623 /// API Subject to change or removal without warning. Do not use.
2624 /// @warning INTERNAL - DO NOT USE
2625 SWIFT_CLASS_NAMED("_FeatureManager")
2626 @interface FBSDKFeatureManager : NSObject <FBSDKFeatureChecking, FBSDKFeatureDisabling>
2627 SWIFT_CLASS_PROPERTY(@property (nonatomic, class, readonly, strong) FBSDKFeatureManager * _Nonnull shared;)
2628 + (FBSDKFeatureManager * _Nonnull)shared SWIFT_WARN_UNUSED_RESULT;
2629 - (BOOL)isEnabled:(FBSDKFeature)feature SWIFT_WARN_UNUSED_RESULT;
2630 - (void)checkFeature:(FBSDKFeature)feature completionBlock:(FBSDKFeatureManagerBlock _Nonnull)completionBlock;
2631 - (void)disableFeature:(FBSDKFeature)feature;
2632 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
2633 @end
2634
2635
2636
2637 /// Internal Type exposed to facilitate transition to Swift.
2638 /// API Subject to change or removal without warning. Do not use.
2639 /// @warning INTERNAL - DO NOT USE
2640 SWIFT_CLASS_NAMED("_HumanSilhouetteIcon")
2641 @interface FBSDKHumanSilhouetteIcon : FBSDKIcon
2642 - (CGPathRef _Nullable)pathWith:(CGSize)size SWIFT_WARN_UNUSED_RESULT;
2643 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
2644 @end
2645
2646
2647 /// Internal Type exposed to facilitate transition to Swift.
2648 /// API Subject to change or removal without warning. Do not use.
2649 /// @warning INTERNAL - DO NOT USE
2650 SWIFT_CLASS_NAMED("_MeasurementEvent")
2651 @interface FBSDKMeasurementEvent : NSObject <FBSDKAppLinkEventPosting>
2652 - (void)postNotificationForEventName:(NSString * _Nonnull)eventName args:(NSDictionary<NSString *, id> * _Nonnull)arguments;
2653 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
2654 @end
2655
2656 @class SKPaymentQueue;
2657 @protocol FBSDKPaymentProductRequestorCreating;
2658
2659 /// Internal Type exposed to facilitate transition to Swift.
2660 /// API Subject to change or removal without warning. Do not use.
2661 /// @warning INTERNAL - DO NOT USE
2662 /// Class to encapsulate implicit logging of purchase events
2663 SWIFT_CLASS_NAMED("_PaymentObserver")
2664 @interface FBSDKPaymentObserver : NSObject <FBSDKPaymentObserving>
2665 - (nonnull instancetype)initWithPaymentQueue:(SKPaymentQueue * _Nonnull)paymentQueue paymentProductRequestorFactory:(id <FBSDKPaymentProductRequestorCreating> _Nonnull)paymentProductRequestorFactory OBJC_DESIGNATED_INITIALIZER;
2666 - (void)startObservingTransactions;
2667 - (void)stopObservingTransactions;
2668 - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2669 + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2670 @end
2671
2672 @class SKPaymentTransaction;
2673
2674 @interface FBSDKPaymentObserver (SWIFT_EXTENSION(FBSDKCoreKit)) <SKPaymentTransactionObserver>
2675 - (void)paymentQueue:(SKPaymentQueue * _Nonnull)queue updatedTransactions:(NSArray<SKPaymentTransaction *> * _Nonnull)transactions;
2676 @end
2677
2678 @class FBSDKPaymentProductRequestor;
2679
2680 /// Internal Type exposed to facilitate transition to Swift.
2681 /// API Subject to change or removal without warning. Do not use.
2682 /// @warning INTERNAL - DO NOT USE
2683 SWIFT_CLASS_NAMED("_PaymentProductRequestorFactory")
2684 @interface FBSDKPaymentProductRequestorFactory : NSObject <FBSDKPaymentProductRequestorCreating>
2685 - (FBSDKPaymentProductRequestor * _Nonnull)createRequestorWithTransaction:(SKPaymentTransaction * _Nonnull)transaction SWIFT_WARN_UNUSED_RESULT;
2686 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
2687 @end
2688
2689
2690
2691 /// Internal Type exposed to facilitate transition to Swift.
2692 /// API Subject to change or removal without warning. Do not use.
2693 /// @warning INTERNAL - DO NOT USE
2694 SWIFT_CLASS_NAMED("_RestrictiveEventFilter")
2695 @interface FBSDKRestrictiveEventFilter : NSObject
2696 @property (nonatomic, readonly, copy) NSString * _Nonnull eventName;
2697 @property (nonatomic, readonly, copy) NSDictionary<NSString *, id> * _Nonnull restrictiveParameters;
2698 - (nonnull instancetype)initWithEventName:(NSString * _Nonnull)eventName restrictiveParameters:(NSDictionary<NSString *, id> * _Nonnull)restrictiveParameters OBJC_DESIGNATED_INITIALIZER;
2699 - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2700 + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2701 @end
2702
2703
2704 /// Internal Type exposed to facilitate transition to Swift.
2705 /// API Subject to change or removal without warning. Do not use.
2706 /// @warning INTERNAL - DO NOT USE
2707 SWIFT_CLASS_NAMED("_SKAdNetworkEvent")
2708 @interface FBSDKSKAdNetworkEvent : NSObject
2709 @property (nonatomic, readonly, copy) NSString * _Nullable eventName;
2710 @property (nonatomic, copy) NSDictionary<NSString *, NSNumber *> * _Nullable values;
2711 - (nullable instancetype)initWithJSON:(NSDictionary<NSString *, id> * _Nonnull)json OBJC_DESIGNATED_INITIALIZER;
2712 - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2713 + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2714 @end
2715
2716
2717 /// Internal Type exposed to facilitate transition to Swift.
2718 /// API Subject to change or removal without warning. Do not use.
2719 /// @warning INTERNAL - DO NOT USE
2720 SWIFT_CLASS_NAMED("_ViewImpressionLogger")
2721 @interface FBSDKViewImpressionLogger : NSObject <FBSDKImpressionLogging>
2722 - (nonnull instancetype)initWithEventName:(FBSDKAppEventName _Nonnull)eventName OBJC_DESIGNATED_INITIALIZER;
2723 + (FBSDKViewImpressionLogger * _Nonnull)retrieveLoggerWith:(FBSDKAppEventName _Nonnull)eventName SWIFT_WARN_UNUSED_RESULT;
2724 - (void)logImpressionWithIdentifier:(NSString * _Nonnull)identifier parameters:(NSDictionary<FBSDKAppEventParameterName, id> * _Nullable)parameters;
2725 - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2726 + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2727 @end
2728
2729
2730 @protocol FBSDKWebDialogDelegate;
2731
2732 /// Internal Type exposed to facilitate transition to Swift.
2733 /// API Subject to change or removal without warning. Do not use.
2734 /// @warning INTERNAL - DO NOT USE
2735 SWIFT_CLASS_NAMED("_WebDialog")
2736 @interface FBSDKWebDialog : NSObject
2737 @property (nonatomic) BOOL shouldDeferVisibility;
2738 @property (nonatomic, weak) id <FBSDKWebDialogDelegate> _Nullable delegate;
2739 - (nonnull instancetype)initWithName:(NSString * _Nonnull)name parameters:(NSDictionary<NSString *, NSString *> * _Nullable)parameters webViewFrame:(CGRect)webViewFrame path:(NSString * _Nullable)path OBJC_DESIGNATED_INITIALIZER;
2740 - (nonnull instancetype)initWithName:(NSString * _Nonnull)name;
2741 - (void)show;
2742 - (nonnull instancetype)init SWIFT_UNAVAILABLE;
2743 + (nonnull instancetype)new SWIFT_UNAVAILABLE_MSG("-init is unavailable");
2744 @end
2745
2746 @class FBSDKWebDialogView;
2747
2748 @interface FBSDKWebDialog (SWIFT_EXTENSION(FBSDKCoreKit)) <FBSDKWebDialogViewDelegate>
2749 - (void)webDialogView:(FBSDKWebDialogView * _Nonnull)webDialogView didCompleteWithResults:(NSDictionary<NSString *, id> * _Nonnull)results;
2750 - (void)webDialogView:(FBSDKWebDialogView * _Nonnull)webDialogView didFailWithError:(NSError * _Nonnull)error;
2751 - (void)webDialogViewDidCancel:(FBSDKWebDialogView * _Nonnull)webDialogView;
2752 - (void)webDialogViewDidFinishLoad:(FBSDKWebDialogView * _Nonnull)webDialogView;
2753 @end
2754
2755
2756 @protocol FBSDKWebView;
2757
2758 /// Internal Type exposed to facilitate transition to Swift.
2759 /// API Subject to change or removal without warning. Do not use.
2760 /// @warning INTERNAL - DO NOT USE
2761 SWIFT_CLASS_NAMED("_WebViewFactory")
2762 @interface FBSDKWebViewFactory : NSObject <FBSDKWebViewProviding>
2763 - (id <FBSDKWebView> _Nonnull)createWebViewWithFrame:(CGRect)frame SWIFT_WARN_UNUSED_RESULT;
2764 - (nonnull instancetype)init OBJC_DESIGNATED_INITIALIZER;
2765 @end
2766
2767 #endif
2768 #if defined(__cplusplus)
2769 #endif
2e29a3 2770 #if __has_attribute(external_source_symbol)
L 2771 # pragma clang attribute pop
2772 #endif
2773 #pragma clang diagnostic pop
2774 #endif
2775
e0ec42 2776 #else
L 2777 #error unsupported Swift architecture
2e29a3 2778 #endif