原則上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自帶的應用
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"]];