//  封装Apple SignInApp
//  开发语言OC。
//  单例模式实现，此工程只封装SignInApp，
//  为兼容新老版本服务端验证数据和接口不同m，此工程将不包含服务器端验证，服务器端验证需要自行实现。
//
//  LTAppleSignInApp.h
//  LTAppleSignInApp
//
//  Created by 李庆硕 on 2019/12/10.
//  Copyright © 2019 李庆硕. All rights reserved.
//

#import <UIKit/UIKit.h>
#import <Foundation/Foundation.h>
#import "LTAppleSignDelegate.h"

@interface LTAppleSignInApp : NSObject


enum LTAppleSignErrorCode{
    LTAppleSignSucces=0,      // 成功
    LTAppleSignErrorVersion=1,      // 13.0以下版本
    LTAppleSignErrorCanceled = 2,   // 用户取消了授权请求
    LTAppleSignErrorFailed =3,      // 授权请求失败
    LTAppleSignErrorInvalidResponse =4,      // 授权请求响应无效
    LTAppleSignErrorNotHandled =5,      // 未能处理授权请求
    LTAppleSignErrorUnknown =6,         // 授权请求失败未知原因
};




#pragma mark- 单例
+ (id)shareInstance;

/**
 *  启动接口
 */
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;

/**
 *  登录接口
 */
- (void)LTAppleSignInAppLogin;

/**
 *  检查是否支持苹果登录，
 *  因为苹果登录仅支持13.0的版本，所以增加此接口。
 */
- (BOOL)LTAppleSignCheckVersion;

/**
 * 设置登录回调
 */
- (void)LTAppleSignDelegate:(BlockfuncLTAppleSign)ltAppleSignCallback;


/**
 * 设置展示的VIew
 */
- (void)LTAppleSignSetAuthorizationController:(UIView*) view;

@end
