1.1 如果被打开程序不是自己的,则要找到被打开App的URL Schemes。
http://jbguide.me/2012/09/12/how-to-find-url-schemes%EF%BC%9F/
1.2 如果被打开程序是自己写的,那么写程序时要实现
1) appname-info.plist里增加
<key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>CalledApp</string> </array> <key>CFBundleURLName</key> <string>com.yourcompany.appName</string> </dict> </array>
2) 如需参数 实现UIApplication delegate
- (BOOL)application:(UIApplication )application openURL:(NSURL )url
sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
if ([[url scheme] isEqualToString:@“CalledApp”]) {//根据路径解析参数 .... return YES;
}
return NO;
}
2 打开其他程序APP完成以下操作
if(YES == [[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@“CalledApp://com.yourcompany.appName”]]){
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"CalledApp://com.yourcompany.appName"]] //其他参数通过路径送入
}