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

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

2 ответа

Решение

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

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

- (void)setIgnoredWords:(NSArray *)words

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

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

+ (BOOL)hasLearnedWord:(NSString *)word
Другие вопросы по тегам