我有Apple开发人员证书。我正在尝试在我的越狱iPhone上的/ Applications中安装我的应用程序,以便我可以访问SMS.db数据库。我尝试了几种不同的使用无证书但使用ldid签名,并使用我的iOS App Store分发证书进行签名的变体。我的应用程序总是在启动时崩溃,似乎没有任何工作。如果我有Apple开发人员证书,那么将应用程序放入/ Applications的最简单方法是什么?我还需要做ldid签名吗?我在iPhone 4上使用XCode4,SDK 4.3和iOS 4.1。
答案 0 :(得分:1)
我为自己的应用做了一些研究,需要访问越狱设备上的整个文件系统。您无法通过将.ipa文件安装到/ Applications。
的常规方法来安装您的应用程序您的崩溃很可能与沙盒有关,因此它看起来像这样:
Jun 2 15:16:10 unknown sandboxd[31] <Notice>: BlueTool(145) deny file-read-metadata /private/var/mobile
Process: BlueTool [145]
Path: /usr/sbin/BlueTool
Load Address: 0x7f000
Identifier: BlueTool
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: BTServer [88]
Date/Time: 2012-06-02 15:16:10.275 -0500
OS Version: iPhone OS 5.0.1 (9A405)
Report Version: 104
Backtrace:
0 libsystem_kernel.dylib 0x30604c0c stat + 12
我通过将.ipa包转换为.deb包并通过dpkg安装它来解决这个问题。这样您就可以创建任何所需的布局。
以下是解决方案的要点:
为debian打包程序创建布局以使用:
mkdir ./layout
mkdir ./layout/Applications
mkdir ./layout/DEBIAN
chmod 0755 ./layout/DEBIAN
解压缩.ipa包:
unzip package.ipa -d ./layout/Applications/MyAppName.app/
创建布局文件:
cat > ./layout/DEBIAN/control <<EOF
Package: MyAppName
Name: MyAppName
Depends: mobilesubstrate, preferenceloader, libstatusbar
Version: 1.0-0
Architecture: iphoneos-arm
Description: MyAppName application
Maintainer: Me
Author: Me
Section: Tweaks
EOF
chmod 0755 ./layout/DEBIAN/control
制作一个.deb包:
<path-to-theos-bin>/dpkg-deb -b ./layout MyAppName.deb
显示我们刚刚构建的.deb包中的内容:
<path-to-theos-bin>/dpkg-deb -c ./layout MyAppName.deb
然后通过ssh进行部署:
scp MyAppName.deb root@<device-ip>:/var/tmp
ssh root@<device-ip> "dpkg -i /var/tmp/MyAppName.deb"
ssh root@<device-ip> "killall -9 \"SpringBoard\""