您的位置:首页 > 其它

需求 - 2 - 应用程序跳转(URLSchemes)

2015-08-28 17:11 316 查看
需求2具体是:因为用itms-services跳转的浏览器是空白页面,我想要在这空白的页面里面添加一些图片或者是文字提醒。

刚开始想着讲intall.html添加在本地然后直接用:file:///Users/luxiangting/Desktop/install.html

file协议来打开itms-services,然后想想真是脑袋坏了,这个和之前跳转代码认为和前面一大堆参数有关是相同道理的,无论用模拟器还是iPhone机器上都不能直接用file协议,你以为是Mac book打开文件夹那么好玩啊。。那么该怎么办了。搜了一下相关的资料,有两个知识点需要弄清楚:1.URL Scheme 2.openURL 的方法。

URL Scheme openURL的一个简单应用,如果看完了参考文章应该都可以明白和开始动手做了,动手才是真正容易了解和明白其原理的最好方法

1.

首先在第一个工程的info.plist里面修改URL Schemes,修改如下,具体就不解释了,望文可以生义,URL identifier肯定是唯一的,所以标志着应用自身,而URL Schemes说实话,直译是比较困难理解的,URL 机制? 且不急,等我们继续往下看





2.

分别在第一个和第二个工程添加一个按钮,点击事件分别附上如下代码和相应的 “地址”

第一个工程:

static NSString* itmsURL = @"QIPAO://com.qipao.qipaoTest";


- (void)itmsButtonClicked:(id)sender
{
    NSLog(@"button Clicked !");
    
    NSURL* url = [NSURL URLWithString:itmsURL];
    
    if ([[UIApplication sharedApplication] canOpenURL:url])
    {
        [[UIApplication sharedApplication] openURL:url];
    }
    
    NSLog(@"123123 : %@", [[UIApplication sharedApplication] canOpenURL:url]? @"YES" :@"NO");
}


第二个工程:

static NSString* iosfighterURL = @"IOSFIGHTER://com.iosfighterlb.practise";


- (void)urlSchemeTest
{
    NSLog(@"KeyBoard AddButton Clicked !");
    
    NSURL* url = [NSURL URLWithString:iosfighterURL];
    
    if ([[UIApplication sharedApplication] canOpenURL:url])
    {
        [[UIApplication sharedApplication] openURL:url];
    }

}


分别实现了以后,就可以实现来回跳转的效果啦哈哈。相信看完代码也懂了URL Schemes 和 URL identifier 的意义了吧?

URL Schemes就是别人“跳”我们的应用时候用的前缀,但是地址格式是 URL Schemes + :// + URL identifier !

itms协议待续...

参考:
http://www.cocoachina.com/industry/20140522/8514.html http://blog.csdn.net/zhibudefeng/article/details/7725008
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: