一個(gè)程序若要跳到另一個(gè)程序。需要在目標(biāo)程序的plist文件里面修改:
打開info.plist,添加一項(xiàng)URL types
展開URL types,再展開Item0,將Item0下的URL identifier修改為URL Scheme
展開URL Scheme,將Item0的內(nèi)容修改為shashan.SecondApp(此為跳轉(zhuǎn)的key)。
然后在原程序里面,要開始跳轉(zhuǎn)的地方,可以為一個(gè)button的方法。里面寫上:
NSURL * myURL_APP_A = [NSURL URLWithString:@“shashan.SecondApp://AAAAA"];//shashan.SecondApp為目標(biāo)App的key
if ([[UIApplication sharedApplication] canOpenURL:myURL_APP_A]) {
NSLog(@"canOpenURL");
[[UIApplication sharedApplication] openURL:myURL_APP_A];
}
然后就可以跳轉(zhuǎn)了。如果要跳回,方法相同。
已有應(yīng)用程序
AppStore里面找到應(yīng)用程序,點(diǎn)擊應(yīng)用程序下面的小三角圖標(biāo),再選擇”復(fù)制鏈接“,就可以獲取此應(yīng)用的鏈接了。
itunes.apple.com/cn/app/bai-du-wen-kuhd/id483064532?mt=8
然后將 https:// 替換為 itms:// 或者 itms-apps://:
然后在程序中寫如下代碼:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itunes.apple.com/cn/app/bai-du-wen-kuhd/id483064532?mt=8"]]
下面附贈(zèng)主要代碼:
在本APP的.m文件中,主要代碼有
// 本App跳轉(zhuǎn)到SecondApp - (IBAction)appJumpToAnotherAppAction:(id)sender { NSURL *url = [NSURLURLWithString:@"shanshan.SecondApp://AAAA"];//通過openUrl進(jìn)行跳轉(zhuǎn),可以傳遞一些參數(shù)
if ([[UIApplication sharedApplication]canOpenURL:url]) { [[UIApplication sharedApplication]openURL:url]; }else{ NSLog(@"應(yīng)用程序未安裝"); } } // 本App跳轉(zhuǎn)到AppStore - (IBAction)AppChangeToAppStore:(id)sender { [[UIApplicationsharedApplication]openURL:[NSURLURLWithString:@"itms://itunes.apple.com/cn/app/bai-du-wen-kuhd/id483064532?mt=8"]]; [[UIApplicationsharedApplication]openURL:[NSURLURLWithString:@"itunes.apple.com/cn/app/bai-du-wen-kuhd/id483064532?mt=8"]]; } 在SecondAPP
AppDelegate 中的主要代碼 - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { if ([[urlscheme]isEqualToString:@"shanshan.SecondApp"]) { NSLog(@"從%@跳轉(zhuǎn)過來的 - %@",sourceApplication,[url resourceSpecifier]); self.otherString = [[[urlresourceSpecifier]componentsSeparatedByString:@"http://"]objectAtIndex:1]; NSLog(@"傳遞過來的參數(shù) = %@",self.otherString);
} return YES; } |
|