【问题标题】:how to copy files to Library or Document dir in iphone build phase?如何在 iphone 构建阶段将文件复制到库或文档目录?
【发布时间】:2010-11-25 19:43:19
【问题描述】:

我想将一些文件复制到产品目录中的LibraryDocument, 但是当我添加构建阶段并在 destinationinput 中选择 Products Directory 我的子目录时,它就像Library/xxx/

当我在模拟器中运行应用程序时,我在 destination 中没有发现任何内容,如果我将 destination 设置为Resources,它将在那里。

你能告诉我为什么会发生这种情况以及我该如何做到吗?

【问题讨论】:

    标签: iphone xcode build xcodebuild


    【解决方案1】:

    文档目录只能在运行时访问。据我所知,您不能在构建过程中复制项目。你应该做的是将那些你想要的对象存储在你的包内的 Documents 目录中,然后在第一次启动时复制它们。

    【讨论】:

    • 当时确实如此,但使用 Xcode 4,您现在可以设置方案以在选项选项卡上安装应用程序数据包。 (当然,这只是为了调试。)
    【解决方案2】:

    有趣的问题。我不知道您是否可以在构建阶段执行此操作。

    要将某些内容放入Documents 目录,我有一个在应用启动时运行的方法,如下所示:

    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSError *error;
    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *documentsDirectory = [paths objectAtIndex:0];
    NSString *writablePath = [documentsDirectory stringByAppendingPathComponent:@"filename.txt"];
    BOOL success = [fileManager copyItemAtPath:defaultDBPath writablePath error:&error];
    

    这是一个不完整的片段,但您可能明白了。重要的是NSDocumentDirectory 常量。

    【讨论】:

    • 原发帖人希望在 Xcode 复制应用程序的同时安装文件。我不认为这是可能的。此响应让应用程序在运行时将文件安装到 Documents 目录中,这不是同一件事,而是下一个最好的事情 (AFAIK)。
    【解决方案3】:

    添加新的构建阶段 -> 目标中的新复制文件构建阶段

    【讨论】:

    • 您无法从 Xcode 访问任何 iPhone 目录。没有?
    • 有趣的是找到正确的目的地。问题是询问图书馆或文档路径。这些都不能在复制文件目标下拉列表中找到。
    猜你喜欢
    • 1970-01-01
    • 2013-10-10
    • 1970-01-01
    • 1970-01-01
    • 2013-11-15
    • 1970-01-01
    • 2015-03-18
    • 2020-01-14
    • 2022-12-04
    相关资源
    最近更新 更多