lpw
2023-06-03 e0ec4235cc7b8d05ec1aaa414ec2d2cac798d74e
commit | author | age
e0ec42 1 #if 0
L 2 #elif defined(__arm64__) && __arm64__
3 // Generated by Apple Swift version 5.7.2 (swiftlang-5.7.2.135.5 clang-1400.0.29.51)
4 #ifndef FBSDKCOREKIT_SWIFT_H
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
26 #pragma clang diagnostic ignored "-Wduplicate-method-match"
27 #pragma clang diagnostic ignored "-Wauto-import"
28 #if defined(__OBJC__)
29 #include <Foundation/Foundation.h>
30 #endif
31 #if defined(__cplusplus)
32 #include <cstdint>
33 #include <cstddef>
34 #include <cstdbool>
35 #else
36 #include <stdint.h>
37 #include <stddef.h>
38 #include <stdbool.h>
39 #endif
40
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
195 #if defined(__OBJC__)
196 #if !defined(IBSegueAction)
197 # define IBSegueAction
198 #endif
199 #endif
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__)
229 #if __has_feature(modules)
230 #if __has_warning("-Watimport-in-framework-header")
231 #pragma clang diagnostic ignored "-Watimport-in-framework-header"
232 #endif
233 @import AuthenticationServices;
234 @import CoreFoundation;
235 @import CoreGraphics;
236 @import FBAEMKit;
237 @import Foundation;
238 @import ObjectiveC;
239 @import SafariServices;
240 @import StoreKit;
241 @import UIKit;
242 #endif
243
244 #import <FBSDKCoreKit/FBSDKCoreKit.h>
245
246 #endif
247 #pragma clang diagnostic ignored "-Wproperty-attribute-mismatch"
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"
254 #pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
255
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
263 #if defined(__OBJC__)
264 @class NSString;
265 @class NSNumber;
266 @class NSURL;
267
268 /// Internal Type exposed to facilitate transition to Swift.
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
1383 #if __has_attribute(external_source_symbol)
1384 # pragma clang attribute pop
1385 #endif
1386 #pragma clang diagnostic pop
1387 #endif
1388
1389 #else
1390 #error unsupported Swift architecture
1391 #endif