在模拟器上越狱应用程序?

时间:2012-12-03 05:43:51

标签: xcode ios-simulator jailbreak

我正在为Xcode上的越狱iPhone开发应用程序。我正在使用Xcode 4.2,我的iPhone OS是iOS6。我无法将我的iPhone与XCode连接进行测试,因为XCode 4.2不支持iOS6。

每次编译代码并尝试在模拟器上运行时,我都无法退出沙箱。所以我试图创建一个.ipa文件,在iPhone上安装并测试它。

有没有办法在模拟器上测试jail破解的应用程序?

1 个答案:

答案 0 :(得分:3)

这取决于你想要测试的越狱功能。我有一个越狱应用程序访问完整的文件系统,当我在模拟器中运行它时,我可以访问我的Mac上的所有文件,而不仅仅是从模拟器的主目录(参见图片here显示Mac的应用程序模拟器中的目录)。如果这是您的应用程序中的内容,您可以在Mac上重建iPhone的文件系统并将其用于测试。但是,如果您正在进行访问iPhone的串行端口,那么模拟器显然不具备此功能。

或者,您是否尝试过创建后期构建脚本以通过SSH将.app文件安装到iPhone上?这是我使用的脚本(变量IPOD是我的WLAN中设备的IP本地地址,其他来自Xcode):

bundleid=`defaults read $BUILT_PRODUCTS_DIR/${WRAPPER_NAME}/Info.plist CFBundleIdentifier`
# kill if running, remove old version, copy new one and launch it
ssh -p $PORT root@$IPOD "killall $EXECUTABLE_NAME"
ssh -p $PORT root@$IPOD "rm -r /private/var/stash/Applications/$WRAPPER_NAME"
scp -P $PORT -r $BUILT_PRODUCTS_DIR/${WRAPPER_NAME} root@$IPOD://private/var/stash/Applications
ssh -p $PORT root@$IPOD "open $bundleid"

Cydia上有open命令。

这显然是一个非常简单的脚本,可能有更好的方法(比如使用dpkg),但它可以帮我完成工作。

您显然需要在iPhone上安装并激活SSH,以及其他一些内容,例如killall(所有这些都在Cydia中提供)。