1.1 如果被打开程序不是自己的,则要找到被打开App的URL Schemes。 http://jbguide.me/2012/09/12/how-to-find-url-schemes%EF%BC%9F/
1.2 如果被打开程序是自己写的,那么写程序时要实现
- 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>
- 如需参数 实现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"]] //其他参数通过路径送入 }