一、呼叫系統應用
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...