應用之間調用 UIApplication類的OpenURL方法
一、UIApplication類的OpenURL方法
1、調用app store界面方法
在實際開發中,往往要推薦自己其他應用和推薦自己的收費軟件,那麼我們就需要在程序中直接連接到app store的相應頁面。
實際上的做法很簡單,使用的還是UIApplication類的OpenURL方法:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"程序的相應連接"]];
2、調用其它應用的方法
// 調用 自帶mail
[[UIApplicationsharedApplication] openURL:[NSURLURLWithString:@"mailto://[email protected]"]];
// 調用 電話phone
[[UIApplication sharedApplication] openURL:[NSURLURLWithString:@"tel://8008808888"]];
// 調用 SMS
[[UIApplicationsharedApplication] openURL:[NSURL URLWithString:@"sms://800888"]];
// 調用自帶 瀏覽器 safari
[[UIApplicationsharedApplication] openURL:[NSURLURLWithString:@"http://www.hzlzh.com"]];
// 調用 Remote
[[UIApplicationsharedApplication] openURL:[NSURL URLWithString:@"remote://fff"]];
調用phone可以傳遞號碼,調用SMS只能設定號碼,不能初始化SMS內容。
二、應用程序間通信
1、調在plist文件中,註冊對外接口
找到appname-info.plist文件,點擊打開它,在列表中找到URL types(如果沒有,可添加一個URL types )裏面的內容設置看下圖:
關鍵Key和Value是 URL identifier => com.zilanxing.andpush;URL Schemes => andpush
到此對外接口已註冊好
2、調用上面的接口通信
這時使用其他程序調用
[[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"andpush://"]]
這裏@"andpush://"的內容 取決於URL Schemes => andpush
返回YES
調用下面實現切換到andpush APP
NSURL *url = [NSURL URLWithString:@"andpush://test"];
[[UIApplication sharedApplication] openURL:url];
在andpush APP的下面方法中實現:
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
if ([url.host isEqualToString:@"test"])
{
NSLog(@"其他APP 訪問我了!!!!!");
}
}
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
//在這裏也可以實現上面的東西
if (!url) {
return NO;
}
if ([url.host isEqualToString:@"test"]){
//根據具體url進行頁面的切換或者響應
}
}