Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift Apple Watch 2.0验证didReceiveRemoteNotification收到通知_Swift_Apple Push Notifications_Watchkit_Apple Watch_Watchos 2 - Fatal编程技术网

Swift Apple Watch 2.0验证didReceiveRemoteNotification收到通知

Swift Apple Watch 2.0验证didReceiveRemoteNotification收到通知,swift,apple-push-notifications,watchkit,apple-watch,watchos-2,Swift,Apple Push Notifications,Watchkit,Apple Watch,Watchos 2,不久前,我写了一个可以在iPhone上运行的应用程序。该应用程序通过APN(苹果推送通知)接收订单草案编号,并使用网络技术显示订单详细信息,以便用户批准。在iPhone上,一切正常。APN到达后,您选择它,并可以批准或拒绝APN引用的订单。除了APN,我的手表上的所有东西都在工作。APN到达,应用程序启动,它显示一个审批订单,但它使用硬编码版本,而不是来自APN的版本 APN采用“销售订单草稿XXX新审批申请”的形式,其中XXX为整数 我正在尝试使用: 使用Completion completi

不久前,我写了一个可以在iPhone上运行的应用程序。该应用程序通过APN(苹果推送通知)接收订单草案编号,并使用网络技术显示订单详细信息,以便用户批准。在iPhone上,一切正常。APN到达后,您选择它,并可以批准或拒绝APN引用的订单。除了APN,我的手表上的所有东西都在工作。APN到达,应用程序启动,它显示一个审批订单,但它使用硬编码版本,而不是来自APN的版本

APN采用“销售订单草稿XXX新审批申请”的形式,其中XXX为整数

我正在尝试使用:

使用Completion completionHandler:((WKUserNotificationInterfaceType)->Void)重写func-didReceiveRemoteNotification(远程通知:[NSObject:AnyObject]){ //当需要显示远程通知时,调用此方法。 //如果您使用动态通知接口,请实现它。 //尽快填充动态通知界面。 // //填充动态通知接口后,调用完成块

    /*

    if let remoteaps:NSDictionary = remoteNotification["aps"] as? NSDictionary{
        if let remoteAlert:NSDictionary = remoteaps["alert"] as? NSDictionary{
            handleNotification( remoteAlert );
        }
    }

    let remoteaps:NSDictionary = (remoteNotification["aps"] as? NSDictionary)!
    handleNotification(remoteNotification )
    */

    let alert = remoteNotification["apps"]!["alert"]! as! NSDictionary

    var draftNum = alert ["body"] as! String
    draftNum = draftNum.stringByReplacingOccurrencesOfString("New approval request for sales order draft", withString: "")
    MyDraft.draft = draftNum.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())


    completionHandler(.Custom)


}
myDraft.drafts是InterfaceController.swift中定义的结构。上面的代码来自NotificationController.swift。我在Google上花了很多时间,但到目前为止还没有找到继续的方法。我如何确认我在这里?有没有更好的方法来解析APN?当我通过应用程序触发应用程序时,如何使打印语句可见请注意,我已经将调试器附加到了监视进程,但我从未在Xcode输出窗口中看到过任何东西

谢谢,,
Duncan

更多的研究,我认为应该用override func handleActionWithIdentifier(identifier:String?,forRemoteNotification remoteNotification:[NSObject:AnyObject])来处理通知,但该函数仍然没有被调用:(如果我使用模拟事件,模拟手表应用程序会捕获事件并提取订单号。这正是我想要它做的。当我向手表发送APN时,它会调用应用程序,但无法从APN中提取订单号。模拟事件和实际事件是相同的。我缺少什么?更多研究,我认为通知应该d将由override func handleActionWithIdentifier(标识符:String?、forRemoteNotification remoteNotification:[NSObject:AnyObject])处理仍显示未调用函数:(如果我使用模拟事件,模拟手表应用程序会捕获事件并提取订单号。这正是我想要它做的。当我向手表发送APN时,它会调用应用程序,但无法从APN中提取订单号。模拟事件和实际事件是相同的。我缺少什么?