说明:这里只介绍自定义Scheme的方式
1、点击项目->TARGETS->info->URL Types,点击左下角的+号。
2、

其中:
identifier:应用的唯一标识,就是Bundle ID
URL Scheme:使用UIApplication 的openURL方法的时候用到,例如:NSURL *myURL = [NSURL URLWithString:@"test://name=lisi"];
Role:一般选择为Viewer(只读模式)
3、第二步做完之后,需要在AppDelegate中实现方法,来接受第三方应用的传值。
//当一个应用程序被其他程序打开的时候会调用这个方法,在该方法中可以实现两个应用程序间的数据局传递
-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
MyLog(@"第三方请求的URL为 - %@",url);
if([[url scheme] isEqualToString:@"test"]){
NSString *content = [url query];
MyLog(@"第三方通过URL传递的内容为 - %@",content);
NSDictionary *data = [self getParamsFromNSURL:content];
UIAlertView * alert = [[UIAlertView alloc]initWithTitle:nil message:[data objectForKey:@"account"] delegate:self cancelButtonTitle:nil otherButtonTitles:@"确定", nil];
[alert show];
return YES;
}
return NO;
}
网友评论