私が使用しているコードは次のとおりです。私はデバイス上でどのような文章を使用しても何も印刷しません。シミュレータ上で正常に動作します!NSLinguisticTagger enumerateTagsInRangeはNSLinguisticTagSchemeNameTypeOrLexicalClassのデバイスでは動作しません
- (NSMutableArray *)getTagEntries:(NSString *)sentence {
NSArray<NSLinguisticTagScheme> *tagSchemes = [NSLinguisticTagger availableTagSchemesForLanguage:@"en"];
NSLinguisticTaggerOptions options = NSLinguisticTaggerJoinNames | NSLinguisticTaggerOmitWhitespace;
NSLinguisticTagger *linguisticTagger = [[NSLinguisticTagger alloc] initWithTagSchemes:tagSchemes options:options];
linguisticTagger.string = sentence;
__block NSMutableArray *tagEntries = [@[] mutableCopy];
[linguisticTagger enumerateTagsInRange:NSMakeRange(0, sentence.length) scheme:NSLinguisticTagSchemeNameTypeOrLexicalClass options:options usingBlock:^(NSLinguisticTag tag, NSRange tokenRange, NSRange sentenceRange, BOOL *stop) {
NSString *token = [sentence substringWithRange:tokenRange];
NSLog(@"%@ -> %@", token, tag);
[tagEntries addObject:@{@"token":token, @"tag":tag}];
}];
return tagEntries;
}
iPhoneで使用できるスキームを印刷しようとすると、Lexicalはオプションではありません。どうして!? iOSの11
これは失敗したデバイスでこの作業を行うための解決策を見つけたことがありますか?私は同じ問題を発見しました –