为iPhone模拟器构建时,保持App目录相同吗?

时间:2009-06-26 00:53:24

标签: iphone ios-simulator

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

但是当我重建应用程序时,应用程序的GUID(在其安装目录名中使用)会被更改,我打开的所有文件现在都指向一个无效的目录。

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

how to keep the iphone simulator application directory be the same when run it everytime

但这不是同一个问题!

谢谢!

2 个答案:

答案 0 :(得分:2)

我从来没有找到使用app 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;
}

答案 1 :(得分:1)

我通常处理此问题的方法是创建Copy FilesRun Script构建阶段,该阶段在标准构建过程之后运行。如果未对源进行任何更改,则将跳过编译阶段,因此仅运行构建阶段。然后,确保您的编辑器(Photoshop / vim等)正在编辑原始文件,而不是编译目录中的文件。