2015-08-15 36 views
1

我是iOS編程的新手,但我的工作需要我爲電視演員構建應用程序以便在設置中使用。我在學Swift。這些應用程序不適用於應用程序商店。我正在製作假手機應用程序。製片方希望手機關掉當演員把它自己的臉 - 我有這樣的代碼:IOS接近傳感器將屏幕永久睡眠

//PROXIMITY SENSOR 
func proximityChanged(notification: NSNotification) { 
    if let device = notification.object as? UIDevice { 
     println("\(device) detected!") 

    } 
} 

func activateProximitySensor() { 
    let device = UIDevice.currentDevice() 
    device.proximityMonitoringEnabled = true 
    if device.proximityMonitoringEnabled { 
     NSNotificationCenter.defaultCenter().addObserver(self, selector: "proximityChanged:", name: "UIDeviceProximityStateDidChangeNotification", object: device) 
    } 
} 

它的工作原理,但我的問題是,當接近傳感器是從事過久,說手機在演員的口袋裏2分鐘 - 當他去使用它時 - 屏幕保持黑屏。

如果主頁按鈕被按下,它會醒來,但會導致它跳出應用程序。如果啓動側面靜音/聲音切換,它也會醒來。

我猜測,即使應用程序在前臺,不知何故接近傳感器長時間工作會導致它進入背景。很難在xcode中測試,因爲它連接到計算機時不會進入睡眠狀態。任何想法是什麼導致這一點,以及如何解決它? 謝謝

回答

0

乾淨的工作!我以前見過這種情況。你有沒有嘗試禁用空閒計時器?

[UIApplication sharedApplication].idleTimerDisabled = YES;