伟大的boss说:要有iPhone程序,于是勇做小白鼠的我就“光荣的”踏上了学习iPhone的开发的尝试之路。
经历了若干次安装,四国,学习之后,目前的iPhone程序终于做得像模像样了。但由于并未付给水果公司99美刀,所以编译好的app程序还需要通过一些“技巧”才能部署到iPhone上。具体的方法是先用scp命令将编译好的app复制到iPhone的Applications目录,然后用ssh服务连到iPhone上,使用ldid命令给app签注,再杀掉SpringBoard进程刷新界面。
但每次编译后都要如此敲打命令实在是件烦人的事,据闻懒惰是程序员的美德,于是匆匆学习了一番BASH脚本后,终于写了个脚本,每次部署时只需使用脚本,以iPhone的IP地址作为参数即可(iPhone上要求先安装SSH服务)。
1. 生成名为rsa的密匙文件。输入 ssh-keygen -t rsa
2. 在iPhone上建立.ssh目录。输入 ssh root@iphoneipaddr 'mkdir -p .ssh'
3. 将id_rsa.pub文件拷贝到iPhone的目录上,这样使用ssh和scp命令连接iPhone时就不再需要每次输入alpine密码了。 输入 cat ~/.ssh/id_rsa.pub | ssh root@10.0.2.2 'cat >> .ssh/authorized_keys'
4. 建立installApp.sh文件, chomd +x installApp.sh,增加执行权限。
5. 在installApp.sh文件中输入以下内容
<!--<br /><br />Code highlighting produced by Actipro CodeHighlighter (freeware)<br />http://www.CodeHighlighter.com/<br /><br />--> 1 #!/bin/sh
2 apppath=~/Documents/iPhone-source/foo-Project/build/Release-iphoneos/foo.app
3 iphone="$1"
4
5 # login iphone to remove old files first
6 ssh -l "root" "$iphone" "rm -rf /Applications/foo.app"
7
8 # copy app files to iPhone machine
9 scp -r $apppath root@$iphone:/Applications
10
11 # login iphone to resign app and kill SpringBoard to force refresh
12 ssh -l "root" "$iphone" "cd /Applications/foo.app; ldid -s foo; killall 9 SpringBoard"
保存之后,你就可以以iPhone的IP地址为参数执行脚本(./installApp.sh 192.168.2.199)来将app部署到iPhone上了