Meine iOS-App benötigt die Berechtigung, auf Bilder zuzugreifen, um ordnungsgemäß ausgeführt zu werden.Gibt es eine Möglichkeit zu wissen, dass meine iOS-App durch eine Änderung der Datenschutzeinstellungen getötet wurde?
Ich habe getestet, wie meine App auf Änderungen in den Datenschutzeinstellungen reagierte, als ich Folgendes entdeckte: Jedes Mal, wenn ich zu den Einstellungen-Apps gehe und die Datenschutzeinstellungen für meine App ändere (entweder ein- oder ausschalten) App wird ohne Warnung getötet.
fand ich diese Protokolle in der Konsole meines Geräts:
Apr 8 15:01:50 iPad Preferences[5924] <Warning>: ########### Quitting application (xxx) in response to privacy settings change.
Apr 8 15:01:50 iPad com.apple.launchd[1] (UIKitApplication:xxx[0xc7cb][6039]) <Notice>: (UIKitApplication:com.edupad.itoochdev[0xc7cb]) Exited: Killed: 9
Apr 8 15:01:50 iPad backboardd[30] <Warning>: Application 'UIKitApplication:xxx[0xc7cb]' exited abnormally with signal 9: Killed: 9
Und obwohl ich applicationWillTerminate:
in meinen app-Delegaten implementieren, es scheint nicht, bevor die App getötet wird aufgerufen werden.
Ich kann keine relevante Dokumentation darüber finden, was ich implementieren sollte, um eine Benachrichtigung zu erhalten, bevor meine App beendet wird. Irgendeine Idee, wenn ich das lösen kann?
PS 1: Ich weiß, ich könnte applicationDidEnterBackground:
implementieren, aber ich möchte eine andere UX in dem Fall (A) der Benutzer nur schnell auf die Einstellung App, um die Datenschutzeinstellungen ändern oder (B) der Benutzer möchte weitergehen und nicht vor einer Weile wieder zur App zurückkehren
PS 2: Wenn Sie diese Art von Dingen testen, tun Sie es nicht mit Ihrer App, die über Xcode gestartet wird, oder Sie stürzen mit einem Sigill.
Sie müssen immer damit rechnen, dass Ihre App nach dem Wechsel in den Hintergrund gelöscht wird. Selbst wenn der Benutzer schnell zu den Datenschutzeinstellungen wechselt, können sich die Nutzer dann an etwas anderes erinnern, zu einer anderen App wechseln und so weiter. Die einzige Möglichkeit, die Sie haben, ist wahrscheinlich zu überprüfen, wie viel Zeit zwischen der Eingabe von Hintergrund und Vordergrund verbracht wurde. – gnasher729