O NSDictionary com mapeamento de NSNumber para NSString é um objeto de lista sem propriedade

Código a seguir:

[[NSUserDefaults standardUserDefaults] setObject:photoIdToPath forKey:@"photo_id_to_path"];

me dá o seguinte erro:

Attempt to set a non-property-list object {
417675729 = "/Users/k06a/Library/Application Support/iPhone Simulator/7.1/Applications/21163736-DF6F-4E79-8196-6A966C81ED1B/Documents/417675729";
} as an NSUserDefaults value for key photo_id_to_path

Aqui estáphotoIdToPath análise de conteúdo do dicionário no console de depuração do Xcode:

(lldb) po photoIdToPath
{
    417675729 = "/Users/k06a/Library/Application Support/iPhone Simulator/7.1/Applications/21163736-DF6F-4E79-8196-6A966C81ED1B/Documents/417675729";
}

(lldb) po [[[photoIdToPath allKeys] lastObject] class]
__NSCFNumber

(lldb) po [[[photoIdToPath allValues] lastObject] class]
NSPathStore2

assimNSPathStore2 é subclasse deNSString, por que este dicionário não é uma lista de propriedades?

ATUALIZAR:

Aquihttps://developer.apple.com/library/mac/documentation/Cocoa/Reference/Foundation/Classes/nsuserdefaults_Class/Reference/Reference.html#//apple_ref/occ/instm/NSUserDefaults/setObject:forKey: Encontrei texto:

O parâmetro value pode ser apenas objetos da lista de propriedades: NSData, NSString, NSNumber, NSDate, NSArray ou NSDictionary. Para os objetos NSArray e NSDictionary, seu conteúdo deve ser um objeto da lista de propriedades. Consulte "O que é uma lista de propriedades?" No Guia de programação da lista de propriedades.

questionAnswers(1)

yourAnswerToTheQuestion