【发布时间】:2011-06-17 15:13:33
【问题描述】:
我在访问我的应用程序中的文件时遇到问题。
我正在使用
//Directly from TileMap example from WWDC2010
NSString *tileDirectory = [[[NSBundle mainBundle] resourcePath]
stringByAppendingPathComponent:@"Tiles"];
为我的MKOverlay 访问我的磁贴。这给了我这个目录
/Users/xxxx/Library/Application Support/iPhone Simulator/4.2/Applications/9D62025C-C53B-472C-8309-xxxx/xxxx.app/Tiles
x 仅出于隐私原因
我的磁贴位于我的应用程序根目录中的一个名为 Tiles 的文件夹中,该文件夹位于 Xcode 中的一个名为 Tiles 的组中,该组直接位于 Resources 组中。
当我运行我的应用程序时,我收到一个简单的错误,说它在生成的目录中找不到我的图块(上面的一个引号)如果我替换那段代码并制作它:
NSString *tileDirectory = @"/Users/xxxx/Documents/xxxx/Tiles";
然后我的应用程序运行良好。这显然是因为它在我的 Mac 上的直接位置找到了我的图块。这对于测试来说很好,但我需要它在我的 iPhone/iPad 上工作。
出现此问题的原因可能是:
- 生成的目录不正确。
- 平铺图像未包含在构建的
.app文件中。
不管怎样,我不知道该怎么做才能解决它。
我该如何解决这个问题?
[编辑]
我把那段代码改成:
NSString *tileDirectory = [[NSBundle mainBundle] resourcePath];
现在它可以在模拟器中运行,因为所有文件都在应用程序根文件夹中,我不要求它进入另一个名为“Tiles”的目录。
这在模拟器上运行没有错误,但在我的 iPhone 上它给出了原始错误(只是一个不同的文件路径,但也以 /xxxx.app 结尾
如何确保我的应用程序文件中有一个目录,例如 xxxx.app/Tiles - TileMap 可以做到这一点。
【问题讨论】: