Gibt es eine Möglichkeit, eine eigene Telefonnummer über Standard-APIs vom iPhone SDK zu erhalten?
ios
iphone
phone-number
Vadim
quelle
quelle
Antworten:
Auf die Gefahr hin, negative Noten zu erhalten, möchte ich vorschlagen, dass die Lösung mit dem höchsten Rang (derzeit die erste Antwort) gegen die neueste SDK-Vereinbarung vom 5. November 2009 verstößt. Unser Antrag wurde gerade abgelehnt. Hier ist die Antwort von Apple:
Dies war eine echte Enttäuschung, da wir dem Benutzer die Eingabe seiner eigenen Telefonnummer ersparen wollten.
quelle
Nein, es gibt keinen legalen und zuverlässigen Weg, dies zu tun.
Wenn Sie einen Weg finden, wird er in Zukunft deaktiviert, wie es bei jeder Methode zuvor geschehen ist.
quelle
Update: Die Funktion wurde anscheinend von Apple unter oder um iOS 4 entfernt
Nur um eine frühere Antwort zu erweitern, so etwas tut es für mich:
Hinweis : Hiermit wird die "Telefonnummer" abgerufen, die während der iTunes-Aktivierung des iPhones eingegeben wurde und die null oder ein falscher Wert sein kann. Es wird NICHT von der SIM-Karte gelesen.
Zumindest in 2.1. Es gibt einige andere interessante Schlüssel in NSUserDefaults, die möglicherweise auch nicht von Dauer sind. (Dies ist in meiner App, die eine UIWebView verwendet)
und so weiter.
Ich bin mir nicht sicher, was die anderen tun, wenn überhaupt.
quelle
Mit der privaten API können Sie die Telefonnummer des Benutzers auf folgende Weise abrufen:
Fügen Sie Ihrem Projekt auch CoreTelephony.framework hinzu.
quelle
Wie Sie wahrscheinlich alle wissen, wird Ihre App von Apple abgelehnt, wenn Sie die folgende Codezeile verwenden
Hier ist eine Referenz
http://ayeapi.blogspot.com/2009/12/sbformatphonenumber-is-lie.html
Sie können stattdessen die folgenden Informationen verwenden
und so weiter
Hoffe das hilft!
quelle
[UIDevice identifierForVendor]
stattdessen.Sie können iOS-APIs nicht allein zum Erfassen der Telefonnummer verwenden (auch nicht in einer privaten App mit privaten APIs), da alle bekannten Methoden dazu ab iOS 11 gepatcht und blockiert wurden. Auch wenn ein neuer Exploit gefunden wurde, hat Apple dies vorgenommen Stellen Sie sicher, dass alle Apps aus dem App Store abgelehnt werden, wenn Sie dazu private APIs verwenden. Siehe @ Dylans Antwort für Details.
Es gibt jedoch eine legale Möglichkeit, die Telefonnummer ohne Eingabe von Benutzerdaten zu erfassen . Dies ähnelt dem von Snapchat, ist jedoch einfacher, da der Benutzer keine eigene Telefonnummer eingeben muss.
Die App soll programmgesteuert eine SMS-Nachricht mit dem eindeutigen Installationscode der App an einen Server senden. Die App kann dann denselben Server abfragen, um festzustellen, ob sie kürzlich eine SMS-Nachricht von einem Gerät mit diesem eindeutigen App-Installationscode erhalten hat. Wenn dies der Fall ist, kann es die Telefonnummer lesen, die es gesendet hat. Hier ist ein Demo-Video, das den Prozess zeigt. Wie Sie sehen können, funktioniert es wie ein Zauber!
Dies ist nicht sehr einfach einzurichten, kann jedoch in wenigen Stunden kostenlos auf einer kostenlosen AWS-Ebene mit dem im Tutorial hier bereitgestellten Beispielcode konfiguriert werden .
quelle
Um Ihre Telefonnummer zu erhalten, können Sie eine Plist-Datei lesen. Es funktioniert nicht mit iDevices ohne Jailbreak:
Ich weiß nicht, ob Apple dies zulässt, aber es funktioniert auf iPhones.
quelle
Keine offizielle API dafür. Mit der privaten API können Sie folgende Methode verwenden:
Es funktioniert unter iOS 6 ohne JB und spezielle Signatur.
Wie bereits erwähnt, müssen Sie unter iOS 7 mit JB Berechtigungen verwenden, damit es funktioniert.
Wie es mit Berechtigungen geht, finden Sie hier: iOS 7: Wie erhalte ich eine eigene Nummer über eine private API?
quelle
AppStore lehnt es ab, da es außerhalb des Anwendungscontainers liegt.
Abschnitt 2.5.2: https://developer.apple.com/app-store/review/guidelines/#software-requirements
quelle