前段时间我写了一个适用于我的iPhone的应用程序。该应用程序通过APN(Apple推送通知)接收订单草稿编号,并使用Web技术显示订单详细信息,以便用户可以批准。在iPhone上,一切都按预期工作。 APN到达,您选择它,并且可以批准或拒绝APN引用的订单。除了APN,我手表上的一切都在工作。 APN到达并且应用程序启动,它显示批准订单,但它使用硬编码版本,而不是来自APN的版本。
APN采用“销售订单草案XXX的新批准请求”的形式,其中XXX是整数。
我正在尝试使用:
覆盖func didReceiveRemoteNotification(remoteNotification:[NSObject:AnyObject],withCompletion completionHandler:((WKUserNotificationInterfaceType) - > Void)){ //需要显示远程通知时调用此方法。 //如果使用动态通知界面,请实施它。 //尽快填充动态通知界面。 // //填充动态通知界面后,请调用完成块。
/*
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?当我通过APN触发应用程序时,如何使打印语句可见?我已将调试器附加到监视进程,但我从未在Xcode输出窗口中看到任何内容。
谢谢你, 邓肯