iOS跳转到另一个程序

我这里只是写了部分东西,如果想看更加详细的,请点击原文链接.

原文链接:http://blog.csdn.net/likendsl/article/details/7553605

原则上iOS的沙箱原理,是阻止一个app去访问其他app的资源乃至是系统底层的资源的但是我们可以通过一种变相的方式:通过对应的URL模式和其他程序进行通讯.

iOS应用之间的调用步骤:

一, 调用自己开发的应用

1)在plist文件中,注册对外接口

在xcode group&files 里面,展开 resources选择info.plist

鼠标右击information property list ,然后从列表中选择URL types

右击 add row 添加一个对象(item)右击item add row

从列表中选择 URL  Schemes 再右击添加一个对象(item1)

将item1得值设置为:myapp

这个myapp就是对外接口,其它应用可以通过它,调用该应用

plist如下图所示:

2).处理URL请求

应用程序委托在 application:handleOpenURL:方法中处理传递给应用程序的URL请求。如果您已经为自己      的应用程序注册了定制的URL模式,则务必在委托中实现这个方法。

下面代码实现了这个委托方法;

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url

{

if([[url scheme] isEqualToString:@"myapp"]){

[application setApplicationIconBadgeNumber:10];

return YES;

}

return NO;

}

3).测试外部调用

1.回到Home屏幕,启动Safari(在iPhone仿真器上,在菜单上选择Hardware->Home命令就可以回到Home屏幕)。

2.在Safari的地址栏中,键入使用定制模式的URL: myapp:

3.确认您的应用程序是否启动,以及应用程序委托是否收到application:handleOpenURL:消息。

4)调用方法

在你需要调用上面注册过对外接口的应用中,添加下面代码即可

NSURL *url = [NSURL URLWithString:@"myapp:"];

[[UIApplication sharedApplication] openURL:url];

通过上述两个步骤,你可以在你的应用中,让用户打开你的其它应用

二, 调用IOS自带的应用

上面讲述的是调用自身的应用,讲解了如何在自己应用之间调用问题,今天介绍一下如果调用IOS自带的app的方法

一、调用app store界面方法

在实际开发中,往往要推荐自己其他应用和推荐自己的收费软件,那么我们就需要在程序中直接连接到app store的相应页面。

实际上的做法很简单,使用的还是UIApplication类的OpenURL方法:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"程序的相应连接"]];

二、调用其它应用的方法

1)调用 自带mail?

[[UIApplicationsharedApplication] openURL:[NSURLURLWithString:@"mailto://[email protected]"]];

2)调用 电话phone?

[[UIApplication sharedApplication] openURL:[NSURLURLWithString:@"tel://8008808888"]];?

3)调用 SMS

?[[UIApplicationsharedApplication] openURL:[NSURL URLWithString:@"sms://800888"]];?

4)调用自带 浏览器 safari

?[[UIApplicationsharedApplication] openURL:[NSURLURLWithString:@"http://www.hzlzh.com"]];

5)调用 Remote

?[[UIApplicationsharedApplication] openURL:[NSURL URLWithString:@"remote://fff"]];

上面是最基本的语句,没什么处理过程。

如:调用phone可以传递号码,调用SMS只能设定号码,不能初始化SMS内容。

IOS 应用程序间跳转

最近开发的程序需要集成到公司的sso统一身份认证平台中,需要从认证平台的app跳转到我们开发的这个app。

下面时程序中需要配置的地方

在目标程序的plist文件里面修改:

打开xxxx-info.plist,添加一项URL types

打开URL types,将item0的URL identifier修改为URL Schems

展开URL Schemes,将item0的内容修改为xxxApp(此为跳转的key)

如下图所示:

在程序里面需要跳转的地方,添加代码

NSURL *myUrl = [NSURL URLWithString:@"xxxApp://abcde"]; //xxxApp为目标App跳转的key

if([[UIApplication sharedApplication] canOpenURL:myUrl]){

[[UIAppliactioin sharedApplication] openURL:myUrl];

}

这样就可以实现跳转了。

时间: 2024-10-23 17:11:10

iOS跳转到另一个程序的相关文章

如果你恨一个程序员,忽悠他去做iOS开发

如果你恨一个程序员,忽悠他去做iOS开发.不管他背景是cobel还是 java,送他一本iOS开发的书.这种书最好是国人写的,容易以偏概全一点,相比洋鬼子的书,更容易学到皮毛.这叫舍不得孩子套不着狼,谁叫你恨他呢. 然后你就会发现他没事会琢磨一下在虚拟机里运行一下mac OSX.Mac高大上啊,一用就上瘾.慢慢的,你发现他不再满足虚拟机了.程序员嘛,一般都对性能敏感的.他开始琢磨黑苹果了.这是发病的第一个阶段.这个阶段他会乐此不疲,殊不知也耗散着精力. 第一个阶段玩了一段时间后,他开始受不了了.

iOS 调用另一个程序

在 iOS 里,程序之间都是相互隔离,目前并没有一个有效的方式来做程序间通信,幸好 iOS 程序可以很方便的注册自己的 URL Scheme,这样就可以通过打开特定 URL 的方式来传递参数给另外一个程序. 例如在 iPad 上浏览网页,并且 iPad 已经安装了 淘宝 HD,那么就打开下面这个链接就会在淘宝 HD 中查看这个商品的详细信息,也可以方便的使用淘宝 HD 进行购买.收藏等操作. 在淘宝 HD 中查看商品"2012西藏卓明谷方舟登舰卡(船票)" 当然,如果你在 Mac OS

iOS开发UI篇—实现一个私人通讯录小应用(一)

iOS开发UI篇—实现一个私人通讯录小应用(一) 一.该部分主要完成内容 1.界面搭建                        2.功能说明 (1).只有当账号和密码输入框都有值的时候,登录按钮才能交互 (2).当取消勾选记住密码后,自动登录按钮也随之取消:当勾选了自动登录按钮时,记住密码按钮也一同勾选. (3).点击登陆后,弹出蒙版,界面不可交互,程序能够简单判断账号和密码是否正确,如果不正确则给出相应的提示,如果正确则跳转到联系人列表界面. 二.实现过程和代码 项目文件结构图和界面搭建

iOS UI编程_概述和程序的执行顺序

一iOS概述 UI设计的条件设置 iOS系统架构层次 二程序的执行顺序 一.iOS概述 iOS(最初,苹果公司并没有给随iPhone发行的iOS一个独立的称谓,直到2008年3月6日才给它取名为iPhone OS,并于2010年6月改名为现在的名字iOS)是由苹果公司为移动设备所开发的操作系统,支持的设备包括iPhone.iPod touch.iPad及Apple TV等.与Android及Windows Phone不同,iOS不支持非苹果的硬件设备.2007年1月9日苹果在Macworld大会

iOS开发UI篇—实现一个私人通讯录小应用(一) - 文顶顶

原文  http://www.cnblogs.com/wendingding/p/3773603.html iOS开发UI篇—实现一个私人通讯录小应用(一) 一.该部分主要完成内容 1.界面搭建                        2.功能说明 (1).只有当账号和密码输入框都有值的时候,登录按钮才能交互 (2).当取消勾选记住密码后,自动登录按钮也随之取消:当勾选了自动登录按钮时,记住密码按钮也一同勾选. (3).点击登陆后,弹出蒙版,界面不可交互,程序能够简单判断账号和密码是否正确

连载《一个程序猿的生命周期》-《发展篇》 - 5.奶奶终于“自杀”了

打我记事起,奶奶裹过的小脚有点外八字,走起路来颤颤巍巍,但是又很利索,身体干瘦如柴,面部棱角清晰可见,头发黑白相间.妈妈说起爷爷.奶奶来,一顿牢骚,叙述各种遭遇.各种不好.慢慢的长大后,妈妈说的都被被一一印证了,面对这种事实,我心理多少有些埋怨.但是上初中后,我的思想转变了,爷爷奶奶还能活多久呢,过去的就让它过去吧. 正常的去看往他们,有时劝劝父母,多少起了一些作用,母亲对他们还说的过去,一直到他们离开这个世界.上班之后,每次回老家都去他们那转一圈,有了孩子之后,带孩子一起去.不知道从什么时候,

连载《一个程序猿的生命周期》- 40、张弛有度的工作,留给自己一些思考的时间

一个程序猿的生命周期 微信平台 口   号:职业交流,职业规划:面对现实,用心去交流.感悟. 公众号:iterlifetime 百木-ITer职业交流奋斗 群:141588103    微   博:http://www.weibo.com/u/5723400254 二维码: 希望大家能够加微信公众号,以后会分享有营养的东西. 第一家公司,小型国企,呆了7年多,为了心中仅存的理想,勇敢的跳了出来:进入第二家公司,大型股份制公司,呆了1周时间,为了发展的更快.更容易实现自己的目标,毫不犹豫的离开了:

学习IOS开发项目篇--如何让程序在后台保持挂起状态

程序的状态分为:前台运行,后台挂起,后台休眠,为了让项目的网络请求保持活跃状态,需要对程序进行设置. 在applicationDidEnterBackground方法中调用下面的方法,可以让程序进入挂起状态,但在未知时间内,可能会被系统设置为休眠,如果在将程序设置为播放器,并且循环播放一个MP3文件,可以保持永久挂起状态. UIBackgroundTaskIdentifier task =[application beginBackgroundTaskWithExpirationHandler:

一个程序员的十年总结

展望未来,总结过去10年的程序员生涯,给程序员小弟弟小妹妹们的一些总结性忠告 走过的路,回忆起来是那么曲折,把自己的一些心得体会分享给程序员兄弟姐妹们,虽然时代在变化,但是很可能你也会走我已经做过的10年的路程,有些心得体会你可以借鉴一下,觉得说得有道理的你就接纳,觉得说得没道理的,你就抛弃,以下是我发自内心的,给大家的忠告,特别是针对那些小弟弟妹妹们. 01. 自己的户口档案.养老保险.医疗保险.住房公积金一定要保管好.由于程序员行业每年跳槽一次,我不隐瞒大家,我至少换过5个以上的单位,这期间