项目中经常需要打开第三方应用软件,今天结合网上一些资料整理了下。
假如有App1和App2两个应用,现在要使App1能够跳转到App2。基本的思路是这样的,要先在App2中的定义的一个URL Type,具体设置可以在info-plist文件中设置,或者在应用的Target下--->info--->URL Types中设置。
1.在info-plist文件中设置:
URL identifier 后面的应用ID可以不用设置,但是URLSchemes中的item0必须设置,此处为ManyApp,将此item0 作为该应用的识别标记,其他的应用可以通过“ManyApp://”来打开该应用。
2.通过应用的Target下--->info--->URL Types中设置。
在项目文件导航栏中,选中项目名称,进入如下界面
以上设置好App2之后就可以通过App1来调用App2了。
在App1中定义的一个跳转按钮,实现如下
- (IBAction)ButtonClick:(id)sender {
NSURL *manyApp = [NSURL URLWithString:@"ManyAPP://"];
[[UIApplication sharedApplication]openURL:manyApp];
}
备注:在URL中只要前面包含“ManyAPP://”就可以跳转App2。
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(id)annotation NS_DEPRECATED_IOS(4_2, 9_0,
"Please use application:openURL:options:") __TVOS_PROHIBITED;
//在IOS9 之后调用如下方法
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options NS_AVAILABLE_IOS(9_0); // no equiv. notification. return NO if the application can't open for some reason
##页面跳转到原生的见 http://liushuibird.blog.163.com/blog/static/1241915612013810113326699/