我遇到的问题是,当用户使用我们的应用程序拍照时,使用AVCaptureSession
,我无法确定他们是在纵向还是横向模式下拍摄照片。我们的应用程序仅支持肖像,并且我在使用手机时保持方向锁定,因此我正在尝试构建一个解决方案,假设其他人可能会这样做。
我研究过使用[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications]
,但是当方向锁定打开时,没有收到任何通知。我知道这个功能是可行的,因为当我的手机打开方向锁定时,基本相机应用和 Google Hangouts 应用中的相机可以检测到旋转(取消和 Flash 按钮上的动画很明显)。
我最好的选择是使用加速度计并检测手机旋转的角度吗?一个旧的答案,Detect iPhone screenorientation ,很明显,以这种方式检测角度很容易做到(显然将答案调整为使用 Core Motion 而不是 UIAccelerometer),但我很好奇是否还有另一种方法可以做它。