2013-01-24 24 views
5

मेरे पास एक ऐप है जो वीडियो कैमरा का उपयोग करता है ताकि स्क्रीन मंद न हो। मद्धिम से स्क्रीन बाधा तो तरह ठीक काम करता है:आईओएस - setIdleTimerDisabled: नहीं काम नहीं कर रहा

- (void)applicationDidBecomeActive:(UIApplication *)application 
{ 
    [[UIApplication sharedApplication] setIdleTimerDisabled:YES]; 
} 

हालांकि जब एप्लिकेशन बंद और पृष्ठभूमि में प्रवेश करती है है, IdleTimer वापस नहीं लिए सेटिंग काम नहीं कर रहा। स्क्रीन होम स्क्रीन पर हमेशा के लिए रहता है। इस तरह मैं इसे पूरा करने की कोशिश कर रहा हूं।

- (void)applicationWillResignActive:(UIApplication *)application 
{ 
    [[UIApplication sharedApplication] setIdleTimerDisabled:NO]; 
} 

क्या कोड की इस पंक्ति को जोड़ने के लिए कोई बेहतर जगह है?

+1

यह सिर्फ एक बग देव के साथ बनाता है हो सकता है। मेरे पास कई ऐप्स हैं जो स्क्रीन सक्रिय होने पर मंद नहीं होते हैं, लेकिन मैंने कभी होमस्क्रीन या किसी अन्य ऐप को रखने में सक्षम नहीं किया है। सिस्टम को शुद्ध रखने के लिए ऐप सेटिंग्स लगभग हमेशा ऐप विशिष्ट होती हैं। –

+0

क्या आपने इसे अपने मैक और एक्सकोड से कनेक्ट करने का प्रयास किया था? मुझे लगता है कि अगर मामला है, तो iDevice हमेशा "नींद" शुरू नहीं करना चाहता ... – Larme

+0

@ लार्मे, हाँ, यह मेरा पहला विचार था, लेकिन मैंने इसे अनदेखा किया और यह अभी भी मंद नहीं है। –

उत्तर

0

आप applicationWillEnterForeground

delegegate विधि

में अपने कोड का उपयोग क्यों की कोशिश नहीं करते।

आशा है कि यह काम आपके लिए है।

9

वही समस्या मेरे साथ हो रही थी। दरअसल यह काम करता है लेकिन केवल तब काम करता है जब आपका डिवाइस xCode से कनेक्ट नहीं होता है। डिवाइस को डिस्कनेक्ट करने का प्रयास करें और फिर इस कार्यक्षमता का परीक्षण करें।

+0

मैं पूरे दिन समस्या को समझने की कोशिश कर रहा हूं लेकिन यह एक्सकोड की वजह से है। आपने मेरा जीवन धन्यवाद बचाया। –

-1

स्विफ्ट संस्करण:

public func applicationWillResignActive(application: UIApplication) { 
    UIApplication.sharedApplication().idleTimerDisabled = false 
} 


public func applicationDidBecomeActive(application: UIApplication) { 
    UIApplication.sharedApplication().idleTimerDisabled = true 
}