两个App之间传值并跳转

类似于支付宝需要支付时需要跳转到支付页面,两个简单的程序之间的跳转并传值。


例如:有两个App分别为A和B,由A跳转至B,

首先,要想一个应用能被其它应用打开,必须设置一个唯一的URL Scheme,设置方法为在Project的info里的URL Types里面设置,

注意URL Scheme最好全用小写字母,因为系统调用的时候传过来的URL Scheme全部变为小写字母。

在A的程序里,

- (IBAction)onBtnOpenClick:(id)sender {

    //liueaster为要打开的应用的URL scheme,你好为传递给该应用的参数

    NSString *strUrl = @"liueaster://你好";

    //因为包括中文、空格等在内的很多字符不能出现在URL中,所以如果URL中必须包含这些信息则必须先进行转码,同样接收方也必须进行反向替换

    NSString* encodedString = [strUrl stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    NSLog(@"encodedString: %@", encodedString);

    NSURL *url= [NSURL URLWithString:encodedString];

    [[UIApplication sharedApplication] openURL:url];

}

在B中应用中必须在AppDelegate中写,

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

{

    //处理链接

    NSString *text = [[url host] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];//

    //之后做一些自己需要的操作。。

    return YES;

}

以上,就可以实现最简单的两个页面之间的传值了。


你可能感兴趣的:(ios,应用间传值)