Ứng dụng của tôi có yêu cầu nhắc mật khẩu nếu đã hơn 60 phút kể từ lần cuối họ nhập mật khẩu của họ hoặc nếu người dùng nhập ứng dụng sau khi đã khóa thiết bị.Làm thế nào bạn có thể biết nếu iphone bị khóa?
Vấn đề là khi thiết bị bị khóa. Nếu người dùng chỉ chuyển đổi giữa các ứng dụng, ứng dụng không cần phải nhắc mật khẩu trừ khi nó đã được 60 phút kể từ lần nhắc mật khẩu cuối cùng. Nếu họ khóa thiết bị, hãy nhắc lại ngay cả khi thiết bị của bạn dưới 60 phút.
Notifications như applicationWillResignActive không giúp đỡ vì tôi không thể xác định xem các ứng dụng đang hoạt động từ chức do thiết bị bị khóa hoặc chuyển đổi người dùng sang ứng dụng khác.
Trong tìm kiếm, tôi thấy bài viết đó nói rằng tôi có thể đăng ký để quan sát UIApplicationProtectedDataWillBecomeUnavailable thông báo.
NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc addObserver:self selector:@selector(protectedDataWillBecomeUnavailable:)
name:UIApplicationProtectedDataWillBecomeUnavailable object:nil];
Khi nhận được thông báo này, tôi đặt cờ để nhắc mật khẩu của người dùng vào lần tiếp theo ứng dụng hoạt động. Nhưng thử nghiệm của tôi cho thấy rằng thông báo này là không phải là được gửi trừ khi thiết bị có thiết lập mật mã.
Tôi đã viết mã kiểm tra để quan sát tất cả các thông báo và tôi không thấy bất kỳ thông báo nào khác cho biết thiết bị đang bị khóa.
Có cách nào khác để biết khi nào thiết bị bị khóa không?
bản sao có thể có của [Sự kiện mở khóa khóa iphone] (http: // stackoverflow.com/questions/706344/lock-unlock-events-iphone) –
Có lẽ lý do, bạn không nhận được thông báo đã nói là vì những điều sau: "Những điều này chỉ được thực thi khi người dùng đã bảo vệ Mật khẩu thiết bị của họ, Bảo vệ dữ liệu là không có trong Trình mô phỏng. " –