编译后的Xcode构建脚本

时间:2014-01-19 22:43:46

标签: ios xcode jailbreak

我正在为越狱设备开发,并且已经在设备上使用自签名证书和对Xcode进行了一些编辑来构建和调试Xcode。

但我正在开发的应用程序需要能够调用setuid(0),因此需要使用chmod + s才能正常运行。 除了需要以root身份运行的iOS应用程序外,需要使用bash脚本来调用它:

#!/bin/bash
dir=$(dirname "$0")
exec "${dir}"/App\ Binary_ "$@"

所以,我需要这个构建脚本来构建我的app:

cd ${BUILT_PRODUCTS_DIR}/My\ App.app/
mv App_Binary App_Binary_
cp /Users/john/Shellscript Binary_App
chmod +s Binary_App_
chmod +x Binary_App

我尝试将其添加为普通的构建脚本,并将其作为Build后期操作或Run Pre-action的方案的一部分。两者都没有奏效。例如,构建后的动作后脚本返回代码签名失败,因为它试图对现在是shell脚本的App Binary进行编码。如果我在运行时将其作为预操作脚本执行,则会显示“Xcode无法使用所选设备运行。选择具有支持的体系结构的目标,以便在此设备上运行。”

我该怎么办?

1 个答案:

答案 0 :(得分:0)

我使用post-action script构建我的越狱应用程序。虽然他们不需要额外的chmod或bash脚本来运行,但您可以使用像我这样的脚本来安装您的应用程序(作为系统应用程序,而不是普通的App Store应用程序),然后执行{ {1}}命令并通过动作后脚本在设备上使用bash脚本交换二进制文件。

您可以尝试这些方面的内容(我尝试使用您脚本中的详细信息,但可能会出现一两个错误):

chmod

根据需要设置IPOD和PORT。 # copy binary scp -P $PORT -r $BUILT_PRODUCTS_DIR/${WRAPPER_NAME} root@$IPOD://private/var/stash/Applications/${WRAPPER_NAME}/App_Binary_ # copy script scp -P $PORT /Users/john/Shellscript root@$IPOD://private/var/stash/Applications/${WRAPPER_NAME}/Binary_App # set special permissions ssh -p $PORT root@$IPOD "chmod +s /private/var/stash/Applications/${WRAPPER_NAME}/Binary_App_" ssh -p $PORT root@$IPOD "chmod +x /private/var/stash/Applications/${WRAPPER_NAME}/Binary_App" 是保存在磁盘上的应用程序名称,扩展名为.app。

实际上,如果您需要将应用程序安装为普通的App Store应用程序,则可以完成此操作,您只需要找到它的安装位置并根据需要调整路径。

您显然需要在设备上安装并激活SSH(Cydia上提供)。

相关问题