I am using the following code for load list from any ftp server:
self.networkStream = CFBridgingRelease(
CFReadStreamCreateWithFTPURL(NULL, (__bridge CFURLRef) url)
);
assert(self.networkStream != nil);
//[self.networkStream setProperty:@"ANONYMOUS" forKey:(id)kCFStreamPropertyFTPUserName];
//[self.networkStream setProperty:@"abc" forKey:(id)kCFStreamPropertyFTPPassword];
self.networkStream.delegate = self;
[self.networkStream scheduleInRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];
[self.networkStream open];
Its perfectly loading the list. Then i am showing the list in UITableView. Once the data is loaded i am closing the stream using this code :
if (self.networkStream != nil) {
[self.networkStream removeFromRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];
self.networkStream.delegate = nil;
[self.networkStream close];
self.networkStream = nil;
}
When the user taps on any cell i am trying to load the list of that folder (if its a folder) otherwise i have to download the file from ftp server. For this i am using this code by changing the url :
self.networkStream = CFBridgingRelease(
CFReadStreamCreateWithFTPURL(NULL, (__bridge CFURLRef) url)
);
/* [self.networkStream setProperty:( id) kCFBooleanFalse
forKey:( NSString *) kCFStreamPropertyFTPAttemptPersistentConnection
];
*/
assert(self.networkStream != nil);
//[self.networkStream setProperty:@"ANONYMOUS" forKey:(id)kCFStreamPropertyFTPUserName];
//[self.networkStream setProperty:@"abc" forKey:(id)kCFStreamPropertyFTPPassword];
self.networkStream.delegate = self;
[self.networkStream scheduleInRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];
[self.networkStream open];
Buts its crashing on this line :
CFReadStreamCreateWithFTPURL(NULL, (__bridge CFURLRef) url)
giving EXC_BAD_ACCESS on this line. I am not able to figure out the reasons. Please Help me out.