11

は、誰かが私に説明することはできません返す理由を次のコード:NSURL isFileURLは常にNO

NSString* filePathString = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)[0]; 

NSLog(@"%i", [[NSURL URLWithString:filePathString] isFileURL]); 
NSLog(@"%@", filePathString); 

出力:

「の/ var /モバイル/アプリケーション/ 28ADFC19-874C-4304- 94B5-F6441CAE9FAD /ドキュメント」

これは、このURLは、ファイルのURLではないことを意味します。明らかに、そうです。


背景:*

私は、ファイルへの動画記録を書くためにAVCaptureMovieFileOutputを使用しようとしているが、私は証明していたファイルのURLはエラーになります'NSInvalidArgumentException'の理由でアプリを終了しています、理由: '* - [AVCaptureMovieFileOutput startRecordingToOutputFileURL:recordingDelegate:] - URL/var/mobile/Applications/28ADFC19-874C-4304-94B5-F6441CAE9FAD/Documents/media/CrKNjNhe9so2LRnD9 iHK.movはファイルURLではないためです。 'ちょうど元の例のように、私には、ファイルのURLのように見えます

。何がありますか?

答えて

25

あなたはファイルパスからNSURLを作成する場合は、NSURL fileURLWithPath:を使用する必要があります。 URLWithStringの使用は文字列が非ファイルURLで想定しています。 NSURL

は、それがfile://で始まる場合にのみ、ファイルのURLです。

関連する問題