1

Objective-C では、NSString と呼ばれるメソッドがあります。

stringByExpandingTildeInPath

このメソッドは、"~/Documents" のような文字列を受け取り、"/Users/Nick/Documents" に解決します。「~」チルダは、プログラムが実行されているマシンの現在のユーザーのホーム ディレクトリに解決されます。

私の質問はこれです... 私は Cocoa と Objective-C を使用して小さな FTP/SFTP ユーティリティを作成しています。FTP/SFTP 経由でリモート マシンのチルダ (~) パスを解決するにはどうすればよいですか?

例えば。ユーザーがファイルをアップロードしたい

sftp://remote-host.com:~/

remote-host.com が Linux または OSX サーバーの場合、このパスは完全に有効です。ただし、ファイルのアップロードは、絶対パスを指定した場合にのみ機能します。これが私が使用しているフレームワークConnectionKitの制限なのか、それとも手動で実装する必要があるものなのかはわかりません。私は後者で大丈夫ですが、どのように何か提案はありますか?

4

1 に答える 1

3

「~/」を削除してみてください (残りは相対パスとして使用します)。通常、サーバーは、接続時にデフォルトでユーザーのホーム ディレクトリに配置する必要があります。

于 2009-08-04T03:53:31.080 に答える