2009-07-02 81 views
2

我想假裝是CocoaTouch的新手,但是由於我已經使用了一年多,所以我只是直接跳出來聲明stoopidity。是否有一種簡單/優雅的方式來攔截CocoaTouch中的HTTP調用並通過自定義類路由它們。在Java中,我可以實現自定義協議處理程序,並將URL協議從「http:」更改爲「myproto:」之類的內容。 ObjC中有類似的東西嗎?CocoaTouch相當於Java自定義協議處理程序

回答

4

你能解釋一下你的意思嗎?你是說你想要:

  1. 監視系統進行的所有HTTP連接?
  2. 監控您應用程序內的所有HTTP通信?
  3. 爲您完全控制的數據加載實現自定義URL方案?

如果3號,你想看看NSURLProtocol

+0

是的,NSURLProtocol是我一直在尋找的東西。類似於Java協議處理程序,它允許我實現自定義URL方案/協議來加載我控制的數據。 – Cliff 2009-07-21 12:39:05

0

你可以有一個應用程序註冊來處理URL方案。這是設置在該應用程序的條目的Info.plist:

CFBundleURLTypes(URL類型):URL類型的應用程序可以 手柄的數組 。每個URL類型是一個字典 ,它定義了應用程序可以處理的方案(例如http 或mailto)。該屬性允許 應用程序註冊自定義URL 方案。

這是用於應用程序之間的通信。如果你想攔截來自應用程序內部的請求並重寫URL,我相當確信在UIWebView委託方法中做相對容易。