我们经常会遇到在一个应用里面呼出另一个应用的需求,比如在文档里面点击地址,调用safari来打开网页;比如在文件浏览器里面点击某种文件,自动激活一个应用来打开文件。

iOS里面对于这样的需求使用URL来实现,把其他的应用看成一种资源,本质上就是调用系统资源。

我们有两个应用App1和App2,在App2里面呼出App1,那么首先要配置App1,让系统认识App1的URL,这个就是配置info.plist文件的某些项,在Xcode里面就是配置一些选项,在Xcode4.6.2里面的样子如下图:

这样就设置好了相关项,Identifier需要保持每个应用不同,所以推荐采用逆向域名,URL Schemes就是呼起这个应用的URL的开头。

在App1的设置到这里就可以了,App2里面需要呼出App1时,代码也很简单:

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

    if ([[UIApplication sharedApplication] canOpenURL:url]) {
NSLog(@"can open %@", url);
[[UIApplication sharedApplication] openURL:url];
}

URL必须myapp://起头,后面可以跟上一些内容,如果仅仅要呼出应用,那么仅写这个头也可以了。

到这里,我们已经实现了在App2内呼出App1。在iOS4.2的系统之后,这样的一个调用会在App1里面调用-(BOOL)application:(UIApplication
*)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id) annotation这样一个方法。

iOS中如何呼出另一个应用的更多相关文章

  1. IOS中使用.xib文件封装一个自定义View

    1.新建一个继承UIView的自定义view,假设类名叫做 MyAppVew #import <UIKit/UIKit.h> @class MyApp; @interface MyAppV ...

  2. ios中LeveyPopListView 弹出view的用法

    下载地址https://github.com/levey/LeveyPopListView 是arc,  如果是非arc项目要设置一下 方法 选中工程->TARGETS->相应的targe ...

  3. H5页面IOS中键盘弹出导致点击错位的问题

    IOS在点击输入框弹出键盘  键盘回缩 后 定位没有相应改变  还有  textarea 也会弹出键盘 $("input").blur(function() { console.l ...

  4. MVC中 跳转出某一个Area的方法

    1. return RedirectToRoute(new { Controller= "Home",Action="Index",Area="&qu ...

  5. asterisk中使用dahdi通道呼出的注意事项

    asterisk中使用dahdi通道呼出的注意事项 在使用dahdi通道呼出的时候,可以在Dial中对呼出所使用的通道进行指定选择.以下面的例子来说明: 场景说明:数字板卡单E1,使用pri信令,1- ...

  6. iOS中事件传递过程

    iOS中,UIApplication管理着一个事件的队列,当系统获取用户的点击或滑动等事件后,就会将这些事件按顺序插入UIApplication管理的这个队里中,UIApplication再从这个队列 ...

  7. 【IOS】ios中NSUserDefault与android中的SharedPreference用法简单对比

    以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/3405308.html 有Android开发经验的朋友对Shar ...

  8. iOS中如何创建一个滑出式导航面板(1)

    本文将介绍如何创建类似Facebook和Path iOS程序中的滑出式导航面板. 向右滑动 滑出式设计模式可以让开发者在程序中添加常用的导航功能,又不会浪费屏幕上宝贵的空间.用户可以在任意时间滑出导航 ...

  9. IOS 中openGL使用教程2(openGL ES 入门篇 | 绘制一个多边形)

    在上一篇我们学习了如何搭建IOS下openGL的开发环境,接下来我们来学习如何绘制一个多边形. 在2.0之前,es的渲染采用的是固定管线,何为固定管线,就是一套固定的模板流程,局部坐标变换 -> ...

随机推荐

  1. c++大数模版

    http://blog.csdn.net/hackbuteer1/article/details/6595881 #include<iostream> #include<string ...

  2. 关于网络协议和socket编程基本概念

    TCP协议可以说已经是IT人耳熟能详的协议,最近在学习socket网络编程时后重新温习一下这个协议,针对一些问题做了一些总结,很多理解可能还不是很准确. 1. 协议是什么?所谓的各种网络协议无非是一种 ...

  3. Android下EditText中的字体不统一问题

    Android下EditText中的字体不统一问题 好久没写,今天心情好略记下解决的某bug 在一个登录界面有帐号和密码两个EditText,但是却发现两个EditText的hint的英文字体不同,看 ...

  4. QT:程序忙碌时的进度条——开启时间循环,等结束的时候再退出

    当程序在执行一项(或多项)耗时比较久的操作时,界面总要有一点东西告诉用户“程序还在运行中”,那么,一个“没有终点”的进度条就是你需要的了.PS:最好把耗时的操作扔到一个子线程中去,以免他阻塞了界面线程 ...

  5. html5 notifications通知

    http://www.html5rocks.com/en/tutorials/notifications/quick/?redirect_from_locale=zh http://www.paulu ...

  6. HDU 4082 Hou Yi's secret(暴力)

    直接6重循环就行了吧...判三角形相似直接从小到大枚举两向量夹角是否相等就行了.注意去重点跟三点共线就行了... #include<algorithm> #include<iostr ...

  7. Embedded software develop step

    x86 –>embeded so you you  must familiar with x86 first-

  8. 链表k个节点反向

    问题: 以k个元素为一组,反转单向链表.比如: 输入: 1->2->3->4->5->6->7->8->null and k = 3 输出:3-> ...

  9. 基于TCP套接字实现的简单Demo

    由于代码的注释已经很详尽了,所以这里不再作过多说明.仅仅贴出代码和结果图. 值得注意的是必须先启动server程序再启动client. Server: #include <WINSOCK2.H& ...

  10. UML_行为图

    活动图是UML用于对系统的动态行为建模的另一种常用工具,它描述活动的顺序,展现从一个活动到另一个活动的控制流.活动图在本质上是一种流程图.活动图着重表现从一个活动到另一个活动的控制流,是内部处理驱动的 ...