Какая информация хранится в iOS Spell Checker?

Я слышал, что проверка орфографии Apple для UITextView поддерживает регистрацию того, что вы вводите в отдельных приложениях. У меня есть безопасное приложение, где проверка орфографии является полезной функцией, однако я не хочу, чтобы новые слова регистрировались где-то вне моего приложения. Может ли кто-нибудь обратиться к справочному документу Apple или техническому описанию того, какая информация захватывается проверкой орфографии, и где она также захвачена?

Ответ 1

Я не знаю окончательно, но используя fseventer, изучение слова "aple" в TextEdit сохраняет это слово до ~/Library/Spelling/LocalDictionary, Игнорирование слова, похоже, не изменяет файловую систему вообще, и действительно, если документ закрыт и не сохранен, и новый документ с этим ранее игнорируемым словом открывается, он больше не игнорируется. Это согласуется с +learnWord: как метод класса, а -ignoreWord: - методом экземпляра. Поэтому для обеспечения безопасности вы, вероятно, никогда не сможете называть +learnWord: и вместо этого иметь свой собственный сервер для постоянного/безопасного хранения списка игнорируемых слов.

Ответ 2

Не уверен, что это очень помогает, но вы можете выполнить проверку орфографии вручную с помощью класса UITextChecker, который позволяет установить список игнорируемых слов:

- (void)setIgnoredWords:(NSArray *)words

Подробнее здесь: https://developer.apple.com/library/ios/#documentation/UIKit/Reference/UITextChecker_Class/Reference/Reference.html

Вы также можете проверить, изучено ли слово с помощью:

+ (BOOL)hasLearnedWord:(NSString *)word