连接套件基础知识

nos*_*e25 2 cocoa frameworks

我需要在我的应用程序中实现文件传输,似乎在Cocoa ConnectionKit是非官方的标准.我能够编译它,但我一直在努力寻找任何文档或它的使用示例.我发现的唯一例子是过时的,即使有修改我也无法让它工作.有谁知道基本功能(创建连接,上传......).

谢谢你的帮助

Joe*_*ell 5

一旦你弄清楚它的布局,它就很简单了.

下面是创建ftp连接的代码

CKConnectionRequest *request = [CKConnectionRequest requestWithURL:url];
CKFTPConnection *ftpConn = [[CKFTPConnection alloc] initWithRequest:request];
[ftpConn setDelegate:self];
[ftpConn connect];
self.connection = ftpConn;
[ftpConn release];
Run Code Online (Sandbox Code Playgroud)

然后,您将与CKConnectionProtocol.h中的Connection Delegate方法进行交互.要对上面的服务器进行身份验证,您将使用此委托方法,其中"cred"是您使用所需凭据设置的NSURLCredential实例.

- (void)connection:(id <CKConnection>)connection 
didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge {
    [[challenge sender] useCredential:cred forAuthenticationChallenge:challenge];
}
Run Code Online (Sandbox Code Playgroud)

对于上传,您只需在下面的委托方法中调用CKConnectionProtocol.h中指定的上传方法之一

- (void)connection:(id <CKConnection>)con
didOpenAtPath:(NSString *)dirPath error:(NSError *)error {
   CKTransferRecord *tr = [con uploadLocalItem:localPath
                             toRemoteDirectory:remotePath
                             ignoreHiddenItems:YES];
}
Run Code Online (Sandbox Code Playgroud)

然后,您将通过CKConnectionProtocol.h中指定的上载方法接收有关该上载状态的回调

希望这会有所帮助.原谅我输入的代码中的任何小错误都不能复制/粘贴