【发布时间】:2011-05-25 08:21:32
【问题描述】:
我正在为 OS X 编写 FileMaker Pro 插件,我需要能够访问 /Applications/FileMaker Pro 11/Extensions/blah.fmplugin/Contents/Resources 目录中的文件。 (但这可能是/apps/FileMaker Pro 11 Advanced/Extensions/xyz.fmplugin/Contents/Resources 或其他内容,具体取决于用户安装 FMP 的位置以及他们是否重命名了插件等。)因为我无法控制用户安装 FMP 的位置,或者他们是否正在运行 FMP 或 FMPA 或他们是否重命名了我的插件(尽管这比 FMP 与 FMPA 的情况不太可能),我不知道插件包的路径。
我找到了这样的答案:Relative Paths Not Working in Xcode C++,但这给了我 FileMaker.app 中资源文件夹的路径,而不是我的插件中的路径。
即我得到 /Applications/FileMaker Pro 11/FileMaker Pro.app/Contents/Resources 而不是插件中 Resources 文件夹的路径。
我需要在 Xcode 中配置什么才能使上述解决方案正常工作吗?还是有其他方法可以到达路径? CFBundleGetMainBundle() 调用听起来像是要返回应用程序本身的包而不是插件。
我根据 Bundle Programming Guide 和 CFBundleGetBundleWithIdentifier(由 mipadi 提到)找到了一些可能性,但我还没有弄清楚我需要哪些功能以及先决条件是什么。
【问题讨论】: