iOS打開一個指定的應用

原則上iOS的沙箱原理,是阻止一個app去訪問其餘app的資源乃至是系統底層的資源的可是咱們能夠經過一種變相的方式:經過對應的URL模式和其餘程序進行通信.html

iOS應用之間的調用步驟:xcode


一, 調用本身開發的應用瀏覽器

 1)在plist文件中,註冊對外接口app

 在xcode group&files 裏面,展開 resources選擇info.plistiphone

鼠標右擊information property list ,而後從列表中選擇URL types測試

右擊 add row 添加一個對象(item)右擊item add rowurl

從列表中選擇 URL  Schemes 再右擊添加一個對象(item1)spa

將item1得值設置爲:myappcode

這個myapp就是對外接口,其它應用能夠經過它,調用該應用orm

plist以下圖所示:

2).處理URL請求

應用程序委託在 application:handleOpenURL:方法中處理傳遞給應用程序的URL請求。若是您已經爲本身      的應用程序註冊了定製的URL模式,則務必在委託中實現這個方法。

下面代碼實現了這個委託方法;

 - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
    if([[url scheme] isEqualToString:@"myapp"]){
        [application setApplicationIconBadgeNumber:10];
        return YES;
    }
    return NO;
}

3).測試外部調用

1.回到Home屏幕,啓動Safari(在iPhone仿真器上,在菜單上選擇Hardware->Home命令就能夠回到Home屏幕)

2.在Safari的地址欄中,鍵入使用定製模式的URL: myapp:

3.確認您的應用程序是否啓動,以及應用程序委託是否收到application:handleOpenURL:消息

4)調用方法

  在你須要調用上面註冊過對外接口的應用中,添加下面代碼便可

  NSURL *url = [NSURL URLWithString:@"myapp:"];

  [[UIApplication sharedApplication] openURL:url];

 經過上述兩個步驟,你能夠在你的應用中,讓用戶打開你的其它應用

 

二, 調用IOS自帶的應用

上面講述的是調用自身的應用,講解了如何在本身應用之間調用問題,今天介紹一下若是調用IOS自帶的app的方法

1、調用app store界面方法

在實際開發中,每每要推薦本身其餘應用和推薦本身的收費軟件,那麼咱們就須要在程序中直接鏈接到app store的相應頁面。

 

實際上的作法很簡單,使用的仍是UIApplication類的OpenURL方法: 

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"程序的相應鏈接"]];

2、調用其它應用的方法

1)調用 自帶mail


[[UIApplicationsharedApplication] openURL:[NSURLURLWithString:@"mailto://admin@hzlzh.com"]];

2)調用 電話phone


[[UIApplication sharedApplication] openURL:[NSURLURLWithString:@"tel://8008808888"]];


3)調用 SMS


[[UIApplicationsharedApplication] openURL:[NSURL URLWithString:@"sms://800888"]];


4)調用自帶 瀏覽器 safari


[[UIApplicationsharedApplication] openURL:[NSURLURLWithString:@"http://www.hzlzh.com"]];

5)調用 Remote


[[UIApplicationsharedApplication] openURL:[NSURL URLWithString:@"remote://fff"]];

相關文章
相關標籤/搜索