123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- /*
- * Copyright (c) Meta Platforms, Inc. and affiliates.
- * All rights reserved.
- *
- * This source code is licensed under the license found in the
- * LICENSE file in the root directory of this source tree.
- */
- #import <Foundation/Foundation.h>
- #import <UIKit/UIKit.h>
- #import <FBSDKCoreKit/FBSDKAppAvailabilityChecker.h>
- #import <FBSDKCoreKit/FBSDKAppURLSchemeProviding.h>
- #import <FBSDKCoreKit/FBSDKInternalUtilityProtocol.h>
- #import <FBSDKCoreKit/_FBSDKWindowFinding.h>
- #if !TARGET_OS_TV
- #import <FBSDKCoreKit/FBSDKURLHosting.h>
- #endif
- @protocol FBSDKErrorCreating;
- @protocol FBSDKInfoDictionaryProviding;
- @protocol FBSDKSettings;
- @protocol __FBSDKLoggerCreating;
- NS_ASSUME_NONNULL_BEGIN
- NS_SWIFT_NAME(InternalUtility)
- @interface FBSDKInternalUtility : NSObject
- #if !TARGET_OS_TV
- <FBSDKAppAvailabilityChecker, FBSDKAppURLSchemeProviding, FBSDKInternalUtility, FBSDKURLHosting, _FBSDKWindowFinding>
- #else
- <FBSDKAppAvailabilityChecker, FBSDKAppURLSchemeProviding, FBSDKInternalUtility>
- #endif
- #if !DEBUG
- - (instancetype)init NS_UNAVAILABLE;
- + (instancetype)new NS_UNAVAILABLE;
- #endif
- @property (class, nonnull, readonly) FBSDKInternalUtility *sharedUtility;
- /**
- Returns bundle for returning localized strings
- We assume a convention of a bundle named FBSDKStrings.bundle, otherwise we
- return the main bundle.
- */
- @property (nonatomic, readonly, strong) NSBundle *bundleForStrings;
- /**
- Tests whether the supplied URL is a valid URL for opening in the browser.
- @param URL The URL to test.
- @return YES if the URL refers to an http or https resource, otherwise NO.
- */
- - (BOOL)isBrowserURL:(NSURL *)URL;
- /**
- Checks equality between 2 objects.
- Checks for pointer equality, nils, isEqual:.
- @param object The first object to compare.
- @param other The second object to compare.
- @return YES if the objects are equal, otherwise NO.
- */
- - (BOOL)object:(id)object isEqualToObject:(id)other;
- /// Attempts to find the first UIViewController in the view's responder chain. Returns nil if not found.
- - (nullable UIViewController *)viewControllerForView:(UIView *)view;
- /// returns true if the url scheme is registered in the CFBundleURLTypes
- - (BOOL)isRegisteredURLScheme:(NSString *)urlScheme;
- /// returns currently displayed top view controller.
- - (nullable UIViewController *)topMostViewController;
- /// returns the current key window
- - (nullable UIWindow *)findWindow;
- #pragma mark - FB Apps Installed
- @property (nonatomic, readonly, assign) BOOL isMessengerAppInstalled;
- - (BOOL)isRegisteredCanOpenURLScheme:(NSString *)urlScheme;
- /**
- Internal method exposed to facilitate transition to Swift.
- API Subject to change or removal without warning. Do not use.
- @warning INTERNAL - DO NOT USE
- */
- - (void)configureWithInfoDictionaryProvider:(id<FBSDKInfoDictionaryProviding>)infoDictionaryProvider
- loggerFactory:(id<__FBSDKLoggerCreating>)loggerFactory
- settings:(id<FBSDKSettings>)settings
- errorFactory:(id<FBSDKErrorCreating>)errorFactory
- NS_SWIFT_NAME(configure(infoDictionaryProvider:loggerFactory:settings:errorFactory:));
- @end
- NS_ASSUME_NONNULL_END
|