iOS App之间跳转

从一个APPClient跳转到另一个APPServer,这里的APPClient APPServer知识代表两个不同的APP,不拥有BunldId的功能。我刚开始就理解错了。

实现从APPClient跳转到另一个APPServer:

1.首先在APPServer的info.plist中添加一行属性。

url 的构成为:pupuwang://com.pupuwang.XWCustomer

其中 URL Schemes 最重要 ,为url的前缀,URL identifier 为url的://后面的字符串

2. 在APPServer的UIApplication的代理中,实现

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
    if ([[url absoluteString] isContainSubString:@"com.pupuwang.XWCustomer"]) {
        return YES;
    }
    return NO;
}

3.在APPClient中

NSURL *url = [NSURL URLWithString:@"pupuwang://com.pupuwang.XWCustomer"];// url 模式:APPServer的URL Schemes://URL identifier
BOOL hasInstagram = [[UIApplication sharedApplication] canOpenURL:url];
if (hasInstagram) {
    //跳转
    [[UIApplication sharedApplication] openURL:url];
}else{
    //到appStore下载

    //NSString *url = [NSString stringWithFormat:@"https://itunes.apple.com/cn/app/id%@",XW_B_APPID];
    NSString *url = [NSString stringWithFormat:@"https://itunes.apple.com/"];
    UIApplication * application = [UIApplication sharedApplication];
    //到store下载商户版
    [application openURL:[NSURL URLWithString:url]];
}

并且实现UIApplication的代理

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
    return YES;
}

即可实现从APPClient跳转到APPServer

时间: 2024-08-27 07:15:39

iOS App之间跳转的相关文章

ios俩个APP之间跳转、传值

两个APP之间的跳转是通过[[UIApplication sharedApplication] openURL:url]这种方式来实现的. 1.首先设置第一个APP的url地址 2.接着设置第二个APP的url地址 3.需要跳转的时候 NSString *urlString = [NSString stringWithFormat:@"AppJumpSecond://%@",textField.text]; [[UIApplication sharedApplication] open

ios两个app之间跳转,传值的实现

两个APP之间的跳转是通过[[UIApplication sharedApplication] openURL:url]这种方式来实现的. 1.首先设置第一个APP的url地址 2.接着设置第二个APP的url地址 3.需要跳转的时候 NSString *urlString = [NSString stringWithFormat:@"AppJumpSecond://%@",textField.text]; [[UIApplication sharedApplication] open

iOS App之间常用的五种通信方式及适用场景总结

iOS系统是相对封闭的系统,App各自在各自的沙盒(sandbox)中运行,每个App都只能读取iPhone上iOS系统为该应用程序程序创建的文件夹AppData下的内容,不能随意跨越自己的沙盒去访问别的App沙盒中的内容. 所以iOS 的系统中进行App间通信的方式也比较固定,常见的app间通信方式以及使用场景总结如下. 1.URL Scheme 这个是iOS app通信最常用到的通信方式,App1通过openURL的方法跳转到App2,并且在URL中带上想要的参数,有点类似http的get请

iOS App之间的通信 -local socket

之前看到一篇文章介绍到App之间的五种通信方式,它分别有URL Scheme,Keychain,UIPastedboard,UIDocumentInteractionController以及利用socket进行本地通信.前面4种都有用到过,也相对比较简单,几行代码的事.对于最后一种之前一直没用到过(原谅我还是个小白),所以今天试着写了下,这儿记录在这里和大家分享. 好了,废话不多说,开始: 首先,说下它的原理,其实很简单,一个App在本地的端口进行TCP的bind和listen,另外一个App在

iOS --- 通过openURL实现APP之间跳转并传递数据

在IOS中,实现一个应用启动另外一个应用,使用UIApplication的openURL:方法就可实现,这里以test跳到test02为例.(需要先创建这两个工程) 注册自定义URL协议(在test中) 首先被启动的应用需要向iPhone注册一个自定义URL协议.这是在info.plist文件进行的. 1. 右键,选择“Add Row” 2. Key值选择“URL types” 3. 打开“Item 0″,然后为该key增加一个URL identifier.可以是任何值,但建议用“反域名”(例如

iOS App 内跳转到手机系统设置页面

在iOS开发中,有时会有跳转系统设置界面的需求,例如提示用户打开提醒用户打开推送或者位置权限等. 在iOS6之后,第三方应用需要跳转系统设置界面,需要在URL type中添加一个Prefs值,如下图: 注意:设置跳转有三种方式,每一种的使用场景都不同. 并且你在跳转到系统中自己应用下面设置的时候, 你的应用要提前至少申请了某一个权限,如通知,定位等.否则,会引起崩溃. 方式一:prefs:root=某项服务 方式二:prefs:root=bundleID 方式三: UIApplicationOp

IOS应用之间跳转

我们来讨论一下,在iOS开发中,如何实现从app1打开app2. 基本的思路就是,可以为app2定义一个URL,在app1中通过打开这个URL来打开app2,在此过程中,可以传送一些参数.下面来讨论一下具体的实现过程. 1. 在app2的info.plist中定义URL,就是在文件中添加URL types一项.可按下图进行添加. 2. 在app1的代码中打开刚才定义的URL,代码如下: [cpp] view plaincopy NSURL *url = [NSURL URLWithString:

ios app下载跳到itunes

<body class="box"> <div class="text"> <a href="https://itunes.apple.com/us/..." id="openApp"> <div class="down"><img src="./img/3.png" class="photo"></d

iOS App之间传递数据的几种方式

UIDocumentInteractionController UIActivityViewController Shared Keychain Access Custom URL Scheme Web Service iCloud API UIPasteboard 参考 http://enharmonichq.com/sharing-data-locally-between-ios-apps/ http://stackoverflow.com/questions/9425706/share-d