我正在为Xcode上的越狱iPhone开发应用程序。我正在使用Xcode 4.2,我的iPhone OS是iOS6。我无法将我的iPhone与XCode连接进行测试,因为XCode 4.2不支持iOS6。
每次编译代码并尝试在模拟器上运行时,我都无法退出沙箱。所以我试图创建一个.ipa文件,在iPhone上安装并测试它。
有没有办法在模拟器上测试jail破解的应用程序?
答案 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中提供)。