【问题标题】:Can an app keep running while the screen is locked, on a jailbroken iphone?在越狱的 iPhone 上,应用程序可以在屏幕锁定时继续运行吗?
【发布时间】:2013-05-27 18:58:14
【问题描述】:

我有一个想要开发的应用程序的想法,但在我投入大量时间学习目标 C 和 iOS API 之前,我想确保我想做的事情是可行的。

我想要制作的应用程序是纯听觉(只有声音)版本的 Google Glass。我有视力障碍,所以在视觉上花了很多钱,尽管它可以给你读内容,不值得。但如果我可以使用 iPhone 提供许多与 Google Glass 相同的选项,那就太好了。

很多时候,我在走在街上时想要一些信息,但我无法轻易拿到我的 iPhone,因为我一只手拿着拐杖,另一只手拿着别的东西。在这种情况下,如果我能说出命令并得到语音响应,那就太棒了。

我会使用 Apple 耳机内置的 麦克风 进行音频输入,但我不确定是否可以在屏幕锁定时收听音频输入。我敢肯定,使用未越狱的 iPhone 是不可能的。

谁能告诉我这是否可行?

【问题讨论】:

    标签: ios jailbreak microphone cydia


    【解决方案1】:

    是的,你可以这样做。

    为了让您的应用始终运行,即使 iPhone 被锁定,您也可以构建一个 Launch Daemon。启动守护程序可以在手机启动时启动,并且不受 iOS 对沙盒应用程序的限制,安装到 /var/mobile/Applications/

    您确实需要有越狱设备才能利用启动守护程序。 Here is a good tutorial on building one.

    启动守护进程也是 OS X 的一个正常部分,所以如果您需要更多信息,可以尝试咨询the OS X docs online。 Launch Daemons 的大多数方面在越狱的 iPhone 上的工作方式相同。

    您还希望能够检测某些事件,以激活您的应用。您当然不想一直处理音频流(也许您只有在开始拄着拐杖行走时才激活应用程序)。要检测事件,例如按下主页按钮(或者您想要激活代码),我会查看 at RPetrich's libactivator library

    【讨论】:

    • 非常感谢。如果您对激活方法有任何想法,那就太好了。我想避免使用 iPhone,因为我希望能够免提使用它。但是,我不想通过使用耳机按钮与音频应用程序发生冲突,除非我可以在那里定义自己的组合键,比如同时按下两个音量按钮。
    • 听起来,当你走路时,你希望应用程序一直在监听输入。是对的吗?如果这是真的,那么您可能需要一直处理音频流。我的建议是您不要让应用程序全天候 24/7 收听音频。你会知道什么时候你要站起来,抓住拐杖,把双手绑起来几分钟。所以,我当时建议激活声音监听器。在那种情况下,用手(只是为了启动监听器)仍然是一个问题吗?守护程序仍将始终运行。
    • 因此,从本质上讲,守护进程始终处于开启状态。但是,只有当您双击 Home(或其他操作)时,它才会开始收听音频馈送,这会消耗大量电池。其余时间,它闲置着,等待被召唤。 LibActivator 支持许多不同的激活方法,而不仅仅是按下主页按钮。音量/锁定键,滑动,一切。当然,你也可以开始听老式的方式,使用普通的 UI 应用程序启动图标。虽然没有越狱和酷:)
    • @Clawish,在电池方面,iOS 可能正试图通过定期睡眠来节省电量。尝试查看 MacOS IOKit API 以防止睡眠。
    • @Clawish,很高兴听到它奏效了。有大量来自 MacOS 的东西在 iOS 中实现,但根本没有记录。许多优秀功能的来源。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多