2012-02-15 280 views

回答

1

你可以做,如果有問題的應用程序有一個定義的協議,例如,如果你想打電話通過Skype一個數字,你可以像

NSString *contactName = @"user123"; 
NSURL *skypeURL = [NSURL URLWithString:[NSString stringWithFormat:@"skype://%@?call", contactName]]; 
if ([[UIApplication sharedApplication] canOpenURL:skypeURL]) { 
    [[UIApplication sharedApplication] openURL:skypeURL]; 
} else { 
    // Display to the user how to install skype. 
} 

執行的操作同樣可以發生其他程序,其有一個可以理解的協議定義。

而就在4記載,這裏是專門URL方案的列表 http://wiki.akosma.com/IPhone_URL_Schemes

然後,如果你希望你的應用程序進行網址方案不兼容,你可以通過閱讀本有一個好的開始: http://www.idev101.com/code/Objective-C/custom_url_schemes.html 這篇文章非常好,很詳細。

How do you set your Cocoa application as the default web browser?

它解釋瞭如何使您的應用程序處理的自定義URLScheme,這原來是你的情況。

希望它可以幫助。

k

其他情況我不知道它是否可能。

+0

如何製作一個程序,以便它可以被外部應用程序調用,例如[[UIApplication sharedApplication] openURL:skypeURL];你寫的? – rakeshNS 2012-02-15 12:23:13

+0

我剛剛更新瞭解釋如何做到這一點的鏈接。 ;-) – holographix 2012-02-15 12:24:38

0

不,這是不可能的,除非這些應用程序支持URL Scheme,那麼你可以使用URL啓動它。

+0

什麼是URL方案?你能解釋一下嗎? – rakeshNS 2012-02-15 12:19:02

0

不可能,因爲所有的iPhone應用程序都將運行在不同的獨立進程中,並且擁有自己的運行時環境。只有有限的IPC(進程間通信)可用,對於系統庫和資源也是如此。

0

不可以。無法在應用內打開另一個應用。但是,您可以通過使用CFBundleDocumentTypesUIDocumentInteractionController

  1. URL Scheema

  2. Open_In功能打開從你的應用程序反之亦然一個不同的應用程序。

相關問題