AppB中获取AppA的照片

URLType配置

分别配置 两个应用的 URLType

AppA定义URLType为AppA0000000000

AppB定义URLType为AppB0000000000

AppB在需要获取AppA中的图片使用如下方法

1
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"AppA0000000000://demo.prefix?imageName=aaa"]];

AppA中

拦截方法获取处理图片并返回给AppB

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
if ([[url host] isEqualToString:@"demo.prefix"]) {
NSArray *params = [[url query] componentsSeparatedByString:@"&"];
for (NSString *param in params) {
NSArray *keyValue = [param componentsSeparatedByString:@"="];
NSString *value = [keyValue lastObject];
UIImage *image = [UIImage imageNamed:value];
NSData *data = UIImagePNGRepresentation(image);
NSString *base64String = [data base64EncodedStringWithOptions:0];
NSURL url = [NSURL URLWithString:[NSString
stringWithFormat:@"AppB0000000000://%@", base64String]];
// 将base64后的字串带给AppB
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
}
}
return YES;
}

AppB中同上述AppA的方法进行拦截获取图片