- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
好吧,我想这个问题已经说明了一切
我愿意使用私有(private) API,我正在尝试创建一个应用程序,如果它检测到某个 GPS:位置,则相机功能应自行禁用。 。 。 。
最佳答案
注意:此解决方案不使用 UIImagePicker
。我假设您指的是内置 Camera.app,并且只是想要某种方法来禁用它。
如果您愿意越狱您的设备(我在您的评论中读到),那么您应该能够做到这一点。
首先,您需要编写一个 iOS 启动守护进程。这是一个后台进程(无 UI),始终运行并监视位置。请参阅the blog for an example of how to write a launch daemon 。此示例甚至显示了一个监视位置的守护进程,这正是您所需要的。
然后,当您的守护程序检测到您位于特殊位置时,您只需更改 /Applications/Camera.app/Camera
上的可执行权限即可。使其不可执行(chmod 664
而不是 775
)。
通过系统调用从您的应用调用 chmod
命令:
system("chmod 664 /Applications/Camera.app/Camera");
或者,您也可以使用 NSFileManager
API 来修改文件的权限属性。
当然,当您离开该区域时,您需要重新更改权限(您可能希望使应用程序保守,以便如果没有可用的位置数据,在计时器延迟后,您可以重新启用相机) .
我相信我上面链接的守护程序教程会将您的守护程序设置为以 root 用户 (userid = 0) 身份运行,这可能是拥有更改相机可执行权限的权限所必需的。如果没有,请发表回复,我会挖掘更多信息。我的手机上运行着多个守护进程(我不久前编写的),并且它们确实具有 root 权限,所以我一定已经知道如何做到这一点了:)
此外,正如欧文所说,位置服务可能会关闭,或者位置修复可能不可用。我不确定这个应用程序是否只适合您,提醒您不要在某个位置拍照,或者是否需要对其他用户进行保护,因为其他用户会试图破坏保护。如果这对您来说是个问题,请发布更多信息,我们将从那里开始......
注意:如果在您进入无图片区域之前相机已经在运行,我不确定是否还需要禁用相机。如果是这样,您可以让您的守护进程也对相机进程发出 kill
命令。
关于iphone - Xcode:有没有办法使用 UIImagePicker 禁用 iOS 相机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12626904/
我是一名优秀的程序员,十分优秀!