我在站点上看到了这个问题的几种变体,但是XCode 10中似乎没有一个可接受的答案。(而且我不是100%地确定它们甚至与我所遇到的问题相同。)
我有一个要移植到iOS的应用程序。它访问捆绑的数据。现在,在普通的iOS应用中,我知道如何访问资源,这不是问题。但是,该应用程序是C ++,默认情况下是这样的:
现在这一切都很好,并且在构建过程的最后一步,我将映射目录复制到我的包中,并且它及其所需的所有文件都在这里。
问题是,当我实际在模拟器中运行时,似乎出现了步骤1,而不是将基本目录设置为捆绑软件的基础或捆绑软件基础中的某些工作目录,而是将工作目录设置为...“ /”
这到底有多合理?我的意思是,我猜想它是通过以完整路径运行命令来执行的,但是我无法轻易想象一个工作目录“ /”将永远是任何人想要甚至期望的东西。
现在,我可以在代码中添加一个ifdef,以将工作目录设置为“ argv [0]减去文件名”。但是,我真的不想那样使用可笑的技巧。假设以前有一些设置可以在启动时将CWD设置为模拟器中捆绑软件的基础。但是在XCode 10中,我在任何地方都找不到该选项。所以我的问题是两个: