NSURL *currentURL = [[NSURL alloc]
initWithString: [fileManager currentDirectoryPath]];
この呼び出しはnilを返します。どのように私はそれが現在の作業ディレクトリのNSURLへのポインタを返すように変更する必要がありますか?currentDirectoryPathからNSURLを取得する方法
NSURL *currentURL = [[NSURL alloc]
initWithString: [fileManager currentDirectoryPath]];
この呼び出しはnilを返します。どのように私はそれが現在の作業ディレクトリのNSURLへのポインタを返すように変更する必要がありますか?currentDirectoryPathからNSURLを取得する方法
変更initWithStringです:へinitFileURLWithPath :.
NSDocumentDirectory
NSCachesDirectory
[NSBundle pathForResource:ofType:]
(docs)これらのどれも現在の作業ディレクトリがDocumentsまたはCachesでない限り、現在の作業ディレクトリのNSURLを私に与えません。 –
iOSの作業ディレクトリというものはありません。あなたは、アプリケーションバンドルのファイルを使用しているか、キャッシュディレクトリまたはドキュメントディレクトリに保存しているファイルを使用しています。 iOSでは他のファイルの使用は許可されていません。 –
私の経験とNSFileManagerクラスリファレンスとファイルシステムプログラミングガイドの読者によると、これは正しいとは思わない。 Documents、Library、またはtmpでサブディレクトリを作成し、それらのいずれかを現在の作業ディレクトリにすることができます。 –
ここでは一つの方法
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
int ind=0;
NSString* destinationFilePath = [NSString stringWithFormat: @"%@/input%d.mp3", documentsDirectory,ind];
私はドキュメントへのパスやドキュメント内のファイルを探していません。私は現在の作業ディレクトリのNSURLを探しています。 –
"作業ディレクトリ"とはどういう意味ですか? –
Appleのマニュアルで使用されている「作業ディレクトリ」を意味します。たとえば、NSFileManagerクラスリファレンスなどです。 –
回答:initWithString:をinitFileURLWithPath:に変更します。 –