iOS で NSDataDetector を使用してフライト情報を照合した人はいますか? まったく機能しないことを除いて、それは本当に驚くほど強力に見えます。
これが私が試していることです:
NSDataDetector *detector = [NSDataDetector dataDetectorWithTypes:(NSTextCheckingTypes)NSTextCheckingTypeTransitInformation error:&error];
[detector enumerateMatchesInString:string
options:0
range:NSMakeRange(0, [string length])
usingBlock:^(NSTextCheckingResult *result, NSMatchingFlags flags, BOOL *stop) {
NSLog(@"Detected: %@, %@", result, [result URL]);
}
フライト情報が含まれているカレンダーで見つけることができるすべてのカレンダーエントリの本文など、さまざまな文字列でこれを試しています。
例:
- "UA460 SFO to YVR [Flight] 6/12/2013 United Airlines(UA) #460 dep SFO 7:57pm PDT arr YVR 10:14pm PDT; チケット #0162360127882, チケット #0162360127883; conf #K5XBXY; 注:, 座席: ---/30A , 座席:---/30B "
- 「空港 UA 1255 でローラを迎えに行きます」
- "Lufthansa 1128 Business (C) | Seat 07F Frankfurt Barcelona 2 h 0 m 679miles FRA 1:15pm BCN 3:15pm , Arrives on Fri Oct/5/2012
Lufthansa 1128 Business (C) | Seat 07F | 座席の確認または変更航空会社*"
しかし、これらのどれも一致しません。データ検出タイプを変更して NSTextCheckingTypePhoneNumber または NSTextCheckingTypeLink を含めると、それらはうまく一致します。しかし、フライトデータを取得できません。
これで運がいい人はいますか?