Обадете се от моето приложение за iPhone

Внедрих възможността да извършвам обаждане от щракване върху ред с описателен изглед на таблица на моя хотел; Използвах URL схемата, като написах следния код в метода "didSelectRowAtIndexPath":

NSString *phoneNumber=element.phone;                                       
[NSString *phoneNumberScheme = [NSString stringWithFormat:@"tel:%@ ", phoneNumber];
NSlog(phoneNumberScheme);                      
phoneNumberScheme = [phoneNumberScheme stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumberScheme]];

Няма грешка! С NSlog проверих, че номерът е прочетен правилно и така е (наистина на конзолата се появява tel:1-408-555-5555). Проблема е че нищо не става!!!

На този етап (също въз основа на нещо, което прочетох в мрежата) имам съмнения, че не мога да тествам това нещо на симулатор! Правя ли нещо нередно или не мога да тествам тази "URL схема" на симулатора?!


person Claudio    schedule 19.07.2010    source източник
comment
Имате празно място в края на @"tel:%@ ". [@"tel:" stringByAppendingString:phoneNumber] също е малко по-чист.   -  person tc.    schedule 19.07.2010
comment
Каква е разликата между моя и твоя синтаксис? Благодаря   -  person Claudio    schedule 20.07.2010


Отговори (3)


За да разширим отговора на seanny94: симулаторът не поддържа много URL схеми на iOS, включително тези за приложенията за телефон, карти, Youtube и SMS. Това важи и за устройства като iPod touch и iPad, които нямат възможности за телефон; преди да използвате която и да е URL схема чрез -openURL:, трябва да проверите за поддръжка за тази схема с помощта на -canOpenURL:, което ще върне YES или NO в зависимост от това дали текущото устройство поддържа URL схемата, която използвате.

person Noah Witherspoon    schedule 19.07.2010

Не можете да тествате телефонно обаждане (или каквато и да е функция, базирана на телефона, в този случай) в симулатора. Няма поддръжка за него.

person esqew    schedule 19.07.2010

Опитайте този полезен код

Премахнете интервалите за вашия код

NSString *trimmedString = [yourNumberString stringByReplacingOccurrencesOfString:@" " withString:@""];

Код за Обаждане след потвърждение

NSString *phoneNumber = [@"telprompt://" stringByAppendingString:trimmedString];

Код за директно обаждане

NSString *phoneNumber = [@"tel://" stringByAppendingString:trimmedString];
NSLog(@"Number : %@",phoneNumber);
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]];
person Hemant Singh Rathore    schedule 17.09.2013