Ziemlich sicher, das ist ein Fehler (Feature?) Von Xcode Code Coverage. Das Problem läuft darauf hinaus, dass die return-Anweisung es nicht erlaubt, auf die leere else-Anweisung zu fallen, wodurch angezeigt wird, dass der Code nicht ausgeführt wird. Die Return-Anweisungen werfen einen Haken in das, was sie tun, um die Codezeilen zu zählen.
In der Instanz Ihres try/catch-Blocks haben Sie nicht wirklich viel Auswahl, um die leere Ausführung zu verhindern.
Als ein Experiment, entfernen Sie die return-Anweisung und finden Sie eine bessere Möglichkeit, die writeToURL-Anweisung abzufangen, so dass sie nicht in einer error/catch-Anweisung ausgeführt wird. Dadurch erhalten Sie wahrscheinlich eine saubere Codeabdeckung für diese Leitung.
Haben Sie jemals einen Weg gefunden, dieses Xcode-Problem zum Schweigen zu bringen? –
@AdamJohns Ich habe es in letzter Zeit nicht gesehen - aber ich habe seit einiger Zeit nicht mehr an diesem Code gearbeitet. Sie sehen es immer noch mit Xcode 8? – Dov