So verwenden Sie NEDNSProxyProvider in iOS 11

8

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:

  1. Warum wird startProxy oder handleNewFlow nicht aufgerufen? Ist etwas falsch in der Einrichtung?
  2. Wie erwähne ich die benutzerdefinierte DNS-Adresse?
mayuur 04.08.2017, 13:50
quelle

1 Antwort

1

Ich habe startProxy und handleFlow auf DNSProxyProvider vom System ausgelöst. Meine Konfigurationen sind wie folgt:

  1. Berechtigungen auf dem App-Ziel
  2. Berechtigungen auf der DNSProxy-Erweiterung Die rote Linie ähnelt etwas wie: group.com.xzy.project_name

  3. Info.plist Datei auf Extension

  4. AppDelegate

    %Vor%

VERGESSEN SIE NICHT, BUNDLE IDENTIFIER bei proto.providerBundleIdentifier = "EXTENSION_BUNDLE_IDENTIFIER_WHICH_HAS_DNS_PROXY"

zu ändern
  1. DNSProxyProvider

    %Vor%
  2. Als letzten Schritt führen Sie die App auf einem echten iOS-Gerät aus.

  3. Wenn Sie Erweiterungsprotokolle anzeigen möchten, öffnen Sie Console.app von Ihrem Mac.

  4. 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.

abdullahselek 01.03.2018 16:05
quelle