我這裏只是寫了部分東西,如果想看更加詳細的,請點擊原文鏈接.
原文鏈接:http://blog.csdn.net/likendsl/article/details/7553605
原則上iOS的沙箱原理,是阻止一個app去訪問其他app的資源乃至是系統底層的資源的但是我們可以通過一種變相的方式:通過對應的URL模式和其他程序進行通訊.
iOS應用之間的調用步驟:
一, 調用自己開發的應用
1)在plist文件中,註冊對外接口
在xcode group&files 裏面,展開 resources選擇info.plist
鼠標右擊information property list ,然後從列表中選擇URL types
右擊 add row 添加一個對象(item)右擊item add row
從列表中選擇 URL Schemes 再右擊添加一個對象(item1)
將item1得值設置爲:myapp
這個myapp就是對外接口,其它應用可以通過它,調用該應用
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的方法
一、調用app store界面方法
在實際開發中,往往要推薦自己其他應用和推薦自己的收費軟件,那麼我們就需要在程序中直接連接到app store的相應頁面。
實際上的做法很簡單,使用的還是UIApplication類的OpenURL方法:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"程序的相應連接"]];
二、調用其它應用的方法
1)調用 自帶mail
[[UIApplicationsharedApplication] openURL:[NSURLURLWithString:@"mailto://[email protected]"]];
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"]];
上面是最基本的語句,沒什麼處理過程。
如:調用phone可以傳遞號碼,調用SMS只能設定號碼,不能初始化SMS內容。