UIApplication

作者: 风冰武 | 来源:发表于2019-02-17 17:03 被阅读0次
    //302行
    @protocol UIApplicationDelegate<NSObject>
    
    //启动过程完成, 应用程序开始运行          306行
    //备注: 已经被废弃:使用- application: didFinishLaunchingWithOptions: 代替
    - (void)applicationDidFinishLaunching:(UIApplication *)application;
    
    //启动过程已经开始, 但状态恢复尚未发生的委托          311行
    //参数1: 应用对象
    //参数2:字典(说明应用程序启动的原因(如果有的话), 在用户直接启动应用程序的情况下, 给字典内容可能为空)
    //返回: 如果应用程序无法处理URL资源或继续用户活动, 则返回YES. 如果应用程序因远程通知而启动, 则忽略返回值
    - (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(nullable NSDictionary *)launchOptions;
    
    //启动过程完成, 应用程序开始运行          312行 
    //参数1: 应用对象
    //参数2: 字典(说明应用程序启动的原因(如果有的话), 在用户直接启动应用程序的情况下, 给字典内容可能为空)
    //返回: 如果应用程序无法处理URL资源或继续用户活动, 则返回YES. 如果应用程序因远程通知而启动, 则忽略返回值
    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(nullable NSDictionary *)launchOptions;
    
    //应用程序已经激活          315行
    - (void)applicationDidBecomeActive:(UIApplication *)application;
    
    //当应用程序即将从活跃状态变道非活跃状态时发送          316行
    //参数: 应用程序
    //备注: 这可能发生在某些类型的临时中断(如来电或SMS消息), 或者当用户退出应用程序并开始转换到后台状态时; 使用此方法暂停正在进行的任务, 禁用计时器和使图形呈现回调无效. 游戏应该使用这种方法暂停游戏;
    - (void)applicationWillResignActive:(UIApplication *)application;
    
    //请求代理打开由URL标识的资源          317行
    //参数1: 应用程序
    //参数2: 表示URL的对象
    //返回: 如果成功, 返回YES; 否则返回NO
    //备注: 该方法在iOS9之后被废弃, iOS9之后, 请使用: - application: openURL: options:
    - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url;
    
    //请求代理打开由URL标识的资源          318行
    //参数1: 应用程序
    //参数2: 要打开的URL资源
    //参数3:请求应用程序打开URL的应用程序的bundle ID
    //参数4:源应用程序提供的属性列表, 用于将信息传递给接收应用程序;
    //返回: 成功则为YES, 否则为NO
    //备注: 该方法在iOS 9之后被废弃, iOS9之后, 请使用: - application: openURL: options:
    - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(id)annotation NS_DEPRECATED_IOS(4_2, 9_0, "Please use application:openURL:options:") __TVOS_PROHIBITED;
    
    //用于在打开URL时访问选项字典中的值的键          322行
    typedef NSString * UIApplicationOpenURLOptionsKey;
    
    //请求代理打开URL指定的资源, 并提供启动选项的字典          327行
    //参数1: 应用程序
    //参数2: 要打开的URL资源
    //参数3: URL处理选项的字典.
    //返回: 成功则返回YES, 否则返回NO
    //备注: iOS9之后用该方法
    - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options;
    
    //当应用程序收到来自系统的内存警告时, 执行该方法  329行
    //参数: 应用程序
    - (void)applicationDidReceiveMemoryWarning:(UIApplication *)application;   
    
    //应用程序将要终止          330行
    - (void)applicationWillTerminate:(UIApplication *)application;
    
    //当时间发生重大变化时, 执行该方法          331行
    - (void)applicationSignificantTimeChange:(UIApplication *)application; 
    
    //状态栏方向将要更改          333行
    - (void)application:(UIApplication *)application willChangeStatusBarOrientation:(UIInterfaceOrientation)newStatusBarOrientation duration:(NSTimeInterval)duration;
    
    //状态栏方向已经更改          334行
    - (void)application:(UIApplication *)application didChangeStatusBarOrientation:(UIInterfaceOrientation)oldStatusBarOrientation;
    
    //状态栏的框架大小将要改变          336行
    - (void)application:(UIApplication *)application willChangeStatusBarFrame:(CGRect)newStatusBarFrame;
    
    //状态栏的框架大小已经改变          337行
    - (void)application:(UIApplication *)application 
    didChangeStatusBarFrame:(CGRect)oldStatusBarFrame;
    
    //注册通知类型          340行
    //参数1: 应用程序
    //参数2: 用户为应用程序指定的通知设置
    //备注: 该方法在iOS10之后被废弃, iOS10之后, 请使用: UNUserNotificationCenter框架下的: - requestAuthorizationWithOptions: completionHandler:
    //需要导入头文件:#import <UserNotifications/UserNotifications.h>
     - (void)application:(UIApplication *)application didRegisterUserNotificationSettings:(UIUserNotificationSettings *)notificationSettings;
    
    //推送注册成功          342行
    //参数1: 应用程序
    //参数2: token值
    - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken NS_AVAILABLE_IOS(3_0);
    
    //推送注册失败          344行
    //参数1: 应用程序
    //参数2: 注册失败的原因
    - (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error;
    
    //收到远程通知          346行
    //参数1: 应用程序
    //参数2: 远程通知相关信息的字典
    //备注: 该方法在iOS10之后被废弃, iOS10之后, 使用:
    //- userNotificationCenter: willPresentNotification: withCompletionHandler:
    //或: - userNotificationCenter: didReceiveNotificationResponse: withComPletionHandler:
    - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo;
    
    //收到本地通知          348行
    //参数1: 应用程序
    //参数2: 本地通知, 封装有关通知的详细信息, 可能包括自定义数据
    //备注: 该方法在iOS 10之后被废弃, iOS10之后, 使用:
    //- userNotificationCenter: willPresentNotification: withCompletionHandler:
    //或: - userNotificationCenter: didReceiveNotificationResponse: withComPletionHandler:
    - (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification;
    
    //当应用程序收到本地通知, 被激活时调用          355行
    //参数1: 应用程序
    //参数2: 与自定义操作关联的标识符(这个字符串对应于UILocalNotificationAction)对象的标识符, 该标识符用于配置本地通知中的操作
    //参数3: 本地通知对象
    //参数4: 完成操作时要调用的block块
    //备注: 该方法在iOS10之后被废弃, iOS10之后, 使用
    //- didReceiveNotificationResponse: withCompletionHandler:
    - (void)application:(UIApplication *)application handleActionWithIdentifier:(nullable NSString *)identifier forLocalNotification:(UILocalNotification *)notification completionHandler:(void(^)())completionHandler;
    
    //当应用程序收到远程通知, 被激活时调用          357行
    //参数1: 应用程序
    //参数2: 自定义动作的标识符
    //参数3: 与远程通知相关信息的字典
    //参数4: 发送的数据字典
    //参数5: 完成操作时必须调用的块
    //备注: 该方法在iOS10之后被废弃, iOS10之后, 使用
    //- didReceiveNotificationResponse: withCompletionHandler: 代替
    - (void)application:(UIApplication *)application handleActionWithIdentifier:(nullable NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo withResponseInfo:(NSDictionary *)responseInfo completionHandler:(void(^)())completionHandler;
    
    //执行远程通知指定的自定义操作          362行
    //参数1: 接收远程通知的App对象
    //参数2: 与自定义操作关联的标识符
    //参数3: 包含与远程通知相关信息的字典
    //参数4: 当您完成指定操作时要执行的块, 您必须在方法的末尾调用此块
    //备注: 该方法在iOS10之后被废弃, iOS10之后, 使用
    //- didReceiveNotificationResponse: withCompletionHandler: 代替
    - (void)application:(UIApplication *)application handleActionWithIdentifier:(nullable NSString *)identifier forRemoteNotification:(NSDictionary *)userInfo completionHandler:(void(^)())completionHandler;
    
    //当用户从本地通知中选择一个操作来激活应用程序时调用          364行
    //参数1: 用户选择的操作激活的app对象
    //参数2: 自定义动作的标识符
    //参数3: 触发的本地通知对象
    //参数4: 发送的数据字典
    //参数5: 当您完成操作时必须调用的块
    //备注: 该方法在iOS10之后被废弃, iOS10之后, 使用
    //- didReceiveNotificationResponse: withCompletionHandler: 代替
    - (void)application:(UIApplication *)application handleActionWithIdentifier:(nullable NSString *)identifier forLocalNotification:(UILocalNotification *)notification withResponseInfo:(NSDictionary *)responseInfo completionHandler:(void(^)())completionHandler;
    
    //远程通知有数据要被下载          370行
    //参数1: 应用程序
    //参数2: 与远程通知相关信息的字典
    //参数3: 下载操作完成后要执行的块(在调用此块时, 传入fetch result值, 该值最好描述下载操作的结果. 您必须调用这个处理程序, 并且应该尽快这样做)
    - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
    
    //如果应用程序有数据要下载, 它可以开始获取操作(应该是本地通知)          373行
    //参数1: 应用程序
    //参数2: 下载操作完成后要执行的块(在调用此块时, 传入fetch result值, 该值最好描述下载操作的结果, 您必须调用这个处理程序, 并且应该尽快这样做)
    - (void)application:(UIApplication *)application performFetchWithCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
    
    //当用户选择应用程序的主屏幕时调用, 除非在启动方法中拦截了交互 
             377行
    //参数1: 共享应用程序对象
    //参数2: 在此方法中提供实现的快速操作
    //参数3: 在快速操作实现完成后调用此块, 根据实现代码的成功或失败返回YES或NO
    - (void)application:(UIApplication *)application performActionForShortcutItem:(UIApplicationShortcutItem *)shortcutItem completionHandler:(void(^)(BOOL succeeded))completionHandler;
    
    //告诉代理与URL会话相关的事件正在等待处理          384行
    //参数1: 应用程序
    //参数2: 需要注意的URL会话标识符
    //参数3: 完成事件处理时调用的完成处理程序; 调用这个完成处理程序可以让系统知道应用程序的用户界面已经更新, 可以获取新的快照
    - (void)application:(UIApplication *)application handleEventsForBackgroundURLSession:(NSString *)identifier completionHandler:(void (^)(void))completionHandler;
    
    //请求代理响应来自成对watchOS应用程序的请求          386行
    //参数1:  应用对象
    //参数2: watchOS应用程序提供的带有请求信息的字典
    //参数3: 与请求结果一起执行的块
    - (void)application:(UIApplication *)application handleWatchKitExtensionRequest:(nullable NSDictionary *)userInfo reply:(void(^)(NSDictionary * __nullable replyInfo))reply;
    
    //当应用程序要求用户访问其HealthKit数据时调用          388行
    //参数1: 应用对象
    - (void)applicationShouldRequestHealthAuthorization:(UIApplication *)application;
    
    //请求代理直接处理指定的SiriKit意图          390行
    //参数1: 共享应用程序对象
    //参数2: 包含关于SiriKit请求的信息的intent对象(使用这个对象来识别用户正在尝试做什么, 以及要提供什么样的响应)
    //参数3: 要与响应一起执行的处理程序块
    - (void)application:(UIApplication *)application handleIntent:(INIntent *)intent completionHandler:(void(^)(INIntentResponse *intentResponse))completionHandler;
    
    //程序进入后台          392行
    - (void)applicationDidEnterBackground:(UIApplication *)application;
    
    
    //应用程序即将进入前台          393行
    - (void)applicationWillEnterForeground:(UIApplication *)application;
    
    //告诉代理受保护的文件即将不可用          395行
    //参数: 应用对象
    - (void)applicationProtectedDataWillBecomeUnavailable:(UIApplication *)application;
    
    //告诉代理受保护的文件现在可用          396行
    //参数: 应用对象
    - (void)applicationProtectedDataDidBecomeAvailable:(UIApplication *)application;
    
    //显示界面时使用的窗口          398行
    @property (nullable, nonatomic, strong) UIWindow *window;
    
    //请求代理指定窗口中的视图控制器使用的接口朝向          400行
    //参数1: 应用对象
    //参数2: 要检索其接口方向的窗口
    //返回: UIInterfaceOrientationMask常量(它指示视图控制器使用的方向)
    - (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(nullable UIWindow *)window;
    
    
    
    
    
    
    
    
    
    
    
    
    
    

    相关文章

      网友评论

        本文标题:UIApplication

        本文链接:https://www.haomeiwen.com/subject/hupgeqtx.html