Frage

Ich habe kürzlich mein iOS-Projekt auf ARC konvertiert.Wenn ich jetzt versuche, meine App zu archivieren, bleibt der Prozess beim/nach dem Kompilieren der letzten Quelldatei hängen.Im Aktivitätsmonitor sind zwei Clang-Prozesse fast zu 100 % mit der CPU beschäftigt und ich kann Xcode nicht einmal ausschalten.Wenn ich die Codeoptimierungsstufe auf „Keine“ setze, funktioniert alles einwandfrei (was natürlich keine endgültige Lösung ist).

Irgendwelche Vorschläge, wie man das Problem lösen kann?

War es hilfreich?

Lösung

Es stellte sich heraus, dass es sich um einen Haltekreis in einem Animationsblock in ARC handelte.Benutzen weakSelf hat es geschafft.

__weak __typeof(self) weakSelf = self;
[UIView animateWithDuration:0.3f
                      delay:0.5f
                    options:UIViewAnimationOptionCurveEaseIn
                 animations:^{
                     __typeof(weakSelf) strongSelf = weakSelf;
                     [strongSelf doStuff];
                     // ...
                 }
                 completion:^(BOOL finished){
                     // ...
                 }];

Ich habe das herausgefunden, indem ich das Projekt über die Befehlszeile im Verbos-Modus archiviert habe.Es blieb auf einem View-Controller hängen, der den Retain-Kreis enthielt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top