Ứng dụng iOS của tôi cần đặc quyền truy cập ảnh để chạy đúng cách.Có cách nào để biết ứng dụng iOS của tôi đã bị thay đổi bởi cài đặt bảo mật không?
Tôi đã thử nghiệm cách ứng dụng của tôi phản hồi những thay đổi trong cài đặt bảo mật khi tôi phát hiện ra điều sau: mỗi lần tôi chuyển đến ứng dụng Cài đặt và thay đổi cài đặt bảo mật cho ứng dụng của mình (bật hoặc tắt) ứng dụng bị giết mà không có bất kỳ cảnh báo nào.
tôi tìm thấy những bản ghi trong giao diện điều khiển thiết bị của tôi:
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
Và mặc dù tôi thực hiện applicationWillTerminate:
trong đại biểu ứng dụng của tôi, nó dường như không được gọi trước khi ứng dụng được giết.
Tôi không thể tìm thấy bất kỳ tài liệu liên quan nào về những gì tôi nên triển khai để nhận thông báo trước khi ứng dụng của tôi bị giết. Bất kỳ ý tưởng nếu tôi có thể giải quyết điều này?
PS 1: tôi biết tôi có thể triển khai applicationDidEnterBackground:
nhưng tôi muốn cung cấp UX khác nhau trong trường hợp (A) người dùng nhanh chóng chuyển sang ứng dụng Cài đặt để thay đổi cài đặt bảo mật hoặc (B) mà người dùng muốn hãy tiếp tục và sẽ không quay lại ứng dụng trước một thời gian
PS 2: nếu bạn đang thử nghiệm loại điều này, đừng làm điều đó với ứng dụng của bạn đang được khởi chạy qua Xcode hoặc bạn sẽ gặp sự cố với sigkill.
Bạn luôn phải mong đợi rằng ứng dụng của bạn có thể bị giết sau khi chuyển sang nền. Ngay cả khi người dùng nhanh chóng chuyển sang cài đặt bảo mật, họ có thể nhớ một số thứ khác, chuyển đến một ứng dụng khác, v.v. Vì vậy, khả năng duy nhất bạn có là có thể kiểm tra bao nhiêu thời gian đã được chi tiêu giữa nhập nền và tiền cảnh. – gnasher729