2008-09-24 36 views
103

Tôi đang làm việc trên một ứng dụng không yêu cầu đầu vào của người dùng, nhưng tôi không muốn iPhone vào chế độ tiết kiệm năng lượng.Làm cách nào để ngăn màn hình iPhone bị mờ hoặc tắt trong khi ứng dụng của tôi đang chạy?

Có thể tắt tính năng tiết kiệm năng lượng từ ứng dụng không?

+7

là gì với downvotes trên tất cả các câu hỏi gần đây? Điều này có vẻ như một câu hỏi hợp lệ với tôi. –

Trả lời

154

Objective-C

[[UIApplication sharedApplication] setIdleTimerDisabled:YES]; 

Swift

UIApplication.shared.isIdleTimerDisabled = true 
+2

Có vấn đề gì khi sử dụng dòng mã này? Nó có nên nằm trong AppDelegate hoặc bộ điều khiển xem chính của ứng dụng không? –

+16

Điều đó tùy thuộc vào cách bạn định sử dụng nó. Bạn có thể chỉ có một chế độ xem mà bạn không muốn hết thời gian chờ trong ứng dụng của mình. Trong trường hợp này, bạn sẽ sử dụng nó trong bộ điều khiển xem đó (khi khung nhìn xuất hiện). Để bật lại bộ hẹn giờ, bạn sẽ sử dụng '[[UIApplication sharedApplication] setIdleTimerDisabled: NO];' khi khung nhìn biến mất. –

+2

Ứng dụng có cần bật lại bộ hẹn giờ khi ứng dụng đã mất tiêu điểm hay không, hệ điều hành này có được xử lý tự động không? –

20

Trong nhanh chóng bạn có thể sử dụng như

UIApplication.sharedApplication().idleTimerDisabled = true 
2

Tôi đã đưa dòng mã này trong bộ điều khiển xem của tôi nhưng chúng tôi vẫn nhận được khách hàng nói rằng màn hình sẽ mờ hoặc tắt cho đến khi ai đó chạm vào màn hình. Tôi đã thấy bài viết khác, nơi không chỉ làm bạn programatically thiết

UIApplication.sharedApplication().idleTimerDisabled = true 

true nhưng bạn phải thiết lập lại nó để giả đầu tiên

UIApplication.sharedApplication().idleTimerDisabled = false 
UIApplication.sharedApplication().idleTimerDisabled = true 

Đáng buồn là điều này vẫn không làm việc và khách hàng vẫn đang nhận được màn hình mờ đi. Chúng tôi có cấu hình Apple Configurator ngăn thiết bị chuyển sang chế độ ngủ và màn hình thiết bị vẫn bị mờ và khách hàng cần nhấn nút trang chủ để đánh thức màn hình. Tôi bây giờ đặt mã này vào một bộ đếm thời gian mà bắn mỗi 2.5 giờ để thiết lập lại bộ đếm thời gian nhàn rỗi, hy vọng điều này sẽ làm việc.

+1

Đáng buồn khi đặt mã vào một chức năng kích hoạt trên bộ hẹn giờ không khắc phục được sự cố. Tôi rời iPad của tôi trong hơn 24 giờ và nó đã không đi mờ và không có sự tương tác. Theo một trong những khách hàng của chúng tôi, người dùng đã sử dụng thiết bị 15 phút trước và sau đó thiết bị bị mờ. –

0

Chúng tôi gặp sự cố tương tự. Hóa ra là một quá trình giả mạo trên máy chủ MDM của chúng tôi đã bị xóa trong tài khoản của chúng tôi nhưng trên máy chủ vẫn đang gửi lệnh để làm mờ thiết bị của chúng tôi.

9

Swift 3:

UIApplication.shared.isIdleTimerDisabled = true 
+0

Điều này vẫn giữ nguyên cho Swift 4 –