將 URL 方案新增到你自己的應用程式
假設你正在開發名為 MyTasks 的應用,並且你希望允許入站網址建立包含標題和正文的新任務。你正在設計的 URL 可能如下所示:
mytasks://create?title=hello&body=world
(當然,text 和 body 引數用於填充我們正在建立的任務!)
以下是將此 URL 方案新增到專案的重要步驟:
- 在應用的 Info.plist檔案中註冊 URL 方案,以便系統知道何時將 URL 路由到你的應用。
- 向 UIApplicationDelegate新增一個接受和處理傳入 URL 的函式。
- 執行開啟該 URL 時需要執行的任何任務。
第一步:在 Info.plist 中註冊 URL 方案:
首先,我們需要在 Info.plist 檔案中新增“URL 型別”條目。點選此處的(+)按鈕: 
…然後輸入你的應用的唯一識別符號,以及你要使用的網址方案。請明確點! 你不希望 URL 方案與另一個應用程式的實現衝突。最好是在這裡太長,而不是太短! 
第二步:處理 UIApplicationDelegate 中的 URL
我們需要在我們的 UIApplicationDelegate 上實現 application:openURL:options:。我們將檢查傳入的 URL,看看是否有我們可以採取的行動!
一個實現是這樣的:
func application(app: UIApplication, openURL url: NSURL, options: [String : AnyObject]) -> Bool {
    if url.scheme == "mytasks" && url.host == "create" {
        let title = // get the title out of the URL's query using a method of your choice
        let body = // get the title out of the URL's query using a method of your choice
        self.rootViewController.createTaskWithTitle(title, body: body)
        return true
    }
    return false
}
第三步:根據 URL 執行任務
當使用者通過 URL 開啟你的應用時,他們可能希望發生某些事情。也許這是導航到一段內容,也許是在建立一個新專案 - 在這個例子中,我們將在應用程式中建立一個新任務!
在上面的程式碼中,我們可以看到對 self.rootViewController.createTaskWithTitle(:body:) 的呼叫 - 所以假設你的 AppDelegate 有一個指向它的根檢視控制器的指標,它正確地實現了這個功能,你就完成了!