Auf der Netzwerkseite ist DNS-Proxy eine der größten Funktionen von iOS 11. Sie haben jedoch nicht viel Dokumentation oder Beispiele dazu bereitgestellt. Es gibt auch eine Diskussion darüber, wo sie gerade beschrieben haben, was mit DNS-Proxy möglich ist .
Ich möchte ein funktionierendes Beispiel davon erstellen, habe aber bisher keinen Erfolg. Also habe ich eine Netzwerkerweiterung mit DNS-Proxy-Berechtigungen erstellt und einen DNS-Proxy-Provider hinzugefügt. Hier ist der Code:
%Vor%Dann in AppDelegate, erkläre ich einen NEDNSProxyManager und verwende es als:
%Vor%Fragen / Probleme:
startProxy
oder handleNewFlow
nicht aufgerufen? Ist etwas falsch in der Einrichtung? Ich habe startProxy
und handleFlow
auf DNSProxyProvider
vom System ausgelöst. Meine Konfigurationen sind wie folgt:
Berechtigungen auf der DNSProxy-Erweiterung Die rote Linie ähnelt etwas wie: group.com.xzy.project_name
AppDelegate
%Vor% VERGESSEN SIE NICHT, BUNDLE IDENTIFIER bei proto.providerBundleIdentifier = "EXTENSION_BUNDLE_IDENTIFIER_WHICH_HAS_DNS_PROXY"
DNSProxyProvider
%Vor%Als letzten Schritt führen Sie die App auf einem echten iOS-Gerät aus.
Wenn Sie Erweiterungsprotokolle anzeigen möchten, öffnen Sie Console.app von Ihrem Mac.
So debuggen Sie die Erweiterung: Ihre Hauptanwendung sollte aus dem Laufmenü ausgewählt werden. Wählen Sie Attach to Process by PID or Name...
aus dem Xcode-Menü Debug und geben Sie dann den Namen Ihrer Erweiterung ein und drücken Sie die Taste Attach
. Nachdem Sie die Waiting to attach to EXTENSION_NAME on XYZ's iPhone
sehen. Führen Sie Ihr App-Ziel auf einem iOS-Gerät aus.
Tags und Links ios proxy dns ios11 networkextension