11

birisi bana açıklayabilir döner neden Aşağıdaki kod:NSURL isFileURL hep YOK

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

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

çıkışlar:

"/ var/mobile/Applications/28ADFC19-874C-4304- 94B5-F6441CAE9FAD/Belgeler "

Bu, bu URL'nin bir dosya URL'si olmadığı anlamına gelir. Açıkçası öyle.


Geçmiş:

Bir dosyaya bir film kaydını yazmak için AVCaptureMovieFileOutput kullanmaya çalışıyorum ama ıspatlıyorum dosya url hata veriyor:

* Yakalama dışı istisna 'NSInvalidArgumentException' nedeniyle uygulamayı sonlandırma, nedeni: '* - [AVCaptureMovieFileOutput startRecordingToOutputFileURL: kayıtDelegate:] - URL/var/mobile/Applications'a kaydedilemiyor/28ADFC19-874C-4304-94B5-F6441CAE9FAD/Documents/media/CrKNjNhe9so2LRnD9 iHK.mov çünkü bir dosya URL'si değil. '

Bu, orijinal örnekte olduğu gibi bana bir dosya URL'sine benziyor. Ne verir?

cevap

25

Bir dosya yolundan NSURL oluşturmak istiyorsanız, NSURL fileURLWithPath:'u kullanmalısınız. URLWithString kullanımı, dizenin dosya dışı bir URL olduğunu varsayar.

NSURL, yalnızca file:// ile başlıyorsa bir dosya URL'sidir.