gpt4 book ai didi

iphone - 如何在 iPhone 应用程序中获取文件路径

转载 作者:IT王子 更新时间:2023-10-29 07:42:00 24 4
gpt4 key购买 nike

我在访问我的应用程序中的文件时遇到问题。

我正在使用

//Directly from TileMap example from WWDC2010
NSString *tileDirectory = [[[NSBundle mainBundle] resourcePath]
stringByAppendingPathComponent:@"Tiles"];

访问我的 MKOverlay 的图 block 。这给了我这个目录

/Users/xxxx/Library/Application Support/iPhone Simulator/4.2/Applications/9D62025C-C53B-472C-8309-xxxx/xxxx.app/Tiles

x 只是出于隐私原因

我的瓷砖在我的应用程序根目录中名为 Tiles 的文件夹中,该文件夹位于 Xcode 中名为 Tiles 的组中,该组直接位于 资源组。

当我运行我的应用程序时,我收到一个简单的错误,指出它无法在生成的目录中找到我的图 block (上面的引述)如果我替换那段代码并制作它:

NSString *tileDirectory = @"/Users/xxxx/Documents/xxxx/Tiles";

然后我的应用程序就可以正常工作了。这显然是因为它在我的 Mac 上的直接位置找到了我的磁贴。这非常适合测试,但我需要它才能在我的 iPhone/iPad 上工作。

出现此问题的原因可能是:

  • 生成的目录不正确。
  • 磁贴图像未包含在构建的 .app 文件中。

无论哪种方式,我都不知道如何解决它。

我该如何解决这个问题?


[编辑]

我将那段代码更改为:

NSString *tileDirectory = [[NSBundle mainBundle] resourcePath];

现在它在模拟器中工作,因为所有文件都在应用程序根文件夹中,我不要求它进入另一个名为“Tiles”的目录。

这在模拟器上运行没有错误,但是在我的 iPhone 上它给出了原始错误(只是一个不同的文件路径但也以 /xxxx.app 结尾

如何确保我的应用程序文件中有一个目录,例如 xxxx.app/Tiles - TileMap 会这样做。

最佳答案

因为它是您的应用程序包中的文件,我认为您可以使用 pathForResource:ofType: 来获取文件的完整路径名。

这是一个例子:

NSString* filePath = [[NSBundle mainBundle] pathForResource:@"your_file_name" 
ofType:@"the_file_extension"];

关于iphone - 如何在 iPhone 应用程序中获取文件路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6387915/

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