UILocalNotification userInfo未序列化NSURL

时间:2011-01-13 12:41:46

标签: iphone ios4

我正在尝试

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协议并且应该被序列化。 有人可以帮助我吗?

1 个答案:

答案 0 :(得分:6)

UILocalNotification上的userInfo字典必须只包含“plist类型”。 NSURL不是plist类型。我建议将URL序列化为字典中的字符串,然后在收到通知时将其转换回NSURL。