Jak programowo nawiązać połączenie telefoniczne na telefonie iPhone? Wypróbowałem następujący kod, ale nic się nie stało:
NSString *phoneNumber = mymobileNO.titleLabel.text;
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:phoneNumber]];
ios
objective-c
iphone
telephony
phone-call
user564963
źródło
źródło
Odpowiedzi:
Prawdopodobnie wartość mymobileNO.titleLabel.text nie zawiera schematu tel: //
Twój kod powinien wyglądać następująco:
źródło
Aby wrócić do oryginalnej aplikacji, możesz użyć telprompt: // zamiast tel: // - monit tell najpierw zapyta użytkownika, ale po zakończeniu połączenia powróci do Twojej aplikacji:
źródło
tel://
nie używajtelprompt://
Łącząc odpowiedzi @Cristian Radu i @Craig Mellon oraz komentarz @ joel.d, powinieneś zrobić:
Najpierw spróbuje użyć adresu URL „telprompt: //”, a jeśli to się nie powiedzie, użyje adresu URL „tel: //”. Jeśli oba zawodzą, próbujesz nawiązać połączenie telefoniczne na iPadzie lub iPodzie Touch.
Szybka wersja:
źródło
Odpowiedzi tutaj działają doskonale. Właśnie konwertuję odpowiedź Craiga Mellona na Swift. Jeśli ktoś przyjdzie szukać szybkiej odpowiedzi, to mu pomoże.
źródło
Jeśli używasz platformy Xamarin do tworzenia aplikacji na iOS, oto odpowiednik C # wykonywania połączenia telefonicznego w aplikacji:
źródło
Szybki 3
źródło
W wersji Swift 3.0
źródło
Odpowiednik Java RoboVM:
źródło
Wypróbowałem opcję Swift 3 powyżej, ale nie zadziałała. Myślę, że potrzebujesz następujących elementów, jeśli chcesz korzystać z systemu iOS 10+ w Swift 3:
Swift 3 (iOS 10+):
źródło
źródło
Szybki
źródło
Adres „openURL:” jest przestarzały: najpierw wycofany w iOS 10.0 - zamiast tego użyj openURL: options: completeHandler:
w przypadku Objective-c iOS 10+:
źródło