Базовая настройка FTP для iOS; Поток чтения и записи

Я пытаюсь создать приложение для iOS 5 с некоторыми базовыми функциями FTP, и мне нужны некоторые рекомендации. Он будет подключаться к устройству в локальной сети и выполнять операции чтения/записи с файлами .dat/txt. За последние несколько дней я провел некоторые поиски и видел различные рекомендации, но ничего достаточно простого, чтобы я мог подобрать и быстро изменить для личного использования.

Мои вопросы таковы:

  1. Есть ли какие-либо учебные пособия/примеры кода, которые вы могли бы мне порекомендовать?
  2. С какими платформами и классами мне следует работать для базовых операций чтения/записи?

Наконец, я должен упомянуть, что я потратил значительное количество времени на анализ SimpleFTPSample от Apple, но пример кода выдает уведомления «Ошибка подключения» и «Ошибка открытия потока» для каждого примера, поэтому я немного настороженно относитесь к его полезности.

Прошу прощения, если на этот вопрос был дан ответ в другом месте. Во всех связанных сообщениях есть части ответа, который мне нужен, но не весь. Заранее спасибо!

РЕДАКТИРОВАТЬ для ясности: Четко определенный пример или пошаговое руководство - это то, что мне действительно нужно. Мои собственные поиски в Google ничего не дали, и я отчаянно нуждаюсь в руководстве.

ОБНОВЛЕНИЕ: Я опубликовал этот вопрос давно, но продолжал использовать FTPHelper, упомянутый в принятом ответе.Недавно я стряхнул пыль со старого проекта и обнаружил небольшую утечку памяти в функции выборки FTPHelper, которая может убить приложение при многократном вызове. Если кто-то наткнется на этот вопрос и решит использовать FTPHelper, обязательно добавьте строку CFRelease, показанную в приведенном ниже коде.

- (void) fetch: (NSString *) anItem
{
    if (!self.uname || !self.pword) COMPLAIN_AND_BAIL(@"Please set user name and password first");
    if (!self.urlString) COMPLAIN_AND_BAIL(@"Please set URL string first");

    NSString *ftpRequest = [NSString stringWithFormat:@"%@/%@", self.urlString, [anItem stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
/*  CFShow(ftpRequest); */
    NSString *writepath = [NSHomeDirectory() stringByAppendingPathComponent:@"Documents"];
    self.filePath = [writepath stringByAppendingPathComponent:anItem];
    CFURLRef writeURL = CFURLCreateFromFileSystemRepresentation (NULL, (const UInt8 *) [writepath UTF8String], [writepath length], NO); 
    MySimpleDownload((CFStringRef)ftpRequest, writeURL, (CFStringRef) self.uname, (CFStringRef)self.pword);
    CFRelease(writeURL);//ADD THIS LINE TO FIX MEMORY LEAK 
}
5
задан Squatch 21 September 2013 в 21:28
поделиться