- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject])
{
PFPush.handlePush(userInfo)
if application.applicationState == UIApplicationState.Active
{
PFAnalytics.trackAppOpenedWithRemoteNotificationPayload(userInfo)
if let msg = userInfo["test"] as? Dictionary<String,AnyObject>
{
print(msg)
}
}
我的 userInfo["test"] JSON 值是:
> Printing description of userInfo:
▿ 3 elements
▿ [0] : 2 elements
- .0 : message
- .1 : 1235
▿ [1] : 2 elements
- .0 : aps
- .1 : 0 elements
▿ [2] : 2 elements
- .0 : link
- .1 :
我可以获取我的 userInfo 数据,但我不知道为什么我的 msg 没有任何值(value)(甚至没有 nil 只是没有显示)我怎样才能打印(消息)?
已更新
这是我的推送:
$this->parsepush->send( array( "channels" => ['test'], "data" => > $post_data ));
内部 $post_data 示例:
$post_data = json_encode(array ('link' => $link, 'message' => $message));\
我已经尝试过来自的说明,但我也无法进行简单的打印。
编辑
仍然跳过了“aps”部分。
我的 JSON
这是我的 Json
看起来像:
> {
"aps":{
"alert":{
"title":"$title",
"body":"$message"
},
"badge":"1"
},
"adira":{
"link":"$link"
}
}
这是我的代码:
> func application(application: UIApplication, didReceiveRemoteNotification userInfo: [NSObject : AnyObject]) {
// PFPush.handlePush(userInfo)
// PFAnalytics.trackAppOpenedWithRemoteNotificationPayload(userInfo)
if let msg = userInfo["message"] as? String {
print(msg)
print("a")
}
if let alertDict = userInfo["aps"]?["alert"] as? Dictionary<String, String> {
print("title : ", alertDict["title"])
print("body :", alertDict["body"]!)
print("badge: ", alertDict["badge"]!)
print("b")
}
if let link = userInfo["link"] as? String {
print(link)
print("c")
}
}
}
但我仍然无法获取我的aps
数据。仍然是零或什么都没有。
如果你想要一个特定的代码,只需点击下面的链接:
编辑 2
我直接使用 print(userInfo) 打印输出是:
Object has been saved. [message: iOS push, aps: { }, link: ]
更新 2
我试图从 parse.com 推送,而不是我的网站(第 3 方)。这是我从普通打印(userInfo)中得到的
> [aps: {
alert = 12345abc;
sound = default;
}]
所以我想我只是改变并在我的 JSON 中添加一些东西从我的网站到:
[aps:{
alert = $message;
sound = default;
link = $link;
}]
类似的东西?
最佳答案
如评论中所述,APNS payload中没有 key test
。
如果键 message
的值保证始终发送,您可以轻松解包该值
let msg = userInfo["message"] as! String
print(msg)
否则使用可选绑定(bind)
if let msg = userInfo["message"] as? String {
print(msg)
}
要从 aps
键获取 alert
字典并打印例如 body
字符串使用
if let aps = userInfo["aps"] as? [String:Any],
let alertDict = aps["alert"] as? [String:String] {
print("body :", alertDict["body"]!)
}
关于ios - 如何在 didReceiveRemoteNotification 中获取 userInfo JSON 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34399848/
我正在学习 java,并研究了来自 sun.com 的以下示例。 import java.io.*; import java.util.*; public class UserInfo impleme
我需要根据 URI 子集来识别用户。它具有以下模式 http://userinfo@hostname:port/path。 java.net.URI implementation 表示 URI。但是,
我正在尝试使用以下 GET 访问 Office365 Azure 租户上用户的 OpenId UserInfo 端点: GET https://login.windows.net/common/ope
如何使用 org.apache.jackrabbit.api.security.user 获取 CQ5 用户信息像java或jsp中的名称和组信息。? 最佳答案 在 JSP/Java 中,您可以将您的
我正在做一个安排本地通知并保存用户信息的应用程序。这部分没问题。 但是当应用程序关闭时,如果出现 Notification 并且用户点击,则不会调用该方法,我无法处理 userInfo。 我看到有一种
使用 Swift 语言从 xCode 获取编译错误消息:“extra argument userinfo in call”。问题是如何使用定时器中的 userInfo 数据到通知中心的参数“userI
根据ASIHTTPRequest网站: If your requests are all of the same broad type, but you want to distinguish bet
实现下一个代码时: func locationManager(manager: CLLocationManager!, didChangeAuthorizationStatus status: CLA
我调用NotificationCenter的post方法时有一个方法: func processMessage(message: CocoaMQTTMessage) { Log.d("Dest
我需要使用 userInfo 填充推送通知的字段(.title 和 .body)。我什么都试过了,但我只能输入“日期”代码块。我能怎么做?谢谢。 这是我从控制台 php 发送推送通知时的输出: OUT
我正在尝试创建我的 userinfo 命令,您可以为任何用户执行此操作,并显示服务器中的语音时间和服务器中发送的消息这是我的!!userinfo 命令 const Discord = module.r
所以我一直想弄清楚为什么 userInfo 一直没有显示我想要的数据。当我打印 userInfo 时,我得到了这个: [AnyHashable("aps"): { alert = "test
我有一个来自 UILocalNotification 的 userInfo 字典。使用隐式展开时是否有一种简单的方法来获取 String 值? if let s = userInfo?["ID"] 给
我有一个返回字典的通知,很像在 objective-c 中,但我没有得到我期望的结果。 这是发布通知的方法。它实际上是返回日期选择器的结果(日期)。 @IBAction func dateOfBirt
由于 ADFS 4.0 隐式流不返回 id_token 中的自定义声明,我尝试从 userInfo 端点获取这些声明。要获取 userinfo 端点的访问 token ,必须使用资源 urn:micr
我一直在使用身份服务器快速启动应用程序,我想添加调用userinfo端点时要返回的角色信息。 public Claim[] GetUserClaims(UserServiceProxy.Dto.U
我正在我的应用程序中使用 NSManagedObjectContextObjectsDidChangeNotification 通知,我现在已经知道如何使用它了。因为我使用了下面的代码来添加观察者..
在那段代码中,我有两个 NSLog 都表示 dict 的保留计数为 1。由于如果数组中有很多对象,计时器可能会在很长一段时间内触发,我可以保留给用户信息的字典吗?因为我猜它是自动释放的,而schedu
在当前 header 中,它声明为: @property (nonatomic, readonly, strong) NSMutableDictionary *userInfo NS_AVAILABL
我正在尝试使用 NSNotification 发送一些数据,但遇到了困难。这是我的代码: // Posting Notification NSDictionary *orientationData;
我是一名优秀的程序员,十分优秀!