IOS學習 訪問其他應用並交互

應用之間調用 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 )裏面的內容設置看下圖:

應用之間調用 UIApplication類的OpenURL方法 - Awei - 半調子程序員
 

關鍵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進行頁面的切換或者響應

    }

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章