iOS呼叫其他應用 的寫法

2021-06-16 21:37:39 字數 3084 閱讀 3451

一、呼叫系統應用

1、呼叫其它應用的方法

1)呼叫 自帶mail


2)呼叫 **phone


3)呼叫 sms

4)呼叫自帶 瀏覽器 safari

5)呼叫 remote

二、呼叫自己開發的應用

1)在plist檔案中,註冊對外介面

滑鼠右擊information property list ,然後從列表中選擇url types 

右擊 add row 新增乙個物件(item)右擊item add row  

從列表中選擇 url  schemes 再右擊新增乙個物件(item1)

plist如下圖所示:

2)呼叫方法

在你需要呼叫上面註冊過對外介面的應用中,新增下面**即可:   

通過上述兩個步驟,你可以在你的應用中,讓使用者開啟你的其它應用。

3)處理url請求

[plain]

//處理鏈結  

return yes;  

}  return no;  

}  //處理鏈結

return yes;

}return no;

}請務必對傳入的url輸入進行驗證。如果您希望了解如何避免url處理的相關問題,請參見安全編碼指南文件中的驗證輸入部分。如果要了解蘋果定義的url模式,請參見蘋果的url模式參考

第二種處理url請求方法

[cpp]

}  self.window = [[[uiwindow alloc] initwithframe:[[uiscreen mainscreen] bounds]] autorelease];  

self.viewcontroller = [[[viewcontroller alloc] initwithnibname:@"viewcontroller" bundle:nil] autorelease];  

self.window.rootviewcontroller = self.viewcontroller;  

[self.window makekeyandvisible];  

return yes;  

}  }

self.window = [[[uiwindow alloc] initwithframe:[[uiscreen mainscreen] bounds]] autorelease];

self.viewcontroller = [[[viewcontroller alloc] initwithnibname:@"viewcontroller" bundle:nil] autorelease];

self.window.rootviewcontroller = self.viewcontroller;

[self.window makekeyandvisible];

return yes;

若使用者直接啟動,lauchoptions內無資料;

參考:4).快速測試外部呼叫

1.回到home螢幕,啟動safari(在iphone**器上,在選單上選擇hardware->home命令就可以回到home螢幕)。

三、官方原理講解

和其它應用程式進行通訊

如果乙個應用程式支援一些已知型別的url,您就可以通過對應的url模式和該程式進行通訊。然而,在大多數情況下,url只是用於簡單地啟動乙個應用程式並顯示一些和呼叫方有關的資訊。舉例來說,對於乙個用於管理位址資訊的應用程式,您就可以在傳送給它的url中包含乙個maps程式可以處理的位址,以便顯示相應的位置。這個級別的通訊為使用者創造乙個整合度高得多的環境,減少應用程式重新實現裝置上其它程式已經實現的功能的必要性。

下面的**片斷展示了乙個程式如何請求另乙個程式提供的服務(假定這個例子中的「todolist」是由應用程式註冊的定製模式):

nsurl *myurl = [nsurl urlwithstring:@"todolist:"]; 

如果您的應用程式定義了自己的url模式,則應該實現對該模式進行處理的方法,具體資訊在「實現定製的url模式」部分中進行描述。有關系統支援的url處理,包括如何處理url的格式,請參見蘋果的url模式參考。

實現定製的url模式

您可以為自己的應用程式註冊包含定製模式的url型別。定製的url模式是第三方應用程式和其它程式及系統進行互動的機制。通過定製的url模式,應用程式可以將自己的服務提供給其它程式。

註冊定製的url模式

在為您的應用程式註冊url型別時,必須指定cfbundleurltypes屬性的子屬性,我們已經在「資訊屬性列表」部分中介紹過這個屬性了。cfbundleurltypes屬性是應用程式的info.plist檔案中的乙個字典陣列,每個字典負責定義乙個應用程式支援的url型別。表1-6描述了cfbundleurltypes字典的鍵和值。

表1-6  cfbundleurltypes屬性的鍵和值 鍵

值cfbundleurlname

這是個字串,表示url型別的抽象名。為了確保其唯一性,建議您使用反向dns風格的標識,比如com.acme.myscheme。

這裡提供的url型別名是乙個指向本地化字串的鍵,該字串位於本地化語言包子目錄中的infoplist.strings檔案中。本地化字串是人類可識別的url型別名稱,用相應的語言來表示。

cfbundleurlschemes

這是個url模式的陣列,表示歸屬於這個url型別的url。每個模式都是乙個字串。屬於指定url型別的url都帶有它們的模式元件。

圖1-7顯示了乙個正在用內建的xcode編輯器編輯的info.plist檔案。在這個圖中,左列中的url型別入口相當於您直接加入到info.plist檔案的cfbundleurltypes鍵。類似地,「url identifier」和「url schemes」入口相當於cfbundleurlname和cfbundleurlschemes鍵。

在info.plist檔案中定義乙個定製的url模式

您在對cfbundleurltypes屬性進行定義,從而註冊帶有定製模式的url型別之後,可以通過下面的方式來進行測試:

連編、安裝、和執行您的應用程式。

回到home螢幕,啟動safari(在iphone**器上,在選單上選擇hardware > home命令就可以回到home螢幕)。

在safari的位址列中,鍵入使用定製模式的url。

iOS 應用直接呼叫

1 在plist檔案中,註冊對外介面 滑鼠右擊information property list 然後從列表中選擇url types 右擊 add row 新增乙個物件 item 右擊item add row 從列表中選擇 url schemes 再右擊新增乙個物件 item1 plist如下圖所示...

IOS 應用之間呼叫

1 在plist檔案中,註冊對外介面 滑鼠右擊information property list 然後從列表中選擇url types 右擊 add row 新增乙個物件 item 右擊item add row 從列表中選擇 url schemes 再右擊新增乙個物件 item1 plist如下圖所示...

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

一 類的openurl 方法 2 呼叫其它應用的方法 呼叫 自帶mail 呼叫 phone 呼叫 sms 呼叫自帶 瀏覽器 safari 呼叫 remote 呼叫phone可以傳遞號碼,呼叫sms只能設定號碼,不能初始化sms內容。二 應用程式間通訊 1 調在plist檔案中,註冊對外介面 關鍵ke...