1

我正在构建一个 iPhone 应用程序,我的应用程序在首次安装时将一堆资源复制到应用程序的 Documents 目录中。在开发应用程序时,我只需为 iPhone 模拟器修改应用程序的 Documents 目录中的文件,以便在无需重新构建应用程序的情况下轻松测试事物。

但是当我重新构建应用程序时,应用程序的安装目录名称中使用的 GUID 已更改,并且我打开的任何文件现在都指向无效目录。

所以简而言之,在安装到 iPhone 模拟器时,是否有强制应用程序的 GUID 保持不变?这将允许我在 VIM 中编辑文件,并且在我进行构建时不会让它们“消失”。我在 StackOverflow 上搜索了答案,但没有看到任何答案......最接近的是:

每次运行时如何保持iphone模拟器应用程序目录相同

但这不是同一个问题!

谢谢!

4

2 回答 2

2

我从来没有找到使用应用程序 guid 的方法,但最终我确实找到了解决方法。我所做的只是将我对应用程序安装目录的所有引用放入一个函数中,并更改该函数,以便如果我在模拟器中运行,它会在我的系统上返回一个硬编码目录....那样目录将始终即使我重新安装应用程序也保持不变,因此我可以在构建文件时编辑我的文件而不会丢失它们。

+(NSString *) appDocsDir
{
#if TARGET_IPHONE_SIMULATOR

        NSString* result = @"/Users/brad/ezappdir";
#else

        NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
                                                             NSUserDomainMask, 
                                                             YES); 
        NSString* result = [paths objectAtIndex:0];
#endif

    return result;
}
于 2009-09-14T01:40:37.560 回答
1

我通常处理这个问题的方法是创建在标准构建过程之后运行的复制文件运行脚本构建阶段。如果没有对源代码进行任何更改,则将跳过编译阶段,因此只会运行您的构建阶段。然后,确保您的编辑器(Photoshop / vim 等)正在编辑原始文件,而不是构建目录中的文件。

于 2009-06-26T02:42:11.417 回答