【原+轉(zhuǎn)】iOS一個應(yīng)用打開另一個應(yīng)用

實現(xiàn)效果:應(yīng)用app1的一個按鈕點擊,進(jìn)入應(yīng)用app2應(yīng)用。

主要代碼:

 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"app2://"]];

具體步驟如下:

1.先給app2添加一個URL Schemes:app2.
1.app2添加URL Schemes.png
3.app1代碼:找到info.plist,添加LSApplicationQueriesSchemes,添加app2的URL Schemes,這句話很重要?。。?/h6>
2.給app1的info.plist添加app2的url schemes.png
3.給app1的按鈕點擊事件寫上這句話即可:
- (IBAction)ClickOpenUrlAction:(id)sender {

    //打開app2:
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"app2://"]];
}
4.先運(yùn)行app2,再運(yùn)行app1,點擊app1的按鈕,就可以打開app2的應(yīng)用了。

【拓展】:

如果想要打開app2的時候給app2傳遞參數(shù),可以在“// ”后面寫上,如: [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"app2://id=22&&name=mmmm"]];

這樣就實現(xiàn)了第一步打開要調(diào)用的應(yīng)用,app2://就是本地的url,后面的參數(shù)則是你要傳遞的參數(shù),這是為了后面打開應(yīng)用中指定的頁面做準(zhǔn)備。
1.app1項目打開app2應(yīng)用:

//打開app2:
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"app2://id=22&&name=mmm"]];

2.app2項目的appdelete.m文件代碼接收參數(shù):

//應(yīng)用未在后臺執(zhí)行走這里
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
    if (launchOptions!=nil){
        [launchOptions objectForKey:@"UIApplicationLaunchOptionsRemoteNotificationKey"];
        NSURL *url = [launchOptions objectForKey:UIApplicationLaunchOptionsURLKey];
        if(url)
        {
            NSString *urlString=[NSString stringWithFormat:@"%@",url];
         [[NSUserDefaults standardUserDefaults] setObject:urlString forKey:@"url"];
        }
    }
    return YES;
}

//應(yīng)用后臺運(yùn)行的話會走這里
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
    NSLog(@"輸出%@",url);
    NSString *urlString=[NSString stringWithFormat:@"%@",url];
    [[NSUserDefaults standardUserDefaults] setObject:urlString forKey:@"url"];

    return YES;
}
//應(yīng)用后臺運(yùn)行的話會走這里
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
    NSLog(@"ddd輸出%@",url);
    NSString *urlString=[NSString stringWithFormat:@"%@",url];
    [[NSUserDefaults standardUserDefaults] setObject:urlString forKey:@"url"];

     return YES;
}

如圖:

app2接收參數(shù).png

參考:
1.http://blog.csdn.net/lh_work/article/details/25197781
2.http://www.cnblogs.com/-zhangwy/p/6026040.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 因為項目的需要,我們公司的兩個項目要可以相互訪問,查找資料,經(jīng)過自己的總結(jié)寫下這篇文章,希望可以幫助大家。 1.注...
    UNforgetta_ab44閱讀 5,362評論 0 0
  • 目標(biāo) 平常我們做iOS開發(fā),會經(jīng)常遇到打開其他的APP的功能。本篇文章講的就是打開別人的APP的一些知識。我們的目...
    謙言忘語閱讀 182,533評論 77 309
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,569評論 19 139
  • 一、應(yīng)用場景 單點授權(quán)登錄,第三方分享,第三方登錄 二、跳轉(zhuǎn)方法 例如手機(jī)有兩個應(yīng)用,app1和app2,app1...
    RogerHXJ閱讀 2,403評論 1 1
  • 在陽光明媚的清晨里 你是我心里一個只有背影的天使 曾經(jīng)的記憶里我們心靠得那么近 可是忽然一句話語握不住空氣里冷漠的...
    畫心心語閱讀 1,315評論 1 8

友情鏈接更多精彩內(nèi)容