Какая информация хранится в 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