Я накладываю вид карты и использую RegexKitLite.Я не мог заставить это работать.Я скачал .m и .h файлы и добавил в проект.Также я попытался добавить libicucore.dylib или libicucore.A.dlib или добавить -licucore в другое поле флагов компилятора.По-прежнему появляется ошибка:
2012-04-01 19: 38: 04.633 sennerdeysen [907: 15803] - [__ NSCFString stringByMatching: capture:]: нераспознанный селектор, отправленный экземпляру 0x88b6a00 2012-04-0119: 38: 04.634 sennerdeysen [907: 15803] * Завершение работы приложения из-за необработанного исключения «NSInvalidArgumentException», причина: '- [__ NSCFString stringByMatching: capture:]: нераспознанный селектор, отправленный экземпляру 0x88b6a00'
Есть идеи?
Последний Xcode, но sdk - 4.3
Без ARC или чего-либо еще, что обеспечивает iOS 5.0 SDK.
Вот функция, в которойЯ вызываю метод сопоставления строк:
-(NSArray*) calculateRoutesFrom:(CLLocationCoordinate2D) f to: (CLLocationCoordinate2D) t {
NSString* saddr = [NSString stringWithFormat:@"%f,%f", f.latitude, f.longitude];
NSString* daddr = [NSString stringWithFormat:@"%f,%f", t.latitude, t.longitude];
NSString* apiUrlStr = [NSString stringWithFormat:@"http://maps.google.com/maps?output=dragdir&saddr=%@&daddr=%@", saddr, daddr];
NSURL* apiUrl = [NSURL URLWithString:apiUrlStr];
NSError *error;
NSString *apiResponse=[NSString stringWithContentsOfURL:apiUrl encoding:NSASCIIStringEncoding error:&error];
if(apiResponse)
{
NSString* encodedPoints = [apiResponse stringByMatching:@"points:\\\"([^\\\"]*)\\\"" capture:1L];
NSLog(@"%@",encodedPoints);
return [self decodePolyLine:[encodedPoints mutableCopy]];
}
else
{
UIAlertView *alertView=[[[UIAlertView alloc]initWithTitle:@"Hata"
message:@"Rota çizilemedi. Lütfen daha sonra tekrar deneyiniz."
delegate:nil
cancelButtonTitle:@"Tamam"
otherButtonTitles:nil] autorelease];
[alertView show];
return nil;
}
}