4 Stimmen

iPhone-Netzwerkinformationen auf niedriger Ebene abrufen

Ich habe zwei kostenlose Apps, iSys und iSysMonitor, die Informationen über mein iPhone liefern. Interessanterweise sind sie sich nicht einig über die IP-Adresse meiner Mobilfunkverbindung. Auch der Name meiner WiFi-Verbindung wird nicht angezeigt, obwohl ich ihn in den iPhone-Einstellungen sehen kann. Ich möchte den IP-Streit klären und auch erfahren, wie ich den Namen meiner Netzwerkverbindung herausfinden kann. Ich habe mir CFNetwork angeschaut, aber es scheint sich darauf zu konzentrieren, wie man die Kommunikation handhabt, sobald man weiß, dass ein Netzwerk existiert.

Darüber hinaus würde ich gerne Dinge wie die ID des Mobilfunkmastes herausfinden, über den ich spreche (wenn ich nicht über WiFi telefoniere). Ich weiß, dass einige der höheren Cocoa-Klassen wahrscheinlich nicht den Zugang zu diesem Detail, stattdessen machen es einfach, gemeinsame Aufgaben zu tun.

Wohin kann ich mich also wenden, wenn ich eine kleine Schaufel haben möchte? Welche Informationen kann ich in die Hände bekommen?

1voto

W Dyson Punkte 4584

CoreTelephony ist die einzige Möglichkeit, die Sie haben, wenn Sie keine privaten APIs verwenden möchten. Sie können jederzeit bei Apple beantragen, dass einige der privaten APIs öffentlich zugänglich gemacht werden, auch wenn dies möglicherweise erst in Version 5.x der Fall sein wird.

1voto

hotpaw2 Punkte 69093

Die Antwort auf diese Frage Stack Overflow-Frage zu MAC-Adressen kann auch funktionieren, um beide IP-Adressen zu erhalten. Es verwendet die Unix-API ioctl.

Wenn Sie eher eine App als einen Code benötigen, liefert die iStat-App beide IP-Adressen.

0voto

Steve Madsen Punkte 12961

Wie andere bereits gesagt haben, ist Core Telephony die beste Wahl, obwohl ich in der Dokumentation nichts finde, was die Identifizierung des Mobilfunkmastes ermöglicht. Sie haben wahrscheinlich kein Glück, wenn Sie bei der veröffentlichten API bleiben und über den App Store vertreiben wollen.

Was die unterschiedlichen IP-Adressen betrifft, so ergibt das für mich Sinn: Sie sprechen von zwei verschiedenen Geräten. Sie können sich keine IP-Adresse teilen, genauso wenig wie sich zwei Computer in einem LAN eine IP-Adresse teilen können. Ohne eine eindeutige Adresse ist es für ein anderes Gerät im Netzwerk nicht möglich, Daten nur an dieses Gerät zu senden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X