您的位置:首页 > 移动开发 > IOS开发

ios检测应用程序是否存在并启动

2013-01-19 14:21 302 查看
背景:假如有A,B两个程序(当然都得是你自己写的),想在A程序中判断B程序是否存在本机上,存在就启动他,启动的时候弹出一个对话框,对话框的内容是A程序带过去的。背景到此结束,下面是实现流程。

实现:

1.在B程序中打开info.plist这个文件新建一个key=URL types,然后在这个下面新建一个URL Schemes,然后下面的item0后面的值为“myapp”,这里的myapp自己随意,爱啥啥。这样别的程序就可以用这个myapp调用这个程序了

2.在B程序中的“AppDelegate.m”这个文件中假如下面这个方法。
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL*)url
{
// 处理传递过来的参数
UIAlertView *alertView;
NSString*text = [[url host] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
alertView = [[UIAlertView alloc] initWithTitle:@"Text"
message:text
delegate:nil
cancelButtonTitle:@"OK"
otherButtonTitles:nil];
[alertView show];
[alertView release];
return YES;
}


这个方法明白人一看就懂,你要是不懂还是先去看基础教程吧!这里不做过多解释。

这样B程序准备工作就做好了。接下来见证神奇的一刻

3.在A程序中在你想调用的地方执行下面代码就可以调用B程序了。
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"myapp://沈阳斌子测试"]];


亲测如果存在是可以正常启动的,如果不存在也不报错。

4.至此启动就没问题了,如果只是单一的要判断的话那么改一个地方也可以实现。
BOOL isCunZai=[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"myapp://志强原创"]];
if(isCunZai)
{
//存在
}
else
{
//不存在
}


文章出处:http://www.cnblogs.com/zhiqiangsimida/archive/2013/01/19/IOS.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: