标签: nsdocumentdirectory

MPMoviePlayerController无法从Documents文件夹中播放

Desperated.大家好!我在使用MPMoviePlayerController时遇到了一些问题.我已经使用了NSBundle的视频.但那不是我需要的.我需要从Documents目录中播放它,因为这是我存储录制视频的地方,其中URL存储在CoreData中.但是让我们把它放在一边,并将代码简化到最低要求.如果使用contentURL,这段代码实际上是可行的,导致NSBundle.在它之后,我做了什么来到文档的地方.我所做的:

    NSURL *contentURL = [[NSBundle mainBundle] URLForResource:@"Oct_08_2012_10_00_51" withExtension:@"mp4"]; // this works
NSString* docPath = [NSSearchPathForDirectoriesInDomains
                     (NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString * docaPathFull = [NSString stringWithFormat:@"%@%@", docPath, @"/Oct_08_2012_10_00_51.mp4"];
NSURL * docUrl= [NSURL URLWithString: docaPathFull];
BOOL ex = [[NSFileManager defaultManager] fileExistsAtPath:docaPathFull];
NSLog(@"file exists: %d, path using docPath: %@",ex, docaPathFull);
MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:docUrl];
player.shouldAutoplay = YES;
player.controlStyle = MPMovieControlStyleEmbedded;
[player.view setFrame: self.thumbButton.bounds];
[player prepareToPlay];
[self.view addSubview: player.view];
[player play];
Run Code Online (Sandbox Code Playgroud)

我们有什么:

2012-10-08 13:14:43.532 Voto[11968:907] file exists: 1, path using docPath: /var/mobile/Applications/07B8574A-A3BA-4B23-BB3F-995B33A01B95/Documents/Oct_08_2012_10_00_51.mp4 …
Run Code Online (Sandbox Code Playgroud)

nsurl mpmovieplayercontroller ios nsdocumentdirectory

4
推荐指数
2
解决办法
4385
查看次数

在Swift中从documentDirectory中删除所有文件

我正在制作音频应用,用户可以下载本地存储到documentDirectoryusing中的文件FileManager

接下来,我想允许用户使用一个按钮删除所有文件。在文档中,有一种删除项目方法

这是我的代码:

@IBAction func deleteDirectoryButton(_ sender: Any) {

    let documentsUrl =  FileManager.default.urls(for: .documentDirectory, in: .userDomainMask).first!

        do {
            try FileManager.default.removeItem(at: documentsUrl, includingPropertiesForKeys: nil, options: [])

        } catch let error {
            print(error)
        }
    }
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不会出错Ambiguous reference to member 'removeItem(atPath:)'

有没有更好的方法来一次访问documentDirectory和从目录中删除所有文件?

ios nsdocumentdirectory swift

4
推荐指数
2
解决办法
3353
查看次数

iOS - 将多个图像保存到Documents文件夹

我有这段代码将代码保存到Documents文件夹.

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,        NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *savedImagePath = [documentsDirectory  stringByAppendingPathComponent:@"savedImage.png"];
    UIImage *image = imageView.image; // imageView is my image from camera
    NSData *imageData = UIImagePNGRepresentation(image);
    [imageData writeToFile:savedImagePath atomically:NO]; 
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种能够保存多个图像的方法,因为这样可以保留写入savedImage.png名称.

我不介意在谷歌或其他任何地方寻找它,但我需要知道它被称为什么,因为用错误的关键词查找真的推迟了世界:-)

干杯

camera ios nsdocumentdirectory

3
推荐指数
2
解决办法
6574
查看次数

在获取Document Drectory的内容时无法省略@".DS_Store"文件

我正在将音频文件列表存储到我的文档目录中,然后获取它们.

它给了我一个音频文件列表以及它给我一个名字的文件@".DS_Store".在获取内容时我想留下这个文件目录文件.

除了从阵列中删除音频列表或应用@".DS_Store"支票之外,有什么方法可以在获取音频列表时摆脱这一点.

究竟是什么原因.

#pragma mark - Saving Audio in Document Directory
-(void)saveAudioinDocumentDirectory:(ASIHTTPRequest *)theRequest
{
    /*save the Audio file in Document Directory */
    NSFileManager *fileManager=[NSFileManager defaultManager];

    NSLog(@"GOT THE SIZe OF AUDIO %d",[[theRequest responseData] length]);
    NSLog(@"AUDIO ID IS %@",[[theRequest userInfo] valueForKey:@"audioIndex"]);

    /*Get the Path  to Application Documents Directory*/
    NSArray *docDir=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];

    /*append the neccessary file extension */

    NSString *filepathStr=[NSString stringWithFormat:@"/%@/%@.mp3",docDir,[NSString stringWithFormat:@"%@",[[theRequest userInfo] valueForKey:@"audioIndex"]]];

    /*Check if my crrent file exists in the Documents Directory*/

    if(![fileManager fileExistsAtPath:filepathStr]) …
Run Code Online (Sandbox Code Playgroud)

iphone xcode nsdocumentdirectory

3
推荐指数
1
解决办法
974
查看次数

在iOS的文档文件夹中创建多个目录

我想制作多个目录,我不知道如何.这是我的代码到现在为止.

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {
    self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
    if (self) {
        // Custom initialization
    }
    return self;

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0]; // Get documents folder
    NSString *dataPath = [documentsDirectory stringByAppendingPathComponent:@"tops",@"bottoms",@"right" ];

    if (![[NSFileManager defaultManager] fileExistsAtPath:dataPath])
        [[NSFileManager defaultManager] createDirectoryAtPath:dataPath withIntermediateDirectories:NO attributes:nil error:nil]; //Create folder

}
Run Code Online (Sandbox Code Playgroud)

我希望有4个目录名为tops bottomoms left and left但是如果我以上述方式执行它就不起作用..有没有办法使用这个代码创建多个目录?还是我的代码错了?谢谢!

iphone directory ios nsdocumentdirectory

3
推荐指数
1
解决办法
4085
查看次数

如何在NSDocumentsDirectory中隐藏文件夹并禁止通过iTunes和iCloud进行备份

我在NSDocumentDirectory中创建私人文件夹,我想在iTunes中隐藏它并禁止备份.

在这个问题中如何隐藏在ios中的文档目录中创建的文件夹?人们建议保存在私人目录中.

但根据苹果文档,这不是好的 https://developer.apple.com/library/mac/documentation/FileManagement/Conceptual/FileSystemProgrammingGuide/FileSystemOverview/FileSystemOverview.html

Application_Home/Library /您不应将此目录用于用户数据文件.

在iTunes11之前,这个解决方案对我有用

我可以为iCloud的"文档目录"添加"不备份"

但现在我在iTunes中看到包含私人文档的文​​件夹.

有人能帮帮我吗?

backup ios nsdocumentdirectory

3
推荐指数
1
解决办法
926
查看次数

NSSearchPathForDirectoriesInDomains提供EXC_BREAKPOINT

我正在使用OS X Yosemite上的Xcode 6中的Swift/Obj-C franken-app.我正试图在运行iOS 8的iPod Touch上运行它.

我几天前从触摸屏中删除了应用程序,从此它崩溃了EXC_BREAKPOINT,我在这里设置了pathArr:

class func feedURLs() -> NSArray
{
    var items = NSMutableArray()
    var pathArr: NSArray = NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true); // <-- here
    var path = pathArr[0].stringByAppendingPathComponent("feeds")
    var feeds: NSMutableArray = NSArray(contentsOfFile: path).mutableCopy() as NSMutableArray

    for dict : AnyObject in feeds
    {
        items.addObject(NSURL(string: dict["url"] as NSString))
    }
    return items
}
Run Code Online (Sandbox Code Playgroud)

我在Xcode中遇到的确切崩溃:

Thread 1: EXC_BREAKPOINT (code=EXC_ARM_BREAKPOINT, subcode=0xe7ffdefe)
Run Code Online (Sandbox Code Playgroud)

最终从(Objective C)视图控制器中的viewDidLoad调用该方法.我没有启用任何断点.我强制清理项目,删除应用程序,重新启动所有内容,无济于事.

有任何想法吗?

ios nsdocumentdirectory swift

3
推荐指数
1
解决办法
4712
查看次数

文件从NSLibraryDirectory中消失

我将一些文件存储在iOS应用程序的Library目录中,使用以下方法构建它.最后,我可以调用[MyClass dataDirectory]我的文件处理,一切都很顺利.然而,我最近发现,一些文件似乎神秘地消失在这个目录之外.根据文件,情况并非如此.这是存储持久文件的安全位置吗?

该目录的控制台输出是: ~/var/mobile/Containers/Data/Application/{id}/Library/Data

+ (NSString*)libraryDirectory
{
    return [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) lastObject];
}

+ (NSString*)dataDirectory
{
    NSString* dir = [[self libraryDirectory] stringByAppendingPathComponent:@"Data"];
    BOOL isDir=NO;
    NSError * error = nil;
    NSFileManager *fileManager = [NSFileManager new];

    if (![fileManager fileExistsAtPath:dir isDirectory:&isDir] && isDir)
    {

        [[NSFileManager defaultManager] createDirectoryAtPath:dir
                                  withIntermediateDirectories:YES
                                                   attributes:nil
                                                        error:&error];
    }

    [self addSkipBackupAttributeToItemAtURL:[NSURL fileURLWithPath:dir isDirectory:YES]];

    if (error != nil) {
        DDLogError(@"Fatal error creating ~/Library/Data directory: %@", error);
    }
    return dir;
}
Run Code Online (Sandbox Code Playgroud)

和跳过方法:

+ (BOOL)addSkipBackupAttributeToItemAtURL:(NSURL *)URL
{
    if ([[NSFileManager defaultManager] …
Run Code Online (Sandbox Code Playgroud)

objective-c ios nsdocumentdirectory nslibrarydirectory

3
推荐指数
1
解决办法
3899
查看次数

迅速。无法将文件保存到 DocumentDirectory。怎么了?

这是我的代码:

let fileName = "someFileName"

func saveDataToFile(urlStr:String){
    let url = NSURL(string: urlStr)
    var data:NSData!
    let paths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)
    let directory = paths[0]
    let filePath = directory.stringByAppendingPathComponent(self.fileName)
    print(filePath)//prints /Users/.../Library/Developer/CoreSimulator/Devices/1013B940-6FAB-406B-96FD-1774C670A91E/data/Containers/Data/Application/2F7139D6-C137-48BF-96F6-7579821B17B7/Documents/fileName

    let fileManager = NSFileManager.defaultManager()

    data = NSData(contentsOfURL: url!)
    print(data) // prints a lot of data     
    if data != nil{
        fileManager.createFileAtPath(filePath, contents: data, attributes: nil)
    }

}
Run Code Online (Sandbox Code Playgroud)

现在我想读取这些数据:

func readDataFromFile(){
    let paths = NSSearchPathForDirectoriesInDomains(NSSearchPathDirectory.DocumentDirectory, NSSearchPathDomainMask.UserDomainMask, true)
    let directory = paths[0]
    let filePath = directory.stringByAppendingPathComponent(self.fileName)
    print(filePath) // prints the same path
    let …
Run Code Online (Sandbox Code Playgroud)

nsfilemanager nsdocumentdirectory swift2

3
推荐指数
1
解决办法
2339
查看次数

将 iOS 应用程序音频文件应用程序存储在 xcassets 或文档目录中?

如果应用程序需要数百个音频文件(它们很小,5-25KB),将它们放在资产目录中还是文档目录中更好?我已经尝试了这两种方法,它们似乎没有太大不同,无论哪种方式在项目导航器中管理数百个文件都很痛苦,而且两者的应用程序文件大小相同。

audio avfoundation ios nsdocumentdirectory xcasset

3
推荐指数
1
解决办法
869
查看次数