webentwicklung-frage-antwort-db.com.de

XPC-Verbindung in Xcode 7 für iOS 9 unterbrochen

Ich habe kürzlich auf Xcode 7 aktualisiert und mein iPhone auf iOS 9 aktualisiert. Ich habe eine iOS-App entwickelt und veröffentlicht, die mit der neuesten Version von iOS 8 und Xcode 6 einwandfrei funktioniert hat.

Beim Versuch, die App für die Unterstützung von iOS 9 zu aktualisieren, erhalte ich den lächerlichsten seltsamen Fehler, der mich verblüfft hat.

Ich habe alle Syntaxkorrekturen automatisch über Xcode durchgeführt und jetzt wird meine App ordnungsgemäß erstellt. Es läuft sogar zunächst gut.

Ich habe eine Schaltfläche, die mit einem WebView zu einem Ansichtscontroller wechselt. Dieser Ansichts-Controller lädt einen Link, der entweder ein Bild, eine Website oder ein Video von YouTube anzeigt. Der Inhalt wird wie immer einwandfrei geladen. Das Programm stürzt jedoch ab, startet den Simulator (und mein iPhone) neu und sendet mich zum Sperrbildschirm, wenn ich auf die Schaltfläche "Zurück" klicke (ich befinde mich auf einem Navigationsstapel).

In Xcode erhalte ich folgende Meldungen:

XPC-Verbindung unterbrochen. Beendet, da keine System-App vorhanden ist.

Ich habe übrigens Flurry Analytics in meine App integriert und bin mir nicht sicher, ob das ein Problem ist.

Wie kann ich dieses Problem beheben? Meine Suche nach XPC-Verbindungen scheint keine ähnlichen Probleme wie meine zu verursachen. Ich habe nicht einmal eine Ahnung, was eine XPC-Verbindung ist. Warum ist das in meiner App überhaupt so?

EDIT: Ich habe eine Problemumgehung für das Problem gefunden. Ich kann nicht wirklich sagen, dass es eine Lösung ist.

Der Absturz trat während der Verwendung der Methode self.navigationController? .PopViewControllerAnimated auf, wenn true festgelegt wurde. Ich habe dies auf false gesetzt, und der Absturz hört auf (jetzt sieht der Übergang schrecklich aus).

Ich weiß nicht, warum das funktioniert, und füge nur meine Verwirrung hinzu.

55
iOShepherd

Das Problem lag auch für mich im Storyboard. Ich erstellte ein neues Projekt und legte die Ansichten dar und alles schien gut zu funktionieren. Ich habe diese paar Zeilen in der Storyboard-Quelle gefunden (Rechtsklick auf das Storyboard und Auswahl der Ansicht als -> Quellcode), die zwischen der Arbeitsversion und der fehlerhaften Version nicht üblich waren:

<keyCommands>
    <keyCommand/>
</keyCommands>

Ich habe keine Ahnung, was diese Zeilen tun sollen oder wie sie sich in meine Storyboard-Datei eingeschlichen haben, aber sie haben die App so stark zum Absturz gebracht, dass das Telefon neu gestartet werden musste. Ich habe diese Zeilen aus meinem Hauptprojekt entfernt und alles hat wieder funktioniert.

13
Chase Roberts

Dieser Fehler kann durch wiederholtes Ausführen einer Schleife verursacht werden. In meinem Fall war es eine 'for'-Schleife, in der ich die Zählvariable zurücksetzte. Sobald ich ein NSLog in die Schleife eingefügt hatte, war es offensichtlich.

5
Peter B. Kramer

Ich hatte gerade das gleiche Problem. Ich weiß nicht, ob dir das helfen wird, aber ich denke auch, dass es aus dem Storyboard kommt:

In meinem Fall kommt das Problem von einer UITextView. Immer wenn ich versuche, den darin enthaltenen Standardtext zu ändern, tritt dieser Fehler auf. Wenn ich den Standardtext lasse oder leer lasse, funktioniert die App einwandfrei. Das Erstellen eines IBOutlets und das programmgesteuerte Ändern des Texts funktioniert ebenfalls.

Ich habe versucht, mit anderen UI-Elementen, aber nur die UITextView scheint dieses Problem zu haben.

2
Remy Cilia

Ich habe mit genau dem gleichen Fehler zu kämpfen. Durch einen Ausschlussprozess stellte ich fest, dass es nichts mit der Klasse zu tun hatte, sondern mit dem Storyboard. Glücklicherweise behalte ich regelmäßige Sicherungskopien und habe versucht, Storyboards zu vergleichen, um festzustellen, was ich getan habe - konnte aber nichts Offensichtliches finden. Die Sicherungskopie funktionierte einwandfrei und ich konnte meine Controller-Klassen (von der fehlerhaften Kopie mit den Änderungen) in die Sicherungskopie kopieren, und sie funktionierten einwandfrei.

Ich denke, es gibt möglicherweise einen Fehler in Storyboards.

1
Jeremy Andrews

Ich habe dieselbe Fehlermeldung, wenn ich eine Unteransicht in die Methode -layoutSubviews lege:

-(void)layoutSubviews
{
    [super layoutSubviews];   
    [self populateByImageViews];
}

Es verursacht einen unendlichen Zyklus des Layoutprozesses und stürzt die App ab. Platzieren Sie keine Unteransichten an dieser Stelle!

0
Sound Blaster

Das Löschen der Textansicht aus der Ansicht im Storyboard behebt den Fehler in meinem Fall.

0
Madhuri

In valueChanged: Methode eines UIControl hatte ich das gleiche Problem, also habe ich den Code innerhalb von valueChanged: im Hauptthread ausgeführt und es hat das Problem gelöst.

@IBAction func valueChanged(sender: AnyObject) {
  dispatch_async(dispatch_get_main_queue(), {
  //code
  }
}
0
Gaurav Sharma

Bei der Verwendung von QLPreviewController bin ich mit diesem Problem konfrontiert. Fehlermeldungen wie folgt,

XPC connection interrupted
_BSMachError: (os/kern) invalid capability (20)
_BSMachError: (os/kern) invalid name (15)

Da XPC OS X Interprozesskommunikation bedeutet, denke ich, dass dies das Problem lösen kann,

dispatch_async(dispatch_get_main_queue(), ^{
    // do what you want to do.
});
0
DawnSong