configuration básica FTP de iOS; Leer y Escribir Stream

Estoy intentando crear una aplicación iOS 5 con algunas funcionalidades FTP muy básicas y necesito ayuda. Se conectará a un dispositivo en una networking local y realizará acciones de lectura / escritura con files .dat / txt. He hecho algunos bashs de búsqueda en los últimos días y he visto varias recomendaciones, pero nada lo suficientemente simple como para poder recoger y modificar rápidamente para mi uso personal.

Mis preguntas son estas:

  1. ¿Hay algún tutoriales / código de ejemplo que me puedas recomendar?
  2. ¿Con qué frameworks y classs debería trabajar para las operaciones básicas de lectura / escritura?

Por último, debo mencionar que he dedicado un time considerable al análisis de SimpleFTPSample de Apple, pero el código de ejemplo está dando avisos de "Error de connection" y "Error de secuencia de ejecución" para cada ejemplo, así que estoy un poco desconfiado de su utilidad.

Perdóname si esto ha sido respondido en otro lado. Todas las publicaciones relacionadas tienen partes de la respuesta que necesito, pero no todo. ¡Gracias de antemano!

EDITAR para mayor claridad: un ejemplo bien definido o un tutorial paso a paso es lo que realmente me gustaría. Mis propias búsquedas en Google no han aparecido nada y necesito desesperadamente una guía aquí.

ACTUALIZACIÓN: publiqué esta pregunta hace mucho time, pero he seguido utilizando el FTPHelper mencionado en la respuesta aceptada. Recientemente eliminé el polvo del viejo proyecto y me di count de que había una pequeña pérdida de memory en la function de búsqueda de FTPHelper que puede ser un asesino de aplicaciones si se llama repetidamente. Si alguien se topa con esta pregunta y decide usar FTPHelper, asegúrese de agregar la línea CFRelease que se ve en el código a continuación.

- (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 } 

La aplicación SimpleFTPSample se está ejecutando perfectamente, probablemente haya un problema que no pueda ver. Lo que puedo recomendarte (excepto el ejemplo de Apple) es verificar ESTE ejemplo que contiene una class de ayuda para todas las operaciones básicas de FTP. Una cosa a tener en count es iOS 5 ARC. Tanto el ejemplo de Apple como el que he vinculado son para versiones antiguas de iOS.

Básicamente hay 2 forms de usarlos en iOS 5: -fno-objc-arc al comstackdor que no use ARC agregando la -fno-objc-arc en [Su proyecto] -> TARGETS -> [Su aplicación] -> Fases de compilation -> Compile Fuentes -> [Su file], o mediante el uso de la herramienta integrada en Xcode para convertir a ARC.

Personalmente he probado solo el primer método y funciona para mí.

Si esto no te ayuda puedo escribir un ejemplo, pero desafortunadamente hoy estoy muy ocupado.

ACTUALIZADO:

El mecanismo básico es utilizar [FTPHelper list:THE_FTP_URL] para enumerar el contenido de una carpeta, luego crear una list con el contenido y dependiendo de la descarga del tipo (file o carpeta) usando [FTPHelper download: THE_FTP_URL_WITH_THE_FILENAME_FROM_LISTING] . Desde aquí tienes que implementar

 - (void) downloadFinished { //do the reading depending on the file type NSData *data = [NSData dataWithContentsOfFile:[FTPHelper shanetworkingInstance].filePath]; } 

La carga se realiza de forma similar, utilizando [FTPHelper upload:FILE_TO_UPLOAD] con un file del sistema de files.

Hay muchas bibliotecas que puedes usar y están funcionando muy bien. 🙂

Por ejemplo:

http://www.chilkatsoft.com/ftp-objc.asp

http://code.google.com/p/ios-ftp-server/

Recomiendo usarlos, porque codificar uno solo tomaría mucho time 🙂 Una cosa para recordar, como dijo o15a3d4l11s2, es estar al tanto de ARC. Si lo usa, no olvide agregar marcadores de compilation a bibliotecas que no son ARC.