【问题标题】:iOS 7, iPhone, Proximity SensoriOS 7、iPhone、接近传感器
【发布时间】:2014-01-03 02:04:19
【问题描述】:

这是一个简短的问题,但它困扰了我一整夜。我在这里几乎没有自己的应用程序(我只编写 Objective-C 并且我使用 ARC),如果我在 appDelegate 中编写 - 应用程序 didFinishLaunching...:

[[UIDevice currentDevice] setProximityMonitoringEnabled:YES];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(proximityStateChanged:) name:UIDeviceProximityStateDidChangeNotification object:nil];

我得到完全正常的反应。显示屏关闭,我收到更改接近状态的通知等。

现在,我有一个不是我的应用程序,我应该修改它(我有 Xcode 项目 - 源文件)。我只应该根据proximitySensor 实现一些更改。我绝对无法启用接近监控?我正在做与其他应用程序相同的事情,但它只是不调用通知并且不更改proximityState。最大的不同是这个应用程序的 appDelegate 是 .mm - 混合语言,但我真的不认为这应该是一个问题。

是否有一些全局方法可以禁用传感器或仅禁用接近传感器?某些录制音频或播放音频的服务可以禁用接近传感器吗?任何线索都是金色的!我真的不明白是什么阻止了我启用此功能。 祝大家好运。

【问题讨论】:

  • 并非所有 iOS 设备都有接近传感器。要确定接近监控是否可用,请尝试启用它。如果proximityMonitoringEnabled 属性的值仍然为NO,则接近监控不可用。
  • 如果不是设备的问题,你确定除了你之外没有人改变了proximityMonitoringEnabled属性吗?
  • 搜索了整个代码,只有我提到接近。我正在我的设备(iPhone 5)上进行测试,它有接近传感器,它正在另一个我编写相同代码的项目上工作。

标签: ios iphone objective-c xcode proximitysensor


【解决方案1】:

嘘!

如果应用程序不支持纵向,ProximitySensor 将被禁用!你可以做任何你想做的事,但如果没有将肖像检查为设备方向,ProximitySensor 将不会启动!

【讨论】:

  • 您应该接受自己的答案,Stackoverflow 鼓励您这样做。
【解决方案2】:

不清楚你在问什么。当你说你“有一个不属于我的应用程序”时,你有源代码吗,还是想以某种方式修补它?

如果您拥有完整的源代码,您应该能够插入上面显示的相同调用并让它们工作。您需要打开邻近监视,添加一个观察者,然后将您的观察者方法添加到您作为观察者添加的类中。

我认为您不必在 info.plist 文件中设置标志来启用接近度监控,但我并不肯定。我只是将它用作实验,那是不久前的事了。

【讨论】:

  • 是的,我有源代码,并且确定我在该应用程序的 AppDelegate.mm 中调用了上述方法。如果需要,那会是什么样的标志?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-10
  • 1970-01-01
  • 2022-10-09
  • 2015-11-08
  • 1970-01-01
相关资源
最近更新 更多