iOS中如何呼出另一個應用

來源:互聯網
上載者:User

標籤:

我們經常會遇到在一個應用裡面呼出另一個應用的需求,比如在文檔裡面點擊地址,調用safari來開啟網頁;比如在檔案瀏覽器裡面點擊某種檔案,自動啟用一個應用來開啟檔案。

        iOS裡面對於這樣的需求使用URL來實現,把其他的應用看成一種資源,本質上就是調用系統資源。

        我們有兩個應用App1和App2,在App2裡面呼出App1,那麼首先要配置App1,讓系統認識App1的URL,這個就是配置info.plist檔案的某些項,在Xcode裡面就是配置一些選項,在Xcode4.6.2裡面的樣子如:

        

        這樣就設定好了相關項目,Identifier需要保持每個應用不同,所以推薦採用逆向網域名稱,URL Schemes就是呼起這個應用的URL的開頭。

        在App1的設定到這裡就可以了,App2裡面需要呼出App1時,代碼也很簡單:       

 

[objc] view plaincopy
  1. NSURL *url = [NSURL URLWithString:@"myapp://"];  
  2.   
  3. if ([[UIApplication sharedApplication] canOpenURL:url]) {  
  4.     NSLog(@"can open %@", url);  
  5.     [[UIApplication sharedApplication] openURL:url];  
  6. }  
 

        URL必須myapp://起頭,後面可以跟上一些內容,如果僅僅要呼出應用,那麼僅寫這個頭也可以了。

 

 

        到這裡,我們已經實現了在App2內呼出App1。在iOS4.2的系統之後,這樣的一個調用會在App1裡面調用-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id) annotation這樣一個方法。

iOS中如何呼出另一個應用

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.