应用跳转


应用程序跳转

从weixin跳转到QQ
1、给应用程序配置URL
2、URL:协议头+路径(URL可以没有路径)
3、相同的协议头+不同的路径能打开同一个应用程序
4、如QQ:// 和 QQ://123 QQ://345都能打开QQ
5、打开应用程序:openURLWithString:@"QQ://"
6、当跳转到QQ时会调用QQ应用的AppDelegate中的方法

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

7、可以在这个方法中,根据URL的路径来打开QQ的不同界面(获取到相应界面的导航控制器来跳转)。
8、想要在QQ中回到weixin,那么同样需要配置URL
9、从哪个app跳转过来的,就跳回哪个app,所以需要在跳转过来的时候将数据传递到AppDelegate中,然后AppDelegate将数据传递到跳转的界面。
10、AppDelegate传递数据到跳转界面最好的方法不是代理和通知。

方法一:(简单)在AppDelegate中添加一个属性,在其他界面直接通过[UIApplication sharedApplication].delegate
            获取到这个AppDelegate,就能获取到这个属性的只。
方法二:(麻烦)根据事件的传递:QQ的AppDelegate跳转到的QQ界面(如:说说),给说说界面的导航控制添加属性,
            通过AppDelegate给这个属性传值,然后,再给说说界面添加属性,导航控制器再将值传递给说说界面。

你可能感兴趣的:(应用跳转)