首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网络技术 > 网络基础 >

怎么从command line启动iPhone app(需jail break)

2012-09-20 
如何从command line启动iPhone app(需jail break)注:此方法只适合jail break过的iPhone(关于如何jail brea

如何从command line启动iPhone app(需jail break)

注:此方法只适合jail break过的iPhone

(关于如何jail break请自行Google,太多了)

?

前段时间突然有个需求,需要从command line启动任意的iPhone app,当时觉得这是个共性需求,应该早就有人开发出来了吧,果不其然国外有个Erica Utilities里面有个工具lauch,可以直接在command line下打开app,比如说开启计算器app,command line输入:lauch com.apple.Caculator?其中com.apple.Caculator为计算器app的bundle identifier。但以上命令我试过却直接出错,app根本不会被启动。Google了才知道上面的command只有在iOS2.0以前才可以用,之后都已不在支持,而且作者也没有打算改的意思。另外在Google同时发现跟我一样需求的人也被这个问题卡住,而且没有人找到一个可行的解决方法!

?

就这样边Google,边想办法,足足耗了两天时间!不过老天不负有心人,有天下午突然脑子闪过一个idea,之前开发iPhone app时记得在Apple的文档里有看到任意一个app都可以定义自己的URL scheme,比如Safari的URL scheme就是http://, Map的URL scheme就是map://, Telephone的是:tel://等等...那定义URL scheme后就能解决这个问题吗?答案还真是!

?

原来Erica Utilities里面还有一个工具openURL,可以直接在command line下打开URL,比如说要打开Safrai,command就是:openURL http://www.iteye.com 这样Safari就会启动,并且访问Java eye网站。所以只要每个app定义有自己的URL scheme,那就可以通过openURL来启动了,但...几乎80%的app(第三方开发)都没有定义URL scheme。

?

不过还好在jail break过的iPhone里,可以做的事情其实很多!虽然app在开发时没有添加URL scheme,但可以通过小小修改,就能给它添加上!方法如下:

1.找到app的安装目录,一般会在/User/Applications/F84C8C92-99BB-465C-AE26-D17765ACF936/xxx.app

2.在app目录下找到Info.plist文件,打开后如下图一样添加URL scheme

怎么从command line启动iPhone app(需jail break)

(URL identifier一般用app名,URL schemes可以定义多个,比如希望之后用myurl://来访问,那就定义myurl)

3.重启SpringBorad。(必须)

4.在command line输入openURL myurl://xxx 即刻打开这个app。

?

同样地,其他的app也可参照此方法给其添加URL scheme,然后就可通过openURL打开,爽吧!

热点排行