URL Schemes 程序跳转

来源:互联网 发布:飞利浦呼吸机读卡软件 编辑:程序博客网 时间:2024/05/01 02:47

查看了一些关于URL Schemes的文章大体上都差不多,觉得有关程序跳转方面说的不是很清楚

1.A程序如果需要跳转到B程序  ~~首先两个程序都需要设置URL types~~如何设置 具体可参照 http://www.cocoachina.com/industry/20140522/8514.html这个教程.

2.设置完毕以后 在A项目中选择 Targets 在选择Info 拉到最下面打开URL Types 添加项目B的Identifier 以及URL Schemes.

a.(这里需要注意的是第一个默认为自身的 identifier 和URL Schemes 应该在添加第二个B的URL Schemes) 

b(如果这样设置了还没有好使,说明你遇到了与我一样的Bug 这个时候把第一个URL Type删除在运行,然后在修改,这里删除URL Type不是删除info.plist里面的URL Types)

3.在A程序中添加这个方法可实现跳转

      NSString *url =@"URL Schemes://identifier";

    if ([[UIApplicationsharedApplication]

         canOpenURL:[NSURLURLWithString:url]])

    {

        [[UIApplicationsharedApplication]openURL:[NSURLURLWithString:url]];

    }

4.祝你成功!

没有搞清楚的问题

1.据说iOS9之后需要添加白名单LSApplicationQueriesSchemes(这个是数组属性)   那么A跳转B,是否需要在A项目的Info中添加B为白名单?那么如果需要添加 LSApplicationQueriesSchemes中item 对应的字段是B的identifier 还是B的Url Schemes? 如果有大神看见了 请给我一个肯定的答案~~~~

2.

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

    return  YES;

}

这两个方法是A跳转B B返回A时候A被调用的


- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {

    return  YES;

}


A中这两个方法,在A跳转到B的时候并没有走,这两个方法难道没用嘛~~~~?

1 0
原创粉丝点击