gpt4 book ai didi

iPhone 应用程序支持文件夹包含构建前的文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:06:29 25 4
gpt4 key购买 nike

我有一个 iPhone 应用程序,它以编程方式获取应用程序支持文件夹的路径,测试应用程序支持文件夹中的文件,然后根据结果加载文件或创建新文件。这很容易,并且有大量关于如何执行此操作的教程。

但我终其一生都无法在 ios 文档或网上找到任何关于如何在构建应用程序之前将文件放入应用程序支持文件夹的信息。我尝试在我的应用程序 Xcode 文件夹中创建库/应用程序支持,但无济于事。

具体来说,我正在制作游戏,我想在构建和运行应用程序之前将关卡包包含在游戏的 Library/Application Support 文件夹中。最好通过在 Finder 中拖放文件。这可能吗?

@Vimal Venugopalan

编辑:正如 Vimal 提到的,我可以使用 [[NSBundle mainBundle] pathForResource:ofType:inDirectory:] 方法,但这给出了类似于“~/MyApp.app/MyFolder/MyFile.plist”的路径。也就是说,如果“~”是应用程序主目录的路径。或者更具体地说,“~”是调用 NSHomeDirectory() 返回的路径;功能。我想放置文件的位置是“~/Library/Application Support/MyFolder/MyFile.plist”

我想要这个位置的文件,因为我想将关卡包合并到我的游戏中。我想在应用程序下载中包含一些关卡包,我最终希望有额外的可下载关卡包。现在下载的关卡包肯定必须放在“~/Library/Application Support/”文件夹中(我知道如何以编程方式执行),所以我想在构建和运行之前将原始关卡包包含在同一个地方应用程序。将我所有的关卡包放在一个地方会简单得多!

最佳答案

您可以在项目中添加这些文件,并在运行时访问这些文件 Xcode 将在 Copy Bundle Resource 阶段复制它们。这通常会复制到包的根目录中。要处理目录,请参阅@CocoaFu 对 this SO question 的回答.

然后在代码中

NSBundle* bundle = [NSBundle mainBundle] 会给你主包

从这里您可以使用 pathForResource:ofType:inDirectory 查看目录:例如

NSString* path = [bundle pathForResource:@"file.xml" 
ofType:nil
inDirectory:@"a"];

方法在NSBundle class reference中给出另见 Bundle Programming guide

希望这能解决您的问题。如果不是请评论

关于iPhone 应用程序支持文件夹包含构建前的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12460211/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com