CFBundleCopyResourceURL在设备中返回NULL,但在模拟器上不返回

时间:2014-03-19 21:37:50

标签: ios device resourcebundle

我使用CFBundleCopyResourceURL来获取iOS中着色器文件的路径。它在设备上运行时返回NULL,但在模拟器上运行正常。更糟糕的是,这适用于另一个应用程序设置,与复制资源的方式完全相同。以下是我可能遇到的潜在问题的答案..

  • 该文件位于文件夹(shaders / shader.vsh)中,该文件夹位于我的项目中作为参考(项目下工作区中的蓝色文件夹)。复制包资源构建阶段具有文件夹(着色器)
  • 的条目
  • 传入的第一个参数(bundle)是一个有效的主包,我通过调用CFBundleGetMainBundle()得到它。我在调试器中确认它是有效的
  • 我查看了应用图片的包内容,并在那里找到了文件。我还查看了构建日志中这些文件的复制命令,看起来很好。

很明显,文件被复制到软件包中,但由于某种原因,在某种特定情况下,该功能仅在设备上失败。

我是否忽略了别的什么?

1 个答案:

答案 0 :(得分:0)

问题转为区分大小写。 OSX不区分大小写,而iOS则不区分大小写。 感谢Ian Henry提到它。