0

我正在编写一个使用低级原始套接字(在纯 C 例程下)的 iOS 应用程序。今天我使用 Xcode 4.6 来生成我的应用程序。

我需要始终在根级别调试此应用程序,但模拟器无法以根用户身份运行。我已经在 gdb 和二进制应用程序上尝试了 setuid(chmod 4755 或 chmod u+s),但是当它运行时,调试不会在根级别上运行。我也尝试过配置 Xcode 但没有成功,导致调试方案上的“以 root 身份运行”选项被禁用。

有没有人开发过在根级别上运行的应用程序?换句话说,在模拟器/调试器上以 root 身份运行?如何在 Xcode 4.6(OS Mountain Lion)上以 root 身份在模拟器(gdb、lldb 等)上运行我的应用程序?

4

2 回答 2

0

我认为通常不建议以 root 身份运行,而且我认为您无法在实际设备上获得特殊的写访问权限,但您可以尝试在 mac 上以 root 身份登录并从那里启动 Xcode。我没有尝试过,但它可能会启用“以root身份运行”选项

于 2013-06-18T19:52:53.440 回答
0

这在 iOS 上不受支持。这是 OS X 独有的功能。您不能在 iOS 设备上以 root 身份运行。

(关于 OS X 的旧答案:)我每天都使用这个功能。您不需要使用 setuid,只需使用 Xcode“以 root 身份运行”标志。我怀疑问题出在与 gdb 集成,它在 4.6 中已弃用。您应该切换到 lldb。(我还建议切换到 Xcode 5.1,但这是一个单独的问题。)

于 2014-03-31T19:17:27.470 回答