Expressão inesperada do CloudKit para NSPredicate

Estou usando o CloudKit e desejo realizar uma pesquisa por registros com base em seus campos de string.

Os documentos da Apple dizem que esta é a maneira de fazer uma pesquisa tokenizada dos campos de um registro:

Para realizar uma pesquisa tokenizada dos campos de um registro, use o operador especial. Uma pesquisa tokenizada pesquisa todos os campos que tenham a pesquisa de texto completo ativada, que são todos os campos baseados em sequência por padrão. A Listagem 5 mostra um exemplo que pesquisa nos campos do registro as cadeias de token bob e smith. Cada palavra distinta é tratada como um token separado para fins de pesquisa. As comparações são insensíveis a maiúsculas e diacríticas. Essas cadeias de token podem ser encontradas em um único campo ou em vários campos, mas todos os tokens devem estar presentes em um registro para que seja considerado uma correspondência.

Listagem 5: Combinando um campo que contém uma string tokenizada

NSPredicate predicate = nil;
predicate = [NSPredicate predicateWithFormat:@"self contains 'bob smith'"];

Quando insiro essa sequência exata para o predicado, recebo a exceção.

Código:

predicate = [NSPredicate predicateWithFormat:@"self contains 'bob smith'"];
query = [[CKQuery alloc] initWithRecordType:kCKRecord_Level predicate:predicate];

Exceção:

*** Terminating app due to uncaught exception 'CKException', reason: 'Unexpected expression: SELF CONTAINS "bob smith"'

Alguma ideia do que poderia estar errado? Alguém teve algum sucesso com essa sequência de predicados e o CloudKit?

https://developer.apple.com/library/prerelease/ios/documentation/CloudKit/Reference/CKQuery_class/index.html

questionAnswers(1)

yourAnswerToTheQuestion