Czy jest jakiś sposób na uzyskanie własnego numeru telefonu za pomocą standardowych interfejsów API z iPhone SDK?
ios
iphone
phone-number
Vadim
źródło
źródło
Odpowiedzi:
Ryzykując uzyskanie negatywnych ocen, chcę zasugerować, że rozwiązanie najwyższej rangi (obecnie pierwsza odpowiedź) narusza najnowszą umowę SDK z 5 listopada 2009 r. Nasza aplikacja została właśnie odrzucona za jej użycie. Oto odpowiedź Apple:
To było prawdziwe rozczarowanie, ponieważ chcieliśmy oszczędzić użytkownikowi konieczności wprowadzania własnego numeru telefonu.
źródło
Nie, nie ma legalnego i niezawodnego sposobu na zrobienie tego.
Jeśli znajdziesz sposób, w przyszłości zostanie on wyłączony, tak jak miało to miejsce w przypadku każdej poprzedniej metody.
źródło
Aktualizacja: wydaje się, że funkcja została usunięta przez Apple w systemie iOS 4 lub nowszym
Aby rozwinąć wcześniejszą odpowiedź, coś takiego robi to dla mnie:
Uwaga : pobiera „numer telefonu” wprowadzony podczas aktywacji iPhone'a w iTunes i może mieć wartość zerową lub niepoprawną. To NIE odczytać z karty SIM.
Przynajmniej tak jest w 2.1. Istnieje kilka innych interesujących kluczy w NSUserDefault, które również mogą nie trwać. (To jest w mojej aplikacji, która używa UIWebView)
i tak dalej.
Nie jestem pewien, co robią inni.
źródło
Korzystając z prywatnego interfejsu API, możesz uzyskać numer telefonu użytkownika w następujący sposób:
Dołącz także CoreTelephony.framework do swojego projektu.
źródło
Jak zapewne wszyscy już wiecie, czy użyjecie poniższego wiersza kodu, aplikacja zostanie odrzucona przez Apple
tutaj jest odniesienie
http://ayeapi.blogspot.com/2009/12/sbformatphonenumber-is-lie.html
zamiast tego możesz użyć następujących informacji
i tak dalej
Mam nadzieję że to pomoże!
źródło
[UIDevice identifierForVendor]
zamiast tego.Nie można używać samych interfejsów API systemu iOS do przechwytywania numeru telefonu (nawet w prywatnej aplikacji z prywatnymi interfejsami API), ponieważ wszystkie znane metody tego zostały załatane i zablokowane od iOS 11. Nawet jeśli zostanie znaleziony nowy exploit, Apple dokonał jasne, że odrzucą wszelkie aplikacje ze sklepu z aplikacjami za używanie do tego celu prywatnych interfejsów API. Szczegółowe informacje można znaleźć w odpowiedzi @ Dylan.
Istnieje jednak legalny sposób na przechwycenie numeru telefonu bez wprowadzania danych użytkownika . Jest to podobne do działania Snapchata, ale łatwiejsze, ponieważ nie wymaga od użytkownika wpisywania własnego numeru telefonu.
Chodzi o to, aby aplikacja programowo wysyłała wiadomość SMS na serwer z unikalnym kodem instalacyjnym aplikacji. Aplikacja może następnie wysłać zapytanie do tego samego serwera, aby sprawdzić, czy ostatnio otrzymała wiadomość SMS z urządzenia z tym unikalnym kodem instalacyjnym aplikacji. Jeśli tak, może odczytać numer telefonu, który go wysłał. Oto film demonstracyjny pokazujący proces. Jak widać, działa jak urok!
To nie jest bardzo łatwy do skonfigurowania, ale być skonfigurowany w ciągu kilku godzin bez opłat na wolnym AWS tier z przykładowy kod podany w poradniku tutaj .
źródło
Aby uzyskać numer telefonu, możesz przeczytać plik Plist. Nie będzie działać na urządzeniach iDevices nieobsługujących jailbreaku:
Nie wiem, czy Apple na to pozwala, ale działa na iPhone'ach.
źródło
Brak oficjalnego API do zrobienia tego. Korzystając z prywatnego interfejsu API, możesz użyć następującej metody:
Działa na iOS 6 bez JB i specjalnego podpisywania.
Jak wspomniano creker na iOS 7 z JB , musisz użyć uprawnień, aby to działało.
Jak to zrobić z uprawnieniami można znaleźć tutaj: iOS 7: Jak uzyskać własny numer za pośrednictwem prywatnego interfejsu API?
źródło
AppStore go odrzuci, ponieważ dociera poza kontener aplikacji.
Sekcja 2.5.2: https://developer.apple.com/app-store/review/guidelines/#software-requirements
źródło