4

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 を含めると、それらはうまく一致します。しかし、フライトデータを取得できません。

これで運がいい人はいますか?

4

2 に答える 2

0

OS X ではフライト番号が検出されますが、iOS では検出されません。ドキュメントを更新するか、iOS でのサポートを受けるには、Apple にバグを報告してください。

于 2014-03-19T11:12:58.557 に答える