appdelegate中的NSURLSessionDataTask

文森佐·普蒂尼亚诺(Vincenzo Putignano)

从邮件打开应用程序时,我会在appDelegate中调用NSURLSessionDataTask,因此在此函数中

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation

我试过但不起作用,为什么?

我需要从该函数获取查询

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
NSURLComponents *components = [[NSURLComponents alloc] init];
components.query = [url query];

BOOL confirmRegistration = NO;
NSString *userToken;
for (NSURLQueryItem *queryItem in components.queryItems) {
    if ([queryItem.name isEqualToString:@"userToken"])
    {
        userToken = queryItem.value;
    }
    else if ([queryItem.name isEqualToString:@"registrationType"])
    {
        if ([queryItem.value isEqualToString:@"confirmRegistration"])
        {
            confirmRegistration = YES;
        }
    }
}

//la app è stata aperta con la mail di conferma registrazione
if (confirmRegistration)
{
    NSDictionary* userInfo = @{@"userToken": userToken};
    [[NSNotificationCenter defaultCenter] postNotificationName:@"confirmRegistration" object:nil userInfo:userInfo];
}

return YES;

}

谢谢

拉胡尔·卡塔里亚(Rahul Katariya)

从任何地方打开应用程序时,application:didFinishLaunchingWithOptions:都会调用。

在这里,您可以检查launchingOptions来查看是什么触发了应用程序的打开。

例如,如果使用推送通知打开了应用程序。您可以执行以下操作。

if let userInfo = launchOptions?[UIApplicationLaunchOptionsRemoteNotificationKey] as? [NSObject : AnyObject] {
    self.application(application, didReceiveRemoteNotification: userInfo)
}

您可以检查从Mail打开应用程序时获得的密钥。

更新

有类似UIApplicationLaunchOptionsSourceApplicationKey和的UIApplicationLaunchOptionsURLKey,您可以打印这些键或将其与触发应用程序启动然后启动工作的原因进行比较。

当您从Mail中打开应用程序时,请打印以下内容并使用它进行比较并开始工作。

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    // Override point for customization after application launch.
    print(launchOptions?[UIApplicationLaunchOptionsSourceApplicationKey])
    print(launchOptions?[UIApplicationLaunchOptionsURLKey])
    return true
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

后台会话中的NSURLSessionDataTask

来自分类Dev

iOS 10中的NSURLSessionDataTask错误

来自分类Dev

NSURLSessionDataTask:NSOperationQueue中的应用程序崩溃

来自分类Dev

从NSURLSessionDataTask请求的NSData响应中获取XML

来自分类Dev

AppDelegate中的managedObjectContext函数

来自分类Dev

在AppDelegate中设置managedObjectContext

来自分类Dev

如何在Swift中从NSURLSessionDataTask获取要返回的数据

来自分类Dev

NSURLSessionDataTask在完成处理程序Swift 2.0中返回数据

来自分类Dev

解析-在AppDelegate中绕过登录

来自分类Dev

从AppDelegate中的ViewController获取参数。

来自分类Dev

了解 AppDelegate 中的保留计数

来自分类Dev

从 ViewController 访问 AppDelegate 中的对象

来自分类Dev

Swift中AppDelegate中的网络通话

来自分类Dev

Swift中AppDelegate中的网络通话

来自分类Dev

为什么窗口在AppDelegate中为零

来自分类Dev

如何引用AppDelegate.swift中的方法?

来自分类Dev

Swift:如何访问AppDelegate中的navigationController

来自分类Dev

使用Storyboard在AppDelegate中的ViewController参考

来自分类Dev

在appdelegate中以编程方式创建tabBarController

来自分类Dev

在Swift中从AppDelegate获取ViewController的实例

来自分类Dev

在文档的ArrayController中访问appdelegate的managedObjectContext

来自分类Dev

在appdelegate中设置UIButton的外观-setClipsToBounds

来自分类Dev

AppDelegate(OSX)中主要NSWindow的参考插座

来自分类Dev

从AppleScript访问Cocoa AppDelegate(NSApplicationDelegate)中的属性

来自分类Dev

在iOS中从AppDelegate重新加载视图

来自分类Dev

从AppDelegate调用的方法中应有预期的“]”

来自分类Dev

从Appdelegate触发ViewController中的委托方法

来自分类Dev

在AppDelegate Objective c中添加变量

来自分类Dev

iOS tabBarController在AppDelegate中检测选定的索引

Related 相关文章

  1. 1

    后台会话中的NSURLSessionDataTask

  2. 2

    iOS 10中的NSURLSessionDataTask错误

  3. 3

    NSURLSessionDataTask:NSOperationQueue中的应用程序崩溃

  4. 4

    从NSURLSessionDataTask请求的NSData响应中获取XML

  5. 5

    AppDelegate中的managedObjectContext函数

  6. 6

    在AppDelegate中设置managedObjectContext

  7. 7

    如何在Swift中从NSURLSessionDataTask获取要返回的数据

  8. 8

    NSURLSessionDataTask在完成处理程序Swift 2.0中返回数据

  9. 9

    解析-在AppDelegate中绕过登录

  10. 10

    从AppDelegate中的ViewController获取参数。

  11. 11

    了解 AppDelegate 中的保留计数

  12. 12

    从 ViewController 访问 AppDelegate 中的对象

  13. 13

    Swift中AppDelegate中的网络通话

  14. 14

    Swift中AppDelegate中的网络通话

  15. 15

    为什么窗口在AppDelegate中为零

  16. 16

    如何引用AppDelegate.swift中的方法?

  17. 17

    Swift:如何访问AppDelegate中的navigationController

  18. 18

    使用Storyboard在AppDelegate中的ViewController参考

  19. 19

    在appdelegate中以编程方式创建tabBarController

  20. 20

    在Swift中从AppDelegate获取ViewController的实例

  21. 21

    在文档的ArrayController中访问appdelegate的managedObjectContext

  22. 22

    在appdelegate中设置UIButton的外观-setClipsToBounds

  23. 23

    AppDelegate(OSX)中主要NSWindow的参考插座

  24. 24

    从AppleScript访问Cocoa AppDelegate(NSApplicationDelegate)中的属性

  25. 25

    在iOS中从AppDelegate重新加载视图

  26. 26

    从AppDelegate调用的方法中应有预期的“]”

  27. 27

    从Appdelegate触发ViewController中的委托方法

  28. 28

    在AppDelegate Objective c中添加变量

  29. 29

    iOS tabBarController在AppDelegate中检测选定的索引

热门标签

归档