ios7中未启用接近传感器状态

时间:2013-10-18 12:02:42

标签: iphone ios objective-c

UIDevice * device=[UIDevice currentDevice];
    device.proximityMonitoringEnabled=YES;

    state=device.proximityState;


    NSLog(@"%hhd",state);

    if(state)
    {

        NSLog(@"Proximity Sensor Starts YES");


        NSLog(@"%d",count);
        count++;
        NSLog(@"%d",count);


        timer = [NSTimer scheduledTimerWithTimeInterval:4.0 target:self selector:@selector(aTime) userInfo:nil repeats:YES];


        [[NSNotificationCenter defaultCenter] addObserver:self
                                                 selector:@selector(proximityChanged:)
                                                     name:@"UIDeviceProximityStateDidChangeNotification"
                                                   object:nil];
    }
    else
    {
        NSLog(@"NO");
    }

}

我已经使用此代码启用接近传感器状态,但每次我的指针转到其他状态时,为什么在ios7中未检测到接近传感器。在iPhone 5s上测试过。

为什么会发生这种情况请帮帮我。

1 个答案:

答案 0 :(得分:0)

您是否再次检查proximityMonitoringEnabled标志?请注意Apple说的话:

  

并非所有iOS设备都有接近传感器。要确定是否有可用的邻近监控,请尝试启用它。如果proximityMonitoringEnabled属性的值保持为NO,则不能使用邻近度监视。

编辑。

device.proximityState未说明您的传感器是否已启用。它指示接近传感器是否在特定时刻靠近用户。您应该在proximityState检查后注册通知并运行计时器,但proximityMonitoringEnabled