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

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

作者: coco_CC | 来源:发表于2016-11-21 16:07 被阅读230次

A页面:

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

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

在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里添加)

<key>LSApplicationQueriesSchemes</key>

<array>

//qq是mqq

<string>mqq</string>

//myapp  是刚测试用的

<string>myapp</string>

</array>

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

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,需要先添加白名单,并传参带汉字

      本文链接:https://www.haomeiwen.com/subject/vhuupttx.html