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

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]];

```

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容