2015-03-18 42 views
2

蘋果的WebView和WKWebView假設你想要與Safari共享cookie和我正在構建的應用程序,我真的不想那樣做。不幸的是,他們只是使用你無法訪問的單例NSHTTPCookieStorage,就是這樣。運行後將代碼注入到Cocoa應用程序中,有可能嗎?

我一直在考慮編寫一個庫,它重新定義NSHTTPCookieStorage的一部分,並使用DYLD_INSERT_LIBRARIES來加載它,以便我可以從不同的位置讀取和寫入cookie。不幸的是,我們的應用程序的一部分是一個屏幕保護程序,它不是一個應用程序,而是一個由屏幕保護程序應用程序加載的庫(如插件),所以當我獲得控制權時,使用DYLD_INSERT_LIBRARIES爲時已晚。

有沒有其他方法可以達到這個目的?修改已經加載的類的方法?

+0

有你閱讀Mike Solomon的[「Cocoa Reverse Engineering」雜誌](http://code.google.com/p/simbl/wiki/CocoaReverseEngineeri NG)? – 2015-03-18 23:14:53

+0

@JoshCaswell不,但我會去的。 – Pablo 2015-03-18 23:40:57

回答

1

是的,你可以這樣做。 Objective-C運行時具有某種表格,它將selector name映射到selector implementation,並且您可以在運行時編輯該表格。

你可能想看看this library

相關問題