0

我正在编写一个 Objective-c++ 应用程序,我正在尝试访问应用程序Contents文件夹。

假设我的应用名称是 MyApp.app。如果我从 Xcode 运行我的应用程序,那么我可以Contents像这样访问文件夹:

std::fstream file;
file.open("MyApp.app/Contents/some_text_file.txt");
if(file.is_open()) {
...
}
else {
...
}

但是如果我在没有 Xcode 的情况下运行我构建的应用程序,则会file.is_open()失败。

4

2 回答 2

3

[[NSBundle mainBundle] bundlePath]会给你MyApp.app目录的路径。然后,您可以添加Contents到该路径。

或者,[[NSBundle mainBundle] resourcePath]将为您提供MyApp.app/Contents/Resources目录的路径。然后,您可以从该路径中删除子目录;请参阅使用来自 [[NSBundle mainBundle] resourcePath] 的路径

于 2013-05-25T08:53:56.457 回答
2

使用NSBundle类来获取有关您的应用程序包的信息。[[NSBundle mainBundle] bundlePath] 为您提供 MyApp.app 的完整路径。

于 2013-05-25T09:00:10.683 回答