IOS APP与APP和APP与Safari间的跳转

最近做项目遇到这么一个需求:从APP 跳转到 Safari 然后再跳回APP 。以前做过从APP 跳到Safari ,很简单,这里就不多说了。重点说一下从Safari跳回到APP,以及从APP跳到APP。(其实这两个几乎是一回事。)

首先从Safari跳到APP

既然要想跳到你指定的APP,那么就需要在你的APP中定义一个特殊的标示,也就是一个URL协议。

定义URL协议的如下图  TARGETS ——> info ——>URL Types——>添加一个URL协议

如图 其中URL Schemes字段就是你这个APP的特殊标示,而indentifier字段是这个URL协议的标示。(一个APP可以拥有多个URL协议)

下面的两个字段可为空。最后再运行一下你的APP。

接下来就是见证奇迹的时刻了

打开你模拟器中的Safari浏览器,在输入在地址栏输入:appABC://

然后回车,结果就是你想要的。(是不是很简单?)

有时候你可能需要在从Safari跳回到APP时传一些参数,那么又有什么方法可以接收这些参数呢?

在appdelegate.m文件中写下如下方法

这个方法是系统自动调用的方法,意思是:如果APP是通过openURL打开的自动调用此方法。而参数 url 就是打开APP的特定的URL。也就是上面的 appABC://  ,但是怎么通过这个方法传参呢?

答案就在URL中,你可以在 appABC:// 后面加上任何你想要的字符参数,例如appABC://name:wanglei//name:lilei

至于如何把这些参数给解析出来,就看你怎么处理了。

下面是  APP(A)跳转APP(B)

前面说了他们之间的原理是一样的,从Safari跳到APP是通过打开特定的URL,那么从 APP(A)跳转APP(B)是不是也要打开特定的URL呢?

答案是肯定的,那么怎么打开这个特定的URL呢,其实在UIApplication里面有这么一个方法openURL,如下

[[UIApplication shareApplication] openURL:url]

参数URL为APP(B)特定的URL协议所表示的URL(后面会附上demo)

至于对参数的处理同上

下面是APP(A)与APP(B)相互跳到转的demo

http://download.csdn.net/detail/u012884714/7679105

本文就到这里,欢迎指正交流 —— LC

IOS APP与APP和APP与Safari间的跳转

时间: 2024-10-08 14:07:57

IOS APP与APP和APP与Safari间的跳转的相关文章

苹果iOS系统下检查第三方APP是否安装及跳转启动

\ 在iOS系统,使用Url Scheme框架在APP间互相跳转和传递数据,本文只介绍如果检测和跳转. Url Scheme框架 如果你想知道ios设备中是否安装QQ这个软件,我们可以通过一个简单方法判断到: if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"mqq://"]]) { NSLog(@"install--"); } else { NSLog(@"n

(Android+IOS)正在做一个新闻App,做的差不多了,听听大家的建议 (图)

(Android+IOS)正在做一个新闻App,做的差不多了,听听大家的建议! 新闻采集器做好了,前端展示APP界面感觉还不是很好,还需要改进改进,希望发布(Android和IOS版本)前听听大家的建议! 新闻采集器做好了,前端展示APP界面感觉还不是很好,还需要改进改进,希望发布前听听大家的建议!

qt-qml移动开发之在ios上开发和部署app流程简介

qt5.3已经全面支持移动开发,除了mac,windows,linux,还支持ios,android,wp,meego等移动平台,本教程是作者根据自己的经验,从头讲怎么样在ios上发布自己的app,由于目前国内相关文章还比较少,可能文章里有所疏漏,或者并非最优方法. 软件准备:qt5.3 , xcode 5.1.1 编译环境: Mac os Qt5.3下载地址http://qt-project.org选择对应的Mac ox版本,支持iOS和android的版本,安装过程省略 Xcode在app

发布IOS应用程序到苹果APP STORE完整流程

参考:http://blog.csdn.net/mad1989/article/details/8167529(xcode APP 打包以及提交apple审核详细流程(新版本更新提交审核)) http://www.ttlsa.com/dev/how-to-publish-iosapp-to-appstore/ (如何发布IOS应用程序到苹果APP STORE) 开发环境:xcode5.1.1 iphonesdk:7.1 开发机器:iMac 真机部署测试:apple个人开发者ID 向导: 必备ID

iOS 怎么样给自己的app打分呢?

NSString *str =  [NSString stringWithFormat:@"itms-apps://itunes.apple.com/app/id%@",@"884886468"]; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:str]]; 转载自 张江论坛  请注明~ iOS 怎么样给自己的app打分呢?,布布扣,bubuko.com

qt-qml移动开发之在ios上开发和部署app流程简单介绍

qt5.3已经全面支持移动开发,除了mac,windows,linux.还支持ios,android,wp,meego等移动平台,本教程是作者依据自己的经验,从头讲怎么样在ios上公布自己的app.因为眼下国内相关文章还比較少,可能文章里有所疏漏,或者并不是最优方法. 软件准备:qt5.3 , xcode 5.1.1 编译环境: Mac os Qt5.3下载地址http://qt-project.org选择相应的Mac ox版本号,支持iOS和android的版本号.安装过程省略 Xcode在a

iOS开发之剖析"秘密"App内容页面效果(二)

@前些天写了一篇"秘密"的Cell效果文章,但是与在工作中想要的效果还是有差距,而且扩展性很不好,于是重写封装,把整体视图都放到scrollView中,基本是和secret app 一模一样的效果了. @代码如下:(模糊效果的类就不写了,大家可以搜"UIImage+ImageEffects",还要导入Accelerate.framework) 1.MTSecretAppEffect.h #import <Foundation/Foundation.h>

iOS编程基础: Hello World App是如何运作的?

参照里Linux目录建立文件系统目录. 解压源码进入目录配置编译器和编译架构: CROSS_COMPILE ?= arm-linux- ARCH = arm. 执行make menuconfig 进行配置 选择静态编译, 在Installation Options中选择安装路径(可以直接选择刚才建立到目录).保存退出. make make install 生成文件. 进入建立好目录到etc目录执行:cp -rf ../../busybox-1.13.0/examples/bootfloppy/e

iOS开发之剖析&quot;秘密&quot;App内容页面效果

最近在玩"秘密",发现点击主界面的Cell进去后的页面效果不错,就写了个Demo来演示下. 它主要效果:下拉头部视图放大,上拉视图模糊而且到一定位置固定不动,其他Cell可以继续上移. @封装的主要效果类:MTHeadEffect.m(.h文件省略,很简单的) #import "MTHeadEffect.h" #import <QuartzCore/QuartzCore.h> #import <Accelerate/Accelerate.h>