iOS 如何启动第三方APP,需要先添加白名单,并传参带汉字

A页面:

在要启动的那个APP里的plist那创建这个结构,如下图。

注:Schemes里的value必填,identifier可填。

iOS 如何启动第三方APP,需要先添加白名单,并传参带汉字_第1张图片

在APPDelegate类实现这个方法,接受传过来的参数。

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

//处理传递过来的参数

UIAlertView*alertView;

NSString*text = [[urlhost]stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

alertView = [[UIAlertViewalloc]initWithTitle:@"Text" message:text delegate:nil cancelButtonTitle:@"OK"

otherButtonTitles:nil];

[alertViewshow];

returnYES;}

B页面:

iOS9以后为了安全,调用第三方APP时,需要先在当前APP上添加一下白名单(在plist里添加)

LSApplicationQueriesSchemes

//qq是mqq

mqq

//myapp  是刚测试用的

myapp


添加白名单后再这样判断就哦了。

if([[UIApplicationsharedApplication]canOpenURL:[NSURLURLWithString:@"myapp://"]]) {

//如果已经安装客户端,就使用客户端打开链接

[[UIApplicationsharedApplication]openURL:[NSURLURLWithString:@"myapp://"]];

}else{

//否则使用Mobile Safari或者内嵌WebView来显示

url = [NSURL URLWithString:[NSString stringWithFormat:@"http://item.taobao.com/item.htm?id=%@", itemId]];

//[[UIApplication sharedApplication] openURL:url];

}

```

NSURL*url = [NSURLURLWithString:[String stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];

```

注释下:如果传中文的话,需要转一下码,如上边代码

你可能感兴趣的:(iOS 如何启动第三方APP,需要先添加白名单,并传参带汉字)