diff --git a/README.md b/README.md index 4137b98f6..8cca08bc7 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,8 @@ $ cordova plugin add cordova-plugin-facebook4 --save --variable APP_ID="12345678 If you need to change your `APP_ID` after installation, it's recommended that you remove and then re-add the plugin as above. Note that changes to the `APP_ID` value in your `config.xml` file will *not* be propagated to the individual platform builds. +IMPORTANT: This plugin works as is with cordova-ios 5 but if you use earlier version of cordova-ios then you need to add the code in the following comment to your CordovaLib/Classes/Public/CDVAppDelegate.m file which was added to your project as part of the cordova-ios ios platform template: https://github.com/apache/cordova-ios/issues/476#issuecomment-460907247 + ## Usage This is a fork of the [official plugin for Facebook](https://github.com/Wizcorp/phonegap-facebook-plugin/) in Apache Cordova that implements the latest Facebook SDK. Unless noted, this is a drop-in replacement. You don't have to replace your client code. diff --git a/plugin.xml b/plugin.xml index b02ff12d0..5336f8815 100644 --- a/plugin.xml +++ b/plugin.xml @@ -20,7 +20,7 @@ - + @@ -160,9 +160,6 @@ - - - diff --git a/src/android/ConnectPlugin.java b/src/android/ConnectPlugin.java index 7449b7473..8e698526f 100644 --- a/src/android/ConnectPlugin.java +++ b/src/android/ConnectPlugin.java @@ -227,13 +227,13 @@ public void onError(FacebookException e) { public void onResume(boolean multitasking) { super.onResume(multitasking); // Developers can observe how frequently users activate their app by logging an app activation event. - AppEventsLogger.activateApp(cordova.getActivity()); + AppEventsLogger.activateApp(cordova.getActivity().getApplication()); } @Override public void onPause(boolean multitasking) { super.onPause(multitasking); - AppEventsLogger.deactivateApp(cordova.getActivity()); + AppEventsLogger.deactivateApp(cordova.getActivity().getApplication()); } @Override @@ -305,7 +305,7 @@ public boolean execute(String action, JSONArray args, final CallbackContext call cordova.getThreadPool().execute(new Runnable() { @Override public void run() { - AppEventsLogger.activateApp(cordova.getActivity()); + AppEventsLogger.activateApp(cordova.getActivity().getApplication()); } }); diff --git a/src/ios/Bolts.framework/Bolts b/src/ios/Bolts.framework/Bolts deleted file mode 100644 index 6e13af4cc..000000000 Binary files a/src/ios/Bolts.framework/Bolts and /dev/null differ diff --git a/src/ios/Bolts.framework/Headers/BFAppLink.h b/src/ios/Bolts.framework/Headers/BFAppLink.h deleted file mode 100644 index aa89efc2b..000000000 --- a/src/ios/Bolts.framework/Headers/BFAppLink.h +++ /dev/null @@ -1,49 +0,0 @@ -/* - * Copyright (c) 2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -/*! The version of the App Link protocol that this library supports */ -FOUNDATION_EXPORT NSString *const BFAppLinkVersion; - -/*! - Contains App Link metadata relevant for navigation on this device - derived from the HTML at a given URL. - */ -@interface BFAppLink : NSObject - -/*! - Creates a BFAppLink with the given list of BFAppLinkTargets and target URL. - - Generally, this will only be used by implementers of the BFAppLinkResolving protocol, - as these implementers will produce App Link metadata for a given URL. - - @param sourceURL the URL from which this App Link is derived - @param targets an ordered list of BFAppLinkTargets for this platform derived - from App Link metadata. - @param webURL the fallback web URL, if any, for the app link. - */ -+ (instancetype)appLinkWithSourceURL:(NSURL *)sourceURL - targets:(NSArray *)targets - webURL:(NSURL *)webURL; - -/*! The URL from which this BFAppLink was derived */ -@property (nonatomic, strong, readonly) NSURL *sourceURL; - -/*! - The ordered list of targets applicable to this platform that will be used - for navigation. - */ -@property (nonatomic, copy, readonly) NSArray *targets; - -/*! The fallback web URL to use if no targets are installed on this device. */ -@property (nonatomic, strong, readonly) NSURL *webURL; - -@end diff --git a/src/ios/Bolts.framework/Headers/BFAppLinkNavigation.h b/src/ios/Bolts.framework/Headers/BFAppLinkNavigation.h deleted file mode 100644 index 4b8a71e02..000000000 --- a/src/ios/Bolts.framework/Headers/BFAppLinkNavigation.h +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright (c) 2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -#import - -/*! - The result of calling navigate on a BFAppLinkNavigation - */ -typedef NS_ENUM(NSInteger, BFAppLinkNavigationType) { - /*! Indicates that the navigation failed and no app was opened */ - BFAppLinkNavigationTypeFailure, - /*! Indicates that the navigation succeeded by opening the URL in the browser */ - BFAppLinkNavigationTypeBrowser, - /*! Indicates that the navigation succeeded by opening the URL in an app on the device */ - BFAppLinkNavigationTypeApp -}; - -@protocol BFAppLinkResolving; -@class BFTask; - -/*! - Represents a pending request to navigate to an App Link. Most developers will - simply use navigateToURLInBackground: to open a URL, but developers can build - custom requests with additional navigation and app data attached to them by - creating BFAppLinkNavigations themselves. - */ -NS_EXTENSION_UNAVAILABLE_IOS("Not available in app extension") -@interface BFAppLinkNavigation : NSObject - -/*! - The extras for the AppLinkNavigation. This will generally contain application-specific - data that should be passed along with the request, such as advertiser or affiliate IDs or - other such metadata relevant on this device. - */ -@property (nonatomic, copy, readonly) NSDictionary *extras; - -/*! - The al_applink_data for the AppLinkNavigation. This will generally contain data common to - navigation attempts such as back-links, user agents, and other information that may be used - in routing and handling an App Link request. - */ -@property (nonatomic, copy, readonly) NSDictionary *appLinkData; - -/*! The AppLink to navigate to */ -@property (nonatomic, strong, readonly) BFAppLink *appLink; - -/*! Creates an AppLinkNavigation with the given link, extras, and App Link data */ -+ (instancetype)navigationWithAppLink:(BFAppLink *)appLink - extras:(NSDictionary *)extras - appLinkData:(NSDictionary *)appLinkData; - -/*! - Creates an NSDictionary with the correct format for iOS callback URLs, - to be used as 'appLinkData' argument in the call to navigationWithAppLink:extras:appLinkData: - */ -+ (NSDictionary *)callbackAppLinkDataForAppWithName:(NSString *)appName url:(NSString *)url; - -/*! Performs the navigation */ -- (BFAppLinkNavigationType)navigate:(NSError **)error; - -/*! Returns a BFAppLink for the given URL */ -+ (BFTask *)resolveAppLinkInBackground:(NSURL *)destination; - -/*! Returns a BFAppLink for the given URL using the given App Link resolution strategy */ -+ (BFTask *)resolveAppLinkInBackground:(NSURL *)destination resolver:(id)resolver; - -/*! Navigates to a BFAppLink and returns whether it opened in-app or in-browser */ -+ (BFAppLinkNavigationType)navigateToAppLink:(BFAppLink *)link error:(NSError **)error; - -/*! - Returns a BFAppLinkNavigationType based on a BFAppLink. - It's essentially a no-side-effect version of navigateToAppLink:error:, - allowing apps to determine flow based on the link type (e.g. open an - internal web view instead of going straight to the browser for regular links.) - */ -+ (BFAppLinkNavigationType)navigationTypeForLink:(BFAppLink *)link; - -/*! - Return navigation type for current instance. - No-side-effect version of navigate: - */ -- (BFAppLinkNavigationType)navigationType; - -/*! Navigates to a URL (an asynchronous action) and returns a BFNavigationType */ -+ (BFTask *)navigateToURLInBackground:(NSURL *)destination; - -/*! - Navigates to a URL (an asynchronous action) using the given App Link resolution - strategy and returns a BFNavigationType - */ -+ (BFTask *)navigateToURLInBackground:(NSURL *)destination resolver:(id)resolver; - -/*! - Gets the default resolver to be used for App Link resolution. If the developer has not set one explicitly, - a basic, built-in resolver will be used. - */ -+ (id)defaultResolver; - -/*! - Sets the default resolver to be used for App Link resolution. Setting this to nil will revert the - default resolver to the basic, built-in resolver provided by Bolts. - */ -+ (void)setDefaultResolver:(id)resolver; - -@end diff --git a/src/ios/Bolts.framework/Headers/BFAppLinkResolving.h b/src/ios/Bolts.framework/Headers/BFAppLinkResolving.h deleted file mode 100644 index 5c78bff45..000000000 --- a/src/ios/Bolts.framework/Headers/BFAppLinkResolving.h +++ /dev/null @@ -1,30 +0,0 @@ -/* - * Copyright (c) 2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -@class BFTask; - -/*! - Implement this protocol to provide an alternate strategy for resolving - App Links that may include pre-fetching, caching, or querying for App Link - data from an index provided by a service provider. - */ -@protocol BFAppLinkResolving - -/*! - Asynchronously resolves App Link data for a given URL. - - @param url The URL to resolve into an App Link. - @returns A BFTask that will return a BFAppLink for the given URL. - */ -- (BFTask *)appLinkFromURLInBackground:(NSURL *)url NS_EXTENSION_UNAVAILABLE_IOS("Not available in app extension"); - -@end diff --git a/src/ios/Bolts.framework/Headers/BFAppLinkReturnToRefererController.h b/src/ios/Bolts.framework/Headers/BFAppLinkReturnToRefererController.h deleted file mode 100644 index 436c52806..000000000 --- a/src/ios/Bolts.framework/Headers/BFAppLinkReturnToRefererController.h +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Copyright (c) 2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import -#import - -#import - -@class BFAppLink; -@class BFAppLinkReturnToRefererController; - -/*! - Protocol that a class can implement in order to be notified when the user has navigated back - to the referer of an App Link. - */ -@protocol BFAppLinkReturnToRefererControllerDelegate - -@optional - -/*! Called when the user has tapped to navigate, but before the navigation has been performed. */ -- (void)returnToRefererController:(BFAppLinkReturnToRefererController *)controller - willNavigateToAppLink:(BFAppLink *)appLink; - -/*! Called after the navigation has been attempted, with an indication of whether the referer - app link was successfully opened. */ -- (void)returnToRefererController:(BFAppLinkReturnToRefererController *)controller - didNavigateToAppLink:(BFAppLink *)url - type:(BFAppLinkNavigationType)type; - -@end - -/*! - A controller class that implements default behavior for a BFAppLinkReturnToRefererView, including - the ability to display the view above the navigation bar for navigation-based apps. - */ -NS_EXTENSION_UNAVAILABLE_IOS("Not available in app extension") -@interface BFAppLinkReturnToRefererController : NSObject - -/*! - The delegate that will be notified when the user navigates back to the referer. - */ -@property (nonatomic, weak) id delegate; - -/*! - The BFAppLinkReturnToRefererView this controller is controlling. - */ -@property (nonatomic, strong) BFAppLinkReturnToRefererView *view; - -/*! - Initializes a controller suitable for controlling a BFAppLinkReturnToRefererView that is to be displayed - contained within another UIView (i.e., not displayed above the navigation bar). - */ -- (instancetype)init; - -/*! - Initializes a controller suitable for controlling a BFAppLinkReturnToRefererView that is to be displayed - displayed above the navigation bar. - */ -- (instancetype)initForDisplayAboveNavController:(UINavigationController *)navController; - -/*! - Removes the view entirely from the navigation controller it is currently displayed in. - */ -- (void)removeFromNavController; - -/*! - Shows the BFAppLinkReturnToRefererView with the specified referer information. If nil or missing data, - the view will not be displayed. */ -- (void)showViewForRefererAppLink:(BFAppLink *)refererAppLink; - -/*! - Shows the BFAppLinkReturnToRefererView with referer information extracted from the specified URL. - If nil or missing referer App Link data, the view will not be displayed. */ -- (void)showViewForRefererURL:(NSURL *)url; - -/*! - Closes the view, possibly animating it. - */ -- (void)closeViewAnimated:(BOOL)animated; - -@end diff --git a/src/ios/Bolts.framework/Headers/BFAppLinkReturnToRefererView.h b/src/ios/Bolts.framework/Headers/BFAppLinkReturnToRefererView.h deleted file mode 100644 index f62bc66f6..000000000 --- a/src/ios/Bolts.framework/Headers/BFAppLinkReturnToRefererView.h +++ /dev/null @@ -1,78 +0,0 @@ -/* - * Copyright (c) 2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import -#import - -#import - -@class BFAppLinkReturnToRefererView; -@class BFURL; - -typedef NS_ENUM(NSUInteger, BFIncludeStatusBarInSize) { - BFIncludeStatusBarInSizeNever, - BFIncludeStatusBarInSizeIOS7AndLater, - BFIncludeStatusBarInSizeAlways, -}; - -/*! - Protocol that a class can implement in order to be notified when the user has navigated back - to the referer of an App Link. - */ -@protocol BFAppLinkReturnToRefererViewDelegate - -/*! - Called when the user has tapped inside the close button. - */ -- (void)returnToRefererViewDidTapInsideCloseButton:(BFAppLinkReturnToRefererView *)view; - -/*! - Called when the user has tapped inside the App Link portion of the view. - */ -- (void)returnToRefererViewDidTapInsideLink:(BFAppLinkReturnToRefererView *)view - link:(BFAppLink *)link; - -@end - -/*! - Provides a UIView that displays a button allowing users to navigate back to the - application that launched the App Link currently being handled, if the App Link - contained referer data. The user can also close the view by clicking a close button - rather than navigating away. If the view is provided an App Link that does not contain - referer data, it will have zero size and no UI will be displayed. - */ -NS_EXTENSION_UNAVAILABLE_IOS("Not available in app extension") -@interface BFAppLinkReturnToRefererView : UIView - -/*! - The delegate that will be notified when the user navigates back to the referer. - */ -@property (nonatomic, weak) id delegate; - -/*! - The color of the text label and close button. - */ -@property (nonatomic, strong) UIColor *textColor; - -@property (nonatomic, strong) BFAppLink *refererAppLink; - -/*! - Indicates whether to extend the size of the view to include the current status bar - size, for use in scenarios where the view might extend under the status bar on iOS 7 and - above; this property has no effect on earlier versions of iOS. - */ -@property (nonatomic, assign) BFIncludeStatusBarInSize includeStatusBarInSize; - -/*! - Indicates whether the user has closed the view by clicking the close button. - */ -@property (nonatomic, assign) BOOL closed; - -@end diff --git a/src/ios/Bolts.framework/Headers/BFAppLinkTarget.h b/src/ios/Bolts.framework/Headers/BFAppLinkTarget.h deleted file mode 100644 index 61721269d..000000000 --- a/src/ios/Bolts.framework/Headers/BFAppLinkTarget.h +++ /dev/null @@ -1,33 +0,0 @@ -/* - * Copyright (c) 2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -/*! - Represents a target defined in App Link metadata, consisting of at least - a URL, and optionally an App Store ID and name. - */ -@interface BFAppLinkTarget : NSObject - -/*! Creates a BFAppLinkTarget with the given app site and target URL. */ -+ (instancetype)appLinkTargetWithURL:(NSURL *)url - appStoreId:(NSString *)appStoreId - appName:(NSString *)appName; - -/*! The URL prefix for this app link target */ -@property (nonatomic, strong, readonly) NSURL *URL; - -/*! The app ID for the app store */ -@property (nonatomic, copy, readonly) NSString *appStoreId; - -/*! The name of the app */ -@property (nonatomic, copy, readonly) NSString *appName; - -@end diff --git a/src/ios/Bolts.framework/Headers/BFCancellationToken.h b/src/ios/Bolts.framework/Headers/BFCancellationToken.h deleted file mode 100644 index bda32ee80..000000000 --- a/src/ios/Bolts.framework/Headers/BFCancellationToken.h +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Copyright (c) 2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -#import - -NS_ASSUME_NONNULL_BEGIN - -/*! - A block that will be called when a token is cancelled. - */ -typedef void(^BFCancellationBlock)(void); - -/*! - The consumer view of a CancellationToken. - Propagates notification that operations should be canceled. - A BFCancellationToken has methods to inspect whether the token has been cancelled. - */ -@interface BFCancellationToken : NSObject - -/*! - Whether cancellation has been requested for this token source. - */ -@property (nonatomic, assign, readonly, getter=isCancellationRequested) BOOL cancellationRequested; - -/*! - Register a block to be notified when the token is cancelled. - If the token is already cancelled the delegate will be notified immediately. - */ -- (BFCancellationTokenRegistration *)registerCancellationObserverWithBlock:(BFCancellationBlock)block; - -@end - -NS_ASSUME_NONNULL_END diff --git a/src/ios/Bolts.framework/Headers/BFCancellationTokenRegistration.h b/src/ios/Bolts.framework/Headers/BFCancellationTokenRegistration.h deleted file mode 100644 index fa6090f66..000000000 --- a/src/ios/Bolts.framework/Headers/BFCancellationTokenRegistration.h +++ /dev/null @@ -1,29 +0,0 @@ -/* - * Copyright (c) 2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -NS_ASSUME_NONNULL_BEGIN - -/*! - Represents the registration of a cancellation observer with a cancellation token. - Can be used to unregister the observer at a later time. - */ -@interface BFCancellationTokenRegistration : NSObject - -/*! - Removes the cancellation observer registered with the token - and releases all resources associated with this registration. - */ -- (void)dispose; - -@end - -NS_ASSUME_NONNULL_END diff --git a/src/ios/Bolts.framework/Headers/BFCancellationTokenSource.h b/src/ios/Bolts.framework/Headers/BFCancellationTokenSource.h deleted file mode 100644 index 4627e9958..000000000 --- a/src/ios/Bolts.framework/Headers/BFCancellationTokenSource.h +++ /dev/null @@ -1,60 +0,0 @@ -/* - * Copyright (c) 2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -NS_ASSUME_NONNULL_BEGIN - -@class BFCancellationToken; - -/*! - BFCancellationTokenSource represents the producer side of a CancellationToken. - Signals to a CancellationToken that it should be canceled. - It is a cancellation token that also has methods - for changing the state of a token by cancelling it. - */ -@interface BFCancellationTokenSource : NSObject - -/*! - Creates a new cancellation token source. - */ -+ (instancetype)cancellationTokenSource; - -/*! - The cancellation token associated with this CancellationTokenSource. - */ -@property (nonatomic, strong, readonly) BFCancellationToken *token; - -/*! - Whether cancellation has been requested for this token source. - */ -@property (nonatomic, assign, readonly, getter=isCancellationRequested) BOOL cancellationRequested; - -/*! - Cancels the token if it has not already been cancelled. - */ -- (void)cancel; - -/*! - Schedules a cancel operation on this CancellationTokenSource after the specified number of milliseconds. - @param millis The number of milliseconds to wait before completing the returned task. - If delay is `0` the cancel is executed immediately. If delay is `-1` any scheduled cancellation is stopped. - */ -- (void)cancelAfterDelay:(int)millis; - -/*! - Releases all resources associated with this token source, - including disposing of all registrations. - */ -- (void)dispose; - -@end - -NS_ASSUME_NONNULL_END diff --git a/src/ios/Bolts.framework/Headers/BFExecutor.h b/src/ios/Bolts.framework/Headers/BFExecutor.h deleted file mode 100644 index 694c8a5fc..000000000 --- a/src/ios/Bolts.framework/Headers/BFExecutor.h +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (c) 2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -NS_ASSUME_NONNULL_BEGIN - -/*! - An object that can run a given block. - */ -@interface BFExecutor : NSObject - -/*! - Returns a default executor, which runs continuations immediately until the call stack gets too - deep, then dispatches to a new GCD queue. - */ -+ (instancetype)defaultExecutor; - -/*! - Returns an executor that runs continuations on the thread where the previous task was completed. - */ -+ (instancetype)immediateExecutor; - -/*! - Returns an executor that runs continuations on the main thread. - */ -+ (instancetype)mainThreadExecutor; - -/*! - Returns a new executor that uses the given block to execute continuations. - @param block The block to use. - */ -+ (instancetype)executorWithBlock:(void(^)(void(^block)(void)))block; - -/*! - Returns a new executor that runs continuations on the given queue. - @param queue The instance of `dispatch_queue_t` to dispatch all continuations onto. - */ -+ (instancetype)executorWithDispatchQueue:(dispatch_queue_t)queue; - -/*! - Returns a new executor that runs continuations on the given queue. - @param queue The instance of `NSOperationQueue` to run all continuations on. - */ -+ (instancetype)executorWithOperationQueue:(NSOperationQueue *)queue; - -/*! - Runs the given block using this executor's particular strategy. - @param block The block to execute. - */ -- (void)execute:(void(^)(void))block; - -@end - -NS_ASSUME_NONNULL_END diff --git a/src/ios/Bolts.framework/Headers/BFGeneric.h b/src/ios/Bolts.framework/Headers/BFGeneric.h deleted file mode 100644 index 99b2cf7de..000000000 --- a/src/ios/Bolts.framework/Headers/BFGeneric.h +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -#pragma once - -/** - This exists to use along with `BFTask` and `BFTaskCompletionSource`. - - Instead of returning a `BFTask` with no generic type, or a generic type of 'NSNull' - when there is no usable result from a task, we use the type 'BFVoid', which will always have a value of `nil`. - - This allows you to provide a more enforced API contract to the caller, - as sending any message to `BFVoid` will result in a compile time error. - */ -@class _BFVoid_Nonexistant; -typedef _BFVoid_Nonexistant *BFVoid; diff --git a/src/ios/Bolts.framework/Headers/BFMeasurementEvent.h b/src/ios/Bolts.framework/Headers/BFMeasurementEvent.h deleted file mode 100644 index b3173fc23..000000000 --- a/src/ios/Bolts.framework/Headers/BFMeasurementEvent.h +++ /dev/null @@ -1,45 +0,0 @@ -/* - * Copyright (c) 2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -/*! The name of the notification posted by BFMeasurementEvent */ -FOUNDATION_EXPORT NSString *const BFMeasurementEventNotificationName; - -/*! Defines keys in the userInfo object for the notification named BFMeasurementEventNotificationName */ -/*! The string field for the name of the event */ -FOUNDATION_EXPORT NSString *const BFMeasurementEventNameKey; -/*! The dictionary field for the arguments of the event */ -FOUNDATION_EXPORT NSString *const BFMeasurementEventArgsKey; - -/*! Bolts Events raised by BFMeasurementEvent for Applink */ -/*! - The name of the event posted when [BFURL URLWithURL:] is called successfully. This represents the successful parsing of an app link URL. - */ -FOUNDATION_EXPORT NSString *const BFAppLinkParseEventName; - -/*! - The name of the event posted when [BFURL URLWithInboundURL:] is called successfully. - This represents parsing an inbound app link URL from a different application - */ -FOUNDATION_EXPORT NSString *const BFAppLinkNavigateInEventName; - -/*! The event raised when the user navigates from your app to other apps */ -FOUNDATION_EXPORT NSString *const BFAppLinkNavigateOutEventName; - -/*! - The event raised when the user navigates out from your app and back to the referrer app. - e.g when the user leaves your app after tapping the back-to-referrer navigation bar - */ -FOUNDATION_EXPORT NSString *const BFAppLinkNavigateBackToReferrerEventName; - -@interface BFMeasurementEvent : NSObject - -@end diff --git a/src/ios/Bolts.framework/Headers/BFTask.h b/src/ios/Bolts.framework/Headers/BFTask.h deleted file mode 100644 index 074c182de..000000000 --- a/src/ios/Bolts.framework/Headers/BFTask.h +++ /dev/null @@ -1,266 +0,0 @@ -/* - * Copyright (c) 2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -#import -#import - -NS_ASSUME_NONNULL_BEGIN - -/*! - Error domain used if there was multiple errors on . - */ -extern NSString *const BFTaskErrorDomain; - -/*! - An error code used for , if there were multiple errors. - */ -extern NSInteger const kBFMultipleErrorsError; - -/*! - An error userInfo key used if there were multiple errors on . - Value type is `NSArray *`. - */ -extern NSString *const BFTaskMultipleErrorsUserInfoKey; - -@class BFExecutor; -@class BFTask; - -/*! - The consumer view of a Task. A BFTask has methods to - inspect the state of the task, and to add continuations to - be run once the task is complete. - */ -@interface BFTask<__covariant ResultType> : NSObject - -/*! - A block that can act as a continuation for a task. - */ -typedef __nullable id(^BFContinuationBlock)(BFTask *t); - -/*! - Creates a task that is already completed with the given result. - @param result The result for the task. - */ -+ (instancetype)taskWithResult:(nullable ResultType)result; - -/*! - Creates a task that is already completed with the given error. - @param error The error for the task. - */ -+ (instancetype)taskWithError:(NSError *)error; - -/*! - Creates a task that is already cancelled. - */ -+ (instancetype)cancelledTask; - -/*! - Returns a task that will be completed (with result == nil) once - all of the input tasks have completed. - @param tasks An `NSArray` of the tasks to use as an input. - */ -+ (instancetype)taskForCompletionOfAllTasks:(nullable NSArray *)tasks; - -/*! - Returns a task that will be completed once all of the input tasks have completed. - If all tasks complete successfully without being faulted or cancelled the result will be - an `NSArray` of all task results in the order they were provided. - @param tasks An `NSArray` of the tasks to use as an input. - */ -+ (instancetype)taskForCompletionOfAllTasksWithResults:(nullable NSArray *)tasks; - -/*! - Returns a task that will be completed once there is at least one successful task. - The first task to successuly complete will set the result, all other tasks results are - ignored. - @param tasks An `NSArray` of the tasks to use as an input. - */ -+ (instancetype)taskForCompletionOfAnyTask:(nullable NSArray *)tasks; - -/*! - Returns a task that will be completed a certain amount of time in the future. - @param millis The approximate number of milliseconds to wait before the - task will be finished (with result == nil). - */ -+ (BFTask *)taskWithDelay:(int)millis; - -/*! - Returns a task that will be completed a certain amount of time in the future. - @param millis The approximate number of milliseconds to wait before the - task will be finished (with result == nil). - @param token The cancellation token (optional). - */ -+ (BFTask *)taskWithDelay:(int)millis cancellationToken:(nullable BFCancellationToken *)token; - -/*! - Returns a task that will be completed after the given block completes with - the specified executor. - @param executor A BFExecutor responsible for determining how the - continuation block will be run. - @param block The block to immediately schedule to run with the given executor. - @returns A task that will be completed after block has run. - If block returns a BFTask, then the task returned from - this method will not be completed until that task is completed. - */ -+ (instancetype)taskFromExecutor:(BFExecutor *)executor withBlock:(nullable id (^)(void))block; - -// Properties that will be set on the task once it is completed. - -/*! - The result of a successful task. - */ -@property (nullable, nonatomic, strong, readonly) ResultType result; - -/*! - The error of a failed task. - */ -@property (nullable, nonatomic, strong, readonly) NSError *error; - -/*! - Whether this task has been cancelled. - */ -@property (nonatomic, assign, readonly, getter=isCancelled) BOOL cancelled; - -/*! - Whether this task has completed due to an error. - */ -@property (nonatomic, assign, readonly, getter=isFaulted) BOOL faulted; - -/*! - Whether this task has completed. - */ -@property (nonatomic, assign, readonly, getter=isCompleted) BOOL completed; - -/*! - Enqueues the given block to be run once this task is complete. - This method uses a default execution strategy. The block will be - run on the thread where the previous task completes, unless the - the stack depth is too deep, in which case it will be run on a - dispatch queue with default priority. - @param block The block to be run once this task is complete. - @returns A task that will be completed after block has run. - If block returns a BFTask, then the task returned from - this method will not be completed until that task is completed. - */ -- (BFTask *)continueWithBlock:(BFContinuationBlock)block NS_SWIFT_NAME(continueWith(block:)); - -/*! - Enqueues the given block to be run once this task is complete. - This method uses a default execution strategy. The block will be - run on the thread where the previous task completes, unless the - the stack depth is too deep, in which case it will be run on a - dispatch queue with default priority. - @param block The block to be run once this task is complete. - @param cancellationToken The cancellation token (optional). - @returns A task that will be completed after block has run. - If block returns a BFTask, then the task returned from - this method will not be completed until that task is completed. - */ -- (BFTask *)continueWithBlock:(BFContinuationBlock)block - cancellationToken:(nullable BFCancellationToken *)cancellationToken NS_SWIFT_NAME(continueWith(block:cancellationToken:)); - -/*! - Enqueues the given block to be run once this task is complete. - @param executor A BFExecutor responsible for determining how the - continuation block will be run. - @param block The block to be run once this task is complete. - @returns A task that will be completed after block has run. - If block returns a BFTask, then the task returned from - this method will not be completed until that task is completed. - */ -- (BFTask *)continueWithExecutor:(BFExecutor *)executor - withBlock:(BFContinuationBlock)block NS_SWIFT_NAME(continueWith(executor:block:)); - -/*! - Enqueues the given block to be run once this task is complete. - @param executor A BFExecutor responsible for determining how the - continuation block will be run. - @param block The block to be run once this task is complete. - @param cancellationToken The cancellation token (optional). - @returns A task that will be completed after block has run. - If block returns a BFTask, then the task returned from - his method will not be completed until that task is completed. - */ -- (BFTask *)continueWithExecutor:(BFExecutor *)executor - block:(BFContinuationBlock)block - cancellationToken:(nullable BFCancellationToken *)cancellationToken -NS_SWIFT_NAME(continueWith(executor:block:cancellationToken:)); - -/*! - Identical to continueWithBlock:, except that the block is only run - if this task did not produce a cancellation or an error. - If it did, then the failure will be propagated to the returned - task. - @param block The block to be run once this task is complete. - @returns A task that will be completed after block has run. - If block returns a BFTask, then the task returned from - this method will not be completed until that task is completed. - */ -- (BFTask *)continueWithSuccessBlock:(BFContinuationBlock)block NS_SWIFT_NAME(continueOnSuccessWith(block:)); - -/*! - Identical to continueWithBlock:, except that the block is only run - if this task did not produce a cancellation or an error. - If it did, then the failure will be propagated to the returned - task. - @param block The block to be run once this task is complete. - @param cancellationToken The cancellation token (optional). - @returns A task that will be completed after block has run. - If block returns a BFTask, then the task returned from - this method will not be completed until that task is completed. - */ -- (BFTask *)continueWithSuccessBlock:(BFContinuationBlock)block - cancellationToken:(nullable BFCancellationToken *)cancellationToken -NS_SWIFT_NAME(continueOnSuccessWith(block:cancellationToken:)); - -/*! - Identical to continueWithExecutor:withBlock:, except that the block - is only run if this task did not produce a cancellation, error, or an error. - If it did, then the failure will be propagated to the returned task. - @param executor A BFExecutor responsible for determining how the - continuation block will be run. - @param block The block to be run once this task is complete. - @returns A task that will be completed after block has run. - If block returns a BFTask, then the task returned from - this method will not be completed until that task is completed. - */ -- (BFTask *)continueWithExecutor:(BFExecutor *)executor - withSuccessBlock:(BFContinuationBlock)block NS_SWIFT_NAME(continueOnSuccessWith(executor:block:)); - -/*! - Identical to continueWithExecutor:withBlock:, except that the block - is only run if this task did not produce a cancellation or an error. - If it did, then the failure will be propagated to the returned task. - @param executor A BFExecutor responsible for determining how the - continuation block will be run. - @param block The block to be run once this task is complete. - @param cancellationToken The cancellation token (optional). - @returns A task that will be completed after block has run. - If block returns a BFTask, then the task returned from - this method will not be completed until that task is completed. - */ -- (BFTask *)continueWithExecutor:(BFExecutor *)executor - successBlock:(BFContinuationBlock)block - cancellationToken:(nullable BFCancellationToken *)cancellationToken -NS_SWIFT_NAME(continueOnSuccessWith(executor:block:cancellationToken:)); - -/*! - Waits until this operation is completed. - This method is inefficient and consumes a thread resource while - it's running. It should be avoided. This method logs a warning - message if it is used on the main thread. - */ -- (void)waitUntilFinished; - -@end - -NS_ASSUME_NONNULL_END diff --git a/src/ios/Bolts.framework/Headers/BFTaskCompletionSource.h b/src/ios/Bolts.framework/Headers/BFTaskCompletionSource.h deleted file mode 100644 index f94c18fdb..000000000 --- a/src/ios/Bolts.framework/Headers/BFTaskCompletionSource.h +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright (c) 2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -NS_ASSUME_NONNULL_BEGIN - -@class BFTask<__covariant ResultType>; - -/*! - A BFTaskCompletionSource represents the producer side of tasks. - It is a task that also has methods for changing the state of the - task by settings its completion values. - */ -@interface BFTaskCompletionSource<__covariant ResultType> : NSObject - -/*! - Creates a new unfinished task. - */ -+ (instancetype)taskCompletionSource; - -/*! - The task associated with this TaskCompletionSource. - */ -@property (nonatomic, strong, readonly) BFTask *task; - -/*! - Completes the task by setting the result. - Attempting to set this for a completed task will raise an exception. - @param result The result of the task. - */ -- (void)setResult:(nullable ResultType)result NS_SWIFT_NAME(set(result:)); - -/*! - Completes the task by setting the error. - Attempting to set this for a completed task will raise an exception. - @param error The error for the task. - */ -- (void)setError:(NSError *)error NS_SWIFT_NAME(set(error:)); - -/*! - Completes the task by marking it as cancelled. - Attempting to set this for a completed task will raise an exception. - */ -- (void)cancel; - -/*! - Sets the result of the task if it wasn't already completed. - @returns whether the new value was set. - */ -- (BOOL)trySetResult:(nullable ResultType)result NS_SWIFT_NAME(trySet(result:)); - -/*! - Sets the error of the task if it wasn't already completed. - @param error The error for the task. - @returns whether the new value was set. - */ -- (BOOL)trySetError:(NSError *)error NS_SWIFT_NAME(trySet(error:)); - -/*! - Sets the cancellation state of the task if it wasn't already completed. - @returns whether the new value was set. - */ -- (BOOL)trySetCancelled; - -@end - -NS_ASSUME_NONNULL_END diff --git a/src/ios/Bolts.framework/Headers/BFURL.h b/src/ios/Bolts.framework/Headers/BFURL.h deleted file mode 100644 index 924c91d48..000000000 --- a/src/ios/Bolts.framework/Headers/BFURL.h +++ /dev/null @@ -1,75 +0,0 @@ -/* - * Copyright (c) 2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -@class BFAppLink; - -/*! - Provides a set of utilities for working with NSURLs, such as parsing of query parameters - and handling for App Link requests. - */ -@interface BFURL : NSObject - -/*! - Creates a link target from a raw URL. - On success, this posts the BFAppLinkParseEventName measurement event. If you are constructing the BFURL within your application delegate's - application:openURL:sourceApplication:annotation:, you should instead use URLWithInboundURL:sourceApplication: - to support better BFMeasurementEvent notifications - @param url The instance of `NSURL` to create BFURL from. - */ -+ (BFURL *)URLWithURL:(NSURL *)url; - -/*! - Creates a link target from a raw URL received from an external application. This is typically called from the app delegate's - application:openURL:sourceApplication:annotation: and will post the BFAppLinkNavigateInEventName measurement event. - @param url The instance of `NSURL` to create BFURL from. - @param sourceApplication the bundle ID of the app that is requesting your app to open the URL. The same sourceApplication in application:openURL:sourceApplication:annotation: - */ -+ (BFURL *)URLWithInboundURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication; - -/*! - Gets the target URL. If the link is an App Link, this is the target of the App Link. - Otherwise, it is the url that created the target. - */ -@property (nonatomic, strong, readonly) NSURL *targetURL; - -/*! - Gets the query parameters for the target, parsed into an NSDictionary. - */ -@property (nonatomic, strong, readonly) NSDictionary *targetQueryParameters; - -/*! - If this link target is an App Link, this is the data found in al_applink_data. - Otherwise, it is nil. - */ -@property (nonatomic, strong, readonly) NSDictionary *appLinkData; - -/*! - If this link target is an App Link, this is the data found in extras. - */ -@property (nonatomic, strong, readonly) NSDictionary *appLinkExtras; - -/*! - The App Link indicating how to navigate back to the referer app, if any. - */ -@property (nonatomic, strong, readonly) BFAppLink *appLinkReferer; - -/*! - The URL that was used to create this BFURL. - */ -@property (nonatomic, strong, readonly) NSURL *inputURL; - -/*! - The query parameters of the inputURL, parsed into an NSDictionary. - */ -@property (nonatomic, strong, readonly) NSDictionary *inputQueryParameters; - -@end diff --git a/src/ios/Bolts.framework/Headers/BFWebViewAppLinkResolver.h b/src/ios/Bolts.framework/Headers/BFWebViewAppLinkResolver.h deleted file mode 100644 index 3782ae2cb..000000000 --- a/src/ios/Bolts.framework/Headers/BFWebViewAppLinkResolver.h +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (c) 2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import - -#import - -/*! - A reference implementation for an App Link resolver that uses a hidden UIWebView - to parse the HTML containing App Link metadata. - */ -@interface BFWebViewAppLinkResolver : NSObject - -/*! - Gets the instance of a BFWebViewAppLinkResolver. - */ -+ (instancetype)sharedInstance; - -@end diff --git a/src/ios/Bolts.framework/Headers/Bolts.h b/src/ios/Bolts.framework/Headers/Bolts.h deleted file mode 100644 index a3f2bd6f2..000000000 --- a/src/ios/Bolts.framework/Headers/Bolts.h +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) 2014, Facebook, Inc. - * All rights reserved. - * - * This source code is licensed under the BSD-style license found in the - * LICENSE file in the root directory of this source tree. An additional grant - * of patent rights can be found in the PATENTS file in the same directory. - * - */ - -#import -#import -#import -#import -#import -#import -#import - -#if __has_include() && TARGET_OS_IPHONE && !TARGET_OS_WATCH && !TARGET_OS_TV -#import -#import -#import -#import -#import -#import -#import -#import -#import -#endif - - -NS_ASSUME_NONNULL_BEGIN - -/** - A string containing the version of the Bolts Framework used by the current application. - */ -extern NSString *const BoltsFrameworkVersionString; - -NS_ASSUME_NONNULL_END diff --git a/src/ios/Bolts.framework/Info.plist b/src/ios/Bolts.framework/Info.plist deleted file mode 100644 index b2f3cc6fe..000000000 Binary files a/src/ios/Bolts.framework/Info.plist and /dev/null differ diff --git a/src/ios/Bolts.framework/Modules/module.modulemap b/src/ios/Bolts.framework/Modules/module.modulemap deleted file mode 100644 index 3c92a170f..000000000 --- a/src/ios/Bolts.framework/Modules/module.modulemap +++ /dev/null @@ -1,15 +0,0 @@ -framework module Bolts { - umbrella header "Bolts.h" - - export * - module * { export * } - - explicit module BFAppLinkResolving { - header "BFAppLinkResolving.h" - export * - } - explicit module BFWebViewAppLinkResolver { - header "BFWebViewAppLinkResolver.h" - export * - } -} diff --git a/src/ios/FBSDKCoreKit.framework/FBSDKCoreKit b/src/ios/FBSDKCoreKit.framework/FBSDKCoreKit index 7d37823c9..bdc87879f 100644 Binary files a/src/ios/FBSDKCoreKit.framework/FBSDKCoreKit and b/src/ios/FBSDKCoreKit.framework/FBSDKCoreKit differ diff --git a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAccessToken.h b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAccessToken.h index ff73de5d6..94f9f8f4b 100644 --- a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAccessToken.h +++ b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAccessToken.h @@ -21,6 +21,8 @@ #import #import +NS_ASSUME_NONNULL_BEGIN + #if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0 /** @@ -30,19 +32,20 @@ `FBSDKAccessTokenChangeOldKey` and `FBSDKAccessTokenChangeNewKey`. */ -FOUNDATION_EXPORT NSNotificationName const FBSDKAccessTokenDidChangeNotification; +FOUNDATION_EXPORT NSNotificationName const FBSDKAccessTokenDidChangeNotification +NS_SWIFT_NAME(AccessTokenDidChange); #else /** - Notification indicating that the `currentAccessToken` has changed. + Notification indicating that the `currentAccessToken` has changed. the userInfo dictionary of the notification will contain keys `FBSDKAccessTokenChangeOldKey` and `FBSDKAccessTokenChangeNewKey`. */ -FOUNDATION_EXPORT NSString *const FBSDKAccessTokenDidChangeNotification; - +FOUNDATION_EXPORT NSString *const FBSDKAccessTokenDidChangeNotification +NS_SWIFT_NAME(AccessTokenDidChangeNotification); #endif /** @@ -58,89 +61,111 @@ FOUNDATION_EXPORT NSString *const FBSDKAccessTokenDidChangeNotification; of an access token, this key will also exist since the access token is moving from a null state (no user) to a non-null state (user). */ -FOUNDATION_EXPORT NSString *const FBSDKAccessTokenDidChangeUserIDKey; - -FOUNDATION_EXPORT NSString *const FBSDKAccessTokenDidChangeUserID -DEPRECATED_MSG_ATTRIBUTE("Renamed `FBSDKAccessTokenDidChangeUserIDKey`"); +FOUNDATION_EXPORT NSString *const FBSDKAccessTokenDidChangeUserIDKey +NS_SWIFT_NAME(AccessTokenDidChangeUserIDKey); /* key in notification's userInfo object for getting the old token. If there was no old token, the key will not be present. */ -FOUNDATION_EXPORT NSString *const FBSDKAccessTokenChangeOldKey; +FOUNDATION_EXPORT NSString *const FBSDKAccessTokenChangeOldKey +NS_SWIFT_NAME(AccessTokenChangeOldKey); /* key in notification's userInfo object for getting the new token. If there is no new token, the key will not be present. */ -FOUNDATION_EXPORT NSString *const FBSDKAccessTokenChangeNewKey; +FOUNDATION_EXPORT NSString *const FBSDKAccessTokenChangeNewKey +NS_SWIFT_NAME(AccessTokenChangeNewKey); /* A key in the notification's userInfo that will be set if and only if the token has expired. */ -FOUNDATION_EXPORT NSString *const FBSDKAccessTokenDidExpireKey; - -FOUNDATION_EXPORT NSString *const FBSDKAccessTokenDidExpire -DEPRECATED_MSG_ATTRIBUTE("Renamed `FBSDKAccessTokenDidExpireKey`"); +FOUNDATION_EXPORT NSString *const FBSDKAccessTokenDidExpireKey +NS_SWIFT_NAME(AccessTokenDidExpireKey); /** Represents an immutable access token for using Facebook services. */ +NS_SWIFT_NAME(AccessToken) @interface FBSDKAccessToken : NSObject + +/** + The "global" access token that represents the currently logged in user. + + The `currentAccessToken` is a convenient representation of the token of the + current user and is used by other SDK components (like `FBSDKLoginManager`). + */ +@property (class, nonatomic, copy, nullable) FBSDKAccessToken *currentAccessToken; + +/** + Returns YES if currentAccessToken is not nil AND currentAccessToken is not expired + + */ +@property (class, nonatomic, assign, readonly, getter=isCurrentAccessTokenActive) BOOL currentAccessTokenIsActive; + /** Returns the app ID. */ -@property (readonly, copy, nonatomic) NSString *appID; +@property (nonatomic, copy, readonly) NSString *appID; /** Returns the expiration date for data access */ -@property (readonly, copy, nonatomic) NSDate *dataAccessExpirationDate; +@property (nonatomic, copy, readonly) NSDate *dataAccessExpirationDate; /** Returns the known declined permissions. */ -@property (readonly, copy, nonatomic) NSSet *declinedPermissions; +@property (nonatomic, copy, readonly) NSSet *declinedPermissions +NS_REFINED_FOR_SWIFT; + +/** + Returns the known declined permissions. + */ +@property (nonatomic, copy, readonly) NSSet *expiredPermissions +NS_REFINED_FOR_SWIFT; /** Returns the expiration date. */ -@property (readonly, copy, nonatomic) NSDate *expirationDate; +@property (nonatomic, copy, readonly) NSDate *expirationDate; /** Returns the known granted permissions. */ -@property (readonly, copy, nonatomic) NSSet *permissions; +@property (nonatomic, copy, readonly) NSSet *permissions +NS_REFINED_FOR_SWIFT; /** Returns the date the token was last refreshed. */ -@property (readonly, copy, nonatomic) NSDate *refreshDate; +@property (nonatomic, copy, readonly) NSDate *refreshDate; /** Returns the opaque token string. */ -@property (readonly, copy, nonatomic) NSString *tokenString; +@property (nonatomic, copy, readonly) NSString *tokenString; /** Returns the user ID. */ -@property (readonly, copy, nonatomic) NSString *userID; +@property (nonatomic, copy, readonly) NSString *userID; /** Returns whether the access token is expired by checking its expirationDate property */ -@property (readonly, assign, nonatomic, getter = isExpired) BOOL expired; +@property (readonly, assign, nonatomic, getter=isExpired) BOOL expired; /** Returns whether user data access is still active for the given access token */ -@property (readonly, assign, nonatomic, getter = isDataAccessExpired) BOOL dataAccessExpired; +@property (readonly, assign, nonatomic, getter=isDataAccessExpired) BOOL dataAccessExpired; - (instancetype)init NS_UNAVAILABLE; + (instancetype)new NS_UNAVAILABLE; @@ -152,29 +177,7 @@ DEPRECATED_MSG_ATTRIBUTE("Renamed `FBSDKAccessTokenDidExpireKey`"); an NSArray for the convenience of literal syntax. @param declinedPermissions the declined permissions. Note this is converted to NSSet and is only an NSArray for the convenience of literal syntax. - @param appID the app ID. - @param userID the user ID. - @param expirationDate the optional expiration date (defaults to distantFuture). - @param refreshDate the optional date the token was last refreshed (defaults to today). - - This initializer should only be used for advanced apps that - manage tokens explicitly. Typical login flows only need to use `FBSDKLoginManager` - along with `+currentAccessToken`. - */ -- (instancetype)initWithTokenString:(NSString *)tokenString - permissions:(NSArray *)permissions - declinedPermissions:(NSArray *)declinedPermissions - appID:(NSString *)appID - userID:(NSString *)userID - expirationDate:(NSDate *)expirationDate - refreshDate:(NSDate *)refreshDate; - -/** - Initializes a new instance. - @param tokenString the opaque token string. - @param permissions the granted permissions. Note this is converted to NSSet and is only - an NSArray for the convenience of literal syntax. - @param declinedPermissions the declined permissions. Note this is converted to NSSet and is only + @param expiredPermissions the expired permissions. Note this is converted to NSSet and is only an NSArray for the convenience of literal syntax. @param appID the app ID. @param userID the user ID. @@ -188,20 +191,22 @@ DEPRECATED_MSG_ATTRIBUTE("Renamed `FBSDKAccessTokenDidExpireKey`"); along with `+currentAccessToken`. */ - (instancetype)initWithTokenString:(NSString *)tokenString - permissions:(NSArray *)permissions - declinedPermissions:(NSArray *)declinedPermissions + permissions:(NSArray *)permissions + declinedPermissions:(NSArray *)declinedPermissions + expiredPermissions:(NSArray *)expiredPermissions appID:(NSString *)appID userID:(NSString *)userID - expirationDate:(NSDate *)expirationDate - refreshDate:(NSDate *)refreshDate - dataAccessExpirationDate:(NSDate *)dataAccessExpirationDate + expirationDate:(nullable NSDate *)expirationDate + refreshDate:(nullable NSDate *)refreshDate + dataAccessExpirationDate:(nullable NSDate *)dataAccessExpirationDate NS_DESIGNATED_INITIALIZER; /** Convenience getter to determine if a permission has been granted @param permission The permission to check. */ -- (BOOL)hasGranted:(NSString *)permission; +- (BOOL)hasGranted:(NSString *)permission +NS_SWIFT_NAME(hasGranted(permission:)); /** Compares the receiver to another FBSDKAccessToken @@ -210,28 +215,6 @@ NS_DESIGNATED_INITIALIZER; */ - (BOOL)isEqualToAccessToken:(FBSDKAccessToken *)token; -/** - Returns the "global" access token that represents the currently logged in user. - - The `currentAccessToken` is a convenient representation of the token of the - current user and is used by other SDK components (like `FBSDKLoginManager`). - */ -+ (FBSDKAccessToken *)currentAccessToken; - -/** - Returns YES if currentAccessToken is not nil AND currentAccessToken is not expired - - */ -+ (BOOL)currentAccessTokenIsActive; - -/** - Sets the "global" access token that represents the currently logged in user. - @param token The access token to set. - - This will broadcast a notification and save the token to the app keychain. - */ -+ (void)setCurrentAccessToken:(FBSDKAccessToken *)token; - /** Refresh the current access token's permission state and extend the token's expiration date, if possible. @@ -242,6 +225,8 @@ NS_DESIGNATED_INITIALIZER; If a token is already expired, it cannot be refreshed. */ -+ (void)refreshCurrentAccessToken:(FBSDKGraphRequestHandler)completionHandler; ++ (void)refreshCurrentAccessToken:(nullable FBSDKGraphRequestBlock)completionHandler; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppEvents.h b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppEvents.h index 4216bfd97..0eb7c0be9 100644 --- a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppEvents.h +++ b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppEvents.h @@ -24,23 +24,28 @@ #import +NS_ASSUME_NONNULL_BEGIN + @class FBSDKAccessToken; @class FBSDKGraphRequest; #if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0 /** NSNotificationCenter name indicating a result of a failed log flush attempt. The posted object will be an NSError instance. */ -FOUNDATION_EXPORT NSNotificationName const FBSDKAppEventsLoggingResultNotification; +FOUNDATION_EXPORT NSNotificationName const FBSDKAppEventsLoggingResultNotification +NS_SWIFT_NAME(AppEventsLoggingResult); #else /** NSNotificationCenter name indicating a result of a failed log flush attempt. The posted object will be an NSError instance. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventsLoggingResultNotification; +FOUNDATION_EXPORT NSString *const FBSDKAppEventsLoggingResultNotification +NS_SWIFT_NAME(AppEventsLoggingResultNotification); #endif /** optional plist key ("FacebookLoggingOverrideAppID") for setting `loggingOverrideAppID` */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventsOverrideAppIDBundleKey; +FOUNDATION_EXPORT NSString *const FBSDKAppEventsOverrideAppIDBundleKey +NS_SWIFT_NAME(AppEventsOverrideAppIDBundleKey); /** @@ -59,8 +64,7 @@ typedef NS_ENUM(NSUInteger, FBSDKAppEventsFlushBehavior) events are persisted and re-established at activation, but they will only be written with an explicit call to `flush`. */ FBSDKAppEventsFlushBehaviorExplicitOnly, - -}; +} NS_SWIFT_NAME(AppEvents.FlushBehavior); /** NS_ENUM(NSUInteger, FBSDKProductAvailability) @@ -88,7 +92,7 @@ typedef NS_ENUM(NSUInteger, FBSDKProductAvailability) * Discontinued */ FBSDKProductAvailabilityDiscontinued, -}; +} NS_SWIFT_NAME(AppEvents.ProductAvailability); /** NS_ENUM(NSUInteger, FBSDKProductCondition) @@ -99,208 +103,266 @@ typedef NS_ENUM(NSUInteger, FBSDKProductCondition) FBSDKProductConditionNew = 0, FBSDKProductConditionRefurbished, FBSDKProductConditionUsed, -}; +} NS_SWIFT_NAME(AppEvents.ProductCondition); /** @methodgroup Predefined event names for logging events common to many apps. Logging occurs through the `logEvent` family of methods on `FBSDKAppEvents`. Common event parameters are provided in the `FBSDKAppEventsParameterNames*` constants. */ +/// typedef for FBSDKAppEventName +typedef NSString *const FBSDKAppEventName NS_TYPED_EXTENSIBLE_ENUM NS_SWIFT_NAME(AppEvents.Name); + /** Log this event when the user has achieved a level in the app. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventNameAchievedLevel; +FOUNDATION_EXPORT FBSDKAppEventName FBSDKAppEventNameAchievedLevel; /** Log this event when the user has entered their payment info. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventNameAddedPaymentInfo; +FOUNDATION_EXPORT FBSDKAppEventName FBSDKAppEventNameAddedPaymentInfo; /** Log this event when the user has added an item to their cart. The valueToSum passed to logEvent should be the item's price. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventNameAddedToCart; +FOUNDATION_EXPORT FBSDKAppEventName FBSDKAppEventNameAddedToCart; /** Log this event when the user has added an item to their wishlist. The valueToSum passed to logEvent should be the item's price. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventNameAddedToWishlist; +FOUNDATION_EXPORT FBSDKAppEventName FBSDKAppEventNameAddedToWishlist; /** Log this event when a user has completed registration with the app. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventNameCompletedRegistration; +FOUNDATION_EXPORT FBSDKAppEventName FBSDKAppEventNameCompletedRegistration; /** Log this event when the user has completed a tutorial in the app. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventNameCompletedTutorial; +FOUNDATION_EXPORT FBSDKAppEventName FBSDKAppEventNameCompletedTutorial; /** Log this event when the user has entered the checkout process. The valueToSum passed to logEvent should be the total price in the cart. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventNameInitiatedCheckout; +FOUNDATION_EXPORT FBSDKAppEventName FBSDKAppEventNameInitiatedCheckout; + +/** Log this event when the user has completed a transaction. The valueToSum passed to logEvent should be the total price of the transaction. */ +FOUNDATION_EXPORT FBSDKAppEventName FBSDKAppEventNamePurchased; /** Log this event when the user has rated an item in the app. The valueToSum passed to logEvent should be the numeric rating. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventNameRated; +FOUNDATION_EXPORT FBSDKAppEventName FBSDKAppEventNameRated; /** Log this event when a user has performed a search within the app. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventNameSearched; +FOUNDATION_EXPORT FBSDKAppEventName FBSDKAppEventNameSearched; /** Log this event when the user has spent app credits. The valueToSum passed to logEvent should be the number of credits spent. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventNameSpentCredits; +FOUNDATION_EXPORT FBSDKAppEventName FBSDKAppEventNameSpentCredits; /** Log this event when the user has unlocked an achievement in the app. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventNameUnlockedAchievement; +FOUNDATION_EXPORT FBSDKAppEventName FBSDKAppEventNameUnlockedAchievement; /** Log this event when a user has viewed a form of content in the app. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventNameViewedContent; +FOUNDATION_EXPORT FBSDKAppEventName FBSDKAppEventNameViewedContent; /** A telephone/SMS, email, chat or other type of contact between a customer and your business. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventNameContact; +FOUNDATION_EXPORT FBSDKAppEventName FBSDKAppEventNameContact; /** The customization of products through a configuration tool or other application your business owns. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventNameCustomizeProduct; +FOUNDATION_EXPORT FBSDKAppEventName FBSDKAppEventNameCustomizeProduct; /** The donation of funds to your organization or cause. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventNameDonate; +FOUNDATION_EXPORT FBSDKAppEventName FBSDKAppEventNameDonate; /** When a person finds one of your locations via web or application, with an intention to visit (example: find product at a local store). */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventNameFindLocation; +FOUNDATION_EXPORT FBSDKAppEventName FBSDKAppEventNameFindLocation; /** The booking of an appointment to visit one of your locations. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventNameSchedule; +FOUNDATION_EXPORT FBSDKAppEventName FBSDKAppEventNameSchedule; + +/** The subsequent subscriptions after the start of a paid subscription for a product or service you offer. */ +FOUNDATION_EXPORT FBSDKAppEventName FBSDKAppEventNameSubscriptionHeartbeat; /** The start of a free trial of a product or service you offer (example: trial subscription). */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventNameStartTrial; +FOUNDATION_EXPORT FBSDKAppEventName FBSDKAppEventNameStartTrial; /** The submission of an application for a product, service or program you offer (example: credit card, educational program or job). */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventNameSubmitApplication; +FOUNDATION_EXPORT FBSDKAppEventName FBSDKAppEventNameSubmitApplication; /** The start of a paid subscription for a product or service you offer. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventNameSubscribe; +FOUNDATION_EXPORT FBSDKAppEventName FBSDKAppEventNameSubscribe; /** Log this event when the user views an ad. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventNameAdImpression; +FOUNDATION_EXPORT FBSDKAppEventName FBSDKAppEventNameAdImpression; /** Log this event when the user clicks an ad. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventNameAdClick; +FOUNDATION_EXPORT FBSDKAppEventName FBSDKAppEventNameAdClick; /** @methodgroup Predefined event name parameters for common additional information to accompany events logged through the `logEvent` family of methods on `FBSDKAppEvents`. Common event names are provided in the `FBAppEventName*` constants. */ +/// typedef for FBSDKAppEventParameterName +typedef NSString *const FBSDKAppEventParameterName NS_TYPED_EXTENSIBLE_ENUM NS_SWIFT_NAME(AppEvents.ParameterName); + /** * Parameter key used to specify data for the one or more pieces of content being logged about. * Data should be a JSON encoded string. * Example: * "[{\"id\": \"1234\", \"quantity\": 2, \"item_price\": 5.99}, {\"id\": \"5678\", \"quantity\": 1, \"item_price\": 9.99}]" */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNameContent; +FOUNDATION_EXPORT FBSDKAppEventParameterName FBSDKAppEventParameterNameContent; /** Parameter key used to specify an ID for the specific piece of content being logged about. Could be an EAN, article identifier, etc., depending on the nature of the app. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNameContentID; +FOUNDATION_EXPORT FBSDKAppEventParameterName FBSDKAppEventParameterNameContentID; /** Parameter key used to specify a generic content type/family for the logged event, e.g. "music", "photo", "video". Options to use will vary based upon what the app is all about. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNameContentType; +FOUNDATION_EXPORT FBSDKAppEventParameterName FBSDKAppEventParameterNameContentType; /** Parameter key used to specify currency used with logged event. E.g. "USD", "EUR", "GBP". See ISO-4217 for specific values. One reference for these is . */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNameCurrency; +FOUNDATION_EXPORT FBSDKAppEventParameterName FBSDKAppEventParameterNameCurrency; /** Parameter key used to specify a description appropriate to the event being logged. E.g., the name of the achievement unlocked in the `FBAppEventNameAchievementUnlocked` event. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNameDescription; +FOUNDATION_EXPORT FBSDKAppEventParameterName FBSDKAppEventParameterNameDescription; /** Parameter key used to specify the level achieved in a `FBAppEventNameAchieved` event. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNameLevel; +FOUNDATION_EXPORT FBSDKAppEventParameterName FBSDKAppEventParameterNameLevel; /** Parameter key used to specify the maximum rating available for the `FBAppEventNameRate` event. E.g., "5" or "10". */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNameMaxRatingValue; +FOUNDATION_EXPORT FBSDKAppEventParameterName FBSDKAppEventParameterNameMaxRatingValue; /** Parameter key used to specify how many items are being processed for an `FBAppEventNameInitiatedCheckout` or `FBAppEventNamePurchased` event. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNameNumItems; +FOUNDATION_EXPORT FBSDKAppEventParameterName FBSDKAppEventParameterNameNumItems; /** Parameter key used to specify whether payment info is available for the `FBAppEventNameInitiatedCheckout` event. `FBSDKAppEventParameterValueYes` and `FBSDKAppEventParameterValueNo` are good canonical values to use for this parameter. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNamePaymentInfoAvailable; +FOUNDATION_EXPORT FBSDKAppEventParameterName FBSDKAppEventParameterNamePaymentInfoAvailable; /** Parameter key used to specify method user has used to register for the app, e.g., "Facebook", "email", "Twitter", etc */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNameRegistrationMethod; +FOUNDATION_EXPORT FBSDKAppEventParameterName FBSDKAppEventParameterNameRegistrationMethod; /** Parameter key used to specify the string provided by the user for a search operation. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNameSearchString; +FOUNDATION_EXPORT FBSDKAppEventParameterName FBSDKAppEventParameterNameSearchString; /** Parameter key used to specify whether the activity being logged about was successful or not. `FBSDKAppEventParameterValueYes` and `FBSDKAppEventParameterValueNo` are good canonical values to use for this parameter. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNameSuccess; +FOUNDATION_EXPORT FBSDKAppEventParameterName FBSDKAppEventParameterNameSuccess; /** @methodgroup Predefined event name parameters for common additional information to accompany events logged through the `logProductItem` method on `FBSDKAppEvents`. */ +/// typedef for FBSDKAppEventParameterProduct +typedef NSString *const FBSDKAppEventParameterProduct NS_TYPED_EXTENSIBLE_ENUM NS_SWIFT_NAME(AppEvents.ParameterProduct); + +/** Parameter key used to specify the product item's category. */ +FOUNDATION_EXPORT FBSDKAppEventParameterProduct FBSDKAppEventParameterProductCategory; + /** Parameter key used to specify the product item's custom label 0. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterProductCustomLabel0; +FOUNDATION_EXPORT FBSDKAppEventParameterProduct FBSDKAppEventParameterProductCustomLabel0; /** Parameter key used to specify the product item's custom label 1. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterProductCustomLabel1; +FOUNDATION_EXPORT FBSDKAppEventParameterProduct FBSDKAppEventParameterProductCustomLabel1; /** Parameter key used to specify the product item's custom label 2. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterProductCustomLabel2; +FOUNDATION_EXPORT FBSDKAppEventParameterProduct FBSDKAppEventParameterProductCustomLabel2; /** Parameter key used to specify the product item's custom label 3. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterProductCustomLabel3; +FOUNDATION_EXPORT FBSDKAppEventParameterProduct FBSDKAppEventParameterProductCustomLabel3; /** Parameter key used to specify the product item's custom label 4. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterProductCustomLabel4; +FOUNDATION_EXPORT FBSDKAppEventParameterProduct FBSDKAppEventParameterProductCustomLabel4; /** Parameter key used to specify the product item's AppLink app URL for iOS. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterProductAppLinkIOSUrl; +FOUNDATION_EXPORT FBSDKAppEventParameterProduct FBSDKAppEventParameterProductAppLinkIOSUrl; /** Parameter key used to specify the product item's AppLink app ID for iOS App Store. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterProductAppLinkIOSAppStoreID; +FOUNDATION_EXPORT FBSDKAppEventParameterProduct FBSDKAppEventParameterProductAppLinkIOSAppStoreID; /** Parameter key used to specify the product item's AppLink app name for iOS. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterProductAppLinkIOSAppName; +FOUNDATION_EXPORT FBSDKAppEventParameterProduct FBSDKAppEventParameterProductAppLinkIOSAppName; /** Parameter key used to specify the product item's AppLink app URL for iPhone. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterProductAppLinkIPhoneUrl; +FOUNDATION_EXPORT FBSDKAppEventParameterProduct FBSDKAppEventParameterProductAppLinkIPhoneUrl; /** Parameter key used to specify the product item's AppLink app ID for iPhone App Store. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterProductAppLinkIPhoneAppStoreID; +FOUNDATION_EXPORT FBSDKAppEventParameterProduct FBSDKAppEventParameterProductAppLinkIPhoneAppStoreID; /** Parameter key used to specify the product item's AppLink app name for iPhone. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterProductAppLinkIPhoneAppName; +FOUNDATION_EXPORT FBSDKAppEventParameterProduct FBSDKAppEventParameterProductAppLinkIPhoneAppName; /** Parameter key used to specify the product item's AppLink app URL for iPad. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterProductAppLinkIPadUrl; +FOUNDATION_EXPORT FBSDKAppEventParameterProduct FBSDKAppEventParameterProductAppLinkIPadUrl; /** Parameter key used to specify the product item's AppLink app ID for iPad App Store. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterProductAppLinkIPadAppStoreID; +FOUNDATION_EXPORT FBSDKAppEventParameterProduct FBSDKAppEventParameterProductAppLinkIPadAppStoreID; /** Parameter key used to specify the product item's AppLink app name for iPad. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterProductAppLinkIPadAppName; +FOUNDATION_EXPORT FBSDKAppEventParameterProduct FBSDKAppEventParameterProductAppLinkIPadAppName; /** Parameter key used to specify the product item's AppLink app URL for Android. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterProductAppLinkAndroidUrl; +FOUNDATION_EXPORT FBSDKAppEventParameterProduct FBSDKAppEventParameterProductAppLinkAndroidUrl; /** Parameter key used to specify the product item's AppLink fully-qualified package name for intent generation. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterProductAppLinkAndroidPackage; +FOUNDATION_EXPORT FBSDKAppEventParameterProduct FBSDKAppEventParameterProductAppLinkAndroidPackage; /** Parameter key used to specify the product item's AppLink app name for Android. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterProductAppLinkAndroidAppName; +FOUNDATION_EXPORT FBSDKAppEventParameterProduct FBSDKAppEventParameterProductAppLinkAndroidAppName; /** Parameter key used to specify the product item's AppLink app URL for Windows Phone. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterProductAppLinkWindowsPhoneUrl; +FOUNDATION_EXPORT FBSDKAppEventParameterProduct FBSDKAppEventParameterProductAppLinkWindowsPhoneUrl; /** Parameter key used to specify the product item's AppLink app ID, as a GUID, for App Store. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterProductAppLinkWindowsPhoneAppID; +FOUNDATION_EXPORT FBSDKAppEventParameterProduct FBSDKAppEventParameterProductAppLinkWindowsPhoneAppID; /** Parameter key used to specify the product item's AppLink app name for Windows Phone. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterProductAppLinkWindowsPhoneAppName; +FOUNDATION_EXPORT FBSDKAppEventParameterProduct FBSDKAppEventParameterProductAppLinkWindowsPhoneAppName; /* @methodgroup Predefined values to assign to event parameters that accompany events logged through the `logEvent` family of methods on `FBSDKAppEvents`. Common event parameters are provided in the `FBSDKAppEventParameterName*` constants. */ +/// typedef for FBSDKAppEventParameterValue +typedef NSString *const FBSDKAppEventParameterValue NS_TYPED_EXTENSIBLE_ENUM NS_SWIFT_NAME(AppEvents.ParameterValue); + /** Yes-valued parameter value to be used with parameter keys that need a Yes/No value */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterValueYes; +FOUNDATION_EXPORT FBSDKAppEventParameterValue FBSDKAppEventParameterValueYes; /** No-valued parameter value to be used with parameter keys that need a Yes/No value */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterValueNo; +FOUNDATION_EXPORT FBSDKAppEventParameterValue FBSDKAppEventParameterValueNo; /** Parameter key used to specify the type of ad in an FBSDKAppEventNameAdImpression * or FBSDKAppEventNameAdClick event. * E.g. "banner", "interstitial", "rewarded_video", "native" */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNameAdType; +FOUNDATION_EXPORT FBSDKAppEventParameterName FBSDKAppEventParameterNameAdType; /** Parameter key used to specify the unique ID for all events within a subscription * in an FBSDKAppEventNameSubscribe or FBSDKAppEventNameStartTrial event. */ -FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNameOrderID; +FOUNDATION_EXPORT FBSDKAppEventParameterName FBSDKAppEventParameterNameOrderID; + +/* + @methodgroup Predefined values to assign to user data store + */ + +/// typedef for FBSDKAppEventUserDataType +typedef NSString *const FBSDKAppEventUserDataType NS_TYPED_EXTENSIBLE_ENUM NS_SWIFT_NAME(AppEvents.UserDataType); + +/** Parameter key used to specify user's email. */ +FOUNDATION_EXPORT FBSDKAppEventUserDataType FBSDKAppEventEmail; + +/** Parameter key used to specify user's first name. */ +FOUNDATION_EXPORT FBSDKAppEventUserDataType FBSDKAppEventFirstName; + +/** Parameter key used to specify user's last name. */ +FOUNDATION_EXPORT FBSDKAppEventUserDataType FBSDKAppEventLastName; + +/** Parameter key used to specify user's phone. */ +FOUNDATION_EXPORT FBSDKAppEventUserDataType FBSDKAppEventPhone; + +/** Parameter key used to specify user's date of birth. */ +FOUNDATION_EXPORT FBSDKAppEventUserDataType FBSDKAppEventDateOfBirth; + +/** Parameter key used to specify user's gender. */ +FOUNDATION_EXPORT FBSDKAppEventUserDataType FBSDKAppEventGender; + +/** Parameter key used to specify user's city. */ +FOUNDATION_EXPORT FBSDKAppEventUserDataType FBSDKAppEventCity; + +/** Parameter key used to specify user's state. */ +FOUNDATION_EXPORT FBSDKAppEventUserDataType FBSDKAppEventState; + +/** Parameter key used to specify user's zip. */ +FOUNDATION_EXPORT FBSDKAppEventUserDataType FBSDKAppEventZip; + +/** Parameter key used to specify user's country. */ +FOUNDATION_EXPORT FBSDKAppEventUserDataType FBSDKAppEventCountry; /** @@ -351,8 +413,45 @@ FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNameOrderID; + The length of each parameter value can be no more than on the order of 100 characters. */ + +NS_SWIFT_NAME(AppEvents) @interface FBSDKAppEvents : NSObject +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; + +/* + * Control over event batching/flushing + */ + +/** + + The current event flushing behavior specifying when events are sent back to Facebook servers. + */ +@property (class, nonatomic, assign) FBSDKAppEventsFlushBehavior flushBehavior; + +/** + Set the 'override' App ID for App Event logging. + + + + In some cases, apps want to use one Facebook App ID for login and social presence and another + for App Event logging. (An example is if multiple apps from the same company share an app ID for login, but + want distinct logging.) By default, this value is `nil`, and defers to the `FBSDKAppEventsOverrideAppIDBundleKey` + plist value. If that's not set, it defaults to `[FBSDKSettings appID]`. + + This should be set before any other calls are made to `FBSDKAppEvents`. Thus, you should set it in your application + delegate's `application:didFinishLaunchingWithOptions:` delegate. + */ +@property (class, nonatomic, copy, nullable) NSString *loggingOverrideAppID; + +/* + The custom user ID to associate with all app events. + + The userID is persisted until it is cleared by passing nil. + */ +@property (class, nonatomic, copy, nullable) NSString *userID; + /* * Basic event logging */ @@ -365,7 +464,7 @@ FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNameOrderID; are given in the `FBSDKAppEvents` documentation. */ -+ (void)logEvent:(NSString *)eventName; ++ (void)logEvent:(FBSDKAppEventName)eventName; /** @@ -377,7 +476,7 @@ FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNameOrderID; @param valueToSum Amount to be aggregated into all events of this eventName, and App Insights will report the cumulative and average value of this amount. */ -+ (void)logEvent:(NSString *)eventName ++ (void)logEvent:(FBSDKAppEventName)eventName valueToSum:(double)valueToSum; @@ -394,8 +493,8 @@ FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNameOrderID; parameters and name construction are given in the `FBSDKAppEvents` documentation. Commonly used parameter names are provided in `FBSDKAppEventParameterName*` constants. */ -+ (void)logEvent:(NSString *)eventName - parameters:(NSDictionary *)parameters; ++ (void)logEvent:(FBSDKAppEventName)eventName + parameters:(NSDictionary *)parameters; /** @@ -414,9 +513,9 @@ FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNameOrderID; are provided in `FBSDKAppEventParameterName*` constants. */ -+ (void)logEvent:(NSString *)eventName ++ (void)logEvent:(FBSDKAppEventName)eventName valueToSum:(double)valueToSum - parameters:(NSDictionary *)parameters; + parameters:(NSDictionary *)parameters; /** @@ -439,10 +538,10 @@ FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNameOrderID; @param accessToken The optional access token to log the event as. */ -+ (void)logEvent:(NSString *)eventName - valueToSum:(NSNumber *)valueToSum - parameters:(NSDictionary *)parameters - accessToken:(FBSDKAccessToken *)accessToken; ++ (void)logEvent:(FBSDKAppEventName)eventName + valueToSum:(nullable NSNumber *)valueToSum + parameters:(NSDictionary *)parameters + accessToken:(nullable FBSDKAccessToken *)accessToken; /* * Purchase logging @@ -489,7 +588,7 @@ FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNameOrderID; */ + (void)logPurchase:(double)purchaseAmount currency:(NSString *)currency - parameters:(NSDictionary *)parameters; + parameters:(NSDictionary *)parameters; /** @@ -516,8 +615,8 @@ FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNameOrderID; */ + (void)logPurchase:(double)purchaseAmount currency:(NSString *)currency - parameters:(NSDictionary *)parameters - accessToken:(FBSDKAccessToken *)accessToken; + parameters:(NSDictionary *)parameters + accessToken:(nullable FBSDKAccessToken *)accessToken; /* @@ -574,10 +673,10 @@ FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNameOrderID; title:(NSString *)title priceAmount:(double)priceAmount currency:(NSString *)currency - gtin:(NSString *)gtin - mpn:(NSString *)mpn - brand:(NSString *)brand - parameters:(NSDictionary *)parameters; + gtin:(nullable NSString *)gtin + mpn:(nullable NSString *)mpn + brand:(nullable NSString *)brand + parameters:(nullable NSDictionary *)parameters; /** @@ -624,52 +723,8 @@ FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNameOrderID; @param deviceTokenString Device token string. */ -+ (void)setPushNotificationsDeviceTokenString:(NSString *)deviceTokenString; - -/* - * Control over event batching/flushing - */ - -/** - - Get the current event flushing behavior specifying when events are sent back to Facebook servers. - */ -+ (FBSDKAppEventsFlushBehavior)flushBehavior; - -/** - - Set the current event flushing behavior specifying when events are sent back to Facebook servers. - - @param flushBehavior The desired `FBSDKAppEventsFlushBehavior` to be used. - */ -+ (void)setFlushBehavior:(FBSDKAppEventsFlushBehavior)flushBehavior; - -/** - Set the 'override' App ID for App Event logging. - - - - In some cases, apps want to use one Facebook App ID for login and social presence and another - for App Event logging. (An example is if multiple apps from the same company share an app ID for login, but - want distinct logging.) By default, this value is `nil`, and defers to the `FBSDKAppEventsOverrideAppIDBundleKey` - plist value. If that's not set, it defaults to `[FBSDKSettings appID]`. - - This should be set before any other calls are made to `FBSDKAppEvents`. Thus, you should set it in your application - delegate's `application:didFinishLaunchingWithOptions:` delegate. - - @param appID The Facebook App ID to be used for App Event logging. - */ -+ (void)setLoggingOverrideAppID:(NSString *)appID; - -/** - Get the 'override' App ID for App Event logging. - - -@see setLoggingOverrideAppID: - - */ -+ (NSString *)loggingOverrideAppID; - ++ (void)setPushNotificationsDeviceTokenString:(NSString *)deviceTokenString +NS_SWIFT_NAME(setPushNotificationsDeviceToken(_:)); /** Explicitly kick off flushing of events to Facebook. This is an asynchronous method, but it does initiate an immediate @@ -682,11 +737,6 @@ FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNameOrderID; Callers will send this ID back to their own servers, collect up a set to create a Facebook Custom Audience with, and then use the resultant Custom Audience to target ads. - @param accessToken The access token to use to establish the user's identity for users logged into Facebook through this app. - If `nil`, then the `[FBSDKAccessToken currentAccessToken]` is used. - - - The JSON in the request's response will include an "custom_audience_third_party_id" key/value pair, with the value being the ID retrieved. This ID is an encrypted encoding of the Facebook user's ID and the invoking Facebook app ID. Multiple calls with the same user will return different IDs, thus these IDs cannot be used to correlate behavior @@ -699,49 +749,17 @@ FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNameOrderID; This method returns `nil` if either the user has opted-out (via iOS) from Ad Tracking, the app itself has limited event usage via the `[FBSDKSettings limitEventAndDataUsage]` flag, or a specific Facebook user cannot be identified. - */ -+ (FBSDKGraphRequest *)requestForCustomAudienceThirdPartyIDWithAccessToken:(FBSDKAccessToken *)accessToken; -/* - Sets a custom user ID to associate with all app events. - - The userID is persisted until it is cleared by passing nil. + @param accessToken The access token to use to establish the user's identity for users logged into Facebook through this app. + If `nil`, then the `[FBSDKAccessToken currentAccessToken]` is used. */ -+ (void)setUserID:(NSString *)userID; ++ (nullable FBSDKGraphRequest *)requestForCustomAudienceThirdPartyIDWithAccessToken:(nullable FBSDKAccessToken *)accessToken; /* Clears the custom user ID to associate with all app events. */ + (void)clearUserID; -/* - Returns the set custom user ID. - */ -+ (NSString *)userID; - -/* - Sets custom user data to associate with all app events. All user data are hashed - and used to match Facebook user from this instance of an application. - - The user data will be persisted between application instances. - - @param userData user data to identify the user. User data should be formated as - a NSDictionary of data type name and value. - Supported data types and names are: - Email: em - First Name: fn - Last Name: ln - Phone: ph - Date of Birth: db - Gender: ge - City: ct - State: st - Zip: zp - Country: country - */ -+ (void)setUserData:(NSDictionary *)userData - DEPRECATED_MSG_ATTRIBUTE("Renamed `setUserEmail:firstName: ...`"); - /* Sets custom user data to associate with all app events. All user data are hashed and used to match Facebook user from this instance of an application. @@ -759,26 +777,45 @@ FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNameOrderID; @param zip user's zip @param country user's country */ -+ (void)setUserEmail:(NSString *)email - firstName:(NSString *)firstName - lastName:(NSString *)lastName - phone:(NSString *)phone - dateOfBirth:(NSString *)dateOfBirth - gender:(NSString *)gender - city:(NSString *)city - state:(NSString *)state - zip:(NSString *)zip - country:(NSString *)country; ++ (void)setUserEmail:(nullable NSString *)email + firstName:(nullable NSString *)firstName + lastName:(nullable NSString *)lastName + phone:(nullable NSString *)phone + dateOfBirth:(nullable NSString *)dateOfBirth + gender:(nullable NSString *)gender + city:(nullable NSString *)city + state:(nullable NSString *)state + zip:(nullable NSString *)zip + country:(nullable NSString *)country +NS_SWIFT_NAME(setUser(email:firstName:lastName:phone:dateOfBirth:gender:city:state:zip:country:)); + /* Returns the set user data else nil */ -+ (NSString *)getUserData; ++ (nullable NSString *)getUserData; /* Clears the current user data */ + (void)clearUserData; +/* + Sets custom user data to associate with all app events. All user data are hashed + and used to match Facebook user from this instance of an application. + + The user data will be persisted between application instances. + + @param data data + @param type data type, e.g. FBSDKAppEventEmail, FBSDKAppEventPhone + */ ++ (void)setUserData:(nullable NSString *)data + forType:(FBSDKAppEventUserDataType)type; + +/* + Clears the current user data of certain type + */ ++ (void)clearUserDataForType:(FBSDKAppEventUserDataType)type; + /* Sends a request to update the properties for the current user, set by `setUserID:` @@ -786,7 +823,7 @@ FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNameOrderID; @param properties the custom user properties @param handler the optional completion handler */ -+ (void)updateUserProperties:(NSDictionary *)properties handler:(FBSDKGraphRequestHandler)handler; ++ (void)updateUserProperties:(NSDictionary *)properties handler:(nullable FBSDKGraphRequestBlock)handler; #if !TARGET_OS_TV /* @@ -820,3 +857,5 @@ FOUNDATION_EXPORT NSString *const FBSDKAppEventParameterNameOrderID; + (void)sendEventBindingsToUnity; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLink.h b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLink.h index 4bd2d01a6..ece8f6188 100644 --- a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLink.h +++ b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLink.h @@ -23,14 +23,19 @@ NS_ASSUME_NONNULL_BEGIN /*! The version of the App Link protocol that this library supports */ -FOUNDATION_EXPORT NSString *const FBSDKAppLinkVersion; +FOUNDATION_EXPORT NSString *const FBSDKAppLinkVersion +NS_SWIFT_NAME(AppLinkVersion); /*! Contains App Link metadata relevant for navigation on this device derived from the HTML at a given URL. */ +NS_SWIFT_NAME(AppLink) @interface FBSDKAppLink : NSObject +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; + /*! Creates a FBSDKAppLink with the given list of FBSDKAppLinkTargets and target URL. @@ -44,7 +49,8 @@ FOUNDATION_EXPORT NSString *const FBSDKAppLinkVersion; */ + (instancetype)appLinkWithSourceURL:(NSURL *)sourceURL targets:(NSArray *)targets - webURL:(nullable NSURL *)webURL; + webURL:(nullable NSURL *)webURL +NS_SWIFT_NAME(init(sourceURL:targets:webURL:)); /*! The URL from which this FBSDKAppLink was derived */ @property (nonatomic, strong, readonly) NSURL *sourceURL; diff --git a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLinkNavigation.h b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLinkNavigation.h index daf124ffe..5f994847e 100644 --- a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLinkNavigation.h +++ b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLinkNavigation.h @@ -33,7 +33,7 @@ typedef NS_ENUM(NSInteger, FBSDKAppLinkNavigationType) { FBSDKAppLinkNavigationTypeBrowser, /*! Indicates that the navigation succeeded by opening the URL in an app on the device */ FBSDKAppLinkNavigationTypeApp -}; +} NS_SWIFT_NAME(AppLinkNavigation.Type); /** Describes the callback for appLinkFromURLInBackground. @@ -41,7 +41,8 @@ typedef NS_ENUM(NSInteger, FBSDKAppLinkNavigationType) { @param error the error during the request, if any */ -typedef void (^FBSDKAppLinkNavigationHandler)(FBSDKAppLinkNavigationType navType, NSError * _Nullable error); +typedef void (^FBSDKAppLinkNavigationBlock)(FBSDKAppLinkNavigationType navType, NSError * _Nullable error) +NS_SWIFT_NAME(AppLinkNavigationBlock); /*! Represents a pending request to navigate to an App Link. Most developers will @@ -50,8 +51,19 @@ typedef void (^FBSDKAppLinkNavigationHandler)(FBSDKAppLinkNavigationType navType creating FBSDKAppLinkNavigations themselves. */ NS_EXTENSION_UNAVAILABLE_IOS("Not available in app extension") +NS_SWIFT_NAME(AppLinkNavigation) @interface FBSDKAppLinkNavigation : NSObject +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; + +/*! + The default resolver to be used for App Link resolution. If the developer has not set one explicitly, + a basic, built-in FBSDKWebViewAppLinkResolver will be used. + */ +@property (class, nonatomic, strong) id defaultResolver +NS_SWIFT_NAME(default); + /*! The extras for the AppLinkNavigation. This will generally contain application-specific data that should be passed along with the request, such as advertiser or affiliate IDs or @@ -78,28 +90,32 @@ NS_EXTENSION_UNAVAILABLE_IOS("Not available in app extension") /*! Creates an AppLinkNavigation with the given link, extras, and App Link data */ + (instancetype)navigationWithAppLink:(FBSDKAppLink *)appLink extras:(NSDictionary *)extras - appLinkData:(NSDictionary *)appLinkData; + appLinkData:(NSDictionary *)appLinkData +NS_SWIFT_NAME(init(appLink:extras:appLinkData:)); /*! Creates an NSDictionary with the correct format for iOS callback URLs, to be used as 'appLinkData' argument in the call to navigationWithAppLink:extras:appLinkData: */ + (NSDictionary *> *)callbackAppLinkDataForAppWithName:(NSString *)appName - url:(NSString *)url; + url:(NSString *)url +NS_SWIFT_NAME(callbackAppLinkData(forApp:url:)); /*! Performs the navigation */ -- (FBSDKAppLinkNavigationType)navigate:(NSError *__autoreleasing *)error; +- (FBSDKAppLinkNavigationType)navigate:(NSError **)error +__attribute__((swift_error(nonnull_error))); /*! Returns a FBSDKAppLink for the given URL */ -+ (void)resolveAppLink:(NSURL *)destination handler:(FBSDKAppLinkFromURLHandler)handler; ++ (void)resolveAppLink:(NSURL *)destination handler:(FBSDKAppLinkBlock)handler; /*! Returns a FBSDKAppLink for the given URL using the given App Link resolution strategy */ + (void)resolveAppLink:(NSURL *)destination resolver:(id)resolver - handler:(FBSDKAppLinkFromURLHandler)handler; + handler:(FBSDKAppLinkBlock)handler; /*! Navigates to a FBSDKAppLink and returns whether it opened in-app or in-browser */ -+ (FBSDKAppLinkNavigationType)navigateToAppLink:(FBSDKAppLink *)link error:(NSError *__autoreleasing *)error; ++ (FBSDKAppLinkNavigationType)navigateToAppLink:(FBSDKAppLink *)link error:(NSError **)error +__attribute__((swift_error(nonnull_error))); /*! Returns a FBSDKAppLinkNavigationType based on a FBSDKAppLink. @@ -110,7 +126,7 @@ NS_EXTENSION_UNAVAILABLE_IOS("Not available in app extension") + (FBSDKAppLinkNavigationType)navigationTypeForLink:(FBSDKAppLink *)link; /*! Navigates to a URL (an asynchronous action) and returns a FBSDKNavigationType */ -+ (void)navigateToURL:(NSURL *)destination handler:(FBSDKAppLinkNavigationHandler)handler; ++ (void)navigateToURL:(NSURL *)destination handler:(FBSDKAppLinkNavigationBlock)handler; /*! Navigates to a URL (an asynchronous action) using the given App Link resolution @@ -118,19 +134,7 @@ NS_EXTENSION_UNAVAILABLE_IOS("Not available in app extension") */ + (void)navigateToURL:(NSURL *)destination resolver:(id)resolver - handler:(FBSDKAppLinkNavigationHandler)handler; - -/*! - Gets the default resolver to be used for App Link resolution. If the developer has not set one explicitly, - a basic, built-in resolver will be used. - */ -+ (id)defaultResolver; - -/*! - Sets the default resolver to be used for App Link resolution. Setting this to nil will revert the - default resolver to the basic, built-in resolver provided by FBSDK. - */ -+ (void)setDefaultResolver:(id)resolver; + handler:(FBSDKAppLinkNavigationBlock)handler; @end diff --git a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLinkResolver.h b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLinkResolver.h index 39b5dc0e8..85127fd93 100644 --- a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLinkResolver.h +++ b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLinkResolver.h @@ -20,75 +20,31 @@ #import "FBSDKAppLinkResolving.h" -@class BFTask; - - -// Check if Bolts.framework is available for import -#if __has_include() -// Import it if it's available -#import -#else -// Otherwise - redeclare BFAppLinkResolving protocol to resolve the problem of missing symbols -// Please note: Bolts.framework is still required for AppLink resolving to work, -// but this allows FBSDKCoreKit to weakly link Bolts.framework as well as this enables clang modulemaps to work. - -/** - Implement this protocol to provide an alternate strategy for resolving - App Links that may include pre-fetching, caching, or querying for App Link - data from an index provided by a service provider. - */ -DEPRECATED_MSG_ATTRIBUTE("Use `FBSDKAppLinkResolving`") -@protocol BFAppLinkResolving +NS_ASSUME_NONNULL_BEGIN /** - Asynchronously resolves App Link data for a given URL. - - @param url The URL to resolve into an App Link. - @return A BFTask that will return a BFAppLink for the given URL. + Describes the callback for appLinkFromURLInBackground. + @param appLinks the FBSDKAppLinks representing the deferred App Links + @param error the error during the request, if any */ -- (BFTask *)appLinkFromURLInBackground:(NSURL *)url -DEPRECATED_MSG_ATTRIBUTE("Use `appLinkFromURL:handler:`"); - -@end - -#endif +typedef void (^FBSDKAppLinksBlock)(NSDictionary * appLinks, + NSError * _Nullable error) +NS_SWIFT_NAME(AppLinksBlock); /** - Provides an implementation of the BFAppLinkResolving protocol that uses the Facebook App Link + Provides an implementation of the FBSDKAppLinkResolving protocol that uses the Facebook App Link Index API to resolve App Links given a URL. It also provides an additional helper method that can resolve multiple App Links in a single call. - - - Usage of this type requires a client token. See `[FBSDKSettings setClientToken:]` and linking - Bolts.framework + Usage of this type requires a client token. See `[FBSDKSettings setClientToken:]` */ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" -@interface FBSDKAppLinkResolver : NSObject -#pragma clang diagnostic pop -/** - Asynchronously resolves App Link data for multiple URLs. +NS_SWIFT_NAME(AppLinkResolver) +@interface FBSDKAppLinkResolver : NSObject - @param urls An array of NSURLs to resolve into App Links. - @return A BFTask that will return dictionary mapping input NSURLs to their - corresponding BFAppLink. - - You should set the client token before making this call. See `[FBSDKSettings setClientToken:]` - */ -- (BFTask *)appLinksFromURLsInBackground:(NSArray *)urls -DEPRECATED_MSG_ATTRIBUTE("Use `appLinkFromURLs:handler:`"); - -/** - Asynchronously resolves App Link data for a given URL. - - @param url The URL to resolve into an App Link. - @return A BFTask that will return a BFAppLink for the given URL. - */ -- (BFTask *)appLinkFromURLInBackground:(NSURL *)url -DEPRECATED_MSG_ATTRIBUTE("Use `appLinkFromURL:handler:`"); +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; /** Asynchronously resolves App Link data for a given array of URLs. @@ -96,12 +52,15 @@ DEPRECATED_MSG_ATTRIBUTE("Use `appLinkFromURL:handler:`"); @param urls The URLs to resolve into an App Link. @param handler The completion block that will return an App Link for the given URL. */ -- (void)appLinksFromURLs:(NSArray *)urls handler:(FBSDKAppLinksFromURLArrayHandler)handler +- (void)appLinksFromURLs:(NSArray *)urls handler:(FBSDKAppLinksBlock)handler NS_EXTENSION_UNAVAILABLE_IOS("Not available in app extension"); /** Allocates and initializes a new instance of FBSDKAppLinkResolver. */ -+ (instancetype)resolver; ++ (instancetype)resolver +NS_SWIFT_NAME(init()); @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLinkResolving.h b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLinkResolving.h index fac242537..385c7f370 100644 --- a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLinkResolving.h +++ b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLinkResolving.h @@ -28,22 +28,16 @@ NS_ASSUME_NONNULL_BEGIN @param error the error during the request, if any */ -typedef void (^FBSDKAppLinkFromURLHandler)(FBSDKAppLink * _Nullable appLink, NSError * _Nullable error); +typedef void (^FBSDKAppLinkBlock)(FBSDKAppLink * _Nullable appLink, NSError * _Nullable error) +NS_SWIFT_NAME(AppLinkBlock); -/** - Describes the callback for appLinkFromURLInBackground. - @param appLinks the FBSDKAppLinks representing the deferred App Links - @param error the error during the request, if any - */ -typedef void (^FBSDKAppLinksFromURLArrayHandler)(NSDictionary * appLinks, - NSError * _Nullable error); - /*! Implement this protocol to provide an alternate strategy for resolving App Links that may include pre-fetching, caching, or querying for App Link data from an index provided by a service provider. */ +NS_SWIFT_NAME(AppLinkResolving) @protocol FBSDKAppLinkResolving /** @@ -52,7 +46,7 @@ typedef void (^FBSDKAppLinksFromURLArrayHandler)(NSDictionary @optional /*! Called when the user has tapped to navigate, but before the navigation has been performed. */ - (void)returnToRefererController:(FBSDKAppLinkReturnToRefererController *)controller - willNavigateToAppLink:(FBSDKAppLink *)appLink; + willNavigateToAppLink:(FBSDKAppLink *)appLink +NS_SWIFT_NAME(return(to:willNavigateTo:)); /*! Called after the navigation has been attempted, with an indication of whether the referer app link was successfully opened. */ - (void)returnToRefererController:(FBSDKAppLinkReturnToRefererController *)controller didNavigateToAppLink:(FBSDKAppLink *)url - type:(FBSDKAppLinkNavigationType)type; + type:(FBSDKAppLinkNavigationType)type +NS_SWIFT_NAME(return(to:didNavigateTo:type:)); @end @@ -51,6 +54,7 @@ NS_ASSUME_NONNULL_BEGIN the ability to display the view above the navigation bar for navigation-based apps. */ NS_EXTENSION_UNAVAILABLE_IOS("Not available in app extension") +NS_SWIFT_NAME(AppLinkReturnToRefererController) @interface FBSDKAppLinkReturnToRefererController : NSObject /*! @@ -72,8 +76,11 @@ NS_EXTENSION_UNAVAILABLE_IOS("Not available in app extension") /*! Initializes a controller suitable for controlling a FBSDKAppLinkReturnToRefererView that is to be displayed displayed above the navigation bar. + + @param navController The Navigation Controller for display above */ -- (instancetype)initForDisplayAboveNavController:(UINavigationController *)navController; +- (instancetype)initForDisplayAboveNavController:(UINavigationController *)navController +NS_SWIFT_NAME(init(navController:)); /*! Removes the view entirely from the navigation controller it is currently displayed in. @@ -83,12 +90,14 @@ NS_EXTENSION_UNAVAILABLE_IOS("Not available in app extension") /*! Shows the FBSDKAppLinkReturnToRefererView with the specified referer information. If nil or missing data, the view will not be displayed. */ -- (void)showViewForRefererAppLink:(FBSDKAppLink *)refererAppLink; +- (void)showViewForRefererAppLink:(FBSDKAppLink *)refererAppLink +NS_SWIFT_NAME(showView(forReferer:)); /*! Shows the FBSDKAppLinkReturnToRefererView with referer information extracted from the specified URL. If nil or missing referer App Link data, the view will not be displayed. */ -- (void)showViewForRefererURL:(NSURL *)url; +- (void)showViewForRefererURL:(NSURL *)url +NS_SWIFT_NAME(showView(forReferer:)); /*! Closes the view, possibly animating it. diff --git a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLinkReturnToRefererView.h b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLinkReturnToRefererView.h index c5378b73c..aa2ae090b 100644 --- a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLinkReturnToRefererView.h +++ b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLinkReturnToRefererView.h @@ -25,9 +25,8 @@ NS_ASSUME_NONNULL_BEGIN typedef NS_ENUM(NSUInteger, FBSDKIncludeStatusBarInSize) { FBSDKIncludeStatusBarInSizeNever, - FBSDKIncludeStatusBarInSizeIOS7AndLater, FBSDKIncludeStatusBarInSizeAlways, -}; +} NS_SWIFT_NAME(FBAppLinkReturnToRefererView.StatusBarSizeInclude); @class FBSDKAppLinkReturnToRefererView; @class FBSDKURL; @@ -36,18 +35,21 @@ typedef NS_ENUM(NSUInteger, FBSDKIncludeStatusBarInSize) { Protocol that a class can implement in order to be notified when the user has navigated back to the referer of an App Link. */ +NS_SWIFT_NAME(AppLinkReturnToRefererViewDelegate) @protocol FBSDKAppLinkReturnToRefererViewDelegate /*! Called when the user has tapped inside the close button. */ -- (void)returnToRefererViewDidTapInsideCloseButton:(FBSDKAppLinkReturnToRefererView *)view; +- (void)returnToRefererViewDidTapInsideCloseButton:(FBSDKAppLinkReturnToRefererView *)view +NS_SWIFT_NAME(returnToRefererViewDidTapInsideCloseButton(_:)); /*! Called when the user has tapped inside the App Link portion of the view. */ - (void)returnToRefererViewDidTapInsideLink:(FBSDKAppLinkReturnToRefererView *)view - link:(FBSDKAppLink *)link; + link:(FBSDKAppLink *)link +NS_SWIFT_NAME(returnToRefererView(_:didTapInside:)); @end @@ -59,6 +61,7 @@ typedef NS_ENUM(NSUInteger, FBSDKIncludeStatusBarInSize) { referer data, it will have zero size and no UI will be displayed. */ NS_EXTENSION_UNAVAILABLE_IOS("Not available in app extension") +NS_SWIFT_NAME(FBAppLinkReturnToRefererView) @interface FBSDKAppLinkReturnToRefererView : UIView /*! @@ -78,12 +81,13 @@ NS_EXTENSION_UNAVAILABLE_IOS("Not available in app extension") size, for use in scenarios where the view might extend under the status bar on iOS 7 and above; this property has no effect on earlier versions of iOS. */ -@property (nonatomic, assign) FBSDKIncludeStatusBarInSize includeStatusBarInSize; +@property (nonatomic, assign) FBSDKIncludeStatusBarInSize includeStatusBarInSize +NS_SWIFT_NAME(statusBarSizeInclude); /*! Indicates whether the user has closed the view by clicking the close button. */ -@property (nonatomic, assign) BOOL closed; +@property (nonatomic, assign, getter=isClosed) BOOL closed; @end diff --git a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLinkTarget.h b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLinkTarget.h index 091d66af6..d3e22964f 100644 --- a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLinkTarget.h +++ b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLinkTarget.h @@ -24,12 +24,17 @@ NS_ASSUME_NONNULL_BEGIN Represents a target defined in App Link metadata, consisting of at least a URL, and optionally an App Store ID and name. */ +NS_SWIFT_NAME(AppLinkTarget) @interface FBSDKAppLinkTarget : NSObject +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; + /*! Creates a FBSDKAppLinkTarget with the given app site and target URL. */ + (instancetype)appLinkTargetWithURL:(NSURL *)url appStoreId:(nullable NSString *)appStoreId - appName:(NSString *)appName; + appName:(NSString *)appName +NS_SWIFT_NAME(init(url:appStoreId:appName:)); /*! The URL prefix for this app link target */ @property (nonatomic, strong, readonly) NSURL *URL; diff --git a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLinkUtility.h b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLinkUtility.h index 8a971b23e..44cc91963 100644 --- a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLinkUtility.h +++ b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKAppLinkUtility.h @@ -18,6 +18,8 @@ #import +NS_ASSUME_NONNULL_BEGIN + /** Describes the callback for fetchDeferredAppLink. @param url the url representing the deferred App Link @@ -27,21 +29,19 @@ The url may also have a fb_click_time_utc query parameter that represents when the click occurred that caused the deferred App Link to be created. */ -typedef void (^FBSDKDeferredAppLinkHandler)(NSURL *url, NSError *error); - - -/** - Describes the callback for fetchOrganicDeferredAppLink. - @param url the url representing the deferred App Link - */ -typedef void (^FBSDKDeferredAppInviteHandler)(NSURL *url); +typedef void (^FBSDKURLBlock)(NSURL *_Nullable url, NSError *_Nullable error) +NS_SWIFT_NAME(URLBlock); /** Class containing App Links related utility methods. */ +NS_SWIFT_NAME(AppLinkUtility) @interface FBSDKAppLinkUtility : NSObject +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; + /** Call this method from the main thread to fetch deferred applink data if you use Mobile App Engagement Ads (https://developers.facebook.com/docs/ads-for-apps/mobile-app-ads-engagement). @@ -59,21 +59,10 @@ typedef void (^FBSDKDeferredAppInviteHandler)(NSURL *url); been processed (e.g., you should call this method from your application delegate's applicationDidBecomeActive:). */ -+ (void)fetchDeferredAppLink:(FBSDKDeferredAppLinkHandler)handler; - -/** - -@warning This method is no longer available and will always return NO. - */ -+ (BOOL)fetchDeferredAppInvite:(FBSDKDeferredAppInviteHandler)handler -DEPRECATED_MSG_ATTRIBUTE("This method is no longer available."); ++ (void)fetchDeferredAppLink:(nullable FBSDKURLBlock)handler; /* - Call this method to fetch promotion code from the url, if it's present. This function - requires Bolts framework. - - Note: This throws an exception if Bolts.framework is not linked. Add '[BFURL class]' in intialize method - of your AppDelegate. + Call this method to fetch promotion code from the url, if it's present. @param url App Link url that was passed to the app. @@ -84,6 +73,8 @@ DEPRECATED_MSG_ATTRIBUTE("This method is no longer available."); This can be used to fetch the promotion code that was associated with the invite when it was created. This method should be called with the url from the openURL method. */ -+ (NSString*)appInvitePromotionCodeFromURL:(NSURL*)url; ++ (nullable NSString *)appInvitePromotionCodeFromURL:(NSURL *)url; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKApplicationDelegate.h b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKApplicationDelegate.h index c1eca10f7..f09048014 100644 --- a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKApplicationDelegate.h +++ b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKApplicationDelegate.h @@ -18,6 +18,8 @@ #import +NS_ASSUME_NONNULL_BEGIN + /** The FBSDKApplicationDelegate is designed to post process the results from Facebook Login @@ -29,12 +31,17 @@ The methods in this class are designed to mirror those in UIApplicationDelegate, and you should call them in the respective methods in your AppDelegate implementation. */ +NS_SWIFT_NAME(ApplicationDelegate) @interface FBSDKApplicationDelegate : NSObject +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; + /** - Gets the singleton instance. + Gets the singleton instance. */ -+ (instancetype)sharedInstance; +@property (class, nonatomic, readonly, strong) FBSDKApplicationDelegate *sharedInstance +NS_SWIFT_NAME(shared); /** Call this method from the [UIApplicationDelegate application:openURL:sourceApplication:annotation:] method @@ -53,8 +60,8 @@ */ - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url - sourceApplication:(NSString *)sourceApplication - annotation:(id)annotation; + sourceApplication:(nullable NSString *)sourceApplication + annotation:(nullable id)annotation; #if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_9_0 /** @@ -72,7 +79,7 @@ */ - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url - options:(NSDictionary *)options; + options:(NSDictionary *)options; #endif /** @@ -87,6 +94,19 @@ controlled via 'FacebookAutoLogAppEventsEnabled' key in the project info plist f @return YES if the url was intended for the Facebook SDK, NO if not. */ -- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions; +- (BOOL)application:(UIApplication *)application +didFinishLaunchingWithOptions:(nullable NSDictionary *)launchOptions; + +/** + Call this method to manually initialize SDK. + As we initialize SDK automatically, this should only be called when auto initialization is disabled, this can be + controlled via 'FacebookAutoInitEnabled' key in the project info plist file. + + @param launchOptions The launchOptions as passed to [UIApplicationDelegate application:didFinishLaunchingWithOptions:]. + Could be nil if you don't call this function from [UIApplicationDelegate application:didFinishLaunchingWithOptions:]. + */ ++ (void)initializeSDK:(nullable NSDictionary *)launchOptions; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKButton.h b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKButton.h index ca539660c..bf5f0047a 100644 --- a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKButton.h +++ b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKButton.h @@ -18,9 +18,14 @@ #import +NS_ASSUME_NONNULL_BEGIN + /** A base class for common SDK buttons. */ +NS_SWIFT_NAME(FBButton) @interface FBSDKButton : UIButton @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKConstants.h b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKConstants.h index 55003d0de..0f48b3591 100644 --- a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKConstants.h +++ b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKConstants.h @@ -18,6 +18,8 @@ #import +NS_ASSUME_NONNULL_BEGIN + #if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0 /** @@ -25,7 +27,8 @@ Error codes from the SDK in the range 0-99 are reserved for this domain. */ -FOUNDATION_EXPORT NSErrorDomain const FBSDKErrorDomain; +FOUNDATION_EXPORT NSErrorDomain const FBSDKErrorDomain +NS_SWIFT_NAME(ErrorDomain); #else @@ -34,7 +37,8 @@ FOUNDATION_EXPORT NSErrorDomain const FBSDKErrorDomain; Error codes from the SDK in the range 0-99 are reserved for this domain. */ -FOUNDATION_EXPORT NSString *const FBSDKErrorDomain; +FOUNDATION_EXPORT NSString *const FBSDKErrorDomain +NS_SWIFT_NAME(ErrorDomain); #endif @@ -50,34 +54,40 @@ FOUNDATION_EXPORT NSString *const FBSDKErrorDomain; If the invalid argument is a collection, the collection can be found with this key and the individual invalid item can be found with FBSDKErrorArgumentValueKey. */ -FOUNDATION_EXPORT NSErrorUserInfoKey const FBSDKErrorArgumentCollectionKey; +FOUNDATION_EXPORT NSErrorUserInfoKey const FBSDKErrorArgumentCollectionKey +NS_SWIFT_NAME(ErrorArgumentCollectionKey); /** The userInfo key for the invalid argument name for errors with FBSDKErrorInvalidArgument. */ -FOUNDATION_EXPORT NSErrorUserInfoKey const FBSDKErrorArgumentNameKey; +FOUNDATION_EXPORT NSErrorUserInfoKey const FBSDKErrorArgumentNameKey +NS_SWIFT_NAME(ErrorArgumentNameKey); /** The userInfo key for the invalid argument value for errors with FBSDKErrorInvalidArgument. */ -FOUNDATION_EXPORT NSErrorUserInfoKey const FBSDKErrorArgumentValueKey; +FOUNDATION_EXPORT NSErrorUserInfoKey const FBSDKErrorArgumentValueKey +NS_SWIFT_NAME(ErrorArgumentValueKey); /** The userInfo key for the message for developers in NSErrors that originate from the SDK. The developer message will not be localized and is not intended to be presented within the app. */ -FOUNDATION_EXPORT NSErrorUserInfoKey const FBSDKErrorDeveloperMessageKey; +FOUNDATION_EXPORT NSErrorUserInfoKey const FBSDKErrorDeveloperMessageKey +NS_SWIFT_NAME(ErrorDeveloperMessageKey); /** The userInfo key describing a localized description that can be presented to the user. */ -FOUNDATION_EXPORT NSErrorUserInfoKey const FBSDKErrorLocalizedDescriptionKey; +FOUNDATION_EXPORT NSErrorUserInfoKey const FBSDKErrorLocalizedDescriptionKey +NS_SWIFT_NAME(ErrorLocalizedDescriptionKey); /** The userInfo key describing a localized title that can be presented to the user, used with `FBSDKLocalizedErrorDescriptionKey`. */ -FOUNDATION_EXPORT NSErrorUserInfoKey const FBSDKErrorLocalizedTitleKey; +FOUNDATION_EXPORT NSErrorUserInfoKey const FBSDKErrorLocalizedTitleKey +NS_SWIFT_NAME(ErrorLocalizedTitleKey); /* @methodgroup FBSDKGraphRequest error userInfo keys @@ -88,36 +98,32 @@ FOUNDATION_EXPORT NSErrorUserInfoKey const FBSDKErrorLocalizedTitleKey; See `FBSDKGraphErrorRecoveryProcessor` and `[FBSDKGraphRequest disableErrorRecovery]`. */ -FOUNDATION_EXPORT NSErrorUserInfoKey const FBSDKGraphRequestErrorKey; - -FOUNDATION_EXPORT NSErrorUserInfoKey const FBSDKGraphRequestErrorCategoryKey -DEPRECATED_MSG_ATTRIBUTE("use FBSDKGraphRequestErrorKey instead"); +FOUNDATION_EXPORT NSErrorUserInfoKey const FBSDKGraphRequestErrorKey +NS_SWIFT_NAME(GraphRequestErrorKey); /* The userInfo key for the Graph API error code. */ -FOUNDATION_EXPORT NSErrorUserInfoKey const FBSDKGraphRequestErrorGraphErrorCodeKey; - -FOUNDATION_EXPORT NSErrorUserInfoKey const FBSDKGraphRequestErrorGraphErrorCode -DEPRECATED_MSG_ATTRIBUTE("use FBSDKGraphRequestErrorGraphErrorCodeKey instead"); +FOUNDATION_EXPORT NSErrorUserInfoKey const FBSDKGraphRequestErrorGraphErrorCodeKey +NS_SWIFT_NAME(GraphRequestErrorGraphErrorCodeKey); /* The userInfo key for the Graph API error subcode. */ -FOUNDATION_EXPORT NSErrorUserInfoKey const FBSDKGraphRequestErrorGraphErrorSubcodeKey; - -FOUNDATION_EXPORT NSErrorUserInfoKey const FBSDKGraphRequestErrorGraphErrorSubcode -DEPRECATED_MSG_ATTRIBUTE("use FBSDKGraphRequestErrorGraphErrorSubcodeKey instead"); +FOUNDATION_EXPORT NSErrorUserInfoKey const FBSDKGraphRequestErrorGraphErrorSubcodeKey +NS_SWIFT_NAME(GraphRequestErrorGraphErrorSubcodeKey); /* The userInfo key for the HTTP status code. */ -FOUNDATION_EXPORT NSErrorUserInfoKey const FBSDKGraphRequestErrorHTTPStatusCodeKey; +FOUNDATION_EXPORT NSErrorUserInfoKey const FBSDKGraphRequestErrorHTTPStatusCodeKey +NS_SWIFT_NAME(GraphRequestErrorHTTPStatusCodeKey); /* The userInfo key for the raw JSON response. */ -FOUNDATION_EXPORT NSErrorUserInfoKey const FBSDKGraphRequestErrorParsedJSONResponseKey; +FOUNDATION_EXPORT NSErrorUserInfoKey const FBSDKGraphRequestErrorParsedJSONResponseKey +NS_SWIFT_NAME(GraphRequestErrorParsedJSONResponseKey); #else @@ -131,34 +137,40 @@ FOUNDATION_EXPORT NSErrorUserInfoKey const FBSDKGraphRequestErrorParsedJSONRespo If the invalid argument is a collection, the collection can be found with this key and the individual invalid item can be found with FBSDKErrorArgumentValueKey. */ -FOUNDATION_EXPORT NSString *const FBSDKErrorArgumentCollectionKey; +FOUNDATION_EXPORT NSString *const FBSDKErrorArgumentCollectionKey +NS_SWIFT_NAME(ErrorArgumentCollectionKey); /** The userInfo key for the invalid argument name for errors with FBSDKErrorInvalidArgument. */ -FOUNDATION_EXPORT NSString *const FBSDKErrorArgumentNameKey; +FOUNDATION_EXPORT NSString *const FBSDKErrorArgumentNameKey +NS_SWIFT_NAME(ErrorArgumentNameKey); /** The userInfo key for the invalid argument value for errors with FBSDKErrorInvalidArgument. */ -FOUNDATION_EXPORT NSString *const FBSDKErrorArgumentValueKey; +FOUNDATION_EXPORT NSString *const FBSDKErrorArgumentValueKey +NS_SWIFT_NAME(ErrorArgumentValueKey); /** The userInfo key for the message for developers in NSErrors that originate from the SDK. The developer message will not be localized and is not intended to be presented within the app. */ -FOUNDATION_EXPORT NSString *const FBSDKErrorDeveloperMessageKey; +FOUNDATION_EXPORT NSString *const FBSDKErrorDeveloperMessageKey +NS_SWIFT_NAME(ErrorDeveloperMessageKey); /** The userInfo key describing a localized description that can be presented to the user. */ -FOUNDATION_EXPORT NSString *const FBSDKErrorLocalizedDescriptionKey; +FOUNDATION_EXPORT NSString *const FBSDKErrorLocalizedDescriptionKey +NS_SWIFT_NAME(ErrorLocalizedDescriptionKey); /** The userInfo key describing a localized title that can be presented to the user, used with `FBSDKLocalizedErrorDescriptionKey`. */ -FOUNDATION_EXPORT NSString *const FBSDKErrorLocalizedTitleKey; +FOUNDATION_EXPORT NSString *const FBSDKErrorLocalizedTitleKey +NS_SWIFT_NAME(ErrorLocalizedTitleKey); /* @methodgroup FBSDKGraphRequest error userInfo keys @@ -169,39 +181,61 @@ FOUNDATION_EXPORT NSString *const FBSDKErrorLocalizedTitleKey; See `FBSDKGraphErrorRecoveryProcessor` and `[FBSDKGraphRequest disableErrorRecovery]`. */ -FOUNDATION_EXPORT NSString *const FBSDKGraphRequestErrorKey; - -FOUNDATION_EXPORT NSString *const FBSDKGraphRequestErrorCategoryKey -DEPRECATED_MSG_ATTRIBUTE("use FBSDKGraphRequestErrorKey instead"); +FOUNDATION_EXPORT NSString *const FBSDKGraphRequestErrorKey +NS_SWIFT_NAME(GraphRequestErrorKey); /* The userInfo key for the Graph API error code. */ -FOUNDATION_EXPORT NSString *const FBSDKGraphRequestErrorGraphErrorCodeKey; - -FOUNDATION_EXPORT NSString *const FBSDKGraphRequestErrorGraphErrorCode -DEPRECATED_MSG_ATTRIBUTE("use FBSDKGraphRequestErrorGraphErrorCodeKey instead"); +FOUNDATION_EXPORT NSString *const FBSDKGraphRequestErrorGraphErrorCodeKey +NS_SWIFT_NAME(GraphRequestErrorGraphErrorCodeKey); /* The userInfo key for the Graph API error subcode. */ -FOUNDATION_EXPORT NSString *const FBSDKGraphRequestErrorGraphErrorSubcodeKey; - -FOUNDATION_EXPORT NSString *const FBSDKGraphRequestErrorGraphErrorSubcode -DEPRECATED_MSG_ATTRIBUTE("use FBSDKGraphRequestErrorGraphErrorSubcodeKey instead"); +FOUNDATION_EXPORT NSString *const FBSDKGraphRequestErrorGraphErrorSubcodeKey +NS_SWIFT_NAME(GraphRequestErrorGraphErrorSubcodeKey); /* The userInfo key for the HTTP status code. */ -FOUNDATION_EXPORT NSString *const FBSDKGraphRequestErrorHTTPStatusCodeKey; +FOUNDATION_EXPORT NSString *const FBSDKGraphRequestErrorHTTPStatusCodeKey +NS_SWIFT_NAME(GraphRequestErrorHTTPStatusCodeKey); /* The userInfo key for the raw JSON response. */ -FOUNDATION_EXPORT NSString *const FBSDKGraphRequestErrorParsedJSONResponseKey; +FOUNDATION_EXPORT NSString *const FBSDKGraphRequestErrorParsedJSONResponseKey +NS_SWIFT_NAME(GraphRequestErrorParsedJSONResponseKey); #endif +/* + @methodgroup Common Code Block typedefs + */ + +/** + Success Block + */ +typedef void (^FBSDKCodeBlock)(void) +NS_SWIFT_NAME(CodeBlock); + +/** + Error Block + */ +typedef void (^FBSDKErrorBlock)(NSError *_Nullable error) +NS_SWIFT_NAME(ErrorBlock); + +/** + Success Block + */ +typedef void (^FBSDKSuccessBlock)(BOOL success, NSError *_Nullable error) +NS_SWIFT_NAME(SuccessBlock); + +/* + @methodgroup Enums + */ + #ifndef NS_ERROR_ENUM #define NS_ERROR_ENUM(_domain, _name) \ enum _name: NSInteger _name; \ @@ -289,7 +323,7 @@ typedef NS_ERROR_ENUM(FBSDKErrorDomain, FBSDKError) Indicates an app switch to the browser (typically for a dialog) failed. */ FBSDKErrorBrowserUnavailable, -}; +} NS_SWIFT_NAME(CoreError); /** FBSDKGraphRequestError @@ -303,11 +337,12 @@ typedef NS_ENUM(NSUInteger, FBSDKGraphRequestError) FBSDKGraphRequestErrorTransient = 1, /** Indicates the error can be recovered (such as requiring a login). A recoveryAttempter will be provided with the error instance that can take UI action. */ FBSDKGraphRequestErrorRecoverable = 2 -}; +} NS_SWIFT_NAME(GraphRequestError); /** a formal protocol very similar to the informal protocol NSErrorRecoveryAttempting */ +NS_SWIFT_UNAVAILABLE("") @protocol FBSDKErrorRecoveryAttempting /** @@ -325,37 +360,11 @@ typedef NS_ENUM(NSUInteger, FBSDKGraphRequestError) The value passed for didRecover must be YES if error recovery was completely successful, NO otherwise. */ -- (void)attemptRecoveryFromError:(NSError *)error optionIndex:(NSUInteger)recoveryOptionIndex delegate:(id)delegate didRecoverSelector:(SEL)didRecoverSelector contextInfo:(void *)contextInfo; - +- (void)attemptRecoveryFromError:(NSError *)error + optionIndex:(NSUInteger)recoveryOptionIndex + delegate:(nullable id)delegate + didRecoverSelector:(SEL)didRecoverSelector + contextInfo:(nullable void *)contextInfo; @end -/** - Deprecated - */ -typedef NS_ENUM(NSInteger, FBSDKErrorCode) -{ - FBSDKReservedErrorCode DEPRECATED_MSG_ATTRIBUTE("use FBSDKErrorReserved instead") = 0, - FBSDKEncryptionErrorCode DEPRECATED_MSG_ATTRIBUTE("use FBSDKErrorEncryption instead"), - FBSDKInvalidArgumentErrorCode DEPRECATED_MSG_ATTRIBUTE("use FBSDKErrorInvalidArgument instead"), - FBSDKUnknownErrorCode DEPRECATED_MSG_ATTRIBUTE("use FBSDKErrorUnknown instead"), - FBSDKNetworkErrorCode DEPRECATED_MSG_ATTRIBUTE("use FBSDKErrorNetwork instead"), - FBSDKAppEventsFlushErrorCode DEPRECATED_MSG_ATTRIBUTE("use FBSDKErrorAppEventsFlush instead"), - FBSDKGraphRequestNonTextMimeTypeReturnedErrorCode DEPRECATED_MSG_ATTRIBUTE("use FBSDKErrorGraphRequestNonTextMimeTypeReturned instead"), - FBSDKGraphRequestProtocolMismatchErrorCode DEPRECATED_MSG_ATTRIBUTE("use FBSDKErrorGraphRequestProtocolMismatch instead"), - FBSDKGraphRequestGraphAPIErrorCode DEPRECATED_MSG_ATTRIBUTE("use FBSDKErrorGraphRequestGraphAPI instead"), - FBSDKDialogUnavailableErrorCode DEPRECATED_MSG_ATTRIBUTE("use FBSDKErrorDialogUnavailable instead"), - FBSDKAccessTokenRequiredErrorCode DEPRECATED_MSG_ATTRIBUTE("use FBSDKErrorAccessTokenRequired instead"), - FBSDKAppVersionUnsupportedErrorCode DEPRECATED_MSG_ATTRIBUTE("use FBSDKErrorAppVersionUnsupported instead"), - FBSDKBrowserUnavailableErrorCode DEPRECATED_MSG_ATTRIBUTE("use FBSDKErrorBrowserUnavailable instead"), - FBSDKBrowswerUnavailableErrorCode DEPRECATED_MSG_ATTRIBUTE("use FBSDKErrorBrowserUnavailable instead") = FBSDKBrowserUnavailableErrorCode, -} DEPRECATED_MSG_ATTRIBUTE("use FBSDKError instead"); - -/** - Deprecated - */ -typedef NS_ENUM(NSUInteger, FBSDKGraphRequestErrorCategory) -{ - FBSDKGraphRequestErrorCategoryOther DEPRECATED_MSG_ATTRIBUTE("use FBSDKGraphRequestErrorOther instead") = 0, - FBSDKGraphRequestErrorCategoryTransient DEPRECATED_MSG_ATTRIBUTE("use FBSDKGraphRequestErrorTransient instead") = 1, - FBSDKGraphRequestErrorCategoryRecoverable DEPRECATED_MSG_ATTRIBUTE("use FBSDKGraphRequestErrorRecoverable instead") = 2 -} DEPRECATED_MSG_ATTRIBUTE("use FBSDKGraphRequestError instead"); +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKCopying.h b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKCopying.h index 039302bcc..fc938bbd2 100644 --- a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKCopying.h +++ b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKCopying.h @@ -18,11 +18,14 @@ #import +NS_ASSUME_NONNULL_BEGIN + /** Extension protocol for NSCopying that adds the copy method, which is implemented on NSObject. NSObject implicitly conforms to this protocol. */ +NS_SWIFT_NAME(Copying) @protocol FBSDKCopying /** @@ -32,3 +35,5 @@ - (id)copy; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKCoreKit.h b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKCoreKit.h index 46ce16392..c543f846c 100644 --- a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKCoreKit.h +++ b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKCoreKit.h @@ -27,7 +27,6 @@ #import #import #import -#import #import #import #import @@ -53,5 +52,5 @@ #import #endif -#define FBSDK_VERSION_STRING @"4.39.1" -#define FBSDK_TARGET_PLATFORM_VERSION @"v3.2" +#define FBSDK_VERSION_STRING @"5.0.2" +#define FBSDK_TARGET_PLATFORM_VERSION @"v3.3" diff --git a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKGraphErrorRecoveryProcessor.h b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKGraphErrorRecoveryProcessor.h index 820be4b82..465c6abb4 100644 --- a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKGraphErrorRecoveryProcessor.h +++ b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKGraphErrorRecoveryProcessor.h @@ -20,12 +20,15 @@ #import "FBSDKConstants.h" +NS_ASSUME_NONNULL_BEGIN + @class FBSDKGraphErrorRecoveryProcessor; @class FBSDKGraphRequest; /** Defines a delegate for `FBSDKGraphErrorRecoveryProcessor`. */ +NS_SWIFT_NAME(GraphErrorRecoveryProcessorDelegate) @protocol FBSDKGraphErrorRecoveryProcessorDelegate /** @@ -34,7 +37,9 @@ @param didRecover YES if the recovery was successful. @param error the error that that was attempted to be recovered from. */ -- (void)processorDidAttemptRecovery:(FBSDKGraphErrorRecoveryProcessor *)processor didRecover:(BOOL)didRecover error:(NSError *)error; +- (void)processorDidAttemptRecovery:(FBSDKGraphErrorRecoveryProcessor *)processor + didRecover:(BOOL)didRecover + error:(nullable NSError *)error; @optional /** @@ -46,10 +51,15 @@ if you want to prevent alerts of localized messages but otherwise perform retries and recoveries, you could return NO for errors where userInfo[FBSDKGraphRequestErrorKey] equal to FBSDKGraphRequestErrorOther */ -- (BOOL)processorWillProcessError:(FBSDKGraphErrorRecoveryProcessor *)processor error:(NSError *)error; +- (BOOL)processorWillProcessError:(FBSDKGraphErrorRecoveryProcessor *)processor + error:(nullable NSError *)error; @end +NS_ASSUME_NONNULL_END + +NS_ASSUME_NONNULL_BEGIN + /** Defines a type that can process Facebook NSErrors with best practices. @@ -69,17 +79,18 @@ Note that Facebook recovery attempters can present UI or even cause app switches (such as to login). Any such work is dispatched to the main thread (therefore your request handlers may then run on the main thread). - Login recovery requires FBSDKLoginKit. Login will use FBSDKLoginBehaviorNative and will prompt the user + Login recovery requires FBSDKLoginKit. Login will prompt the user for all permissions last granted. If any are declined on the new request, the recovery is not successful but the `[FBSDKAccessToken currentAccessToken]` might still have been updated. . */ +NS_SWIFT_UNAVAILABLE("") @interface FBSDKGraphErrorRecoveryProcessor : NSObject /** Gets the delegate. Note this is a strong reference, and is nil'ed out after recovery is complete. */ -@property (nonatomic, strong, readonly) iddelegate; +@property (nonatomic, strong, readonly, nullable) iddelegate; /** Attempts to process the error, return YES if the error can be processed. @@ -87,13 +98,17 @@ @param request the related request that may be reissued. @param delegate the delegate that will be retained until recovery is complete. */ -- (BOOL)processError:(NSError *)error request:(FBSDKGraphRequest *)request delegate:(id) delegate; +- (BOOL)processError:(NSError *)error + request:(FBSDKGraphRequest *)request + delegate:(nullable id)delegate; /** The callback for FBSDKErrorRecoveryAttempting @param didRecover if the recovery succeeded @param contextInfo unused */ -- (void)didPresentErrorWithRecovery:(BOOL)didRecover contextInfo:(void *)contextInfo; +- (void)didPresentErrorWithRecovery:(BOOL)didRecover contextInfo:(nullable void *)contextInfo; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKGraphRequest.h b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKGraphRequest.h index bcb514929..802620c1e 100644 --- a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKGraphRequest.h +++ b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKGraphRequest.h @@ -20,8 +20,22 @@ #import +NS_ASSUME_NONNULL_BEGIN + @class FBSDKAccessToken; +/// typedef for FBSDKHTTPMethod +typedef NSString *const FBSDKHTTPMethod NS_TYPED_EXTENSIBLE_ENUM NS_SWIFT_NAME(HTTPMethod); + +/// GET Request +FOUNDATION_EXPORT FBSDKHTTPMethod FBSDKHTTPMethodGET NS_SWIFT_NAME(get); + +/// POST Request +FOUNDATION_EXPORT FBSDKHTTPMethod FBSDKHTTPMethodPOST NS_SWIFT_NAME(post); + +/// DELETE Request +FOUNDATION_EXPORT FBSDKHTTPMethod FBSDKHTTPMethodDELETE NS_SWIFT_NAME(delete); + /** Represents a request to the Facebook Graph API. @@ -41,28 +55,43 @@ @see FBSDKGraphErrorRecoveryProcessor */ +NS_SWIFT_NAME(GraphRequest) @interface FBSDKGraphRequest : NSObject - (instancetype)init NS_UNAVAILABLE; + (instancetype)new NS_UNAVAILABLE; +/** + Initializes a new instance that use use `[FBSDKAccessToken currentAccessToken]`. + @param graphPath the graph path (e.g., @"me"). + */ +- (instancetype)initWithGraphPath:(NSString *)graphPath; + +/** + Initializes a new instance that use use `[FBSDKAccessToken currentAccessToken]`. + @param graphPath the graph path (e.g., @"me"). + @param method the HTTP method. Empty String defaults to @"GET". + */ +- (instancetype)initWithGraphPath:(NSString *)graphPath + HTTPMethod:(FBSDKHTTPMethod)method; + /** Initializes a new instance that use use `[FBSDKAccessToken currentAccessToken]`. @param graphPath the graph path (e.g., @"me"). @param parameters the optional parameters dictionary. */ - (instancetype)initWithGraphPath:(NSString *)graphPath - parameters:(NSDictionary *)parameters; + parameters:(NSDictionary *)parameters; /** Initializes a new instance that use use `[FBSDKAccessToken currentAccessToken]`. @param graphPath the graph path (e.g., @"me"). @param parameters the optional parameters dictionary. - @param HTTPMethod the optional HTTP method. nil defaults to @"GET". + @param method the HTTP method. Empty String defaults to @"GET". */ - (instancetype)initWithGraphPath:(NSString *)graphPath - parameters:(NSDictionary *)parameters - HTTPMethod:(NSString *)HTTPMethod; + parameters:(NSDictionary *)parameters + HTTPMethod:(FBSDKHTTPMethod)method; /** Initializes a new instance. @@ -70,24 +99,24 @@ @param parameters the optional parameters dictionary. @param tokenString the token string to use. Specifying nil will cause no token to be used. @param version the optional Graph API version (e.g., @"v2.0"). nil defaults to `[FBSDKSettings graphAPIVersion]`. - @param HTTPMethod the optional HTTP method (e.g., @"POST"). nil defaults to @"GET". + @param method the HTTP method. Empty String defaults to @"GET". */ - (instancetype)initWithGraphPath:(NSString *)graphPath - parameters:(NSDictionary *)parameters - tokenString:(NSString *)tokenString - version:(NSString *)version - HTTPMethod:(NSString *)HTTPMethod + parameters:(NSDictionary *)parameters + tokenString:(nullable NSString *)tokenString + version:(nullable NSString *)version + HTTPMethod:(FBSDKHTTPMethod)method NS_DESIGNATED_INITIALIZER; /** The request parameters. */ -@property (nonatomic, strong, readonly) NSMutableDictionary *parameters; +@property (nonatomic, copy) NSDictionary *parameters; /** The access token string used by the request. */ -@property (nonatomic, copy, readonly) NSString *tokenString; +@property (nonatomic, copy, readonly, nullable) NSString *tokenString; /** The Graph API endpoint to use for the request, for example "me". @@ -97,7 +126,7 @@ NS_DESIGNATED_INITIALIZER; /** The HTTPMethod to use for the request, for example "GET" or "POST". */ -@property (nonatomic, copy, readonly) NSString *HTTPMethod; +@property (nonatomic, copy, readonly) FBSDKHTTPMethod HTTPMethod; /** The Graph API version to use (e.g., "v2.0") @@ -115,12 +144,15 @@ NS_DESIGNATED_INITIALIZER; This will override [FBSDKSettings setGraphErrorRecoveryDisabled:]. */ -- (void)setGraphErrorRecoveryDisabled:(BOOL)disable; +- (void)setGraphErrorRecoveryDisabled:(BOOL)disable +NS_SWIFT_NAME(setGraphErrorRecovery(disabled:)); /** Starts a connection to the Graph API. @param handler The handler block to call when the request completes. */ -- (FBSDKGraphRequestConnection *)startWithCompletionHandler:(FBSDKGraphRequestHandler)handler; +- (FBSDKGraphRequestConnection *)startWithCompletionHandler:(nullable FBSDKGraphRequestBlock)handler; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKGraphRequestConnection.h b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKGraphRequestConnection.h index af10a8595..6dc80577c 100644 --- a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKGraphRequestConnection.h +++ b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKGraphRequestConnection.h @@ -18,32 +18,45 @@ #import +NS_ASSUME_NONNULL_BEGIN + +/** + The key in the result dictionary for requests to old versions of the Graph API + whose response is not a JSON object. + + + When a request returns a non-JSON response (such as a "true" literal), that response + will be wrapped into a dictionary using this const as the key. This only applies for very few Graph API + prior to v2.1. + */ +FOUNDATION_EXPORT NSString *const FBSDKNonJSONResponseProperty +NS_SWIFT_NAME(NonJSONResponseProperty); + @class FBSDKGraphRequest; @class FBSDKGraphRequestConnection; /** - FBSDKGraphRequestHandler + FBSDKGraphRequestBlock A block that is passed to addRequest to register for a callback with the results of that request once the connection completes. - - Pass a block of this type when calling addRequest. This will be called once the request completes. The call occurs on the UI thread. - @param connection The `FBSDKGraphRequestConnection` that sent the request. + @param connection The `FBSDKGraphRequestConnection` that sent the request. - @param result The result of the request. This is a translation of + @param result The result of the request. This is a translation of JSON data to `NSDictionary` and `NSArray` objects. This is nil if there was an error. - @param error The `NSError` representing any error that occurred. + @param error The `NSError` representing any error that occurred. */ -typedef void (^FBSDKGraphRequestHandler)(FBSDKGraphRequestConnection *connection, - id result, - NSError *error); +typedef void (^FBSDKGraphRequestBlock)(FBSDKGraphRequestConnection *_Nullable connection, + id _Nullable result, + NSError *_Nullable error) +NS_SWIFT_NAME(GraphRequestBlock); /** @protocol @@ -51,6 +64,7 @@ typedef void (^FBSDKGraphRequestHandler)(FBSDKGraphRequestConnection *connection The `FBSDKGraphRequestConnectionDelegate` protocol defines the methods used to receive network activity progress information from a . */ +NS_SWIFT_NAME(GraphRequestConnectionDelegate) @protocol FBSDKGraphRequestConnectionDelegate @optional @@ -79,7 +93,7 @@ typedef void (^FBSDKGraphRequestHandler)(FBSDKGraphRequestConnection *connection If the request connection completes without a network error occurring then this method is called. Invocation of this method does not indicate success of every made, only that the - request connection has no further activity. Use the error argument passed to the FBSDKGraphRequestHandler + request connection has no further activity. Use the error argument passed to the FBSDKGraphRequestBlock block to determine success or failure of each . This method is invoked after the completion handler for each . @@ -97,7 +111,7 @@ typedef void (^FBSDKGraphRequestHandler)(FBSDKGraphRequestConnection *connection If the request connection fails with a network error then this method is called. The `error` argument specifies why the network connection failed. The `NSError` object passed to the - FBSDKGraphRequestHandler block may contain additional information. + FBSDKGraphRequestBlock block may contain additional information. @param connection The request connection that successfully completed a network request @param error The `NSError` representing the network error that occurred, if any. May be nil @@ -141,12 +155,18 @@ totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite; e.g. starting a connection, canceling a connection, or batching requests. */ +NS_SWIFT_NAME(GraphRequestConnection) @interface FBSDKGraphRequestConnection : NSObject +/** + The default timeout on all FBSDKGraphRequestConnection instances. Defaults to 60 seconds. + */ +@property (class, nonatomic, assign) NSTimeInterval defaultConnectionTimeout; + /** The delegate object that receives updates. */ -@property (nonatomic, weak) id delegate; +@property (nonatomic, weak, nullable) id delegate; /** Gets or sets the timeout interval to wait for a response before giving up. @@ -162,22 +182,21 @@ totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite; the server. The property is nil until the request completes. If there was a response - then this property will be non-nil during the FBSDKGraphRequestHandler callback. + then this property will be non-nil during the FBSDKGraphRequestBlock callback. */ -@property (nonatomic, retain, readonly) NSHTTPURLResponse *URLResponse; +@property (nonatomic, retain, readonly) NSHTTPURLResponse *urlResponse; /** - @methodgroup Class methods + Determines the operation queue that is used to call methods on the connection's delegate. + + By default, a connection is scheduled on the current thread in the default mode when it is created. + You cannot reschedule a connection after it has started. */ +@property (nonatomic, retain) NSOperationQueue *delegateQueue; /** - @method - - This method sets the default timeout on all FBSDKGraphRequestConnection instances. Defaults to 60 seconds. - - @param defaultConnectionTimeout The timeout interval. + @methodgroup Class methods */ -+ (void)setDefaultConnectionTimeout:(NSTimeInterval)defaultConnectionTimeout; /** @methodgroup Adding requests @@ -191,13 +210,11 @@ totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite; @param request A request to be included in the round-trip when start is called. @param handler A handler to call back when the round-trip completes or times out. - - The completion handler is retained until the block is called upon the completion or cancellation of the connection. */ - (void)addRequest:(FBSDKGraphRequest *)request - completionHandler:(FBSDKGraphRequestHandler)handler; + completionHandler:(FBSDKGraphRequestBlock)handler; /** @method @@ -209,25 +226,18 @@ totalBytesExpectedToWrite:(NSInteger)totalBytesExpectedToWrite; @param handler A handler to call back when the round-trip completes or times out. The handler will be invoked on the main thread. - @param name An optional name for this request. This can be used to feed + @param name A name for this request. This can be used to feed the results of one request to the input of another in the same `FBSDKGraphRequestConnection` as described in [Graph API Batch Requests]( https://developers.facebook.com/docs/reference/api/batch/ ). - - The completion handler is retained until the block is called upon the completion or cancellation of the connection. This request can be named to allow for using the request's response in a subsequent request. */ - (void)addRequest:(FBSDKGraphRequest *)request batchEntryName:(NSString *)name - completionHandler:(FBSDKGraphRequestHandler)handler; - -- (void)addRequest:(FBSDKGraphRequest *)request - completionHandler:(FBSDKGraphRequestHandler)handler - batchEntryName:(NSString *)name -DEPRECATED_MSG_ATTRIBUTE("Renamed `addRequest:batchEntryName:completionHandler:`"); + completionHandler:(FBSDKGraphRequestBlock)handler; /** @method @@ -238,24 +248,17 @@ DEPRECATED_MSG_ATTRIBUTE("Renamed `addRequest:batchEntryName:completionHandler:` @param handler A handler to call back when the round-trip completes or times out. - @param batchParameters The optional dictionary of parameters to include for this request + @param batchParameters The dictionary of parameters to include for this request as described in [Graph API Batch Requests]( https://developers.facebook.com/docs/reference/api/batch/ ). Examples include "depends_on", "name", or "omit_response_on_success". - - The completion handler is retained until the block is called upon the completion or cancellation of the connection. This request can be named to allow for using the request's response in a subsequent request. */ - (void)addRequest:(FBSDKGraphRequest *)request batchParameters:(NSDictionary *)batchParameters - completionHandler:(FBSDKGraphRequestHandler)handler; - -- (void)addRequest:(FBSDKGraphRequest *)request - completionHandler:(FBSDKGraphRequestHandler)handler - batchParameters:(NSDictionary *)batchParameters -DEPRECATED_MSG_ATTRIBUTE("Renamed `addRequest:batchParameters:completionHandler:`"); + completionHandler:(FBSDKGraphRequestBlock)handler; /** @methodgroup Instance methods @@ -267,8 +270,6 @@ DEPRECATED_MSG_ATTRIBUTE("Renamed `addRequest:batchParameters:completionHandler: Signals that a connection should be logically terminated as the application is no longer interested in a response. - - Synchronously calls any handlers indicating the request was cancelled. Cancel does not guarantee that the request-related processing will cease. It does promise that all handlers will complete before the cancel returns. A call to @@ -291,22 +292,11 @@ DEPRECATED_MSG_ATTRIBUTE("Renamed `addRequest:batchParameters:completionHandler: */ - (void)start; -/** - Determines the operation queue that is used to call methods on the connection's delegate. - @param queue The operation queue to use when calling delegate methods. - - By default, a connection is scheduled on the current thread in the default mode when it is created. - You cannot reschedule a connection after it has started. - */ -- (void)setDelegateQueue:(NSOperationQueue *)queue; - /** @method Overrides the default version for a batch request - - The SDK automatically prepends a version part, such as "v2.0" to API paths in order to simplify API versioning for applications. If you want to override the version part while using batch requests on the connection, call this method to set the version for the batch request. @@ -315,18 +305,6 @@ DEPRECATED_MSG_ATTRIBUTE("Renamed `addRequest:batchParameters:completionHandler: */ - (void)overrideGraphAPIVersion:(NSString *)version; -- (void)overrideVersionPartWith:(NSString *)version -DEPRECATED_MSG_ATTRIBUTE("Renamed `overrideGraphAPIVersion`"); - @end -/** - The key in the result dictionary for requests to old versions of the Graph API - whose response is not a JSON object. - - - When a request returns a non-JSON response (such as a "true" literal), that response - will be wrapped into a dictionary using this const as the key. This only applies for very few Graph API - prior to v2.1. - */ -FOUNDATION_EXPORT NSString *const FBSDKNonJSONResponseProperty; +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKGraphRequestDataAttachment.h b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKGraphRequestDataAttachment.h index 7ad50dc42..ea07c7827 100644 --- a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKGraphRequestDataAttachment.h +++ b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKGraphRequestDataAttachment.h @@ -18,9 +18,12 @@ #import +NS_ASSUME_NONNULL_BEGIN + /** A container class for data attachments so that additional metadata can be provided about the attachment. */ +NS_SWIFT_NAME(GraphRequestDataAttachment) @interface FBSDKGraphRequestDataAttachment : NSObject - (instancetype)init NS_UNAVAILABLE; @@ -53,3 +56,5 @@ NS_DESIGNATED_INITIALIZER; @property (nonatomic, copy, readonly) NSString *filename; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKMacros.h b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKMacros.h deleted file mode 100644 index d74957935..000000000 --- a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKMacros.h +++ /dev/null @@ -1,19 +0,0 @@ -// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. -// -// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, -// copy, modify, and distribute this software in source code or binary form for use -// in connection with the web services and APIs provided by Facebook. -// -// As with any software that integrates with the Facebook platform, your use of -// this software is subject to the Facebook Developer Principles and Policies -// [http://developers.facebook.com/policy/]. This copyright notice shall be -// included in all copies or substantial portions of the software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -#import diff --git a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKMeasurementEvent.h b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKMeasurementEvent.h index 379833098..ab8a326c6 100644 --- a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKMeasurementEvent.h +++ b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKMeasurementEvent.h @@ -23,45 +23,51 @@ NS_ASSUME_NONNULL_BEGIN #if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0 /*! The name of the notification posted by FBSDKMeasurementEvent */ -FOUNDATION_EXPORT NSNotificationName const FBSDKMeasurementEventNotification; +FOUNDATION_EXPORT NSNotificationName const FBSDKMeasurementEventNotification +NS_SWIFT_NAME(MeasurementEvent); #else /*! The name of the notification posted by FBSDKMeasurementEvent */ -FOUNDATION_EXPORT NSString *const FBSDKMeasurementEventNotification; +FOUNDATION_EXPORT NSString *const FBSDKMeasurementEventNotification +NS_SWIFT_NAME(MeasurementEventNotification); #endif -FOUNDATION_EXPORT NSString *const FBSDKMeasurementEventNotificationName -DEPRECATED_MSG_ATTRIBUTE("Use `FBSDKMeasurementEventNotification` instead"); - /*! Defines keys in the userInfo object for the notification named FBSDKMeasurementEventNotificationName */ /*! The string field for the name of the event */ -FOUNDATION_EXPORT NSString *const FBSDKMeasurementEventNameKey; +FOUNDATION_EXPORT NSString *const FBSDKMeasurementEventNameKey +NS_SWIFT_NAME(MeasurementEventNameKey); /*! The dictionary field for the arguments of the event */ -FOUNDATION_EXPORT NSString *const FBSDKMeasurementEventArgsKey; +FOUNDATION_EXPORT NSString *const FBSDKMeasurementEventArgsKey +NS_SWIFT_NAME(MeasurementEventArgsKey); /*! Events raised by FBSDKMeasurementEvent for Applink */ /*! The name of the event posted when [FBSDKURL URLWithURL:] is called successfully. This represents the successful parsing of an app link URL. */ -FOUNDATION_EXPORT NSString *const FBSDKAppLinkParseEventName; +FOUNDATION_EXPORT NSString *const FBSDKAppLinkParseEventName +NS_SWIFT_NAME(AppLinkParseEventName); /*! The name of the event posted when [FBSDKURL URLWithInboundURL:] is called successfully. This represents parsing an inbound app link URL from a different application */ -FOUNDATION_EXPORT NSString *const FBSDKAppLinkNavigateInEventName; +FOUNDATION_EXPORT NSString *const FBSDKAppLinkNavigateInEventName +NS_SWIFT_NAME(AppLinkNavigateInEventName); /*! The event raised when the user navigates from your app to other apps */ -FOUNDATION_EXPORT NSString *const FBSDKAppLinkNavigateOutEventName; +FOUNDATION_EXPORT NSString *const FBSDKAppLinkNavigateOutEventName +NS_SWIFT_NAME(AppLinkNavigateOutEventName); /*! The event raised when the user navigates out from your app and back to the referrer app. e.g when the user leaves your app after tapping the back-to-referrer navigation bar */ -FOUNDATION_EXPORT NSString *const FBSDKAppLinkNavigateBackToReferrerEventName; +FOUNDATION_EXPORT NSString *const FBSDKAppLinkNavigateBackToReferrerEventName +NS_SWIFT_NAME(AppLinkNavigateBackToReferrerEventName); +NS_SWIFT_NAME(MeasurementEvent) @interface FBSDKMeasurementEvent : NSObject @end diff --git a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKMutableCopying.h b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKMutableCopying.h index 3fada941d..edaae960c 100644 --- a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKMutableCopying.h +++ b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKMutableCopying.h @@ -20,11 +20,14 @@ #import +NS_ASSUME_NONNULL_BEGIN + /** Extension protocol for NSMutableCopying that adds the mutableCopy method, which is implemented on NSObject. NSObject implicitly conforms to this protocol. */ +NS_SWIFT_NAME(MutableCopying) @protocol FBSDKMutableCopying /** @@ -34,3 +37,5 @@ - (id)mutableCopy; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKProfile.h b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKProfile.h index d0e245bb4..af8095d4d 100644 --- a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKProfile.h +++ b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKProfile.h @@ -18,6 +18,10 @@ #import "FBSDKProfilePictureView.h" +@class FBSDKProfile; + +NS_ASSUME_NONNULL_BEGIN + #if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0 /** @@ -27,18 +31,20 @@ `FBSDKProfileChangeOldKey` and `FBSDKProfileChangeNewKey`. */ -FOUNDATION_EXPORT NSNotificationName const FBSDKProfileDidChangeNotification; +FOUNDATION_EXPORT NSNotificationName const FBSDKProfileDidChangeNotification +NS_SWIFT_NAME(ProfileDidChange); #else /** - Notification indicating that the `currentProfile` has changed. + Notification indicating that the `currentProfile` has changed. the userInfo dictionary of the notification will contain keys `FBSDKProfileChangeOldKey` and `FBSDKProfileChangeNewKey`. */ -FOUNDATION_EXPORT NSString *const FBSDKProfileDidChangeNotification; +FOUNDATION_EXPORT NSString *const FBSDKProfileDidChangeNotification +NS_SWIFT_NAME(ProfileDidChangeNotification); #endif @@ -46,13 +52,24 @@ FOUNDATION_EXPORT NSString *const FBSDKProfileDidChangeNotification; If there was no old profile, the key will not be present. */ -FOUNDATION_EXPORT NSString *const FBSDKProfileChangeOldKey; +FOUNDATION_EXPORT NSString *const FBSDKProfileChangeOldKey +NS_SWIFT_NAME(ProfileChangeOldKey); /* key in notification's userInfo object for getting the new profile. If there is no new profile, the key will not be present. */ -FOUNDATION_EXPORT NSString *const FBSDKProfileChangeNewKey; +FOUNDATION_EXPORT NSString *const FBSDKProfileChangeNewKey +NS_SWIFT_NAME(ProfileChangeNewKey); + +/** + Describes the callback for loadCurrentProfileWithCompletion. + @param profile the FBSDKProfile + @param error the error during the request, if any + + */ +typedef void (^FBSDKProfileBlock)(FBSDKProfile *_Nullable profile, NSError *_Nullable error) +NS_SWIFT_NAME(ProfileBlock); /** Represents an immutable Facebook profile @@ -66,6 +83,7 @@ FOUNDATION_EXPORT NSString *const FBSDKProfileChangeNewKey; You can use this class to build your own `FBSDKProfilePictureView` or in place of typical requests to "/me". */ +NS_SWIFT_NAME(Profile) @interface FBSDKProfile : NSObject - (instancetype)init NS_UNAVAILABLE; @@ -82,12 +100,24 @@ FOUNDATION_EXPORT NSString *const FBSDKProfileChangeNewKey; @param refreshDate the optional date this profile was fetched. Defaults to [NSDate date]. */ - (instancetype)initWithUserID:(NSString *)userID - firstName:(NSString *)firstName - middleName:(NSString *)middleName - lastName:(NSString *)lastName - name:(NSString *)name - linkURL:(NSURL *)linkURL - refreshDate:(NSDate *)refreshDate NS_DESIGNATED_INITIALIZER; + firstName:(nullable NSString *)firstName + middleName:(nullable NSString *)middleName + lastName:(nullable NSString *)lastName + name:(nullable NSString *)name + linkURL:(nullable NSURL *)linkURL + refreshDate:(nullable NSDate *)refreshDate NS_DESIGNATED_INITIALIZER; + +/** + The current profile instance and posts the appropriate notification + if the profile parameter is different than the receiver. + + This persists the profile to NSUserDefaults. + */ + +/// The current profile +@property (class, nonatomic, strong, nullable) FBSDKProfile *currentProfile +NS_SWIFT_NAME(current); + /** The user id */ @@ -95,46 +125,32 @@ FOUNDATION_EXPORT NSString *const FBSDKProfileChangeNewKey; /** The user's first name */ -@property (nonatomic, copy, readonly) NSString *firstName; +@property (nonatomic, copy, readonly, nullable) NSString *firstName; /** The user's middle name */ -@property (nonatomic, copy, readonly) NSString *middleName; +@property (nonatomic, copy, readonly, nullable) NSString *middleName; /** The user's last name */ -@property (nonatomic, copy, readonly) NSString *lastName; +@property (nonatomic, copy, readonly, nullable) NSString *lastName; /** The user's complete name */ -@property (nonatomic, copy, readonly) NSString *name; +@property (nonatomic, copy, readonly, nullable) NSString *name; /** A URL to the user's profile. - Consider using Bolts and `FBSDKAppLinkResolver` to resolve this + Consider using `FBSDKAppLinkResolver` to resolve this to an app link to link directly to the user's profile in the Facebook app. */ -@property (nonatomic, readonly) NSURL *linkURL; +@property (nonatomic, readonly, nullable) NSURL *linkURL; /** The last time the profile data was fetched. */ @property (nonatomic, readonly) NSDate *refreshDate; -/** - Gets the current FBSDKProfile instance. - */ -+ (FBSDKProfile *)currentProfile; - -/** - Sets the current instance and posts the appropriate notification if the profile parameter is different - than the receiver. - @param profile the profile to set - - This persists the profile to NSUserDefaults. - */ -+ (void)setCurrentProfile:(FBSDKProfile *)profile; - /** Indicates if `currentProfile` will automatically observe `FBSDKAccessTokenDidChangeNotification` notifications @param enable YES is observing @@ -145,7 +161,8 @@ FOUNDATION_EXPORT NSString *const FBSDKProfileChangeNewKey; Note that if `[FBSDKAccessToken currentAccessToken]` is unset, the `currentProfile` instance remains. It's also possible for `currentProfile` to return nil until the data is fetched. */ -+ (void)enableUpdatesOnAccessTokenChange:(BOOL)enable; ++ (void)enableUpdatesOnAccessTokenChange:(BOOL)enable +NS_SWIFT_NAME(enableUpdatesOnAccessTokenChange(_:)); /** Loads the current profile and passes it to the completion block. @@ -154,26 +171,15 @@ FOUNDATION_EXPORT NSString *const FBSDKProfileChangeNewKey; If the profile is already loaded, this method will call the completion block synchronously, otherwise it will begin a graph request to update `currentProfile` and then call the completion block when finished. */ -+ (void)loadCurrentProfileWithCompletion:(void(^)(FBSDKProfile *profile, NSError *error))completion; ++ (void)loadCurrentProfileWithCompletion:(nullable FBSDKProfileBlock)completion; /** A convenience method for returning a complete `NSURL` for retrieving the user's profile image. @param mode The picture mode @param size The height and width. This will be rounded to integer precision. */ -- (NSURL *)imageURLForPictureMode:(FBSDKProfilePictureMode)mode size:(CGSize)size; - -/** - A convenience method for returning a Graph API path for retrieving the user's profile image. - -@warning use `imageURLForPictureMode:size:` instead - - You can pass this to a `FBSDKGraphRequest` instance to download the image. - @param mode The picture mode - @param size The height and width. This will be rounded to integer precision. - */ -- (NSString *)imagePathForPictureMode:(FBSDKProfilePictureMode)mode size:(CGSize)size -DEPRECATED_MSG_ATTRIBUTE("use imageURLForPictureMode:size: instead"); +- (nullable NSURL *)imageURLForPictureMode:(FBSDKProfilePictureMode)mode size:(CGSize)size +NS_SWIFT_NAME(imageURL(forMode:size:)); /** Returns YES if the profile is equivalent to the receiver. @@ -181,3 +187,5 @@ DEPRECATED_MSG_ATTRIBUTE("use imageURLForPictureMode:size: instead"); */ - (BOOL)isEqualToProfile:(FBSDKProfile *)profile; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKProfilePictureView.h b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKProfilePictureView.h index aaf9bcaa7..1ed2b7664 100644 --- a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKProfilePictureView.h +++ b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKProfilePictureView.h @@ -18,6 +18,8 @@ #import +NS_ASSUME_NONNULL_BEGIN + /** FBSDKProfilePictureMode enum Defines the aspect ratio mode for the source image of the profile picture. @@ -32,11 +34,12 @@ typedef NS_ENUM(NSUInteger, FBSDKProfilePictureMode) The original picture's aspect ratio will be used for the source image in the view. */ FBSDKProfilePictureModeNormal, -}; +} NS_SWIFT_NAME(Profile.PictureMode); /** A view to display a profile picture. */ +NS_SWIFT_NAME(FBProfilePictureView) @interface FBSDKProfilePictureView : UIView /** @@ -58,3 +61,5 @@ typedef NS_ENUM(NSUInteger, FBSDKProfilePictureMode) - (void)setNeedsImageUpdate; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKSettings.h b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKSettings.h index 4f79de54f..e9e652fab 100644 --- a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKSettings.h +++ b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKSettings.h @@ -18,255 +18,189 @@ #import +NS_ASSUME_NONNULL_BEGIN + /* * Constants defining logging behavior. Use with <[FBSDKSettings setLoggingBehavior]>. */ +/// typedef for FBSDKAppEventName +typedef NSString *const FBSDKLoggingBehavior NS_TYPED_EXTENSIBLE_ENUM NS_SWIFT_NAME(LoggingBehavior); + /** Include access token in logging. */ -FOUNDATION_EXPORT NSString *const FBSDKLoggingBehaviorAccessTokens; +FOUNDATION_EXPORT FBSDKLoggingBehavior FBSDKLoggingBehaviorAccessTokens; /** Log performance characteristics */ -FOUNDATION_EXPORT NSString *const FBSDKLoggingBehaviorPerformanceCharacteristics; +FOUNDATION_EXPORT FBSDKLoggingBehavior FBSDKLoggingBehaviorPerformanceCharacteristics; /** Log FBSDKAppEvents interactions */ -FOUNDATION_EXPORT NSString *const FBSDKLoggingBehaviorAppEvents; +FOUNDATION_EXPORT FBSDKLoggingBehavior FBSDKLoggingBehaviorAppEvents; /** Log Informational occurrences */ -FOUNDATION_EXPORT NSString *const FBSDKLoggingBehaviorInformational; +FOUNDATION_EXPORT FBSDKLoggingBehavior FBSDKLoggingBehaviorInformational; /** Log cache errors. */ -FOUNDATION_EXPORT NSString *const FBSDKLoggingBehaviorCacheErrors; +FOUNDATION_EXPORT FBSDKLoggingBehavior FBSDKLoggingBehaviorCacheErrors; /** Log errors from SDK UI controls */ -FOUNDATION_EXPORT NSString *const FBSDKLoggingBehaviorUIControlErrors; +FOUNDATION_EXPORT FBSDKLoggingBehavior FBSDKLoggingBehaviorUIControlErrors; /** Log debug warnings from API response, i.e. when friends fields requested, but user_friends permission isn't granted. */ -FOUNDATION_EXPORT NSString *const FBSDKLoggingBehaviorGraphAPIDebugWarning; +FOUNDATION_EXPORT FBSDKLoggingBehavior FBSDKLoggingBehaviorGraphAPIDebugWarning; /** Log warnings from API response, i.e. when requested feature will be deprecated in next version of API. Info is the lowest level of severity, using it will result in logging all previously mentioned levels. */ -FOUNDATION_EXPORT NSString *const FBSDKLoggingBehaviorGraphAPIDebugInfo; +FOUNDATION_EXPORT FBSDKLoggingBehavior FBSDKLoggingBehaviorGraphAPIDebugInfo; /** Log errors from SDK network requests */ -FOUNDATION_EXPORT NSString *const FBSDKLoggingBehaviorNetworkRequests; +FOUNDATION_EXPORT FBSDKLoggingBehavior FBSDKLoggingBehaviorNetworkRequests; /** Log errors likely to be preventable by the developer. This is in the default set of enabled logging behaviors. */ -FOUNDATION_EXPORT NSString *const FBSDKLoggingBehaviorDeveloperErrors; +FOUNDATION_EXPORT FBSDKLoggingBehavior FBSDKLoggingBehaviorDeveloperErrors; +NS_SWIFT_NAME(Settings) @interface FBSDKSettings : NSObject - (instancetype)init NS_UNAVAILABLE; + (instancetype)new NS_UNAVAILABLE; /** - Get the Facebook App ID used by the SDK. - - If not explicitly set, the default will be read from the application's plist (FacebookAppID). + Retrieve the current iOS SDK version. */ -+ (NSString *)appID; +@property (class, nonatomic, copy, readonly) NSString *sdkVersion; /** - Set the Facebook App ID to be used by the SDK. - @param appID The Facebook App ID to be used by the SDK. + Retrieve the current default Graph API version. */ -+ (void)setAppID:(NSString *)appID; +@property (class, nonatomic, copy, readonly) NSString *defaultGraphAPIVersion; /** - Get the default url scheme suffix used for sessions. + The quality of JPEG images sent to Facebook from the SDK, + expressed as a value from 0.0 to 1.0. - If not explicitly set, the default will be read from the application's plist (FacebookUrlSchemeSuffix). - */ -+ (NSString *)appURLSchemeSuffix; + If not explicitly set, the default is 0.9. -/** - Set the app url scheme suffix used by the SDK. - @param appURLSchemeSuffix The url scheme suffix to be used by the SDK. - */ -+ (void)setAppURLSchemeSuffix:(NSString *)appURLSchemeSuffix; + @see [UIImageJPEGRepresentation](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIKitFunctionReference/#//apple_ref/c/func/UIImageJPEGRepresentation) */ +@property (class, nonatomic, assign) CGFloat JPEGCompressionQuality +NS_SWIFT_NAME(jpegCompressionQuality); /** - Retrieve the Client Token that has been set via [FBSDKSettings setClientToken]. - - If not explicitly set, the default will be read from the application's plist (FacebookClientToken). + Controls sdk auto initailization. + If not explicitly set, the default is true */ -+ (NSString *)clientToken; +@property (class, nonatomic, assign, getter=isAutoInitEnabled) BOOL autoInitEnabled; /** - Sets the Client Token for the Facebook App. - - This is needed for certain API calls when made anonymously, without a user-based access token. - @param clientToken The Facebook App's "client token", which, for a given appid can be found in the Security - section of the Advanced tab of the Facebook App settings found at + Controls the auto logging of basic app events, such as activateApp and deactivateApp. + If not explicitly set, the default is true */ -+ (void)setClientToken:(NSString *)clientToken; +@property (class, nonatomic, assign, getter=isAutoLogAppEventsEnabled) BOOL autoLogAppEventsEnabled; /** - A convenient way to toggle error recovery for all FBSDKGraphRequest instances created after this is set. - @param disableGraphErrorRecovery YES or NO. + Controls the fb_codeless_debug logging event + If not explicitly set, the default is true */ -+ (void)setGraphErrorRecoveryDisabled:(BOOL)disableGraphErrorRecovery; +@property (class, nonatomic, assign, getter=isCodelessDebugLogEnabled) BOOL codelessDebugLogEnabled; /** - Get the Facebook Display Name used by the SDK. - - If not explicitly set, the default will be read from the application's plist (FacebookDisplayName). + Controls the fb_codeless_debug logging event + If not explicitly set, the default is true */ -+ (NSString *)displayName; +@property (class, nonatomic, assign, getter=isAdvertiserIDCollectionEnabled) BOOL advertiserIDCollectionEnabled; /** - Set the default Facebook Display Name to be used by the SDK. - - This should match the Display Name that has been set for the app with the corresponding Facebook App ID, - in the Facebook App Dashboard. - @param displayName The Facebook Display Name to be used by the SDK. + Whether data such as that generated through FBSDKAppEvents and sent to Facebook + should be restricted from being used for other than analytics and conversions. + Defaults to NO. This value is stored on the device and persists across app launches. */ -+ (void)setDisplayName:(NSString *)displayName; +@property (class, nonatomic, assign, getter=shouldLimitEventAndDataUsage) BOOL limitEventAndDataUsage; /** - Get the Facebook domain part. - - If not explicitly set, the default will be read from the application's plist (FacebookDomainPart). + A convenient way to toggle error recovery for all FBSDKGraphRequest instances created after this is set. */ -+ (NSString *)facebookDomainPart; +@property (class, nonatomic, assign, getter=isGraphErrorRecoveryEnabled) BOOL graphErrorRecoveryEnabled; /** - Set the subpart of the Facebook domain. + The Facebook App ID used by the SDK. - This can be used to change the Facebook domain (e.g. @"beta") so that requests will be sent to - graph.beta.facebook.com - @param facebookDomainPart The domain part to be inserted into facebook.com. + If not explicitly set, the default will be read from the application's plist (FacebookAppID). */ -+ (void)setFacebookDomainPart:(NSString *)facebookDomainPart; +@property (class, nonatomic, copy, null_resettable) NSString *appID; /** - The quality of JPEG images sent to Facebook from the SDK. - - If not explicitly set, the default is 0.9. + The default url scheme suffix used for sessions. - @see [UIImageJPEGRepresentation](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIKitFunctionReference/#//apple_ref/c/func/UIImageJPEGRepresentation) */ -+ (CGFloat)JPEGCompressionQuality; + If not explicitly set, the default will be read from the application's plist (FacebookUrlSchemeSuffix). + */ +@property (class, nonatomic, copy, null_resettable) NSString *appURLSchemeSuffix; /** - Set the quality of JPEG images sent to Facebook from the SDK. - @param JPEGCompressionQuality The quality for JPEG images, expressed as a value from 0.0 to 1.0. - - @see [UIImageJPEGRepresentation](https://developer.apple.com/library/ios/documentation/UIKit/Reference/UIKitFunctionReference/#//apple_ref/c/func/UIImageJPEGRepresentation) */ -+ (void)setJPEGCompressionQuality:(CGFloat)JPEGCompressionQuality; + The Client Token that has been set via [FBSDKSettings setClientToken]. + This is needed for certain API calls when made anonymously, without a user-based access token. -/** - Flag which controls the auto logging of basic app events, such as activateApp and deactivateApp. - If not explicitly set, the default is 1 - true - */ -+ (NSNumber *)autoLogAppEventsEnabled; + The Facebook App's "client token", which, for a given appid can be found in the Security + section of the Advanced tab of the Facebook App settings found at -/** - Set the flag which controls the auto logging of basic app events, such as activateApp and deactivateApp. - @param AutoLogAppEventsEnabled Flag value, expressed as a value from 0 - false or 1 - true. + If not explicitly set, the default will be read from the application's plist (FacebookClientToken). */ -+ (void)setAutoLogAppEventsEnabled:(NSNumber *)AutoLogAppEventsEnabled; +@property (class, nonatomic, copy, null_resettable) NSString *clientToken; /** - Flag which controls the fb_codeless_debug logging event - If not explicitly set, the default is 1 - true - */ -+ (NSNumber *)codelessDebugLogEnabled; + The Facebook Display Name used by the SDK. -/** - Set the flag which controls the fb_codeless_debug logging event - @param CodelessDebugLogEnabled Flag value, expressed as a value from 0 - false or 1 - true. - */ -+ (void)setCodelessDebugLogEnabled:(NSNumber *)CodelessDebugLogEnabled; + This should match the Display Name that has been set for the app with the corresponding Facebook App ID, + in the Facebook App Dashboard. -/** - Flag which controls whether advertiserID could be collected. - If not explicitly set, the default is 1 - true + If not explicitly set, the default will be read from the application's plist (FacebookDisplayName). */ -+ (NSNumber *)advertiserIDCollectionEnabled; +@property (class, nonatomic, copy, null_resettable) NSString *displayName; /** - Set the flag which controls ontrols whether advertiserID could be collected. - @param AdvertiserIDCollectionEnabled Flag value, expressed as a value from 0 - false or 1 - true. - */ -+ (void)setAdvertiserIDCollectionEnabled:(NSNumber *)AdvertiserIDCollectionEnabled; + The Facebook domain part. This can be used to change the Facebook domain + (e.g. @"beta") so that requests will be sent to `graph.beta.facebook.com` -/** - Gets whether data such as that generated through FBSDKAppEvents and sent to Facebook should be restricted from being used for other than analytics and conversions. Defaults to NO. This value is stored on the device and persists across app launches. + If not explicitly set, the default will be read from the application's plist (FacebookDomainPart). */ -+ (BOOL)limitEventAndDataUsage; +@property (class, nonatomic, copy, null_resettable) NSString *facebookDomainPart; /** - Sets whether data such as that generated through FBSDKAppEvents and sent to Facebook should be restricted from being used for other than analytics and conversions. Defaults to NO. This value is stored on the device and persists across app launches. + The current Facebook SDK logging behavior. This should consist of strings + defined as constants with FBSDKLoggingBehavior*. - @param limitEventAndDataUsage The desired value. - */ -+ (void)setLimitEventAndDataUsage:(BOOL)limitEventAndDataUsage; + This should consist a set of strings indicating what information should be logged + defined as constants with FBSDKLoggingBehavior*. Set to an empty set in order to disable all logging. -/** - Retrieve the current iOS SDK version. - */ -+ (NSString *)sdkVersion; + You can also define this via an array in your app plist with key "FacebookLoggingBehavior" or add and remove individual values via enableLoggingBehavior: or disableLogginBehavior: -/** - The current Facebook SDK logging behavior. + The default is a set consisting of FBSDKLoggingBehaviorDeveloperErrors */ -@property (class, nonatomic, copy) NSSet *loggingBehaviors; - -+ (NSSet *)loggingBehavior -DEPRECATED_MSG_ATTRIBUTE("Renamed `loggingBehaviors`"); +@property (class, nonatomic, copy) NSSet *loggingBehaviors +NS_REFINED_FOR_SWIFT; /** - Set the current Facebook SDK logging behavior. This should consist of strings defined as - constants with FBSDKLoggingBehavior*. - - @param loggingBehavior A set of strings indicating what information should be logged. If nil is provided, the logging - behavior is reset to the default set of enabled behaviors. Set to an empty set in order to disable all logging. + Overrides the default Graph API version to use with `FBSDKGraphRequests`. This overrides `FBSDK_TARGET_PLATFORM_VERSION`. + The string should be of the form `@"v2.7"`. - You can also define this via an array in your app plist with key "FacebookLoggingBehavior" or add and remove individual values via enableLoggingBehavior: or disableLogginBehavior: - */ -+ (void)setLoggingBehavior:(NSSet *)loggingBehavior; + Defaults to `FBSDK_TARGET_PLATFORM_VERSION`. +*/ +@property (class, nonatomic, copy, null_resettable) NSString *graphAPIVersion; /** - Enable a particular Facebook SDK logging behavior. + Enable a particular Facebook SDK logging behavior. @param loggingBehavior The LoggingBehavior to enable. This should be a string defined as a constant with FBSDKLoggingBehavior*. */ -+ (void)enableLoggingBehavior:(NSString *)loggingBehavior; ++ (void)enableLoggingBehavior:(FBSDKLoggingBehavior)loggingBehavior; /** - Disable a particular Facebook SDK logging behavior. + Disable a particular Facebook SDK logging behavior. @param loggingBehavior The LoggingBehavior to disable. This should be a string defined as a constant with FBSDKLoggingBehavior*. */ -+ (void)disableLoggingBehavior:(NSString *)loggingBehavior; - -/** - Set the user defaults key used by legacy token caches. - - @param tokenInformationKeyName the key used by legacy token caches. - - - Use this only if you customized FBSessionTokenCachingStrategy in v3.x of - the Facebook SDK for iOS. -*/ -+ (void)setLegacyUserDefaultTokenInformationKeyName:(NSString *)tokenInformationKeyName; - -/** - Get the user defaults key used by legacy token caches. -*/ -+ (NSString *)legacyUserDefaultTokenInformationKeyName; - -/** - Overrides the default Graph API version to use with `FBSDKGraphRequests`. This overrides `FBSDK_TARGET_PLATFORM_VERSION`. - - The string should be of the form `@"v2.7"`. -*/ -+ (void)setGraphAPIVersion:(NSString *)version; - -/** - Returns the default Graph API version. Defaults to `FBSDK_TARGET_PLATFORM_VERSION` -*/ -+ (NSString *)graphAPIVersion; ++ (void)disableLoggingBehavior:(FBSDKLoggingBehavior)loggingBehavior; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKTestUsersManager.h b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKTestUsersManager.h index 737363997..8b5ed3ea3 100644 --- a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKTestUsersManager.h +++ b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKTestUsersManager.h @@ -18,19 +18,17 @@ #import -@class FBSDKAccessToken; +#import "FBSDKConstants.h" -/** +NS_ASSUME_NONNULL_BEGIN - Callback block for returning an array of FBSDKAccessToken instances (and possibly `NSNull` instances); or an error. - */ -typedef void (^FBSDKTestUsersManagerRetrieveTestAccountTokensHandler)(NSArray *tokens, NSError *error) ; +@class FBSDKAccessToken; /** - - Callback block for removing a test user. + Callback block for returning an array of FBSDKAccessToken instances (and possibly `NSNull` instances); or an error. */ -typedef void (^FBSDKTestUsersManagerRemoveTestAccountHandler)(NSError *error) ; +typedef void (^FBSDKAccessTokensBlock)(NSArray *tokens, NSError *_Nullable error) +NS_SWIFT_NAME(AccessTokensBlock); /** @@ -46,6 +44,7 @@ typedef void (^FBSDKTestUsersManagerRemoveTestAccountHandler)(NSError *error) ; an app id and app secret. You will typically use this class to write unit or integration tests. Make sure you NEVER include your app secret in your production app. */ +NS_SWIFT_NAME(TestUsersManager) @interface FBSDKTestUsersManager : NSObject - (instancetype)init NS_UNAVAILABLE; @@ -56,14 +55,14 @@ typedef void (^FBSDKTestUsersManagerRemoveTestAccountHandler)(NSError *error) ; @param appID the Facebook app id @param appSecret the Facebook app secret */ -+ (instancetype)sharedInstanceForAppID:(NSString *)appID appSecret:(NSString *)appSecret; ++ (instancetype)sharedInstanceForAppID:(NSString *)appID appSecret:(NSString *)appSecret +NS_SWIFT_NAME(shared(forAppID:appSecret:)); /** retrieve FBSDKAccessToken instances for test accounts with the specific permissions. @param arraysOfPermissions an array of permissions sets, such as @[ [NSSet setWithObject:@"email"], [NSSet setWithObject:@"user_birthday"]] if you needed two test accounts with email and birthday permissions, respectively. You can pass in empty nested sets - if you need two arbitrary test accounts. For convenience, passing nil is treated as @[ [NSSet set] ] - for fetching a single test user. + if you need two arbitrary test accounts. @param createIfNotFound if YES, new test accounts are created if no test accounts existed that fit the permissions requirement @param handler the callback to invoke which will return an array of `FBAccessTokenData` instances or an `NSError`. @@ -74,24 +73,26 @@ typedef void (^FBSDKTestUsersManagerRemoveTestAccountHandler)(NSError *error) ; `arrayOfPermissionsArrays` so that the most number of permissions come first to minimize creation of new test accounts. */ -- (void)requestTestAccountTokensWithArraysOfPermissions:(NSArray *)arraysOfPermissions +- (void)requestTestAccountTokensWithArraysOfPermissions:(NSArray *> *)arraysOfPermissions createIfNotFound:(BOOL)createIfNotFound - completionHandler:(FBSDKTestUsersManagerRetrieveTestAccountTokensHandler)handler; + completionHandler:(nullable FBSDKAccessTokensBlock)handler +NS_SWIFT_NAME(requestTestAccountTokens(withPermissions:createIfNotFound:completionHandler:)); /** add a test account with the specified permissions @param permissions the set of permissions, e.g., [NSSet setWithObjects:@"email", @"user_friends"] @param handler the callback handler */ -- (void)addTestAccountWithPermissions:(NSSet *)permissions - completionHandler:(FBSDKTestUsersManagerRetrieveTestAccountTokensHandler)handler; +- (void)addTestAccountWithPermissions:(NSSet *)permissions + completionHandler:(nullable FBSDKAccessTokensBlock)handler; /** remove a test account for the given user id @param userId the user id @param handler the callback handler */ -- (void)removeTestAccount:(NSString *)userId completionHandler:(FBSDKTestUsersManagerRemoveTestAccountHandler)handler; +- (void)removeTestAccount:(NSString *)userId + completionHandler:(nullable FBSDKErrorBlock)handler; /** Make two test users friends with each other. @@ -99,6 +100,11 @@ typedef void (^FBSDKTestUsersManagerRemoveTestAccountHandler)(NSError *error) ; @param second the token of the second user @param callback the callback handler */ -- (void)makeFriendsWithFirst:(FBSDKAccessToken *)first second:(FBSDKAccessToken *)second callback:(void (^)(NSError *))callback; +- (void)makeFriendsWithFirst:(FBSDKAccessToken *)first + second:(FBSDKAccessToken *)second + callback:(nullable FBSDKErrorBlock)callback +NS_SWIFT_NAME(makeFriends(first:second:callback:)); @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKURL.h b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKURL.h index e0e3d4c6b..12726a09b 100644 --- a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKURL.h +++ b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKURL.h @@ -26,8 +26,12 @@ NS_ASSUME_NONNULL_BEGIN Provides a set of utilities for working with NSURLs, such as parsing of query parameters and handling for App Link requests. */ +NS_SWIFT_NAME(AppLinkURL) @interface FBSDKURL : NSObject +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; + /*! Creates a link target from a raw URL. On success, this posts the FBSDKAppLinkParseEventName measurement event. If you are constructing the FBSDKURL within your application delegate's @@ -35,7 +39,8 @@ NS_ASSUME_NONNULL_BEGIN to support better FBSDKMeasurementEvent notifications @param url The instance of `NSURL` to create FBSDKURL from. */ -+ (FBSDKURL *)URLWithURL:(NSURL *)url; ++ (instancetype)URLWithURL:(NSURL *)url +NS_SWIFT_NAME(init(url:)); /*! Creates a link target from a raw URL received from an external application. This is typically called from the app delegate's @@ -43,7 +48,8 @@ NS_ASSUME_NONNULL_BEGIN @param url The instance of `NSURL` to create FBSDKURL from. @param sourceApplication the bundle ID of the app that is requesting your app to open the URL. The same sourceApplication in application:openURL:sourceApplication:annotation: */ -+ (FBSDKURL *)URLWithInboundURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication; ++ (instancetype)URLWithInboundURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication +NS_SWIFT_NAME(init(inboundURL:sourceApplication:)); /*! Gets the target URL. If the link is an App Link, this is the target of the App Link. diff --git a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKUtility.h b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKUtility.h index 560b6b039..13c4a5dd9 100644 --- a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKUtility.h +++ b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKUtility.h @@ -18,9 +18,12 @@ #import +NS_ASSUME_NONNULL_BEGIN + /** Class to contain common utility methods. */ +NS_SWIFT_NAME(Utility) @interface FBSDKUtility : NSObject - (instancetype)init NS_UNAVAILABLE; @@ -31,7 +34,8 @@ @param queryString The query string value. @return A dictionary with the key/value pairs. */ -+ (NSDictionary *)dictionaryWithQueryString:(NSString *)queryString; ++ (NSDictionary *)dictionaryWithQueryString:(NSString *)queryString +NS_SWIFT_NAME(dictionary(withQuery:)); /** Constructs a query string from a dictionary. @@ -39,21 +43,26 @@ @param errorRef If an error occurs, upon return contains an NSError object that describes the problem. @return Query string representation of the parameters. */ -+ (NSString *)queryStringWithDictionary:(NSDictionary *)dictionary error:(NSError *__autoreleasing *)errorRef; ++ (NSString *)queryStringWithDictionary:(NSDictionary *)dictionary + error:(NSError **)errorRef +NS_SWIFT_NAME(query(from:)) +__attribute__((swift_error(nonnull_error))); /** Decodes a value from an URL. @param value The value to decode. @return The decoded value. */ -+ (NSString *)URLDecode:(NSString *)value; ++ (NSString *)URLDecode:(NSString *)value +NS_SWIFT_NAME(decode(urlString:)); /** Encodes a value for an URL. @param value The value to encode. @return The encoded value. */ -+ (NSString *)URLEncode:(NSString *)value; ++ (NSString *)URLEncode:(NSString *)value +NS_SWIFT_NAME(encode(urlString:)); /** Creates a timer using Grand Central Dispatch. @@ -74,6 +83,9 @@ @param input The data that needs to be hashed, it could be NSString or NSData. */ -+ (NSString *)SHA256Hash:(NSObject *)input; ++ (nullable NSString *)SHA256Hash:(nullable NSObject *)input +NS_SWIFT_NAME(sha256Hash(_:)); @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKWebViewAppLinkResolver.h b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKWebViewAppLinkResolver.h index 33eba98f9..973200fe6 100644 --- a/src/ios/FBSDKCoreKit.framework/Headers/FBSDKWebViewAppLinkResolver.h +++ b/src/ios/FBSDKCoreKit.framework/Headers/FBSDKWebViewAppLinkResolver.h @@ -26,12 +26,14 @@ NS_ASSUME_NONNULL_BEGIN A reference implementation for an App Link resolver that uses a hidden UIWebView to parse the HTML containing App Link metadata. */ +NS_SWIFT_NAME(WebViewAppLinkResolver) @interface FBSDKWebViewAppLinkResolver : NSObject -/*! +/** Gets the instance of a FBSDKWebViewAppLinkResolver. */ -+ (instancetype)sharedInstance; +@property (class, nonatomic, readonly, strong) FBSDKWebViewAppLinkResolver *sharedInstance +NS_SWIFT_NAME(shared); @end diff --git a/src/ios/FBSDKCoreKit.framework/Info.plist b/src/ios/FBSDKCoreKit.framework/Info.plist index c4871f05c..fa3c5e99a 100644 Binary files a/src/ios/FBSDKCoreKit.framework/Info.plist and b/src/ios/FBSDKCoreKit.framework/Info.plist differ diff --git a/src/ios/FBSDKLoginKit.framework/FBSDKLoginKit b/src/ios/FBSDKLoginKit.framework/FBSDKLoginKit index 4b469bbae..57d9bfad0 100644 Binary files a/src/ios/FBSDKLoginKit.framework/FBSDKLoginKit and b/src/ios/FBSDKLoginKit.framework/FBSDKLoginKit differ diff --git a/src/ios/FBSDKLoginKit.framework/Headers/FBSDKDeviceLoginCodeInfo.h b/src/ios/FBSDKLoginKit.framework/Headers/FBSDKDeviceLoginCodeInfo.h index 52c1de760..36665b96a 100644 --- a/src/ios/FBSDKLoginKit.framework/Headers/FBSDKDeviceLoginCodeInfo.h +++ b/src/ios/FBSDKLoginKit.framework/Headers/FBSDKDeviceLoginCodeInfo.h @@ -24,6 +24,7 @@ NS_ASSUME_NONNULL_BEGIN @abstract Describes the initial response when starting the device login flow. @discussion This is used by `FBSDKDeviceLoginManager`. */ +NS_SWIFT_NAME(DeviceLoginCodeInfo) @interface FBSDKDeviceLoginCodeInfo : NSObject /*! diff --git a/src/ios/FBSDKLoginKit.framework/Headers/FBSDKDeviceLoginManager.h b/src/ios/FBSDKLoginKit.framework/Headers/FBSDKDeviceLoginManager.h index 3f6f0360b..1eca08210 100644 --- a/src/ios/FBSDKLoginKit.framework/Headers/FBSDKDeviceLoginManager.h +++ b/src/ios/FBSDKLoginKit.framework/Headers/FBSDKDeviceLoginManager.h @@ -28,6 +28,7 @@ NS_ASSUME_NONNULL_BEGIN /*! @abstract A delegate for `FBSDKDeviceLoginManager`. */ +NS_SWIFT_NAME(DeviceLoginManagerDelegate) @protocol FBSDKDeviceLoginManagerDelegate /*! @@ -36,7 +37,8 @@ NS_ASSUME_NONNULL_BEGIN @param loginManager the login manager instance. @param codeInfo the code info data. */ -- (void)deviceLoginManager:(FBSDKDeviceLoginManager *)loginManager startedWithCodeInfo:(FBSDKDeviceLoginCodeInfo *)codeInfo; +- (void)deviceLoginManager:(FBSDKDeviceLoginManager *)loginManager + startedWithCodeInfo:(FBSDKDeviceLoginCodeInfo *)codeInfo; /*! @abstract Indicates the device login flow has finished. @@ -60,13 +62,14 @@ NS_ASSUME_NONNULL_BEGIN See [Facebook Device Login](https://developers.facebook.com/docs/facebook-login/for-devices). */ +NS_SWIFT_NAME(DeviceLoginManager) @interface FBSDKDeviceLoginManager : NSObject /*! @abstract Initializes a new instance. @param permissions permissions to request. */ -- (instancetype)initWithPermissions:(nullable NSArray *)permissions +- (instancetype)initWithPermissions:(NSArray *)permissions enableSmartLogin:(BOOL)enableSmartLogin NS_DESIGNATED_INITIALIZER; @@ -81,7 +84,7 @@ NS_DESIGNATED_INITIALIZER; /*! @abstract the requested permissions. */ -@property (nullable, nonatomic, copy, readonly) NSArray *permissions; +@property (nonatomic, copy, readonly) NSArray *permissions; /*! @abstract the optional URL to redirect the user to after they complete the login. diff --git a/src/ios/FBSDKLoginKit.framework/Headers/FBSDKDeviceLoginManagerResult.h b/src/ios/FBSDKLoginKit.framework/Headers/FBSDKDeviceLoginManagerResult.h index ccce55232..786f11b6e 100644 --- a/src/ios/FBSDKLoginKit.framework/Headers/FBSDKDeviceLoginManagerResult.h +++ b/src/ios/FBSDKLoginKit.framework/Headers/FBSDKDeviceLoginManagerResult.h @@ -26,6 +26,7 @@ NS_ASSUME_NONNULL_BEGIN @abstract Represents the results of the a device login flow. @discussion This is used by `FBSDKDeviceLoginManager`. */ +NS_SWIFT_NAME(DeviceLoginManagerResult) @interface FBSDKDeviceLoginManagerResult : NSObject /*! diff --git a/src/ios/FBSDKLoginKit.framework/Headers/FBSDKLoginButton.h b/src/ios/FBSDKLoginKit.framework/Headers/FBSDKLoginButton.h index 1b8ed2985..03005f0bc 100644 --- a/src/ios/FBSDKLoginKit.framework/Headers/FBSDKLoginButton.h +++ b/src/ios/FBSDKLoginKit.framework/Headers/FBSDKLoginButton.h @@ -24,6 +24,8 @@ #import "FBSDKTooltipView.h" +NS_ASSUME_NONNULL_BEGIN + @protocol FBSDKLoginButtonDelegate; /** @@ -40,7 +42,7 @@ typedef NS_ENUM(NSUInteger, FBSDKLoginButtonTooltipBehavior) /** Force disable. In this case you can still exert more refined control by manually constructing a `FBSDKLoginTooltipView` instance. */ FBSDKLoginButtonTooltipBehaviorDisable = 2 -}; +} NS_SWIFT_NAME(FBLoginButton.TooltipBehavior); /** A button that initiates a log in or log out flow upon tapping. @@ -55,6 +57,7 @@ typedef NS_ENUM(NSUInteger, FBSDKLoginButtonTooltipBehavior) `FBSDKLoginButton` has a fixed height of @c 30 pixels, but you may change the width. `initWithFrame:CGRectZero` will size the button to its minimum frame. */ +NS_SWIFT_NAME(FBLoginButton) @interface FBSDKLoginButton : FBSDKButton /** @@ -69,23 +72,18 @@ typedef NS_ENUM(NSUInteger, FBSDKLoginButtonTooltipBehavior) Gets or sets the login behavior to use */ @property (assign, nonatomic) FBSDKLoginBehavior loginBehavior; -/** - The publish permissions to request. +/*! + @abstract The permissions to request. + @discussion To provide the best experience, you should minimize the number of permissions you request, and only ask for them when needed. + For example, do not ask for "user_location" until you the information is actually used by the app. - Use `defaultAudience` to specify the default audience to publish to. Note this is converted to NSSet and is only an NSArray for the convenience of literal syntax. - */ -@property (copy, nonatomic) NSArray *publishPermissions; -/** - The read permissions to request. - - Note, that if read permissions are specified, then publish permissions should not be specified. This is converted to NSSet and is only - an NSArray for the convenience of literal syntax. + See [the permissions guide]( https://developers.facebook.com/docs/facebook-login/permissions/ ) for more details. */ -@property (copy, nonatomic) NSArray *readPermissions; +@property (copy, nonatomic) NSArray *permissions; /** Gets or sets the desired tooltip behavior. */ @@ -101,6 +99,7 @@ typedef NS_ENUM(NSUInteger, FBSDKLoginButtonTooltipBehavior) @protocol A delegate for `FBSDKLoginButton` */ +NS_SWIFT_NAME(LoginButtonDelegate) @protocol FBSDKLoginButtonDelegate @required @@ -111,8 +110,8 @@ typedef NS_ENUM(NSUInteger, FBSDKLoginButtonTooltipBehavior) @param error The error (if any) from the login */ - (void)loginButton:(FBSDKLoginButton *)loginButton -didCompleteWithResult:(FBSDKLoginManagerLoginResult *)result - error:(NSError *)error; +didCompleteWithResult:(nullable FBSDKLoginManagerLoginResult *)result + error:(nullable NSError *)error; /** Sent to the delegate when the button was used to logout. @@ -126,6 +125,8 @@ didCompleteWithResult:(FBSDKLoginManagerLoginResult *)result @param loginButton the sender @return YES if the login should be allowed to proceed, NO otherwise */ -- (BOOL) loginButtonWillLogin:(FBSDKLoginButton *)loginButton; +- (BOOL)loginButtonWillLogin:(FBSDKLoginButton *)loginButton; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKLoginKit.framework/Headers/FBSDKLoginConstants.h b/src/ios/FBSDKLoginKit.framework/Headers/FBSDKLoginConstants.h index bcbf9d669..471bfdcab 100644 --- a/src/ios/FBSDKLoginKit.framework/Headers/FBSDKLoginConstants.h +++ b/src/ios/FBSDKLoginKit.framework/Headers/FBSDKLoginConstants.h @@ -18,6 +18,8 @@ #import +NS_ASSUME_NONNULL_BEGIN + #if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0 /** @@ -25,7 +27,8 @@ Error codes from the SDK in the range 300-399 are reserved for this domain. */ -FOUNDATION_EXPORT NSErrorDomain const FBSDKLoginErrorDomain; +FOUNDATION_EXPORT NSErrorDomain const FBSDKLoginErrorDomain +NS_SWIFT_NAME(LoginErrorDomain); #else @@ -34,7 +37,8 @@ FOUNDATION_EXPORT NSErrorDomain const FBSDKLoginErrorDomain; Error codes from the SDK in the range 300-399 are reserved for this domain. */ -FOUNDATION_EXPORT NSString *const FBSDKLoginErrorDomain; +FOUNDATION_EXPORT NSString *const FBSDKLoginErrorDomain +NS_SWIFT_NAME(LoginErrorDomain); #endif @@ -54,6 +58,7 @@ typedef NS_ERROR_ENUM(FBSDKLoginErrorDomain, FBSDKLoginError) Reserved. */ FBSDKLoginErrorReserved = 300, + /** The error code for unknown errors. */ @@ -63,14 +68,17 @@ typedef NS_ERROR_ENUM(FBSDKLoginErrorDomain, FBSDKLoginError) The user's password has changed and must log in again */ FBSDKLoginErrorPasswordChanged, + /** The user must log in to their account on www.facebook.com to restore access */ FBSDKLoginErrorUserCheckpointed, + /** Indicates a failure to request new permissions because the user has changed. */ FBSDKLoginErrorUserMismatch, + /** The user must confirm their account with Facebook before logging in */ @@ -82,15 +90,17 @@ typedef NS_ERROR_ENUM(FBSDKLoginErrorDomain, FBSDKLoginError) been disabled. */ FBSDKLoginErrorSystemAccountAppDisabled, + /** An error occurred related to Facebook system Account store */ FBSDKLoginErrorSystemAccountUnavailable, + /** The login response was missing a valid challenge string. */ FBSDKLoginErrorBadChallengeString, -}; +} NS_SWIFT_NAME(LoginError); /** FBSDKDeviceLoginError @@ -113,30 +123,6 @@ typedef NS_ERROR_ENUM(FBSDKLoginErrorDomain, FBSDKDeviceLoginError) { The code you entered has expired. */ FBSDKDeviceLoginErrorCodeExpired = 1349152 -}; +} NS_SWIFT_NAME(DeviceLoginError); -/** - Deprecated - */ -typedef NS_ENUM(NSInteger, FBSDKLoginErrorCode) -{ - FBSDKLoginReservedErrorCode DEPRECATED_MSG_ATTRIBUTE("use FBSDKLoginErrorReserved instead") = FBSDKLoginErrorReserved, - FBSDKLoginUnknownErrorCode DEPRECATED_MSG_ATTRIBUTE("use FBSDKLoginErrorUnknown instead"), - FBSDKLoginPasswordChangedErrorCode DEPRECATED_MSG_ATTRIBUTE("use FBSDKLoginErrorPasswordChanged instead"), - FBSDKLoginUserCheckpointedErrorCode DEPRECATED_MSG_ATTRIBUTE("use FBSDKLoginErrorUserCheckpointed instead"), - FBSDKLoginUserMismatchErrorCode DEPRECATED_MSG_ATTRIBUTE("use FBSDKLoginErrorUserMismatch instead"), - FBSDKLoginUnconfirmedUserErrorCode DEPRECATED_MSG_ATTRIBUTE("use FBSDKLoginErrorUnconfirmedUser instead"), - FBSDKLoginSystemAccountAppDisabledErrorCode DEPRECATED_MSG_ATTRIBUTE("use FBSDKLoginErrorSystemAccountAppDisabled instead"), - FBSDKLoginSystemAccountUnavailableErrorCode DEPRECATED_MSG_ATTRIBUTE("use FBSDKLoginErrorSystemAccountUnavailable instead"), - FBSDKLoginBadChallengeString DEPRECATED_MSG_ATTRIBUTE("use FBSDKLoginErrorBadChallengeString instead"), -} DEPRECATED_MSG_ATTRIBUTE("use FBSDKLoginError instead"); - -/** - Deprecated - */ -typedef NS_ENUM(NSUInteger, FBSDKDeviceLoginErrorSubcode) { - FBSDKDeviceLoginExcessivePollingErrorSubcode DEPRECATED_MSG_ATTRIBUTE("use FBSDKDeviceLoginErrorExcessivePolling instead") = FBSDKDeviceLoginErrorExcessivePolling, - FBSDKDeviceLoginAuthorizationDeclinedErrorSubcode DEPRECATED_MSG_ATTRIBUTE("use FBSDKDeviceLoginErrorAuthorizationDeclined instead") = FBSDKDeviceLoginErrorAuthorizationDeclined, - FBSDKDeviceLoginAuthorizationPendingErrorSubcode DEPRECATED_MSG_ATTRIBUTE("use FBSDKDeviceLoginErrorAuthorizationPending instead") = FBSDKDeviceLoginErrorAuthorizationPending, - FBSDKDeviceLoginCodeExpiredErrorSubcode DEPRECATED_MSG_ATTRIBUTE("use FBSDKDeviceLoginErrorCodeExpired instead") = FBSDKDeviceLoginErrorCodeExpired -} DEPRECATED_MSG_ATTRIBUTE("use FBSDKDeviceLoginError instead"); +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKLoginKit.framework/Headers/FBSDKLoginManager.h b/src/ios/FBSDKLoginKit.framework/Headers/FBSDKLoginManager.h index 7b579d08c..b71bfcbf5 100644 --- a/src/ios/FBSDKLoginKit.framework/Headers/FBSDKLoginManager.h +++ b/src/ios/FBSDKLoginKit.framework/Headers/FBSDKLoginManager.h @@ -16,18 +16,30 @@ // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -#import #import #import +NS_ASSUME_NONNULL_BEGIN + @class FBSDKLoginManagerLoginResult; +/// typedef for FBSDKLoginAuthType +typedef NSString *const FBSDKLoginAuthType NS_TYPED_EXTENSIBLE_ENUM NS_SWIFT_NAME(LoginAuthType); + +/// Rerequest +FOUNDATION_EXPORT FBSDKLoginAuthType FBSDKLoginAuthTypeRerequest; + +/// Reauthorize +FOUNDATION_EXPORT FBSDKLoginAuthType FBSDKLoginAuthTypeReauthorize; + /** Describes the call back to the FBSDKLoginManager @param result the result of the authorization @param error the authorization error, if any. */ -typedef void (^FBSDKLoginManagerRequestTokenHandler)(FBSDKLoginManagerLoginResult *result, NSError *error); +typedef void (^FBSDKLoginManagerLoginResultBlock)(FBSDKLoginManagerLoginResult *_Nullable result, + NSError *_Nullable error) +NS_SWIFT_NAME(LoginManagerLoginResultBlock); /** @@ -50,7 +62,7 @@ typedef NS_ENUM(NSUInteger, FBSDKDefaultAudience) FBSDKDefaultAudienceOnlyMe, /** Indicates that all Facebook users are able to see posts made by the application */ FBSDKDefaultAudienceEveryone, -}; +} NS_SWIFT_NAME(DefaultAudience); /** FBSDKLoginBehavior enum @@ -72,29 +84,11 @@ typedef NS_ENUM(NSUInteger, FBSDKDefaultAudience) typedef NS_ENUM(NSUInteger, FBSDKLoginBehavior) { /** - This is the default behavior, and indicates logging in through the native - Facebook app may be used. The SDK may still use Safari instead. - */ - FBSDKLoginBehaviorNative = 0, - /** - Attempts log in through the Safari or SFSafariViewController, if available. - */ - FBSDKLoginBehaviorBrowser, - /** - Attempts log in through the Facebook account currently signed in through - the device Settings. - @note If the account is not available to the app (either not configured by user or - as determined by the SDK) this behavior falls back to \c FBSDKLoginBehaviorNative. - */ - FBSDKLoginBehaviorSystemAccount, - /** - Attempts log in through a modal \c UIWebView pop up - - @note This behavior is only available to certain types of apps. Please check the Facebook - Platform Policy to verify your app meets the restrictions. + This is the default behavior, and indicates logging in via ASWebAuthenticationSession (iOS 12+) or SFAuthenticationSession (iOS 11), + which present specialized SafariViewControllers. Falls back to plain SFSafariViewController (iOS 9 and 10) or Safari (iOS 8). */ - FBSDKLoginBehaviorWeb, -}; + FBSDKLoginBehaviorBrowser = 0, +} NS_SWIFT_NAME(LoginBehavior); /** `FBSDKLoginManager` provides methods for logging the user in and out. @@ -108,12 +102,13 @@ typedef NS_ENUM(NSUInteger, FBSDKLoginBehavior) If you are managing your own token instances outside of "currentAccessToken", you will need to set "currentAccessToken" before calling logIn* to authorize further permissions on your tokens. */ +NS_SWIFT_NAME(LoginManager) @interface FBSDKLoginManager : NSObject /** Auth type */ -@property (strong, nonatomic) NSString *authType; +@property (strong, nonatomic) FBSDKLoginAuthType authType; /** the default audience. @@ -127,50 +122,14 @@ typedef NS_ENUM(NSUInteger, FBSDKLoginBehavior) @property (assign, nonatomic) FBSDKLoginBehavior loginBehavior; /** - -@warning use logInWithReadPermissions:fromViewController:handler: instead - */ -- (void)logInWithReadPermissions:(NSArray *)permissions handler:(FBSDKLoginManagerRequestTokenHandler)handler -DEPRECATED_MSG_ATTRIBUTE("use logInWithReadPermissions:fromViewController:handler: instead"); - -/** - -@warning use logInWithPublishPermissions:fromViewController:handler: instead - */ -- (void)logInWithPublishPermissions:(NSArray *)permissions handler:(FBSDKLoginManagerRequestTokenHandler)handler -DEPRECATED_MSG_ATTRIBUTE("use logInWithPublishPermissions:fromViewController:handler: instead"); - -/** - Logs the user in or authorizes additional permissions. - @param permissions the optional array of permissions. Note this is converted to NSSet and is only - an NSArray for the convenience of literal syntax. - @param fromViewController the view controller to present from. If nil, the topmost view controller will be - automatically determined as best as possible. - @param handler the callback. - - Use this method when asking for read permissions. You should only ask for permissions when they - are needed and explain the value to the user. You can inspect the result.declinedPermissions to also - provide more information to the user if they decline permissions. - - This method will present UI the user. You typically should check if `[FBSDKAccessToken currentAccessToken]` - already contains the permissions you need before asking to reduce unnecessary app switching. For example, - you could make that check at viewDidLoad. - You can only do one login call at a time. Calling a login method before the completion handler is called - on a previous login will return an error. - */ -- (void)logInWithReadPermissions:(NSArray *)permissions - fromViewController:(UIViewController *)fromViewController - handler:(FBSDKLoginManagerRequestTokenHandler)handler; - -/** - Logs the user in or authorizes additional permissions. + Logs the user in or authorizes additional permissions. @param permissions the optional array of permissions. Note this is converted to NSSet and is only an NSArray for the convenience of literal syntax. @param fromViewController the view controller to present from. If nil, the topmost view controller will be automatically determined as best as possible. @param handler the callback. - Use this method when asking for publish permissions. You should only ask for permissions when they + Use this method when asking for read permissions. You should only ask for permissions when they are needed and explain the value to the user. You can inspect the result.declinedPermissions to also provide more information to the user if they decline permissions. @@ -180,10 +139,10 @@ DEPRECATED_MSG_ATTRIBUTE("use logInWithPublishPermissions:fromViewController:han You can only do one login call at a time. Calling a login method before the completion handler is called on a previous login will return an error. */ -- (void)logInWithPublishPermissions:(NSArray *)permissions - fromViewController:(UIViewController *)fromViewController - handler:(FBSDKLoginManagerRequestTokenHandler)handler; - +- (void)logInWithPermissions:(NSArray *)permissions + fromViewController:(nullable UIViewController *)fromViewController + handler:(nullable FBSDKLoginManagerLoginResultBlock)handler +NS_SWIFT_NAME(logIn(permissions:from:handler:)); /** Requests user's permission to reathorize application's data access, after it has expired due to inactivity. @@ -197,7 +156,8 @@ DEPRECATED_MSG_ATTRIBUTE("use logInWithPublishPermissions:fromViewController:han This method will present UI the user. You typically should call this if `[FBSDKAccessToken isDataAccessExpired]` returns true. */ - (void)reauthorizeDataAccess:(UIViewController *)fromViewController - handler:(FBSDKLoginManagerRequestTokenHandler)handler; + handler:(FBSDKLoginManagerLoginResultBlock)handler +NS_SWIFT_NAME(reauthorizeDataAccess(from:handler:)); /** Logs the user out @@ -206,22 +166,6 @@ DEPRECATED_MSG_ATTRIBUTE("use logInWithPublishPermissions:fromViewController:han */ - (void)logOut; -/** - @method - - Issues an asynchronous renewCredentialsForAccount call to the device's Facebook account store. - - @param handler The completion handler to call when the renewal is completed. This can be invoked on an arbitrary thread. - - - This can be used to explicitly renew account credentials and is provided as a convenience wrapper around - `[ACAccountStore renewCredentialsForAccount:completion]`. Note the method will not issue the renewal call if the the - Facebook account has not been set on the device, or if access had not been granted to the account (though the handler - wil receive an error). - - If the `[FBSDKAccessToken currentAccessToken]` was from the account store, a succesful renewal will also set - a new "currentAccessToken". - */ -+ (void)renewSystemCredentials:(void (^)(ACAccountCredentialRenewResult result, NSError *error))handler; - @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKLoginKit.framework/Headers/FBSDKLoginManagerLoginResult.h b/src/ios/FBSDKLoginKit.framework/Headers/FBSDKLoginManagerLoginResult.h index 6601011d9..ffcaaae60 100644 --- a/src/ios/FBSDKLoginKit.framework/Headers/FBSDKLoginManagerLoginResult.h +++ b/src/ios/FBSDKLoginKit.framework/Headers/FBSDKLoginManagerLoginResult.h @@ -18,11 +18,14 @@ #import +NS_ASSUME_NONNULL_BEGIN + @class FBSDKAccessToken; /** Describes the result of a login attempt. */ +NS_SWIFT_NAME(LoginManagerLoginResult) @interface FBSDKLoginManagerLoginResult : NSObject - (instancetype)init NS_UNAVAILABLE; @@ -31,7 +34,7 @@ /** the access token. */ -@property (copy, nonatomic) FBSDKAccessToken *token; +@property (copy, nonatomic, nullable) FBSDKAccessToken *token; /** whether the login was cancelled by the user. @@ -43,14 +46,14 @@ inspect the token's permissions set for a complete list. */ -@property (copy, nonatomic) NSSet *grantedPermissions; +@property (copy, nonatomic) NSSet *grantedPermissions; /** the set of permissions declined by the user in the associated request. inspect the token's permissions set for a complete list. */ -@property (copy, nonatomic) NSSet *declinedPermissions; +@property (copy, nonatomic) NSSet *declinedPermissions; /** Initializes a new instance. @@ -59,9 +62,11 @@ @param grantedPermissions the set of granted permissions @param declinedPermissions the set of declined permissions */ -- (instancetype)initWithToken:(FBSDKAccessToken *)token +- (instancetype)initWithToken:(nullable FBSDKAccessToken *)token isCancelled:(BOOL)isCancelled - grantedPermissions:(NSSet *)grantedPermissions - declinedPermissions:(NSSet *)declinedPermissions + grantedPermissions:(NSSet *)grantedPermissions + declinedPermissions:(NSSet *)declinedPermissions NS_DESIGNATED_INITIALIZER; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKLoginKit.framework/Headers/FBSDKLoginTooltipView.h b/src/ios/FBSDKLoginKit.framework/Headers/FBSDKLoginTooltipView.h index 179219710..63f9e32aa 100644 --- a/src/ios/FBSDKLoginKit.framework/Headers/FBSDKLoginTooltipView.h +++ b/src/ios/FBSDKLoginKit.framework/Headers/FBSDKLoginTooltipView.h @@ -20,6 +20,8 @@ #import +NS_ASSUME_NONNULL_BEGIN + @protocol FBSDKLoginTooltipViewDelegate; /** @@ -37,6 +39,7 @@ (e.g., to test the UI layout) by implementing the delegate or setting `forceDisplay` to YES. */ +NS_SWIFT_NAME(FBLoginTooltipView) @interface FBSDKLoginTooltipView : FBSDKTooltipView /** the delegate */ @@ -44,7 +47,7 @@ /** if set to YES, the view will always be displayed and the delegate's `loginTooltipView:shouldAppear:` will NOT be called. */ -@property (nonatomic, assign) BOOL forceDisplay; +@property (nonatomic, assign, getter=shouldForceDisplay) BOOL forceDisplay; @end @@ -54,6 +57,7 @@ The `FBSDKLoginTooltipViewDelegate` protocol defines the methods used to receive event notifications from `FBSDKLoginTooltipView` objects. */ +NS_SWIFT_NAME(LoginTooltipViewDelegate) @protocol FBSDKLoginTooltipViewDelegate @optional @@ -88,3 +92,5 @@ @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKLoginKit.framework/Headers/FBSDKTooltipView.h b/src/ios/FBSDKLoginKit.framework/Headers/FBSDKTooltipView.h index d77392cfd..3941bcdd9 100644 --- a/src/ios/FBSDKLoginKit.framework/Headers/FBSDKTooltipView.h +++ b/src/ios/FBSDKLoginKit.framework/Headers/FBSDKTooltipView.h @@ -18,6 +18,8 @@ #import +NS_ASSUME_NONNULL_BEGIN + /** FBSDKTooltipViewArrowDirection enum @@ -29,7 +31,7 @@ typedef NS_ENUM(NSUInteger, FBSDKTooltipViewArrowDirection) FBSDKTooltipViewArrowDirectionDown = 0, /** View is located below given point, arrow is pointing up. */ FBSDKTooltipViewArrowDirectionUp = 1, -}; +} NS_SWIFT_NAME(FBTooltipView.ArrowDirection); /** FBSDKTooltipColorStyle enum @@ -42,7 +44,7 @@ typedef NS_ENUM(NSUInteger, FBSDKTooltipColorStyle) FBSDKTooltipColorStyleFriendlyBlue = 0, /** Dark gray background, white text, light gray close button. */ FBSDKTooltipColorStyleNeutralGray = 1, -}; +} NS_SWIFT_NAME(FBTooltipView.ColorStyle); /** @@ -53,6 +55,7 @@ typedef NS_ENUM(NSUInteger, FBSDKTooltipColorStyle) The tooltip fades in and will automatically fade out. See `displayDuration`. */ +NS_SWIFT_NAME(FBTooltipView) @interface FBSDKTooltipView : UIView /** @@ -71,12 +74,12 @@ typedef NS_ENUM(NSUInteger, FBSDKTooltipColorStyle) /** Gets or sets the message. */ -@property (nonatomic, copy) NSString *message; +@property (nonatomic, copy, nullable) NSString *message; /** Gets or sets the optional phrase that comprises the first part of the label (and is highlighted differently). */ -@property (nonatomic, copy) NSString *tagline; +@property (nonatomic, copy, nullable) NSString *tagline; /** Designated initializer. @@ -94,7 +97,9 @@ typedef NS_ENUM(NSUInteger, FBSDKTooltipColorStyle) @see FBSDKLoginTooltipView */ -- (instancetype)initWithTagline:(NSString *)tagline message:(NSString *)message colorStyle:(FBSDKTooltipColorStyle)colorStyle; +- (instancetype)initWithTagline:(nullable NSString *)tagline + message:(nullable NSString *)message + colorStyle:(FBSDKTooltipColorStyle)colorStyle; /** Show tooltip at the top or at the bottom of given view. @@ -122,7 +127,10 @@ typedef NS_ENUM(NSUInteger, FBSDKTooltipColorStyle) @param arrowDirection whenever arrow should be pointing up (message bubble is below the arrow) or down (message bubble is above the arrow). */ -- (void)presentInView:(UIView *)view withArrowPosition:(CGPoint)arrowPosition direction:(FBSDKTooltipViewArrowDirection)arrowDirection; +- (void)presentInView:(UIView *)view + withArrowPosition:(CGPoint)arrowPosition + direction:(FBSDKTooltipViewArrowDirection)arrowDirection +NS_SWIFT_NAME(present(in:arrowPosition:direction:)); /** Remove tooltip manually. @@ -134,3 +142,5 @@ typedef NS_ENUM(NSUInteger, FBSDKTooltipColorStyle) - (void)dismiss; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKLoginKit.framework/Info.plist b/src/ios/FBSDKLoginKit.framework/Info.plist index 3f63b05ce..e3466d17f 100644 Binary files a/src/ios/FBSDKLoginKit.framework/Info.plist and b/src/ios/FBSDKLoginKit.framework/Info.plist differ diff --git a/src/ios/FBSDKShareKit.framework/FBSDKShareKit b/src/ios/FBSDKShareKit.framework/FBSDKShareKit index 30f8e07d0..33a5b79f1 100644 Binary files a/src/ios/FBSDKShareKit.framework/FBSDKShareKit and b/src/ios/FBSDKShareKit.framework/FBSDKShareKit differ diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKAppGroupAddDialog.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKAppGroupAddDialog.h deleted file mode 100644 index f20eb2e6b..000000000 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKAppGroupAddDialog.h +++ /dev/null @@ -1,100 +0,0 @@ -// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. -// -// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, -// copy, modify, and distribute this software in source code or binary form for use -// in connection with the web services and APIs provided by Facebook. -// -// As with any software that integrates with the Facebook platform, your use of -// this software is subject to the Facebook Developer Principles and Policies -// [http://developers.facebook.com/policy/]. This copyright notice shall be -// included in all copies or substantial portions of the software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -#import - -#import - -@protocol FBSDKAppGroupAddDialogDelegate; - -/** - -@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. - */ -DEPRECATED_MSG_ATTRIBUTE("App and game groups are being deprecated") -@interface FBSDKAppGroupAddDialog : NSObject - -/** - -@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. - */ -+ (instancetype)showWithContent:(FBSDKAppGroupContent *)content - delegate:(id)delegate -DEPRECATED_ATTRIBUTE; - -/** - -@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. - */ -@property (nonatomic, weak) id delegate -DEPRECATED_ATTRIBUTE; - -/** - -@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. - */ -@property (nonatomic, copy) FBSDKAppGroupContent *content -DEPRECATED_ATTRIBUTE; - -/** - -@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. - */ -- (BOOL)canShow DEPRECATED_ATTRIBUTE; - -/** - -@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. - */ -- (BOOL)show DEPRECATED_ATTRIBUTE; - -/** - -@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. - */ -- (BOOL)validateWithError:(NSError *__autoreleasing *)errorRef -DEPRECATED_ATTRIBUTE; - -@end - -/** - -@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. - */ -DEPRECATED_MSG_ATTRIBUTE("App and game groups are being deprecated") -@protocol FBSDKAppGroupAddDialogDelegate - -/** - -@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. - */ -- (void)appGroupAddDialog:(FBSDKAppGroupAddDialog *)appGroupAddDialog didCompleteWithResults:(NSDictionary *)results DEPRECATED_ATTRIBUTE; - -/** - -@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. - */ -- (void)appGroupAddDialog:(FBSDKAppGroupAddDialog *)appGroupAddDialog didFailWithError:(NSError *)error DEPRECATED_ATTRIBUTE; - -/** - -@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. - */ -- (void)appGroupAddDialogDidCancel:(FBSDKAppGroupAddDialog *)appGroupAddDialog DEPRECATED_ATTRIBUTE; - -@end diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKAppGroupContent.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKAppGroupContent.h index 9b0e0fe67..1c9143b22 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKAppGroupContent.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKAppGroupContent.h @@ -20,6 +20,8 @@ #import +NS_ASSUME_NONNULL_BEGIN + /** NS_ENUM(NSUInteger, FBSDKAppGroupPrivacy) Specifies the privacy of a group. @@ -30,16 +32,18 @@ typedef NS_ENUM(NSUInteger, FBSDKAppGroupPrivacy) FBSDKAppGroupPrivacyOpen = 0, /** Anyone can see the group and who's in it, but only members can see posts. */ FBSDKAppGroupPrivacyClosed, -}; +} NS_SWIFT_NAME(AppGroupPrivacy); /** Converts an FBSDKAppGroupPrivacy to an NSString. */ -FOUNDATION_EXPORT NSString *NSStringFromFBSDKAppGroupPrivacy(FBSDKAppGroupPrivacy privacy); +FOUNDATION_EXPORT NSString *NSStringFromFBSDKAppGroupPrivacy(FBSDKAppGroupPrivacy privacy) +NS_REFINED_FOR_SWIFT; /** A model for creating an app group. */ +NS_SWIFT_NAME(AppGroupContent) @interface FBSDKAppGroupContent : NSObject /** @@ -65,3 +69,5 @@ FOUNDATION_EXPORT NSString *NSStringFromFBSDKAppGroupPrivacy(FBSDKAppGroupPrivac - (BOOL)isEqualToAppGroupContent:(FBSDKAppGroupContent *)content; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKAppGroupJoinDialog.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKAppGroupJoinDialog.h deleted file mode 100644 index 60e8d9950..000000000 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKAppGroupJoinDialog.h +++ /dev/null @@ -1,92 +0,0 @@ -// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. -// -// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, -// copy, modify, and distribute this software in source code or binary form for use -// in connection with the web services and APIs provided by Facebook. -// -// As with any software that integrates with the Facebook platform, your use of -// this software is subject to the Facebook Developer Principles and Policies -// [http://developers.facebook.com/policy/]. This copyright notice shall be -// included in all copies or substantial portions of the software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -#import - -@protocol FBSDKAppGroupJoinDialogDelegate; - -/** - -@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. - */ -DEPRECATED_MSG_ATTRIBUTE("App and game groups are being deprecated") -@interface FBSDKAppGroupJoinDialog : NSObject - -/** - -@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. - */ -+ (instancetype)showWithGroupID:(NSString *)groupID - delegate:(id)delegate DEPRECATED_ATTRIBUTE; - -/** - -@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. */ -@property (nonatomic, weak) id delegate DEPRECATED_ATTRIBUTE; - -/** - -@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. */ -@property (nonatomic, copy) NSString *groupID DEPRECATED_ATTRIBUTE; - -/** - -@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. - */ -- (BOOL)canShow DEPRECATED_ATTRIBUTE; - -/** - -@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. - */ -- (BOOL)show DEPRECATED_ATTRIBUTE; - -/** - -@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. - */ -- (BOOL)validateWithError:(NSError *__autoreleasing *)errorRef DEPRECATED_ATTRIBUTE; - -@end - -/** - -@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. - */ -DEPRECATED_MSG_ATTRIBUTE("App and game groups are being deprecated") -@protocol FBSDKAppGroupJoinDialogDelegate - -/** - -@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. - */ -- (void)appGroupJoinDialog:(FBSDKAppGroupJoinDialog *)appGroupJoinDialog didCompleteWithResults:(NSDictionary *)results DEPRECATED_ATTRIBUTE; - -/** - -@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. - */ -- (void)appGroupJoinDialog:(FBSDKAppGroupJoinDialog *)appGroupJoinDialog didFailWithError:(NSError *)error DEPRECATED_ATTRIBUTE; - -/** - -@warning App and game groups are being deprecated. See https://developers.facebook.com/docs/games/services/game-groups for more information. - */ -- (void)appGroupJoinDialogDidCancel:(FBSDKAppGroupJoinDialog *)appGroupJoinDialog DEPRECATED_ATTRIBUTE; - -@end diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKAppInviteContent.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKAppInviteContent.h index 565598377..14bd9f782 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKAppInviteContent.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKAppInviteContent.h @@ -21,6 +21,8 @@ #import #import +NS_ASSUME_NONNULL_BEGIN + /** NS_ENUM(NSUInteger, FBSDKAppInviteDestination) Specifies the privacy of a group. @@ -31,11 +33,12 @@ typedef NS_ENUM(NSUInteger, FBSDKAppInviteDestination) FBSDKAppInviteDestinationFacebook = 0, /** Deliver to Messenger. */ FBSDKAppInviteDestinationMessenger, -}; +} NS_SWIFT_NAME(AppInviteDestination); /** A model for app invite. */ +NS_SWIFT_NAME(AppInviteContent) @interface FBSDKAppInviteContent : NSObject /** @@ -44,7 +47,7 @@ typedef NS_ENUM(NSUInteger, FBSDKAppInviteDestination) This is optional. If you don't include it a fallback image will be used. */ -@property (nonatomic, copy) NSURL *appInvitePreviewImageURL; +@property (nonatomic, copy, nullable) NSURL *appInvitePreviewImageURL; /** An app link target that will be used as a target when the user accept the invite. @@ -54,13 +57,6 @@ typedef NS_ENUM(NSUInteger, FBSDKAppInviteDestination) */ @property (nonatomic, copy) NSURL *appLinkURL; -/** - -@warning Use `appInvitePreviewImageURL` instead. - */ -@property (nonatomic, copy) NSURL *previewImageURL -DEPRECATED_MSG_ATTRIBUTE("use appInvitePreviewImageURL instead"); - /** Promotional code to be displayed while sending and receiving the invite. @@ -68,7 +64,7 @@ DEPRECATED_MSG_ATTRIBUTE("use appInvitePreviewImageURL instead"); This is optional. This can be between 0 and 10 characters long and can contain alphanumeric characters only. To set a promo code, you need to set promo text. */ -@property (nonatomic, copy) NSString *promotionCode; +@property (nonatomic, copy, nullable) NSString *promotionCode; /** Promotional text to be displayed while sending and receiving the invite. @@ -77,7 +73,7 @@ DEPRECATED_MSG_ATTRIBUTE("use appInvitePreviewImageURL instead"); This is optional. This can be between 0 and 80 characters long and can contain alphanumeric and spaces only. */ -@property (nonatomic, copy) NSString *promotionText; +@property (nonatomic, copy, nullable) NSString *promotionText; /** Destination for the app invite. @@ -85,7 +81,7 @@ DEPRECATED_MSG_ATTRIBUTE("use appInvitePreviewImageURL instead"); This is optional and for declaring destination of the invite. */ -@property FBSDKAppInviteDestination destination; +@property (nonatomic, assign) FBSDKAppInviteDestination destination; /** Compares the receiver to another app invite content. @@ -95,3 +91,5 @@ DEPRECATED_MSG_ATTRIBUTE("use appInvitePreviewImageURL instead"); - (BOOL)isEqualToAppInviteContent:(FBSDKAppInviteContent *)content; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKAppInviteDialog.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKAppInviteDialog.h deleted file mode 100644 index 0af279038..000000000 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKAppInviteDialog.h +++ /dev/null @@ -1,118 +0,0 @@ -// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. -// -// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, -// copy, modify, and distribute this software in source code or binary form for use -// in connection with the web services and APIs provided by Facebook. -// -// As with any software that integrates with the Facebook platform, your use of -// this software is subject to the Facebook Developer Principles and Policies -// [http://developers.facebook.com/policy/]. This copyright notice shall be -// included in all copies or substantial portions of the software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -#import -#import - -#import - -@protocol FBSDKAppInviteDialogDelegate; - -/** - A dialog for sending App Invites. - */ -@interface FBSDKAppInviteDialog : NSObject - -/** - Convenience method to show a FBSDKAppInviteDialog - @param viewController A UIViewController to present the dialog from. - @param content The content for the app invite. - @param delegate The receiver's delegate. - @warning This method is deprecated. - */ -+ (instancetype)showFromViewController:(UIViewController *)viewController - withContent:(FBSDKAppInviteContent *)content - delegate:(id)delegate -DEPRECATED_MSG_ATTRIBUTE("App Invites no longer supported"); - - -/** - - @warning use showFromViewController:withContent:delegate: instead - */ -+ (instancetype)showWithContent:(FBSDKAppInviteContent *)content delegate:(id)delegate -DEPRECATED_MSG_ATTRIBUTE("use showFromViewController:withContent:delegate: instead"); - -/** - A UIViewController to present the dialog from. - - If not specified, the top most view controller will be automatically determined as best as possible. - */ -@property (nonatomic, weak) UIViewController *fromViewController; - -/** - The receiver's delegate or nil if it doesn't have a delegate. - */ -@property (nonatomic, weak) id delegate; - -/** - The content for app invite. - */ -@property (nonatomic, copy) FBSDKAppInviteContent *content; - -/** - A Boolean value that indicates whether the receiver can initiate an app invite. - - May return NO if the appropriate Facebook app is not installed and is required or an access token is - required but not available. This method does not validate the content on the receiver, so this can be checked before - building up the content. - - @see validateWithError: - @return YES if the receiver can show the dialog, otherwise NO. - */ -@property (nonatomic, readonly) BOOL canShow; - -/** - Begins the app invite from the receiver. - @return YES if the receiver was able to show the dialog, otherwise NO. - */ -- (BOOL)show; - -/** - Validates the content on the receiver. - @param errorRef If an error occurs, upon return contains an NSError object that describes the problem. - @return YES if the content is valid, otherwise NO. - */ -- (BOOL)validateWithError:(NSError *__autoreleasing *)errorRef; - -@end - -/** - A delegate for FBSDKAppInviteDialog. - - The delegate is notified with the results of the app invite as long as the application has permissions to - receive the information. For example, if the person is not signed into the containing app, the shower may not be able - to distinguish between completion of an app invite and cancellation. - */ -@protocol FBSDKAppInviteDialogDelegate - -/** - Sent to the delegate when the app invite completes without error. - @param appInviteDialog The FBSDKAppInviteDialog that completed. - @param results The results from the dialog. This may be nil or empty. - */ -- (void)appInviteDialog:(FBSDKAppInviteDialog *)appInviteDialog didCompleteWithResults:(NSDictionary *)results; - -/** - Sent to the delegate when the app invite encounters an error. - @param appInviteDialog The FBSDKAppInviteDialog that completed. - @param error The error. - */ -- (void)appInviteDialog:(FBSDKAppInviteDialog *)appInviteDialog didFailWithError:(NSError *)error; - -@end diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKCameraEffectArguments.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKCameraEffectArguments.h index 6306f47fe..6c8b8505f 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKCameraEffectArguments.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKCameraEffectArguments.h @@ -20,10 +20,13 @@ #import +NS_ASSUME_NONNULL_BEGIN + /** * A container of arguments for a camera effect. * An argument is a NSString identified by a NSString key. */ +NS_SWIFT_NAME(CameraEffectArguments) @interface FBSDKCameraEffectArguments : NSObject /** @@ -31,27 +34,31 @@ @param string The argument @param key The key for the argument */ -- (void)setString:(NSString *)string forKey:(NSString *)key; +- (void)setString:(nullable NSString *)string forKey:(NSString *)key +NS_SWIFT_NAME(set(_:forKey:)); /** Gets a string argument from the container. @param key The key for the argument @return The string value or nil */ -- (NSString *)stringForKey:(NSString *)key; +- (nullable NSString *)stringForKey:(NSString *)key; /** Sets a string array argument in the container. @param array The array argument @param key The key for the argument */ -- (void)setArray:(NSArray *)array forKey:(NSString *)key; +- (void)setArray:(nullable NSArray *)array forKey:(NSString *)key +NS_SWIFT_NAME(set(_:forKey:)); /** Gets an array argument from the container. @param key The key for the argument @return The array argument */ -- (NSArray *)arrayForKey:(NSString *)key; +- (nullable NSArray *)arrayForKey:(NSString *)key; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKCameraEffectTextures.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKCameraEffectTextures.h index 9639b5094..dded7468c 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKCameraEffectTextures.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKCameraEffectTextures.h @@ -20,10 +20,13 @@ #import +NS_ASSUME_NONNULL_BEGIN + /** * A container of textures for a camera effect. * A texture for a camera effect is an UIImages identified by a NSString key. */ +NS_SWIFT_NAME(CameraEffectTextures) @interface FBSDKCameraEffectTextures : NSObject /** @@ -31,13 +34,16 @@ @param image The UIImage for the texture @param key The key for the texture */ -- (void)setImage:(UIImage *)image forKey:(NSString *)key; +- (void)setImage:(nullable UIImage *)image forKey:(NSString *)key +NS_SWIFT_NAME(set(_:forKey:)); /** Gets the image for a texture key. @param key The key for the texture @return The texture UIImage or nil */ -- (UIImage *)imageForKey:(NSString *)key; +- (nullable UIImage *)imageForKey:(NSString *)key; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKGameRequestContent.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKGameRequestContent.h index 059120768..80972ede0 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKGameRequestContent.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKGameRequestContent.h @@ -21,6 +21,8 @@ #import #import +NS_ASSUME_NONNULL_BEGIN + /** NS_ENUM(NSUInteger, FBSDKGameRequestActionType) Additional context about the nature of the request. @@ -35,7 +37,7 @@ typedef NS_ENUM(NSUInteger, FBSDKGameRequestActionType) FBSDKGameRequestActionTypeAskFor, /** Turn action type: It is the turn of the friends to play against the user in a match. (no object) */ FBSDKGameRequestActionTypeTurn, -}; +} NS_SWIFT_NAME(GameRequestActionType); /** NS_ENUM(NSUInteger, FBSDKGameRequestFilters) @@ -49,11 +51,12 @@ typedef NS_ENUM(NSUInteger, FBSDKGameRequestFilter) FBSDKGameRequestFilterAppUsers, /** Friends not using the app can be displayed. */ FBSDKGameRequestFilterAppNonUsers, -}; +} NS_SWIFT_NAME(GameRequestFilter); /** A model for a game request. */ +NS_SWIFT_NAME(GameRequestContent) @interface FBSDKGameRequestContent : NSObject /** @@ -77,7 +80,7 @@ typedef NS_ENUM(NSUInteger, FBSDKGameRequestFilter) Additional freeform data you may pass for tracking. This will be stored as part of the request objects created. The maximum length is 255 characters. */ -@property (nonatomic, copy) NSString *data; +@property (nonatomic, copy, nullable) NSString *data; /** This controls the set of friends someone sees if a multi-friend selector is shown. @@ -110,7 +113,7 @@ typedef NS_ENUM(NSUInteger, FBSDKGameRequestFilter) This is equivalent to the "to" parameter when using the web game request dialog. */ -@property (nonatomic, copy) NSArray *recipients; +@property (nonatomic, copy) NSArray *recipients; /** An array of user IDs that will be included in the dialog as the first suggested friends. @@ -118,25 +121,13 @@ typedef NS_ENUM(NSUInteger, FBSDKGameRequestFilter) This is equivalent to the "suggestions" parameter when using the web game request dialog. */ -@property (nonatomic, copy) NSArray *recipientSuggestions; - -/** - -@warning Use `recipientSuggestions` instead. -*/ -@property (nonatomic, copy) NSArray *suggestions -DEPRECATED_MSG_ATTRIBUTE("use recipientSuggestions instead"); +@property (nonatomic, copy) NSArray *recipientSuggestions; /** The title for the dialog. */ @property (nonatomic, copy) NSString *title; -/** - -@warning Use `recipients` instead. - */ -@property (nonatomic, copy) NSArray *to -DEPRECATED_MSG_ATTRIBUTE("use recipients instead"); - @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKGameRequestDialog.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKGameRequestDialog.h index d40300732..05a590b0f 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKGameRequestDialog.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKGameRequestDialog.h @@ -20,24 +20,42 @@ #import +NS_ASSUME_NONNULL_BEGIN + @protocol FBSDKGameRequestDialogDelegate; /** A dialog for sending game requests. */ +NS_SWIFT_NAME(GameRequestDialog) @interface FBSDKGameRequestDialog : NSObject +- (instancetype)init NS_DESIGNATED_INITIALIZER +NS_SWIFT_UNAVAILABLE("Use init(content:delegate:) instead"); ++ (instancetype)new NS_UNAVAILABLE; + +/** + Convenience method to build up a game request with content and a delegate. + @param content The content for the game request. + @param delegate The receiver's delegate. + */ ++ (instancetype)dialogWithContent:(FBSDKGameRequestContent *)content + delegate:(nullable id)delegate +NS_SWIFT_NAME(init(content:delegate:)); + /** - Convenience method to build up a game request with content and a delegate. + Convenience method to build up and show a game request with content and a delegate. @param content The content for the game request. @param delegate The receiver's delegate. */ -+ (instancetype)showWithContent:(FBSDKGameRequestContent *)content delegate:(id)delegate; ++ (instancetype)showWithContent:(FBSDKGameRequestContent *)content + delegate:(nullable id)delegate +NS_SWIFT_UNAVAILABLE("Use init(content:delegate:).show() instead"); /** The receiver's delegate or nil if it doesn't have a delegate. */ -@property (nonatomic, weak) id delegate; +@property (nonatomic, weak, nullable) id delegate; /** The content for game request. @@ -47,7 +65,7 @@ /** Specifies whether frictionless requests are enabled. */ -@property (nonatomic, assign) BOOL frictionlessRequestsEnabled; +@property (nonatomic, assign, getter=isFrictionlessRequestsEnabled) BOOL frictionlessRequestsEnabled; /** A Boolean value that indicates whether the receiver can initiate a game request. @@ -83,6 +101,7 @@ receive the information. For example, if the person is not signed into the containing app, the shower may not be able to distinguish between completion of a game request and cancellation. */ +NS_SWIFT_NAME(GameRequestDialogDelegate) @protocol FBSDKGameRequestDialogDelegate /** @@ -90,7 +109,7 @@ @param gameRequestDialog The FBSDKGameRequestDialog that completed. @param results The results from the dialog. This may be nil or empty. */ -- (void)gameRequestDialog:(FBSDKGameRequestDialog *)gameRequestDialog didCompleteWithResults:(NSDictionary *)results; +- (void)gameRequestDialog:(FBSDKGameRequestDialog *)gameRequestDialog didCompleteWithResults:(NSDictionary *)results; /** Sent to the delegate when the game request encounters an error. @@ -106,3 +125,5 @@ - (void)gameRequestDialogDidCancel:(FBSDKGameRequestDialog *)gameRequestDialog; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKHashtag.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKHashtag.h index 7c9c52925..4c640b4c4 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKHashtag.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKHashtag.h @@ -20,9 +20,12 @@ #import +NS_ASSUME_NONNULL_BEGIN + /** Represents a single hashtag that can be used with the share dialog. */ +NS_SWIFT_NAME(Hashtag) @interface FBSDKHashtag : NSObject /** @@ -30,7 +33,8 @@ `stringRepresentation` property. @param hashtagString The hashtag string. */ -+ (instancetype)hashtagWithString:(NSString *)hashtagString; ++ (instancetype)hashtagWithString:(NSString *)hashtagString +NS_SWIFT_NAME(init(_:)); /** The hashtag string. @@ -59,3 +63,5 @@ - (BOOL)isEqualToHashtag:(FBSDKHashtag *)hashtag; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKLikeButton.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKLikeButton.h deleted file mode 100644 index dcfc9f6cf..000000000 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKLikeButton.h +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. -// -// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, -// copy, modify, and distribute this software in source code or binary form for use -// in connection with the web services and APIs provided by Facebook. -// -// As with any software that integrates with the Facebook platform, your use of -// this software is subject to the Facebook Developer Principles and Policies -// [http://developers.facebook.com/policy/]. This copyright notice shall be -// included in all copies or substantial portions of the software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -#import - -#import - -#import -#import - -/** - Warning: This class is deprecated. - A button to like an object. - - Tapping the receiver will invoke an API call to the Facebook app through a fast-app-switch that allows - the object to be liked. Upon return to the calling app, the view will update with the new state. If the - currentAccessToken has "publish_actions" permission and the object is an Open Graph object, then the like can happen - seamlessly without the fast-app-switch. - */ -DEPRECATED_MSG_ATTRIBUTE("This is no longer available") -@interface FBSDKLikeButton : FBSDKButton - -/** - If YES, a sound is played when the receiver is toggled. - - @default YES - */ -@property (nonatomic, assign, getter = isSoundEnabled) BOOL soundEnabled; - -@end diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKLikeControl.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKLikeControl.h deleted file mode 100644 index 0bf9f8712..000000000 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKLikeControl.h +++ /dev/null @@ -1,142 +0,0 @@ -// Copyright (c) 2014-present, Facebook, Inc. All rights reserved. -// -// You are hereby granted a non-exclusive, worldwide, royalty-free license to use, -// copy, modify, and distribute this software in source code or binary form for use -// in connection with the web services and APIs provided by Facebook. -// -// As with any software that integrates with the Facebook platform, your use of -// this software is subject to the Facebook Developer Principles and Policies -// [http://developers.facebook.com/policy/]. This copyright notice shall be -// included in all copies or substantial portions of the software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS -// FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR -// COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER -// IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -// CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -#import - -#import -#import - -/** - NS_ENUM (NSUInteger, FBSDKLikeControlAuxiliaryPosition) - - Specifies the position of the auxiliary view relative to the like button. - */ -typedef NS_ENUM(NSUInteger, FBSDKLikeControlAuxiliaryPosition) -{ - /** The auxiliary view is inline with the like button. */ - FBSDKLikeControlAuxiliaryPositionInline, - /** The auxiliary view is above the like button. */ - FBSDKLikeControlAuxiliaryPositionTop, - /** The auxiliary view is below the like button. */ - FBSDKLikeControlAuxiliaryPositionBottom, -}; - -/** - Converts an FBSDKLikeControlAuxiliaryPosition to an NSString. - */ -FOUNDATION_EXPORT NSString *NSStringFromFBSDKLikeControlAuxiliaryPosition(FBSDKLikeControlAuxiliaryPosition auxiliaryPosition); - -/** - NS_ENUM(NSUInteger, FBSDKLikeControlHorizontalAlignment) - - Specifies the horizontal alignment for FBSDKLikeControlStyleStandard with - FBSDKLikeControlAuxiliaryPositionTop or FBSDKLikeControlAuxiliaryPositionBottom. - */ -typedef NS_ENUM(NSUInteger, FBSDKLikeControlHorizontalAlignment) -{ - /** The subviews are left aligned. */ - FBSDKLikeControlHorizontalAlignmentLeft, - /** The subviews are center aligned. */ - FBSDKLikeControlHorizontalAlignmentCenter, - /** The subviews are right aligned. */ - FBSDKLikeControlHorizontalAlignmentRight, -}; - -/** - Converts an FBSDKLikeControlHorizontalAlignment to an NSString. - */ -FOUNDATION_EXPORT NSString *NSStringFromFBSDKLikeControlHorizontalAlignment(FBSDKLikeControlHorizontalAlignment horizontalAlignment); - -/** - NS_ENUM (NSUInteger, FBSDKLikeControlStyle) - - Specifies the style of a like control. - */ -typedef NS_ENUM(NSUInteger, FBSDKLikeControlStyle) -{ - /** Displays the button and the social sentence. */ - FBSDKLikeControlStyleStandard = 0, - /** Displays the button and a box that contains the like count. */ - FBSDKLikeControlStyleBoxCount, -}; - -/** - Converts an FBSDKLikeControlStyle to an NSString. - */ -FOUNDATION_EXPORT NSString *NSStringFromFBSDKLikeControlStyle(FBSDKLikeControlStyle style); - -/** - Warning: This class is deprecated. - UI control to like an object in the Facebook graph. - - - Taps on the like button within this control will invoke an API call to the Facebook app through a - fast-app-switch that allows the user to like the object. Upon return to the calling app, the view will update - with the new state and send actions for the UIControlEventValueChanged event. - */ -DEPRECATED_MSG_ATTRIBUTE("This is no longer available") -@interface FBSDKLikeControl : UIControl - -/** - The foreground color to use for the content of the receiver. - */ -@property (nonatomic, strong) UIColor *foregroundColor; - -/** - The position for the auxiliary view for the receiver. - - - @see FBSDKLikeControlAuxiliaryPosition - */ -@property (nonatomic, assign) FBSDKLikeControlAuxiliaryPosition likeControlAuxiliaryPosition; - -/** - The text alignment of the social sentence. - - - This value is only valid for FBSDKLikeControlStyleStandard with - FBSDKLikeControlAuxiliaryPositionTop|Bottom. - */ -@property (nonatomic, assign) FBSDKLikeControlHorizontalAlignment likeControlHorizontalAlignment; - -/** - The style to use for the receiver. - - - @see FBSDKLikeControlStyle - */ -@property (nonatomic, assign) FBSDKLikeControlStyle likeControlStyle; - -/** - The preferred maximum width (in points) for autolayout. - - - This property affects the size of the receiver when layout constraints are applied to it. During layout, - if the text extends beyond the width specified by this property, the additional text is flowed to one or more new - lines, thereby increasing the height of the receiver. - */ -@property (nonatomic, assign) CGFloat preferredMaxLayoutWidth; - -/** - If YES, a sound is played when the receiver is toggled. - - @default YES - */ -@property (nonatomic, assign, getter = isSoundEnabled) BOOL soundEnabled; - -@end diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKLikeObjectType.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKLikeObjectType.h index ce7b8f67f..b52ff04b9 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKLikeObjectType.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKLikeObjectType.h @@ -18,6 +18,8 @@ #import +NS_ASSUME_NONNULL_BEGIN + /** NS_ENUM (NSUInteger, FBSDKLikeObjectType) Specifies the type of object referenced by the objectID for likes. @@ -30,9 +32,12 @@ typedef NS_ENUM(NSUInteger, FBSDKLikeObjectType) FBSDKLikeObjectTypeOpenGraph, /** The objectID refers to an Page object. */ FBSDKLikeObjectTypePage, -}; +} NS_SWIFT_NAME(LikeObjectType); /** Converts an FBLikeControlObjectType to an NSString. */ -FOUNDATION_EXPORT NSString *NSStringFromFBSDKLikeObjectType(FBSDKLikeObjectType objectType); +FOUNDATION_EXPORT NSString *NSStringFromFBSDKLikeObjectType(FBSDKLikeObjectType objectType) +NS_REFINED_FOR_SWIFT; + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKLiking.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKLiking.h index 57fbd22a7..86f6d562a 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKLiking.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKLiking.h @@ -18,6 +18,10 @@ #import +#import "FBSDKLikeObjectType.h" + +NS_ASSUME_NONNULL_BEGIN + /** The common interface for components that initiate liking. @@ -25,6 +29,7 @@ @see FBSDKLikeControl */ +NS_SWIFT_NAME(Liking) @protocol FBSDKLiking /** @@ -32,7 +37,7 @@ This value may be an Open Graph object ID or a string representation of an URL that describes an - Open Graph object. The objects may be public objects, like pages, or objects that are defined by your application. + Open Graph object. The objects may be public objects, like pages, or objects that are defined by your application. */ @property (nonatomic, copy) NSString *objectID; @@ -47,3 +52,5 @@ @property (nonatomic, assign) FBSDKLikeObjectType objectType; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKMessageDialog.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKMessageDialog.h index 1604f80e8..515bf4605 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKMessageDialog.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKMessageDialog.h @@ -20,6 +20,8 @@ #import +NS_ASSUME_NONNULL_BEGIN + /** A dialog for sharing content through Messenger. @@ -35,13 +37,27 @@ - FBSDKShareVideoContent - Any other types that are not one of the four supported types listed above */ +NS_SWIFT_NAME(MessageDialog) @interface FBSDKMessageDialog : NSObject +/** + Convenience method to return a Message Share Dialog with content and a delegate. + @param content The content to be shared. + @param delegate The receiver's delegate. + */ ++ (instancetype)dialogWithContent:(id)content + delegate:(nullable id)delegate +NS_SWIFT_NAME(init(content:delegate:)); + /** Convenience method to show a Message Share Dialog with content and a delegate. @param content The content to be shared. @param delegate The receiver's delegate. */ -+ (instancetype)showWithContent:(id)content delegate:(id)delegate; ++ (instancetype)showWithContent:(id)content + delegate:(nullable id)delegate +NS_SWIFT_UNAVAILABLE("Use init(content:delegate:).show() instead"); @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKSendButton.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKSendButton.h index 8dc40ac8b..d7a5ebd46 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKSendButton.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKSendButton.h @@ -22,12 +22,17 @@ #import +NS_ASSUME_NONNULL_BEGIN + /** A button to send content through Messenger. Tapping the receiver will invoke the FBSDKShareDialog with the attached shareContent. If the dialog cannot be shown, the button will be disable. */ +NS_SWIFT_NAME(FBSendButton) @interface FBSDKSendButton : FBSDKButton @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareAPI.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareAPI.h index 01ae3e85f..0fd038bfc 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareAPI.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareAPI.h @@ -23,6 +23,8 @@ #import #import +NS_ASSUME_NONNULL_BEGIN + /** A utility class for sharing through the graph API. Using this class requires an access token that has been granted the "publish_actions" permission. @@ -31,19 +33,35 @@ If you want to use FBSDKShareAPI in a background thread, you must manage the run loop yourself. */ +NS_SWIFT_NAME(ShareAPI) @interface FBSDKShareAPI : NSObject +- (instancetype)init NS_DESIGNATED_INITIALIZER +NS_SWIFT_UNAVAILABLE("Use init(content:delegate:) instead"); ++ (instancetype)new NS_UNAVAILABLE; + /** Convenience method to build up a share API with content and a delegate. @param content The content to be shared. @param delegate The receiver's delegate. */ -+ (instancetype)shareWithContent:(id)content delegate:(id)delegate; ++ (instancetype)apiWithContent:(id)content + delegate:(nullable id)delegate +NS_SWIFT_NAME(init(content:delegate:)); + +/** + Convenience method to build up and share a share API with content and a delegate. + @param content The content to be shared. + @param delegate The receiver's delegate. + */ ++ (instancetype)shareWithContent:(id)content + delegate:(nullable id)delegate +NS_SWIFT_UNAVAILABLE("Use init(content:delegate:).share() instead"); /** The message the person has provided through the custom dialog that will accompany the share content. */ -@property (nonatomic, copy) NSString *message; +@property (nonatomic, copy, nullable) NSString *message; /** The graph node to which content should be shared. @@ -57,7 +75,7 @@ Defaults to [FBSDKAccessToken currentAccessToken]. Setting this to nil will revert the access token to [FBSDKAccessToken currentAccessToken]. */ -@property (nonatomic, strong) FBSDKAccessToken *accessToken; +@property (nonatomic, strong, nullable) FBSDKAccessToken *accessToken; /** A Boolean value that indicates whether the receiver can send the share. @@ -92,3 +110,5 @@ - (BOOL)share; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareButton.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareButton.h index c2565db37..2c1614ac6 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareButton.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareButton.h @@ -22,12 +22,17 @@ #import +NS_ASSUME_NONNULL_BEGIN + /** A button to share content. Tapping the receiver will invoke the FBSDKShareDialog with the attached shareContent. If the dialog cannot be shown, the button will be disabled. */ +NS_SWIFT_NAME(FBShareButton) @interface FBSDKShareButton : FBSDKButton @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareCameraEffectContent.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareCameraEffectContent.h index 1309c8df6..5386133b7 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareCameraEffectContent.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareCameraEffectContent.h @@ -23,9 +23,12 @@ #import #import +NS_ASSUME_NONNULL_BEGIN + /** A model for content to share with a Facebook camera effect. */ +NS_SWIFT_NAME(ShareCameraEffectContent) @interface FBSDKShareCameraEffectContent : NSObject /** @@ -51,3 +54,5 @@ - (BOOL)isEqualToShareCameraEffectContent:(FBSDKShareCameraEffectContent *)content; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareConstants.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareConstants.h index 547a48439..c27b80cce 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareConstants.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareConstants.h @@ -18,6 +18,8 @@ #import +NS_ASSUME_NONNULL_BEGIN + #if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_10_0 /** @@ -25,7 +27,8 @@ Error codes from the SDK in the range 200-299 are reserved for this domain. */ -FOUNDATION_EXPORT NSErrorDomain const FBSDKShareErrorDomain; +FOUNDATION_EXPORT NSErrorDomain const FBSDKShareErrorDomain +NS_SWIFT_NAME(ShareErrorDomain); #else @@ -34,7 +37,8 @@ FOUNDATION_EXPORT NSErrorDomain const FBSDKShareErrorDomain; Error codes from the SDK in the range 200-299 are reserved for this domain. */ -FOUNDATION_EXPORT NSString *const FBSDKShareErrorDomain; +FOUNDATION_EXPORT NSString *const FBSDKShareErrorDomain +NS_SWIFT_NAME(ShareErrorDomain); #endif @@ -71,15 +75,6 @@ typedef NS_ERROR_ENUM(FBSDKShareErrorDomain, FBSDKShareError) @The error code for unknown errors. */ FBSDKShareErrorUnknown, -}; +} NS_SWIFT_NAME(ShareError); -/** - Deprecated - */ -typedef NS_ENUM(NSInteger, FBSDKShareErrorCode) -{ - FBSDKShareReservedErrorCode DEPRECATED_MSG_ATTRIBUTE("use FBSDKShareErrorReserved instead") = 200, - FBSDKShareOpenGraphErrorCode DEPRECATED_MSG_ATTRIBUTE("use FBSDKShareErrorOpenGraph instead"), - FBSDKShareDialogNotAvailableErrorCode DEPRECATED_MSG_ATTRIBUTE("use FBSDKShareErrorDialogNotAvailable instead"), - FBSDKShareUnknownErrorCode DEPRECATED_MSG_ATTRIBUTE("use FBSDKShareErrorUnknown instead"), -} DEPRECATED_MSG_ATTRIBUTE("use FBSDKShareError instead"); +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareDialog.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareDialog.h index 18c4d3ea2..c80134417 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareDialog.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareDialog.h @@ -22,20 +22,35 @@ #import #import +NS_ASSUME_NONNULL_BEGIN + /** A dialog for sharing content on Facebook. */ +NS_SWIFT_NAME(ShareDialog) @interface FBSDKShareDialog : NSObject /** - Convenience method to show an FBSDKShareDialog with a fromViewController, content and a delegate. + Convenience method to create a FBSDKShareDialog with a fromViewController, content and a delegate. + @param viewController A UIViewController to present the dialog from, if appropriate. + @param content The content to be shared. + @param delegate The receiver's delegate. + */ ++ (instancetype)dialogWithViewController:(nullable UIViewController *)viewController + withContent:(id)content + delegate:(nullable id)delegate +NS_SWIFT_NAME(init(fromViewController:content:delegate:)); + +/** + Convenience method to show an FBSDKShareDialog with a fromViewController, content and a delegate. @param viewController A UIViewController to present the dialog from, if appropriate. @param content The content to be shared. @param delegate The receiver's delegate. */ + (instancetype)showFromViewController:(UIViewController *)viewController withContent:(id)content - delegate:(id)delegate; + delegate:(nullable id)delegate +NS_SWIFT_UNAVAILABLE("Use init(fromViewController:content:delegate:).show() instead"); /** A UIViewController to present the dialog from. @@ -52,3 +67,5 @@ @property (nonatomic, assign) FBSDKShareDialogMode mode; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareDialogMode.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareDialogMode.h index f7bc21347..00e7f8f17 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareDialogMode.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareDialogMode.h @@ -18,6 +18,8 @@ #import +NS_ASSUME_NONNULL_BEGIN + /** NS_ENUM(NSUInteger, FBSDKShareDialogMode) Modes for the FBSDKShareDialog. @@ -55,9 +57,12 @@ typedef NS_ENUM(NSUInteger, FBSDKShareDialogMode) @Displays the feed dialog in a UIWebView within the app. */ FBSDKShareDialogModeFeedWeb, -}; +} NS_SWIFT_NAME(ShareDialog.Mode); /** Converts an FBSDKShareDialogMode to an NSString. */ -FOUNDATION_EXPORT NSString *NSStringFromFBSDKShareDialogMode(FBSDKShareDialogMode dialogMode); +FOUNDATION_EXPORT NSString *NSStringFromFBSDKShareDialogMode(FBSDKShareDialogMode dialogMode) +NS_REFINED_FOR_SWIFT; + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareKit.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareKit.h index 30e36aa4c..5224d17f2 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareKit.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareKit.h @@ -40,15 +40,11 @@ #import #if !TARGET_OS_TV -#import #import -#import #import -#import #import #import -#import -#import +#import #import #import #import diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareLinkContent.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareLinkContent.h index 0a283775c..5b7ba5f24 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareLinkContent.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareLinkContent.h @@ -20,53 +20,21 @@ #import +NS_ASSUME_NONNULL_BEGIN + /** A model for status and link content to be shared. */ +NS_SWIFT_NAME(ShareLinkContent) @interface FBSDKShareLinkContent : NSObject -/** - The description of the link. - - If not specified, this field is automatically populated by information scraped from the contentURL, - typically the title of the page. This value may be discarded for specially handled links (ex: iTunes URLs). - @return The description of the link - - @deprecated `contentDescription` is deprecated from Graph API 2.9. - For more information, see https://developers.facebook.com/docs/apps/changelog#v2_9_deprecations. - */ -@property (nonatomic, readonly) NSString *contentDescription - DEPRECATED_MSG_ATTRIBUTE("`contentDescription` is deprecated from Graph API 2.9"); - -/** - The title to display for this link. - - This value may be discarded for specially handled links (ex: iTunes URLs). - @return The link title - - @deprecated `contentTitle` is deprecated from Graph API 2.9. - For more information, see https://developers.facebook.com/docs/apps/changelog#v2_9_deprecations - */ -@property (nonatomic, readonly) NSString *contentTitle - DEPRECATED_MSG_ATTRIBUTE("`contentTitle` is deprecated from Graph API 2.9"); - -/** - The URL of a picture to attach to this content. - @return The network URL of an image - - @deprecated `imageURL` is deprecated from Graph API 2.9. - For more information, see https://developers.facebook.com/docs/apps/changelog#v2_9_deprecations - */ -@property (nonatomic, readonly) NSURL *imageURL - DEPRECATED_MSG_ATTRIBUTE("`imageURL` is deprecated from Graph API 2.9"); - /** Some quote text of the link. If specified, the quote text will render with custom styling on top of the link. @return The quote text of a link */ -@property (nonatomic, copy) NSString *quote; +@property (nonatomic, copy, nullable) NSString *quote; /** Compares the receiver to another link content. @@ -76,3 +44,5 @@ - (BOOL)isEqualToShareLinkContent:(FBSDKShareLinkContent *)content; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareMediaContent.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareMediaContent.h index ab9d895d5..684a504a6 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareMediaContent.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareMediaContent.h @@ -20,16 +20,27 @@ #import +NS_ASSUME_NONNULL_BEGIN + +/** + A protocol for media content (photo or video) to be shared. + */ +NS_SWIFT_NAME(ShareMedia) +@protocol FBSDKShareMedia + +@end + /** A model for media content (photo or video) to be shared. */ +NS_SWIFT_NAME(ShareMediaContent) @interface FBSDKShareMediaContent : NSObject /** Media to be shared. @return Array of the media (FBSDKSharePhoto or FBSDKShareVideo) */ -@property (nonatomic, copy) NSArray *media; +@property (nonatomic, copy) NSArray> *media; /** Compares the receiver to another media content. @@ -39,3 +50,5 @@ - (BOOL)isEqualToShareMediaContent:(FBSDKShareMediaContent *)content; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareMessengerActionButton.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareMessengerActionButton.h index 8b18d07c5..9f1f52eaf 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareMessengerActionButton.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareMessengerActionButton.h @@ -20,9 +20,12 @@ #import +NS_ASSUME_NONNULL_BEGIN + /** A base interface for Messenger share action buttons. */ +NS_SWIFT_NAME(ShareMessengerActionButton) @protocol FBSDKShareMessengerActionButton /** @@ -32,3 +35,5 @@ @property (nonatomic, copy) NSString *title; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareMessengerGenericTemplateContent.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareMessengerGenericTemplateContent.h index ffc1b7f9f..2fafbe299 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareMessengerGenericTemplateContent.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareMessengerGenericTemplateContent.h @@ -20,12 +20,14 @@ #import +NS_ASSUME_NONNULL_BEGIN + @class FBSDKShareMessengerGenericTemplateElement; typedef NS_ENUM(NSUInteger, FBSDKShareMessengerGenericTemplateImageAspectRatio) { FBSDKShareMessengerGenericTemplateImageAspectRatioHorizontal = 0, FBSDKShareMessengerGenericTemplateImageAspectRatioSquare -}; +} NS_SWIFT_NAME(ShareMessengerGenericTemplateImageAspectRatio); /** A model for sharing a generic template element to Messenger. This wrapper element allows @@ -33,6 +35,7 @@ typedef NS_ENUM(NSUInteger, FBSDKShareMessengerGenericTemplateImageAspectRatio) See https://developers.facebook.com/docs/messenger-platform/send-messages/template/generic for more details. */ +NS_SWIFT_NAME(ShareMessengerGenericTemplateContent) @interface FBSDKShareMessengerGenericTemplateContent : NSObject /** @@ -53,3 +56,5 @@ typedef NS_ENUM(NSUInteger, FBSDKShareMessengerGenericTemplateImageAspectRatio) @property (nonatomic, copy) FBSDKShareMessengerGenericTemplateElement *element; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareMessengerGenericTemplateElement.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareMessengerGenericTemplateElement.h index d70dd9631..c1ae53a4b 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareMessengerGenericTemplateElement.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareMessengerGenericTemplateElement.h @@ -21,11 +21,14 @@ #import #import +NS_ASSUME_NONNULL_BEGIN + /** A model for sharing a generic template element to Messenger. This allows specifying title, subtitle, image, default action, and any other buttons. Title is required. See https://developers.facebook.com/docs/messenger-platform/send-messages/template/generic for more details. */ +NS_SWIFT_NAME(ShareMessengerGenericTemplateElement) @interface FBSDKShareMessengerGenericTemplateElement : NSObject /** @@ -36,21 +39,23 @@ /** The rendered subtitle for the shared generic template element. Optional. */ -@property (nonatomic, copy) NSString *subtitle; +@property (nonatomic, copy, nullable) NSString *subtitle; /** The image url that will be downloaded and rendered at the top of the generic template. Optional. */ -@property (nonatomic, copy) NSURL *imageURL; +@property (nonatomic, copy, nullable) NSURL *imageURL; /** The default action executed when this shared generic tempate is tapped. Title for this button is ignored. Optional. */ -@property (nonatomic, copy) id defaultAction; +@property (nonatomic, copy, nullable) id defaultAction; /** This specifies what action button to show below the generic template. Optional. */ -@property (nonatomic, copy) id button; +@property (nonatomic, copy, nullable) id button; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareMessengerMediaTemplateContent.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareMessengerMediaTemplateContent.h index 142702d06..7b529e033 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareMessengerMediaTemplateContent.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareMessengerMediaTemplateContent.h @@ -21,17 +21,23 @@ #import #import +NS_ASSUME_NONNULL_BEGIN + typedef NS_ENUM(NSUInteger, FBSDKShareMessengerMediaTemplateMediaType) { FBSDKShareMessengerMediaTemplateMediaTypeImage = 0, FBSDKShareMessengerMediaTemplateMediaTypeVideo -}; +} NS_SWIFT_NAME(ShareMessengerMediaTemplateMediaType); /** A model for sharing media template content. See https://developers.facebook.com/docs/messenger-platform/send-messages/template/media for details. */ +NS_SWIFT_NAME(ShareMessengerMediaTemplateContent) @interface FBSDKShareMessengerMediaTemplateContent : NSObject +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; + /** The media type (image or video) for this content. This must match the media type specified in the attachmentID/mediaURL to avoid an error when sharing. Defaults to image. @@ -41,19 +47,19 @@ typedef NS_ENUM(NSUInteger, FBSDKShareMessengerMediaTemplateMediaType) { /** The attachmentID of the item to share. Optional, but either attachmentID or mediaURL must be specified. */ -@property (nonatomic, copy, readonly) NSString *attachmentID; +@property (nonatomic, copy, readonly, nullable) NSString *attachmentID; /** The Facebook url for this piece of media. External urls will not work; this must be a Facebook url. See https://developers.facebook.com/docs/messenger-platform/send-messages/template/media for details. Optional, but either attachmentID or mediaURL must be specified. */ -@property (nonatomic, copy, readonly) NSURL *mediaURL; +@property (nonatomic, copy, readonly, nullable) NSURL *mediaURL; /** This specifies what action button to show below the media. Optional. */ -@property (nonatomic, copy) id button; +@property (nonatomic, copy, nullable) id button; /** Custom initializer to create media template share with attachment id. @@ -67,3 +73,5 @@ typedef NS_ENUM(NSUInteger, FBSDKShareMessengerMediaTemplateMediaType) { - (instancetype)initWithMediaURL:(NSURL *)mediaURL; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareMessengerOpenGraphMusicTemplateContent.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareMessengerOpenGraphMusicTemplateContent.h index f68f51c4d..818536cb0 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareMessengerOpenGraphMusicTemplateContent.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareMessengerOpenGraphMusicTemplateContent.h @@ -21,11 +21,14 @@ #import #import +NS_ASSUME_NONNULL_BEGIN + /** This share content allows sharing a bubble that plays songs with Open Graph music. See https://developers.facebook.com/docs/messenger-platform/send-messages/template/open-graph for details. Passing property pageID is required for this type of share. */ +NS_SWIFT_NAME(ShareMessengerOpenGraphMusicTemplateContent) @interface FBSDKShareMessengerOpenGraphMusicTemplateContent : NSObject /** @@ -36,6 +39,8 @@ /** This specifies what action button to show below the open graph music bubble. Optional. */ -@property (nonatomic, copy) id button; +@property (nonatomic, copy, nullable) id button; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareMessengerURLActionButton.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareMessengerURLActionButton.h index 79feadd16..2f0ac9352 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareMessengerURLActionButton.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareMessengerURLActionButton.h @@ -20,15 +20,18 @@ #import +NS_ASSUME_NONNULL_BEGIN + typedef NS_ENUM(NSUInteger, FBSDKShareMessengerURLActionButtonWebviewHeightRatio) { FBSDKShareMessengerURLActionButtonWebviewHeightRatioFull = 0, FBSDKShareMessengerURLActionButtonWebviewHeightRatioTall, FBSDKShareMessengerURLActionButtonWebviewHeightRatioCompact -}; +} NS_SWIFT_NAME(ShareMessengerURLActionButton.WebviewHeightRatio); /** A model for a Messenger share URL action button. */ +NS_SWIFT_NAME(ShareMessengerURLActionButton) @interface FBSDKShareMessengerURLActionButton : NSObject /** @@ -51,7 +54,7 @@ typedef NS_ENUM(NSUInteger, FBSDKShareMessengerURLActionButtonWebviewHeightRatio Messenger Extensions. If this is not defined, the url will be used as a fallback. Optional, but ignored unless isMessengerExtensionURL == YES. */ -@property (nonatomic, copy) NSURL *fallbackURL; +@property (nonatomic, copy, nullable) NSURL *fallbackURL; /** This controls whether we want to hide the share button in the webview or not. It is useful to hide the share @@ -60,3 +63,5 @@ typedef NS_ENUM(NSUInteger, FBSDKShareMessengerURLActionButtonWebviewHeightRatio @property (nonatomic, assign) BOOL shouldHideWebviewShareButton; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphAction.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphAction.h index 83e888315..c6facf0be 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphAction.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphAction.h @@ -23,13 +23,26 @@ #import #import +NS_ASSUME_NONNULL_BEGIN + /** An Open Graph Action for sharing. The property keys MUST have namespaces specified on them, such as `og:image`. */ +NS_SWIFT_NAME(ShareOpenGraphAction) @interface FBSDKShareOpenGraphAction : FBSDKShareOpenGraphValueContainer +- (instancetype)init NS_UNAVAILABLE; ++ (instancetype)new NS_UNAVAILABLE; + +/** + Designated initializer to build a new action and set the object for the specified key. + @param actionType The action type of the receiver + */ +- (instancetype)initWithActionType:(NSString *)actionType +NS_SWIFT_NAME(init(type:)); + /** Convenience method to build a new action and set the object for the specified key. @param actionType The action type of the receiver @@ -68,3 +81,5 @@ - (BOOL)isEqualToShareOpenGraphAction:(FBSDKShareOpenGraphAction *)action; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphContent.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphContent.h index faed0ba44..f83915e2e 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphContent.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphContent.h @@ -21,9 +21,12 @@ #import #import +NS_ASSUME_NONNULL_BEGIN + /** A model for Open Graph content to be shared. */ +NS_SWIFT_NAME(ShareOpenGraphContent) @interface FBSDKShareOpenGraphContent : NSObject /** @@ -36,7 +39,6 @@ Property name that points to the primary Open Graph Object in the action. The value that this action points to will be use for rendering the preview for the share. - @return The property name for the Open Graph Object in the action */ @property (nonatomic, copy) NSString *previewPropertyName; @@ -48,3 +50,5 @@ - (BOOL)isEqualToShareOpenGraphContent:(FBSDKShareOpenGraphContent *)content; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphObject.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphObject.h index ef34e2805..47f0ef311 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphObject.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphObject.h @@ -22,6 +22,8 @@ #import +NS_ASSUME_NONNULL_BEGIN + /** An Open Graph Object for sharing. @@ -41,13 +43,14 @@ @"fitness:metrics:location:longitude": @"2.17403", }]; */ +NS_SWIFT_NAME(ShareOpenGraphObject) @interface FBSDKShareOpenGraphObject : FBSDKShareOpenGraphValueContainer /** Convenience method to build a new action and set the object for the specified key. @param properties Properties for the Open Graph object, which will be parsed into the proper models */ -+ (instancetype)objectWithProperties:(NSDictionary *)properties; ++ (instancetype)objectWithProperties:(NSDictionary *)properties; /** Compares the receiver to another Open Graph Object. @@ -57,3 +60,5 @@ - (BOOL)isEqualToShareOpenGraphObject:(FBSDKShareOpenGraphObject *)object; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphValueContainer.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphValueContainer.h index 59b16994c..3ed2f51e1 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphValueContainer.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareOpenGraphValueContainer.h @@ -18,74 +18,106 @@ #import +NS_ASSUME_NONNULL_BEGIN + @class FBSDKShareOpenGraphObject; @class FBSDKSharePhoto; +/** + Enumeration Block + */ +typedef void (^FBSDKEnumerationBlock)(NSString *key, id object, BOOL *stop) +NS_SWIFT_NAME(EnumerationBlock) +NS_SWIFT_UNAVAILABLE(""); + /** Protocol defining operations on open graph actions and objects. The property keys MUST have namespaces specified on them, such as `og:image`. */ +NS_SWIFT_NAME(ShareOpenGraphValueContaining) @protocol FBSDKShareOpenGraphValueContaining +/** + Returns a dictionary of all the objects that lets you access each key/object in the receiver. + */ +@property (nonatomic, readonly, strong) NSDictionary *allProperties; + +/** + Returns an enumerator object that lets you access each key in the receiver. + @return An enumerator object that lets you access each key in the receiver + */ +@property (nonatomic, readonly, strong) NSEnumerator *keyEnumerator +NS_SWIFT_UNAVAILABLE(""); + +/** + Returns an enumerator object that lets you access each value in the receiver. + @return An enumerator object that lets you access each value in the receiver + */ +@property (nonatomic, readonly, strong) NSEnumerator *objectEnumerator +NS_SWIFT_UNAVAILABLE(""); + /** Gets an NSArray out of the receiver. @param key The key for the value @return The NSArray value or nil */ -- (NSArray *)arrayForKey:(NSString *)key; +- (nullable NSArray *)arrayForKey:(NSString *)key; /** Applies a given block object to the entries of the receiver. @param block A block object to operate on entries in the receiver */ -- (void)enumerateKeysAndObjectsUsingBlock:(void (^)(NSString *key, id object, BOOL *stop))block; +- (void)enumerateKeysAndObjectsUsingBlock:(FBSDKEnumerationBlock)block +NS_SWIFT_UNAVAILABLE(""); /** - Returns an enumerator object that lets you access each key in the receiver. - @return An enumerator object that lets you access each key in the receiver + Gets an NSNumber out of the receiver. + @param key The key for the value + @return The NSNumber value or nil */ -- (NSEnumerator *)keyEnumerator; +- (nullable NSNumber *)numberForKey:(NSString *)key; /** - Gets an NSNumber out of the receiver. + Gets an NSString out of the receiver. @param key The key for the value - @return The NSNumber value or nil + @return The NSString value or nil */ -- (NSNumber *)numberForKey:(NSString *)key; +- (nullable NSString *)stringForKey:(NSString *)key; /** - Returns an enumerator object that lets you access each value in the receiver. - @return An enumerator object that lets you access each value in the receiver + Gets an NSURL out of the receiver. + @param key The key for the value + @return The NSURL value or nil */ -- (NSEnumerator *)objectEnumerator; +- (nullable NSURL *)URLForKey:(NSString *)key; /** Gets an FBSDKShareOpenGraphObject out of the receiver. @param key The key for the value @return The FBSDKShareOpenGraphObject value or nil */ -- (FBSDKShareOpenGraphObject *)objectForKey:(NSString *)key; +- (nullable FBSDKShareOpenGraphObject *)objectForKey:(NSString *)key; /** Enables subscript access to the values in the receiver. @param key The key for the value @return The value */ -- (id)objectForKeyedSubscript:(NSString *)key; +- (nullable id)objectForKeyedSubscript:(NSString *)key; /** Parses properties out of a dictionary into the receiver. @param properties The properties to parse. */ -- (void)parseProperties:(NSDictionary *)properties; +- (void)parseProperties:(NSDictionary *)properties; /** Gets an FBSDKSharePhoto out of the receiver. @param key The key for the value @return The FBSDKSharePhoto value or nil */ -- (FBSDKSharePhoto *)photoForKey:(NSString *)key; +- (nullable FBSDKSharePhoto *)photoForKey:(NSString *)key; /** Removes a value from the receiver for the specified key. @@ -101,62 +133,57 @@ @param array The NSArray value @param key The key for the value */ -- (void)setArray:(NSArray *)array forKey:(NSString *)key; +- (void)setArray:(nullable NSArray *)array forKey:(NSString *)key +NS_SWIFT_NAME(set(_:forKey:)); /** Sets an NSNumber on the receiver. @param number The NSNumber value @param key The key for the value */ -- (void)setNumber:(NSNumber *)number forKey:(NSString *)key; +- (void)setNumber:(nullable NSNumber *)number forKey:(NSString *)key +NS_SWIFT_NAME(set(_:forKey:)); /** Sets an FBSDKShareOpenGraphObject on the receiver. @param object The FBSDKShareOpenGraphObject value @param key The key for the value */ -- (void)setObject:(FBSDKShareOpenGraphObject *)object forKey:(NSString *)key; +- (void)setObject:(nullable FBSDKShareOpenGraphObject *)object forKey:(NSString *)key +NS_SWIFT_NAME(set(_:forKey:)); /** Sets an FBSDKSharePhoto on the receiver. @param photo The FBSDKSharePhoto value @param key The key for the value */ -- (void)setPhoto:(FBSDKSharePhoto *)photo forKey:(NSString *)key; +- (void)setPhoto:(nullable FBSDKSharePhoto *)photo forKey:(NSString *)key +NS_SWIFT_NAME(set(_:forKey:)); /** Sets an NSString on the receiver. @param string The NSString value @param key The key for the value */ -- (void)setString:(NSString *)string forKey:(NSString *)key; +- (void)setString:(nullable NSString *)string forKey:(NSString *)key +NS_SWIFT_NAME(set(_:forKey:)); /** Sets an NSURL on the receiver. @param URL The NSURL value @param key The key for the value */ -- (void)setURL:(NSURL *)URL forKey:(NSString *)key; - -/** - Gets an NSString out of the receiver. - @param key The key for the value - @return The NSString value or nil - */ -- (NSString *)stringForKey:(NSString *)key; - -/** - Gets an NSURL out of the receiver. - @param key The key for the value - @return The NSURL value or nil - */ -- (NSURL *)URLForKey:(NSString *)key; +- (void)setURL:(nullable NSURL *)URL forKey:(NSString *)key +NS_SWIFT_NAME(set(_:forKey:)); @end /** A base class to container Open Graph values. */ +NS_SWIFT_NAME(ShareOpenGraphValueContainer) @interface FBSDKShareOpenGraphValueContainer : NSObject @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKSharePhoto.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKSharePhoto.h index 7f8c2e419..0cd272c9a 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKSharePhoto.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKSharePhoto.h @@ -19,14 +19,18 @@ #import #import +#import #import +NS_ASSUME_NONNULL_BEGIN + @class PHAsset; /** A photo for sharing. */ -@interface FBSDKSharePhoto : NSObject +NS_SWIFT_NAME(SharePhoto) +@interface FBSDKSharePhoto : NSObject /** Convenience method to build a new photo object with an image. @@ -60,19 +64,19 @@ If the photo is resident in memory, this method supplies the data. @return UIImage representation of the photo */ -@property (nonatomic, strong) UIImage *image; +@property (nonatomic, strong, nullable) UIImage *image; /** The URL to the photo. @return URL that points to a network location or the location of the photo on disk */ -@property (nonatomic, copy) NSURL *imageURL; +@property (nonatomic, copy, nullable) NSURL *imageURL; /** The representation of the photo in the Photos library. - Returns: PHAsset that represents the photo in the Photos library. */ -@property (nonatomic, copy) PHAsset *photoAsset; +@property (nonatomic, copy, nullable) PHAsset *photoAsset; /** Specifies whether the photo represented by the receiver was generated by the user or by the application. @@ -80,6 +84,13 @@ */ @property (nonatomic, assign, getter=isUserGenerated) BOOL userGenerated; +/** + The user generated caption for the photo. Note that the 'caption' must come from + * the user, as pre-filled content is forbidden by the Platform Policies (2.3). + @return the Photo's caption if exists else returns null. + */ +@property (nonatomic, copy, nullable) NSString *caption; + /** Compares the receiver to another photo. @param photo The other photo @@ -87,12 +98,7 @@ */ - (BOOL)isEqualToSharePhoto:(FBSDKSharePhoto *)photo; -/** - The user generated caption for the photo. Note that the 'caption' must come from - * the user, as pre-filled content is forbidden by the Platform Policies (2.3). - @return the Photo's caption if exists else returns null. - */ -@property (nonatomic, copy) NSString *caption; - @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKSharePhotoContent.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKSharePhotoContent.h index 427c31572..fbb3e6052 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKSharePhotoContent.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKSharePhotoContent.h @@ -20,16 +20,21 @@ #import +NS_ASSUME_NONNULL_BEGIN + +@class FBSDKSharePhoto; + /** A model for photo content to be shared. */ +NS_SWIFT_NAME(SharePhotoContent) @interface FBSDKSharePhotoContent : NSObject /** Photos to be shared. @return Array of the photos (FBSDKSharePhoto) */ -@property (nonatomic, copy) NSArray *photos; +@property (nonatomic, copy) NSArray *photos; /** Compares the receiver to another photo content. @@ -39,3 +44,5 @@ - (BOOL)isEqualToSharePhotoContent:(FBSDKSharePhotoContent *)content; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareVideo.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareVideo.h index 09c13d1cf..4ceb32afb 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareVideo.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareVideo.h @@ -20,15 +20,19 @@ #import #import +#import #import +NS_ASSUME_NONNULL_BEGIN + @class FBSDKSharePhoto; @class PHAsset; /** A video for sharing. */ -@interface FBSDKShareVideo : NSObject +NS_SWIFT_NAME(ShareVideo) +@interface FBSDKShareVideo : NSObject /** Convenience method to build a new video object from raw data. @@ -73,25 +77,25 @@ The raw video data. - Returns: The video data. */ -@property (nonatomic, strong) NSData *data; +@property (nonatomic, strong, nullable) NSData *data; /** The representation of the video in the Photos library. @return PHAsset that represents the video in the Photos library. */ -@property (nonatomic, copy) PHAsset *videoAsset; +@property (nonatomic, copy, nullable) PHAsset *videoAsset; /** The file URL to the video. @return URL that points to the location of the video on disk */ -@property (nonatomic, copy) NSURL *videoURL; +@property (nonatomic, copy, nullable) NSURL *videoURL; /** The photo that represents the video. @return The photo */ -@property (nonatomic, copy) FBSDKSharePhoto *previewPhoto; +@property (nonatomic, copy, nullable) FBSDKSharePhoto *previewPhoto; /** Compares the receiver to another video. @@ -107,3 +111,5 @@ @property (nonatomic, copy, readonly) NSURL *videoURL; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareVideoContent.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareVideoContent.h index 0f4fd3749..80c222e7a 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareVideoContent.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKShareVideoContent.h @@ -22,18 +22,14 @@ #import #import +NS_ASSUME_NONNULL_BEGIN + /** A model for video content to be shared. */ +NS_SWIFT_NAME(ShareVideoContent) @interface FBSDKShareVideoContent : NSObject -/** - The photo that represents the video. - @return The photo - */ -@property (nonatomic, copy) FBSDKSharePhoto *previewPhoto -DEPRECATED_MSG_ATTRIBUTE("Use `video.previewPhoto`"); - /** The video to be shared. @return The video @@ -48,3 +44,5 @@ DEPRECATED_MSG_ATTRIBUTE("Use `video.previewPhoto`"); - (BOOL)isEqualToShareVideoContent:(FBSDKShareVideoContent *)content; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKSharing.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKSharing.h index 9e4ff6b1c..c95c67490 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKSharing.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKSharing.h @@ -20,6 +20,8 @@ #import +NS_ASSUME_NONNULL_BEGIN + @protocol FBSDKSharingDelegate; /** @@ -31,6 +33,7 @@ @see FBSDKShareAPI */ +NS_SWIFT_NAME(Sharing) @protocol FBSDKSharing /** @@ -63,6 +66,7 @@ /** The common interface for dialogs that initiate sharing. */ +NS_SWIFT_NAME(SharingDialog) @protocol FBSDKSharingDialog /** @@ -92,6 +96,7 @@ receive the information. For example, if the person is not signed into the containing app, the sharer may not be able to distinguish between completion of a share and cancellation. */ +NS_SWIFT_NAME(SharingDelegate) @protocol FBSDKSharingDelegate /** @@ -99,7 +104,7 @@ @param sharer The FBSDKSharing that completed. @param results The results from the sharer. This may be nil or empty. */ -- (void)sharer:(id)sharer didCompleteWithResults:(NSDictionary *)results; +- (void)sharer:(id)sharer didCompleteWithResults:(NSDictionary *)results; /** Sent to the delegate when the sharer encounters an error. @@ -115,3 +120,5 @@ - (void)sharerDidCancel:(id)sharer; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKSharingButton.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKSharingButton.h index 13cfc1f50..3f54925c0 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKSharingButton.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKSharingButton.h @@ -20,6 +20,8 @@ #import +NS_ASSUME_NONNULL_BEGIN + /** The common interface for sharing buttons. @@ -27,11 +29,14 @@ @see FBSDKShareButton */ +NS_SWIFT_NAME(SharingButton) @protocol FBSDKSharingButton /** The content to be shared. */ -@property (nonatomic, copy) id shareContent; +@property (nonatomic, copy, nullable) id shareContent; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKSharingContent.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKSharingContent.h index 3c97c5e9c..ec2ca2e26 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKSharingContent.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKSharingContent.h @@ -21,11 +21,14 @@ #import #import +NS_ASSUME_NONNULL_BEGIN + @class FBSDKHashtag; /** A base interface for content to be shared. */ +NS_SWIFT_NAME(SharingContent) @protocol FBSDKSharingContent /** @@ -41,7 +44,7 @@ Hashtag for the content being shared. @return The hashtag for the content being shared. */ -@property (nonatomic, copy) FBSDKHashtag *hashtag; +@property (nonatomic, copy, nullable) FBSDKHashtag *hashtag; /** List of IDs for taggable people to tag with this content. @@ -49,31 +52,31 @@ (https://developers.facebook.com/docs/graph-api/reference/user/taggable_friends) @return Array of IDs for people to tag (NSString) */ -@property (nonatomic, copy) NSArray *peopleIDs; +@property (nonatomic, copy) NSArray *peopleIDs; /** The ID for a place to tag with this content. @return The ID for the place to tag */ -@property (nonatomic, copy) NSString *placeID; +@property (nonatomic, copy, nullable) NSString *placeID; /** A value to be added to the referrer URL when a person follows a link from this shared content on feed. @return The ref for the content. */ -@property (nonatomic, copy) NSString *ref; +@property (nonatomic, copy, nullable) NSString *ref; /** For shares into Messenger, this pageID will be used to map the app to page and attach attribution to the share. - @return The ID of the Facebok page this share is associated with. + @return The ID of the Facebook page this share is associated with. */ -@property (nonatomic, copy) NSString *pageID; +@property (nonatomic, copy, nullable) NSString *pageID; /** A unique identifier for a share involving this content, useful for tracking purposes. @return A unique string identifying this share data. */ -@property (nonatomic, copy, readonly) NSString *shareUUID; +@property (nonatomic, copy, readonly, nullable) NSString *shareUUID; /** Adds content to an existing dictionary as key/value pairs and returns the @@ -83,16 +86,9 @@ @return A new dictionary with the modified contents */ - (NSDictionary *)addParameters:(NSDictionary *)existingParameters - bridgeOptions:(FBSDKShareBridgeOptions)bridgeOptions; - -/** - Adds content to a dictionary as key/value pairs. - @param parameters A mutable dictionary that may be appended with key/value pairs of content. - @param bridgeOptions The options for bridging - */ - -- (void)addToParameters:(NSMutableDictionary *)parameters - bridgeOptions:(FBSDKShareBridgeOptions)bridgeOptions -DEPRECATED_MSG_ATTRIBUTE("`addToParameters` is deprecated. Use `addParameters`"); + bridgeOptions:(FBSDKShareBridgeOptions)bridgeOptions +NS_SWIFT_NAME(addParameters(_:options:)); @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKSharingScheme.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKSharingScheme.h index 1d81771d1..031158ee0 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKSharingScheme.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKSharingScheme.h @@ -18,16 +18,21 @@ #import "FBSDKShareDialogMode.h" +NS_ASSUME_NONNULL_BEGIN + /** A base interface for indicating a custom URL scheme */ +NS_SWIFT_NAME(SharingScheme) @protocol FBSDKSharingScheme /** Asks the receiver to provide a custom scheme. - - Parameter mode: The intended dialog mode for sharing the content. - - Returns: A custom URL scheme to use for the specified mode, or nil. + @param mode The intended dialog mode for sharing the content. + @return A custom URL scheme to use for the specified mode, or nil. */ - (nullable NSString *)schemeForMode:(FBSDKShareDialogMode)mode; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Headers/FBSDKSharingValidation.h b/src/ios/FBSDKShareKit.framework/Headers/FBSDKSharingValidation.h index b16454a35..bf9b52f3e 100644 --- a/src/ios/FBSDKShareKit.framework/Headers/FBSDKSharingValidation.h +++ b/src/ios/FBSDKShareKit.framework/Headers/FBSDKSharingValidation.h @@ -18,6 +18,8 @@ #import +NS_ASSUME_NONNULL_BEGIN + /** Flags to indicate support for newer bridge options beyond the initial 20130410 implementation. */ @@ -29,11 +31,12 @@ typedef NS_OPTIONS(NSUInteger, FBSDKShareBridgeOptions) FBSDKShareBridgeOptionsVideoAsset = 1 << 2, FBSDKShareBridgeOptionsVideoData = 1 << 3, FBSDKShareBridgeOptionsWebHashtag = 1 << 4, // if set, pass the hashtag as a string value, not an array of one string -}; +} NS_SWIFT_NAME(ShareBridgeOptions); /** A base interface for validation of content and media. */ +NS_SWIFT_NAME(SharingValidation) @protocol FBSDKSharingValidation /** @@ -44,3 +47,5 @@ typedef NS_OPTIONS(NSUInteger, FBSDKShareBridgeOptions) - (BOOL)validateWithOptions:(FBSDKShareBridgeOptions)bridgeOptions error:(NSError *__autoreleasing *)errorRef; @end + +NS_ASSUME_NONNULL_END diff --git a/src/ios/FBSDKShareKit.framework/Info.plist b/src/ios/FBSDKShareKit.framework/Info.plist index 69faed125..f84866b81 100644 Binary files a/src/ios/FBSDKShareKit.framework/Info.plist and b/src/ios/FBSDKShareKit.framework/Info.plist differ diff --git a/src/ios/FacebookConnectPlugin.m b/src/ios/FacebookConnectPlugin.m index b8481fb47..741e9c47c 100644 --- a/src/ios/FacebookConnectPlugin.m +++ b/src/ios/FacebookConnectPlugin.m @@ -152,7 +152,7 @@ - (void)login:(CDVInvokedUrlCommand *)command { // without refreshing there will be a cache problem. This simple call should fix the problems [FBSDKAccessToken refreshCurrentAccessToken:nil]; - FBSDKLoginManagerRequestTokenHandler loginHandler = ^void(FBSDKLoginManagerLoginResult *result, NSError *error) { + FBSDKLoginManagerLoginResultBlock loginHandler = ^void(FBSDKLoginManagerLoginResult *result, NSError *error) { if (error) { // If the SDK has a message for the user, surface it. NSString *errorMessage = error.userInfo[FBSDKErrorLocalizedDescriptionKey] ?: @"There was a problem logging you in."; @@ -188,7 +188,7 @@ - (void)login:(CDVInvokedUrlCommand *)command { if (self.loginManager == nil) { self.loginManager = [[FBSDKLoginManager alloc] init]; } - [self.loginManager logInWithReadPermissions:permissions fromViewController:[self topMostController] handler:loginHandler]; + [self.loginManager logInWithPermissions:permissions fromViewController:[self topMostController] handler:loginHandler]; return; } @@ -326,8 +326,6 @@ - (void) showDialog:(CDVInvokedUrlCommand*)command NSLog(@"There was an error parsing your 'object' JSON string"); } else { FBSDKShareOpenGraphObject *object = [FBSDKShareOpenGraphObject objectWithProperties:json]; - FBSDKShareOpenGraphAction *action = [[FBSDKShareOpenGraphAction alloc] init]; - action.actionType = params[@"action"]; if(!json[@"og:type"]) { NSLog(@"No 'og:type' encountered in the object JSON. Please provide an Open Graph object type."); return; @@ -335,8 +333,8 @@ - (void) showDialog:(CDVInvokedUrlCommand*)command NSString *objectType = json[@"og:type"]; objectType = [objectType stringByReplacingOccurrencesOfString:@"." withString:@":"]; + FBSDKShareOpenGraphAction *action = [FBSDKShareOpenGraphAction actionWithType:params[@"action"] object:object key:objectType]; - [action setObject:object forKey:objectType]; FBSDKShareOpenGraphContent *content = [[FBSDKShareOpenGraphContent alloc] init]; content.action = action; content.previewPropertyName = objectType; @@ -423,7 +421,7 @@ - (void) graphApi:(CDVInvokedUrlCommand *)command permissions = [requestPermissions copy]; // Defines block that handles the Graph API response - FBSDKGraphRequestHandler graphHandler = ^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { + FBSDKGraphRequestBlock graphHandler = ^(FBSDKGraphRequestConnection *connection, id result, NSError *error) { CDVPluginResult* pluginResult; if (error) { NSString *message = error.userInfo[FBSDKErrorLocalizedDescriptionKey] ?: @"There was an error making the graph call."; @@ -439,7 +437,7 @@ - (void) graphApi:(CDVInvokedUrlCommand *)command }; NSLog(@"Graph Path = %@", graphPath); - FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:graphPath parameters:nil]; + FBSDKGraphRequest *request = [[FBSDKGraphRequest alloc] initWithGraphPath:graphPath]; // If we have permissions to request if ([permissions count] == 0){ @@ -510,7 +508,7 @@ - (void) activateApp:(CDVInvokedUrlCommand *)command #pragma mark - Utility methods -- (void) loginWithPermissions:(NSArray *)permissions withHandler:(FBSDKLoginManagerRequestTokenHandler) handler { +- (void) loginWithPermissions:(NSArray *)permissions withHandler:(FBSDKLoginManagerLoginResultBlock) handler { BOOL publishPermissionFound = NO; BOOL readPermissionFound = NO; if (self.loginManager == nil) { @@ -537,13 +535,8 @@ - (void) loginWithPermissions:(NSArray *)permissions withHandler:(FBSDKLoginMana }; NSError *error = [NSError errorWithDomain:@"facebook" code:-1 userInfo:userInfo]; handler(nil, error); - - } else if (publishPermissionFound) { - // Only publish permissions - [self.loginManager logInWithPublishPermissions:permissions fromViewController:[self topMostController] handler:handler]; } else { - // Only read permissions - [self.loginManager logInWithReadPermissions:permissions fromViewController:[self topMostController] handler:handler]; + [self.loginManager logInWithPermissions:permissions fromViewController:[self topMostController] handler:handler]; } } @@ -787,10 +780,11 @@ void FBMethodSwizzle(Class c, SEL originalSelector) { + (void)load { FBMethodSwizzle([self class], @selector(application:openURL:sourceApplication:annotation:)); + FBMethodSwizzle([self class], @selector(application:openURL:options:)); } // This method is a duplicate of the other openURL method below, except using the newer iOS (9) API. -- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary *)options { +- (BOOL)swizzled_application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary *)options { if (!url) { return NO; } @@ -800,10 +794,10 @@ - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(N // NOTE: Cordova will run a JavaScript method here named handleOpenURL. This functionality is deprecated // but will cause you to see JavaScript errors if you do not have window.handleOpenURL defined: // https://github.com/Wizcorp/phonegap-facebook-plugin/issues/703#issuecomment-63748816 - NSLog(@"FB handle url: %@", url); + NSLog(@"FB handle url using application:openURL:options: %@", url); // Call existing method - return [self swizzled_application:application openURL:url sourceApplication:[options valueForKey:@"UIApplicationOpenURLOptionsSourceApplicationKey"] annotation:0x0]; + return [self swizzled_application:application openURL:url options:options]; } - (BOOL)noop_application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation @@ -822,7 +816,7 @@ - (BOOL)swizzled_application:(UIApplication *)application openURL:(NSURL *)url s // NOTE: Cordova will run a JavaScript method here named handleOpenURL. This functionality is deprecated // but will cause you to see JavaScript errors if you do not have window.handleOpenURL defined: // https://github.com/Wizcorp/phonegap-facebook-plugin/issues/703#issuecomment-63748816 - NSLog(@"FB handle url: %@", url); + NSLog(@"FB handle url using application:openURL:sourceApplication:annotation: %@", url); // Call existing method return [self swizzled_application:application openURL:url sourceApplication:sourceApplication annotation:annotation];