【发布时间】:2012-03-29 04:19:15
【问题描述】:
我正在尝试创建一个具有一些非常基本的 FTP 功能的 iOS 5 应用程序,并且需要一些指导。它将连接到本地网络上的设备并使用 .dat/txt 文件执行读/写操作。在过去的几天里,我进行了一些搜索,并看到了各种建议,但没有什么简单到我可以拿起并快速修改以供我个人使用。
我的问题是:
- 有什么教程/示例代码可以推荐给我吗?
- 对于基本的读/写操作,我应该使用哪些框架和类?
最后,我应该提一下,我已经花了相当多的时间来分析 Apple 的 SimpleFTPSample,但是示例代码为每个示例都给出了“连接失败”和“流打开错误”通知,所以我有点警惕它的用处。
如果这已在其他地方得到回答,请原谅我。所有相关帖子都有我需要的答案,但不是全部。提前谢谢!
为清楚起见进行编辑:我真正想要的是一个定义明确的示例或分步教程。我自己的 Google 搜索结果一无所获,我迫切需要一些指导。
更新: 我很久以前就发布了这个问题,但继续使用接受的答案中提到的 FTPHelper。我最近清理了旧项目的灰尘,并意识到 FTPHelper 的 fetch 函数中存在轻微的内存泄漏,如果重复调用它可能会成为应用程序杀手。如果任何人偶然发现这个问题并选择使用 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
}
【问题讨论】:
-
能否发代码源代码如何实现不联网下载文件的ftp
标签: iphone objective-c ios ios5 ftp