iphone以编程方式重新启动

我有代码

我有代码

system("reboot") 

reboot命令在终端中起作用,但是即使我以 root 身份运行应用程序,该操作仍然被拒绝。有没有人找到任何可行的方法,或者可以解释一下SBSetting 的重新启动,这让我很好奇?

26

我终于找到了一种以编程方式重新启动 iOS 设备而不生根设备的方法!!!重新启动 iOS 设备的命令行工具称为 libimobiledevice:

http://krypted.com/mac-os-x/use-libimobiledevice-to-view-ios-logs/

这真是太棒了。我在安装时遇到的一个障碍是试图安装这一行:

brew install -v --devel --fresh automake autoconf libtool wget libimobiledevice

不过,我得到了周围的安装问题,通过运行这行:

brew install -v --fresh automake autoconf libtool wget libimobiledevice

在那个问题之后,我按照其余的说明和瞧!

大多数命令都可以在此页面上找到:http://krypted.com/uncategorized/command-line-ios-device-management/

重新启动 iOS 设备的神奇命令是:

idevicediagnostics restart

这个工具真正令人惊奇的是不仅重新启动 iOS 设备,还使用以下命令将 iOS 设备日志输出到 Mac 的终端应用程序:

idevicesyslog
9

问题是,即使你设置你的应用程序以root运行,当你进行system()调用时,你显然仍然限于用户移动权限。由于移动无法调用 reboot (成功),这不起作用。

我解决这个问题的方法是利用SBSettings支持的新功能。SBSettings 有一个运行的特权守护进程。它允许您插入自己的命令,只需编写一个脚本 (或其他可执行文件) 并将其转储到适当的目录 (/var/mobile/Library/SBSettings/Commands)。一旦您重新启动 sbsettingsd 通知进程,您可以通过发布一个脚本名称来运行它。

com.mycompany.reboot

然后从您的应用程序中,您可以执行此代码:

#import <notify.h>
notify_post("com.mycompany.reboot");

然后,让com.mycompany.reboot成为一个简单的 shell 脚本,如下所示:

#!/bin/sh
reboot

并确保 chmod 755 在您的 com.mycompany.reboot 脚本。此 SBSettings 命令功能的完整详细信息可以在这里找到:

http://thebigboss.org/guides/sbsettings-toggle-spec(请参阅调用外部函数和脚本...)

无论如何,它确实需要你的应用程序依赖于 SBSettings,但它是一个免费的应用程序,大多数用户可能希望拥有它。

4

这个答案可能会觉得 hacky 一些,但我还没有找到一个更好的解决方案,如何重新启动尚未越狱的 iOS 设备,所以这里去我的答案:

为了从命令行重新启动设备,我做了一些准备工作:

将设备连接到计算机

将 iTunes 快捷方式添加到您的基座

选择 spotlight 并搜索名为 Automator 的应用程序[必须安装 Xcode 才能启动 Automator!]

当 Automator 启动时,选择应用程序选项

选择录制按钮以开始录制以下操作

选择 iTunes 快捷方式

从设备选项中选择您的设备

选择还原备份...按钮

选择恢复按钮

选择 Automator 应用程序上的停止按钮以停止录制。

从 Automator 应用程序中,从顶部栏中选择文件并将新录制的应用程序保存到您选择的位置

在这一点上,你有一个应用程序文件,将执行上述步骤。我倾向于让 iTunes 保持打开状态,因为它总是会连接 iOS 设备并准备好被访问。当 iTunes 关闭并重新启动时,设备需要时间与 iTunes 完全连接,这往往会 Automator 应用程序的流程。

在这一点上,我可以进入一个终端,转到应用程序文件的位置,并运行以下命令 [示例]:

打开 automator.app(将“automator.app”替换为文件的名称)

如果您像我一样,并且在 jenkins 中运行此命令,则需要运行以下命令:

打开 [location] / [your_app_name.app]

sleep 30

出于某种原因,自动化应用程序需要睡眠时间来完成所有记录的操作。

此外,我相信你也可以写一个 applescript 来做这一切,但我讨厌 applescript,并采取了简单的方法!

本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处

(864)
在iOS上共享指向InstagramDirectMessage的链接 /文本
上一篇
iphone以编程方式重新启动
下一篇

相关推荐

  • 编程绘图软件:iPhone蓝图 /素描/绘图软件

    关于编程绘图软件的问题,在iphone blueprint中经常遇到,SO 社区中是否有人知道有任何软件可以让您在 iPhone(甚至 iPad)上拖动不同的 iOS 组件来帮助制作应用程序设计的模型或蓝图?它仅用于视觉目的。它不处理代码或类似的东西。它只是用于定位和规划应用程序的外观。有人看过或使用过这样的软件吗?…

    2022-12-28 12:01:01
    0 56 64
  • 通过默认 iPhone耳机主动消除噪音

    我们想创建一个应用程序,它将使用默认的 iPhone 耳机实现主动噪音消除。也就是说,使用 iPhone 耳机 Mic 接收外部音频并进行 180 度的相移。最后,通过默认耳机扬声器播放反转的声音以消除外部声音 (主动噪音消除)。…

    2022-11-23 05:53:42
    0 39 50
  • 如何将外部相机连接到iPhone并拍摄/下载照片

    我想将外部相机连接到 iPhone(iPhone 内置的相机不足以满足我的需求),然后编写一个 iPhone 应用程序,允许我在想要拍照时向外部相机发送信号,然后立即将拍摄的照片下载到我的 iPhone 上,以便我可以将其无线发送到其他地方的服务器。…

    2022-11-11 15:16:46
    0 23 85
  • iPhone捕获会话:设置自定义帧速率

    我已经设置了一个 captureSession,现在正在尝试将帧率设置为 60。我使用的是 iPhone 12 Pro Max。…

    2022-11-11 15:16:19
    0 74 74
  • iPhone捕获会话:设置自定义帧速率

    我已经设置了一个 captureSession,现在正在尝试将帧率设置为 60。我使用的是 iPhone 12 Pro Max。…

    2022-11-11 15:16:09
    0 75 67
  • iPhone捕获会话:设置自定义帧速率

    我已经设置了一个 captureSession,现在正在尝试将帧率设置为 60。我使用的是 iPhone 12 Pro Max。…

    2022-12-13 13:49:28
    0 16 36
  • 将数据从旧iPhone传输到新iPhone后推送通知不起作用

    我将数据从 iPhone 8 传输到 iPhone 12 mini,使用 iTunes 备份 / 设备到设备迁移。我没有得到推送通知一个应用程序,我已经安装在我的旧 iPhone。我检查了该应用程序的推送通知设置,一切都像以前一样启用。我将设置切换到开 / 关,但它没有帮助。我试图注销并重新登录到该应用程序,但这也没有解决我现在想要的应用程序的推送通知。…

    2022-11-23 08:28:51
    0 64 43
  • iPhone捕获会话:设置自定义帧速率

    我已经设置了一个 captureSession,现在正在尝试将帧率设置为 60。我使用的是 iPhone 12 Pro Max。…

    2022-11-11 15:15:47
    0 11 37

发表评论

登录 后才能评论

评论列表(10条)