UIImagePicker stürzt auf ios7 / iphone 4s ab

9

Ich habe eine App, die den UIImagePickerController verwendet, damit der Benutzer Fotos machen kann.

Ich habe den Testfall auf die einfachste Sequenz in einer einzigen View-Controller-App reduziert. Hier ist mein Code.

%Vor%

Der Hauptteil des Codes ist wie folgt:

%Vor%

'takePicture' ist an eine Taste angeschlossen, die ich in der Mitte des Bildschirms drücken kann.

Auf ios 6 funktioniert alles perfekt, aber auf ios 7 bekomme ich eine Kaskade von Speicherwarnungen, sobald der Viewcontroller präsentiert wird. Also:

%Vor%

Die App wird mit dem ios 7.0 sdk unter Verwendung von xcode 5 erstellt. Das gleiche Problem tritt auf, wenn ich mit dem ios 6.1 sdk baue, aber auf ios7 laufe. Mit ios 6.1 sdk zu bauen und auf ios 6.1.3 zu laufen, verursacht keine Nachrichten und keine Probleme.

Meine komplette App stürzt 50% der Zeit auf ios 7 ab. Ich reagiere auf die Speicherwarnung, indem ich eine Menge Zeug (Bilder meistens) aus dem Speicher werfe und das Profiling bestätigt das, aber ich bekomme immer noch die Kaskade von Warnungen (d sie fahren fort, nachdem der Speicher frei ist).

Wenn ich die Frontkamera benutze, aus der Galerie wähle oder ein iPad 3 benutze, gibt es keine Nachrichten. Ich vermute daher, dass das Speicherproblem mit der Größe des UIImagePickerController verbunden ist, wenn die Rückkamera verwendet wird.

Ich habe den stackoverflow vollständig untersucht und diesen Post besonders angeschaut - UIImagePickerController-Fehler: Das Snapshot einer Ansicht, die nicht gerendert wurde, führt zu einem leeren Snapshot in iOS 7

Ich habe alles Mögliche versucht, aber meine einfache Test-App schließt die meisten Erklärungen aus.

Irgendwelche Gedanken? Sollte ich die Unterstützung für das iPhone 4S aufgeben? Ich habe das Problem auf dem iPhone 5 noch nicht bestätigt, aber ich werde diese Frage sobald ich habe aktualisieren.

: -)

    
Martin Dunsmuir 16.10.2013, 06:12
quelle

1 Antwort

3

Ich würde empfehlen, dass Sie keine Eigenschaft für die Bildauswahl verwenden, stattdessen ein lokales Objekt. Siehe unten meinen Code, der auch auf IOS7 funktioniert.

%Vor%     
Calin Chitu 16.10.2013 06:35
quelle

Tags und Links