iOS程序中打开其他程序的方法

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"]]
//其他参数通过路径送入

}

你可能感兴趣的:(iOS程序中打开其他程序的方法)