我在我的 swift 项目中使用 Gold Raccoon。我的 swift 代码构建并运行良好,但当我检查 FTP 服务器时,没有文件。 这是我在 viewDidload() 中使用的代码
var ftpRequest:GRRequestsManager!
var path = NSBundle.mainBundle().pathForResource("marker", ofType: ".png")
ftpRequest = GRRequestsManager(hostname: "192.x.x.x", user: "xx", password: "xxxx")
ftpRequest.addRequestForUploadFileAtLocalPath(path, toRemotePath: "/marker.png")
self.ftpRequest.startProcessingRequests()
然后我尝试在 viewDidload() 中使用 GRRequestsManager
ftpRequest.delegate = self
的委托来检查我的文件是否已成功上传。
并通过符合以下条件在我的 swift 类中编写了这些委托函数
GRRequestsManagerDelegate 协议。
func requestsManager(requestsManager: GRRequestsManagerProtocol!, didCompleteUploadRequest request: GRDataExchangeRequestProtocol!) {
print("did Complete Upload Request")
}
func requestsManager(requestsManager: GRRequestsManagerProtocol!, didFailRequest request: GRRequestProtocol!, withError error: NSError!) {
print("did Fail Request")
}
当我编译它时,它很好,但是当我运行代码时,xcode 在这一行给了我一个错误
ftpRequest.delegate = self
意外发现无
我无法将 .png 文件上传到 FTP 服务器。我发现整个互联网都是关于 Obj-C 的,但没有快速代码来做到这一点。
有什么快速的方法吗?
如果我做错了,请指导我。或者提供任何正在运行的示例代码,通过身份验证将 .png 文件上传到 FTP 服务器(应该需要用户名和密码)
注意:我使用 Briding Header 来使用 GoldRaccoon(因为它仅在 Objective-C 中可用)
终于我的问题解决了,我刚刚使用了Rebekka Touch 框架,这是一个快速框架。它很容易使用,确实是一个非常好的东西。
对于 2024 年或以后阅读本文的任何人:GoldRaccoon 将不再用于通过 FTP 上传任何文件! 配置完成后,上传将无法正常工作,并且运行时调试日志将向您显示以下消息:“FTP is deprecated for URLSession and related APIs. Please 采用现代安全网络协议,例如 HTTPS”
解决方案是迁移到 SFTP,例如使用这个新的库: https://github.com/mplpl/mft
祝你一切顺利!