swift 3.0 TViOS 10.0 MultipeerConnectivity funktioniert, aber mit Fehlern

9

Mit diesem Code können Sie die Multipeer-Konnektivität unter TViOS 10.0 einrichten.

%Vor%

Berichte verbunden, aber ich bekomme diese Fehler? Beide Geräte TViOS und iPhone im selben Netzwerk.

%Vor%

Ich habe den Code iOS für iOS bereits getestet, er funktioniert perfekt über das gleiche iOS, aber iPad mit iOS 9.2 - & gt; TViOS 10.0 Ich sehe diese Fehler?

Es funktioniert, wenn ich AppleTV mit diesen Fehlern neu starte, aber nachfolgende Verbindungen scheitern !!

    
user3069232 08.09.2016, 09:19
quelle

5 Antworten

7

Behebung des inkompatiblen Verschlüsselungs-Präferenzfehlers

Ich bestätige, dass yonivav auf dem richtigen Weg war, wenn der folgende Fehler während der Verbindung von Peers auftritt:

%Vor%

Die Einstellung für die Sitzungsverschlüsselung auf .none hat jedoch für mich nicht funktioniert. Unter Ссылка wird angegeben, dass

  

Bei Apps, die auf oder nach iOS 9 verknüpft sind, wird die Verschlüsselung auf "erforderlich" gesetzt.   Bei Apps, die vor iOS 9 verknüpft wurden, wird die Verschlüsselung auf optional festgelegt.

Da ich einen Client unter iOS 10.1 und einen anderen Client mit einer niedrigeren iOS-Version verwendet habe, initialisierte ich die Sitzung mit

%Vor%

und die Verbindung funktioniert wieder zuverlässig.

Bluetooth Probleme

Ich muss jedoch bestätigen, dass die Verbindung nicht nur über Bluetooth hergestellt wird. Die Einladung wird gesendet und angenommen, der Verbindungsstatus wechselt zur Verbindung und wird 10 Sekunden später nicht mehr verbunden. Gleich nach dem Ändern des Status zum Verbinden eines

%Vor%

Fehler wird ausgelöst.

Wenn ich WLAN und Bluetooth auf dem iOS 10.1-Gerät aktiviere, wird nur das Bluetooth-Gerät erkannt, gefolgt von einem Dutzend

%Vor%

Fehler und ein Verbindungsstatus ändert sich in nicht verbunden.

Update auf iOS 10.1.1: immer noch kaputt

Ich habe das iPhone von iOS 10.1 auf 10.1.1 aktualisiert, und die Fehler bestehen weiterhin, keine Änderungen.

Update auf iOS 10.2.1: scheint zu funktionieren!

Nach dem Update von 10.2 (wo es noch kaputt war) nach 10.2.1 scheint es wieder zu funktionieren (getestet mit einem Gerät mit 10.2.1, das andere Gerät war ein altes iOS 8 Gerät. Ein Kollege hat mit 10.2.1 getestet) .1 und 10.2 und seltsamerweise hat es auch geklappt)! Die Verbindung wird hergestellt, wenn nur Bluetooth verwendet wird (WLAN wird deaktiviert). Allerdings bekomme ich immer noch alle ICE-Fehler und Verbindungsfehler im Log, aber nicht immer. Im Moment habe ich versucht, sie zu reproduzieren und es läuft ohne Warnungen. Seltsam, aber die gute Nachricht ist: Es scheint, als hätte Apple das Problem behoben!

    
Lupinity Labs 03.11.2016 01:37
quelle
4

in meinem Fall, anstatt:

_mpcSession = [[MCSession alloc] initWithPeer:self.mpcPeerID];

Ich habe verwendet:

_mpcSession = [[MCSession alloc] initWithPeer:self.mpcPeerID securityIdentity:nil encryptionPreference:MCEncryptionNone];

    
yonivav 29.09.2016 06:56
quelle
3

Multipeer in iOS 10 ist eine Tüte Schmerzen. Ich habe gestern Tests gemacht und es scheint, dass es nur funktionieren wird, wenn WiFi eingeschaltet ist (nur Bluetooth ist kaputt).

Als Alternative zu Multipeer können Sie die Methode dns_sd (Bonjour) verwenden und Ihre eigenen erstellen. Ich habe ein Framework (Pod) gemacht, das genau das tut (es imitiert Multipeer). Es ist Unicast nicht Multicast, sondern unterstützt Rollen und nur Bluetooth. Mehr Infos hier: Ссылка . Ich fürchte, ich habe nicht mit tvOS getestet, also könnte es etwas Arbeit brauchen. Pull-Anfragen willkommen;)

    
xaphod 16.09.2016 15:00
quelle
1

Habe eine Antwort von Apple bekommen. Scheint, dass du diese Nachrichten ignorieren kannst; sie sind ein Nebeneffekt in Bezug auf Logging-Änderungen scheint es?

Sehen Sie sich dies an, um Einzelheiten zu den Protokolländerungen zu erfahren ...

(Wenn Sie neugierig auf diese Änderung sind, schauen Sie sich dieses Video von der WWDC 2016 an: Ссылка ).

    
user3069232 05.11.2016 15:33
quelle
0

In meiner App entwickle ich die Funktion: Videos zwischen zwei iOS-Geräten streamen.Ich kann kein Video zu einem anderen Gerät streamen, und ich habe die gleiche Log-Nachricht wie Sie, und ich denke, das Problem ist, wie das Protokoll sagte:

[ERROR] ProcessEvent:1199 Send BINDING_REQUEST failed(C01A0041). [ERROR] ICEStopConnectivityCheck:2688 ICEStopConnectivityCheck() found no ICE check with call id Aber nach vielen Versuchen habe ich festgestellt, dass ich das falsche function des Delegates AVCaptureVideoDataOutputSampleBufferDelegate deklariert habe. Nachdem ich den Delegierten function korrigiert habe, kann ich Video zwischen zwei iOS Geräten streamen - & gt; Fertig gestellte Aufgabe

Aber ich habe immer noch das gleiche Protokoll wie zuvor . Ich denke also, wenn die Funktion funktioniert, können wir die Protokollnachricht ignorieren oder sie an Apple melden. Ich habe diesen Fehler bereits an Apple gemeldet.

    
lee 31.08.2017 09:55
quelle