2011-08-25 33 views
1

我在網上搜索了一個解決方案,但似乎並不容易。現在,一定有辦法,即使這意味着我需要將RMDIR命令自己發送到ftp。然而,我的套接字/流的知識不是很廣泛,我不知道我應該從哪裏開始。有沒有辦法使用CFNetwork從ftp服務器上刪除文件/文件夾?

PS:已經嘗試CFURLDestroyResource這不適用於文件夾刪除。 Apple表示CFNetwork不直接支持刪除FTP方案/協議(僅適用於HTTP),所以我想我必須以某種方式自己實現它,但是,我應該從哪裏開始?

+0

只要你知道,蘋果極力不喜歡FTP。 Finder中的FTP客戶端嚴重癱瘓,理所當然。它不會讓你在使用FTP時刪除東西,所以我不知道你會在iOS中取得多大的成功。 –

+0

我知道這一點,我也知道FTP是一個蹩腳的*不安全*(是的,用戶和密碼發送沒有加密)協議,蘋果(自然)討厭它。然而,不幸的是,對我們來說,程序員,它*確實存在*,有時不是我們誰決定是否使用它) –

回答

4

首先,CFURLDestroyResource的作品。問題是,爲了刪除一個目錄,在ftp協議中,目錄應該是空的。

因此,基本上你需要枚舉該目錄中的所有文件&目錄,並先刪除它們。

另外要小心,如果你要刪除一個目錄,你的URL應該以「/」結尾。

,而不是ftp://user:[email protected]/somedir你應該使用ftp://user:[email protected]/somedir/

+0

好的,當嘗試使用空目錄時我回家(了。 –

+0

經過測試,實際上'CFURLDestroyResource'也可以很好地處理目錄,它們只需要是空的。謝謝! –

0

This open-source project支持可可中的FTP;但它appears it might require some hacking使它可以用於可可觸摸。

無論您是否可以按原樣使用它,其中的FTP協議實現可能會幫助您順利完成任務。

+0

我不是在尋找一個庫,但我會嘗試看看我是否可以找到代碼刪除文件,更重要的是,如果我可以在iOS上做同樣的事情(從以前的經驗來看,我發現在iOS中使用CFNetwork與OSX比較時有幾處不同) –

相關問題