lipengwei
2019-09-26 88188ea7992a90e66db694e9fc1b304a59608044
frameworks/FBSDKCoreKit.framework/Headers/FBSDKAppLinkResolver.h
@@ -18,65 +18,49 @@
#import <Foundation/Foundation.h>
@class BFTask;
#import "FBSDKAppLinkResolving.h"
// Check if Bolts.framework is available for import
#if __has_include(<Bolts/BFAppLinkResolving.h>)
// Import it if it's available
# import <Bolts/BFAppLinkResolving.h>
#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.
NS_ASSUME_NONNULL_BEGIN
/**
 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.
 Describes the callback for appLinkFromURLInBackground.
 @param appLinks the FBSDKAppLinks representing the deferred App Links
 @param error the error during the request, if any
 */
@protocol BFAppLinkResolving <NSObject>
/**
 Asynchronously resolves App Link data for a given URL.
 - Parameter 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;
@end
#endif
typedef void (^FBSDKAppLinksBlock)(NSDictionary<NSURL *, FBSDKAppLink *> * 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:]`
 */
@interface FBSDKAppLinkResolver : NSObject<BFAppLinkResolving>
NS_SWIFT_NAME(AppLinkResolver)
@interface FBSDKAppLinkResolver : NSObject<FBSDKAppLinkResolving>
- (instancetype)init NS_UNAVAILABLE;
+ (instancetype)new NS_UNAVAILABLE;
/**
  Asynchronously resolves App Link data for multiple URLs.
 Asynchronously resolves App Link data for a given array of URLs.
 - Parameter urls: An array of NSURLs to resolve into App Links.
 - Returns: 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:]`
 @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.
 */
- (BFTask *)appLinksFromURLsInBackground:(NSArray *)urls;
- (void)appLinksFromURLs:(NSArray<NSURL *> *)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