Я пытаюсь подключиться к серверу ftp через iPhone SDK, вот мой ошибочный код (упрощенно):
NSURL *serverURL;
NSString *serverUsername;
NSString *serverPassword;
CFURLRef serverURLRef;
CFStringRef serverPasswordRef;
CFStringRef serverUsernameRef;
serverURL = [[NSURL alloc] initWithString: @"XX.XX.XX.XX"];
serverURLRef = (__bridge CFURLRef) serverURL;
serverUsername = [[NSString alloc] initWithString: @"********"];
serverUsernameRef = (__bridge CFStringRef)serverUsername;
serverPassword = [[NSString alloc] initWithString: @"********"];
serverPasswordRef = (__bridge CFStringRef)serverPassword;
CFWriteStreamRef stream = CFWriteStreamCreateWithFTPURL(kCFAllocatorDefault, serverURLRef);
CFWriteStreamSetProperty(stream, kCFStreamPropertyFTPUserName, serverUsernameRef);
CFWriteStreamSetProperty(stream, kCFStreamPropertyFTPPassword, serverPasswordRef);
CFWriteStreamSetProperty(stream, kCFStreamPropertyFTPUsePassiveMode, kCFBooleanFalse);
CFWriteStreamOpen(stream);
Я получаю ошибку «EXC_BAD_ACCESS» для строки: CFWriteStreamSetProperty (stream,kCFStreamPropertyFTPUserName, serverUsernameRef);
Когда я закомментирую эту строку, он получит ту же ошибку на следующей строке.Я думаю, что это может быть связано с утечкой памяти, но я не знаю точно, где я иду не так.
Заранее спасибо.
РЕДАКТИРОВАТЬ:
Я добавил утверждение, которое, кажется, показывает мне, что поток равен нулю даже после того, как он объявлен: assert (поток!= nil);
Утверждение не выполнено в этой строке.
Я попытался запустить приложение в Инструментах, и оно показало «обнаружены утечки», но не перечислило их: утечки винструменты http://i54.tinypic.com/1h47z6.png