越狱iOS的命令行程序在iPad上死机,但在iPhone 3G中没有

时间:2011-09-23 02:01:51

标签: iphone ios ipad cross-compiling jailbreak

我正在尝试构建一个命令行程序,以便在越狱的iOS设备终端中运行。

为了简单起见,我用简单的hello世界进行了测试:

#include <stdio.h>
int main(int argc, char *argv[]) {
  printf("Hello world!\n");
}

我建立的是:

/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/gcc -arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/ main.c -o hello

生成的可执行文件在运行iOS 4.2.1的iPhone 3G中运行良好,但在运行4.3.5的iPad中输出:

Killed: 9

两者都是越狱,可以从Cydia运行应用程序就好了。

我尝试使用Cydia中的gdb直接在iPad上进行调试,但是当程序收到kill信号时gdb退出。

对于它的价值,我真正想要构建的程序是Ledger。我在iPhone 3G上运行它,但是当我在iPad上试用它时它失败了。

有什么想法吗?

4 个答案:

答案 0 :(得分:3)

使用theos。它为越狱设备构建任何东西都非常简单。我相信您可以将工具模板用于命令行应用程序。

答案 1 :(得分:3)

您必须使用ldid -S自行签名该应用,以欺骗iOS加载程序。

ldid可在iPhone上的命令行上找到。此处还有一个Mac OS X二进制文件http://dl.dropbox.com/u/3157793/ldid

另一种选择是安装iOSOpenDev工具,默认安装所有这些工具,在Xcode之上

答案 2 :(得分:2)

iOSOpenDev扩展了Xcode并为iOS开发提供了项目模板,例如您尝试创建的命令行工具,以及为Cydia处理代码签名和Debian软件包创建。值得一看;对某些人来说,比Theos更容易。

答案 3 :(得分:-1)

请对应用程序进行协同设计,然后安装..它将运行