Я слышал, что средство проверки орфографии Apple для UITextView поддерживает некоторую регистрацию того, что вы вводите в отдельных приложениях. У меня есть безопасное приложение, в котором проверка орфографии является полезной функцией, однако я не хочу, чтобы новые слова регистрировались где-то за пределами моего приложения. Может ли кто-нибудь отослать меня к справочному документу Apple или техническому описанию того, какая информация фиксируется при проверке орфографии и где она также фиксируется?
Какую информацию хранит проверка орфографии iOS?
Ответы (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