我正在尝试
UILocalNotification *notification = [[UILocalNotification alloc] init];
NSURL *urlForSomeObject=[[(NSManagedObject *)someObject objectID] URIRepresentation];
notification.fireDate = aDate;
notification.timeZone = [NSTimeZone systemTimeZone];
notification.soundName = UILocalNotificationDefaultSoundName;
notification.applicationIconBadgeNumber = 1;
notification.userInfo=[NSDictionary dictionaryWithObject:urlForSomeObject forKey:@"objectUrl"];
当通知发生时,app会给出异常
unable to serialize userInfo: (null)'
我检查过[NSDictionary dictionaryWithObject:urlForSomeObject forKey:@“objectUrl”]返回一个有效的字典。
为什么会出现这种情况。到目前为止,我知道NSURL遵守NSCoding协议并且应该被序列化。
有人可以帮助我吗?
答案 0 :(得分:6)
UILocalNotification上的userInfo字典必须只包含“plist类型”。 NSURL不是plist类型。我建议将URL序列化为字典中的字符串,然后在收到通知时将其转换回NSURL。