Nachdem die app neu starten, selbst, wenn er erkennt, wechseln zu Privatsphäre-Einstellungen
Habe ich eine app, die verwendet das ALAssets
framework, um den Zugriff auf das Benutzer-Foto-Bibliothek. Ich schrieb einige code, der erkennt, ob die app die Berechtigung zum Zugriff auf die Foto-Bibliothek, und wenn es nicht klappt, ich in einer Meldung, die dem Benutzer mitteilt, um schalten Sie die Ortungsdienste für die app in den Einstellungen.
Problem ist, wenn der Benutzer manuell ändert die Privatsphäre-Einstellungen und dann öffnen Sie die app, iOS Kräfte, die die app zum Absturz mit SIGKILL.
Habe ich bemerkt, dass die Art und Weise eine andere app dies erledigt ist, indem irgendwie erkennen einer änderung in den Privatsphäre-Einstellungen, und zwingt die app neu starten, das nächste mal, wenn der Benutzer Sie öffnet. Weiß jemand, wie dies zu erreichen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verkennst du, was passiert ist. Ihre app nicht abstürzt (auch wenn es vielleicht so erscheinen, wenn Sie die app mit dem debugger).
Wenn Sie wechseln Sie zu den Einstellungen der app (und die app wird angehalten, im hintergrund) und ändern Sie die Privatsphäre-Einstellungen, angehaltene apps werden beendet. Wenn Sie wechseln Sie zurück zur app, es wird einfach wieder neu gestartet. Dies ist nichts anderes als ein app-getötet aus einem anderen Grund.
Es ist bis zu Ihnen-code Ihrer app um dies zu umgehen, indem die Wiederherstellung Ihrer früheren Zustand. Die andere app, die Sie sprechen, ist einfach Rücksendung der Benutzer zu dem vorhergehenden Zustand. Viele apps tun dies. Es hat nichts damit zu tun, getötet wegen Privatsphäre verpasst. Die app Status wiederherstellen, wenn Sie getötet werden aus irgendeinem Grund.
Können Sie prüfen, ob Sie berechtigt sind, Zugriff auf die Foto-Bibliothek mit Hilfe des
authorizationStatus
- Methode der Klasse vonALAssetsLibrary
. Sie sollten überprüfen Sie diesen Wert in einer Methode, die aufgerufen wird, jedes mal, wenn Ihre app "öffnet", und aktualisieren Sie Ihre Benutzeroberfläche entsprechend.