| | |
| | | |
| | | #import "FBSDKConstants.h" |
| | | |
| | | NS_ASSUME_NONNULL_BEGIN |
| | | |
| | | @class FBSDKGraphErrorRecoveryProcessor; |
| | | @class FBSDKGraphRequest; |
| | | |
| | | /** |
| | | Defines a delegate for `FBSDKGraphErrorRecoveryProcessor`. |
| | | */ |
| | | NS_SWIFT_NAME(GraphErrorRecoveryProcessorDelegate) |
| | | @protocol FBSDKGraphErrorRecoveryProcessorDelegate<NSObject> |
| | | |
| | | /** |
| | |
| | | @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 |
| | | /** |
| | |
| | | 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. |
| | |
| | | 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) id<FBSDKGraphErrorRecoveryProcessorDelegate>delegate; |
| | | @property (nonatomic, strong, readonly, nullable) id<FBSDKGraphErrorRecoveryProcessorDelegate>delegate; |
| | | |
| | | /** |
| | | Attempts to process the error, return YES if the error can be processed. |
| | |
| | | @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<FBSDKGraphErrorRecoveryProcessorDelegate>) delegate; |
| | | - (BOOL)processError:(NSError *)error |
| | | request:(FBSDKGraphRequest *)request |
| | | delegate:(nullable id<FBSDKGraphErrorRecoveryProcessorDelegate>)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 |