2

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

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

有没有办法在模拟器上测试越狱的应用程序?

4

1 回答 1

3

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

或者,您是否尝试过创建构建后脚本以通过 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"

open命令在 Cydia 上可用。

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

你显然需要在你的 iPhone 上安装和激活 SSH,以及其他一些东西killall(在 Cydia 中都可用)。

于 2012-12-04T16:22:05.237 回答