Xcode在VM上的构建方式与本机安装

时间:2016-07-14 02:24:29

标签: xcode virtual-machine macos-sierra

我完全被这个问题困扰了,希望有更多Xcode经验的SO用户可以了解我的应用程序构建发生了什么,或者我应该如何调试问题。

我有一个较旧的应用程序,它使用(现已折旧的)QTKit库与USB视频源连接。我想看看它是否能在macOS 10.12 beta上成功构建。

我下载了测试版并将其与Xcode 7.3.1一起安装在VMWare虚拟机中。在解决了一个错误后(更多关于此内容),应用程序已构建并成功运行。

接下来,我将macOS 10.12安装到自己的分区中,并安装了相同版本的Xcode。我从VM复制了Xcode项目文件。这次,当我构建应用程序时,它会显示一个空白屏幕,其中应该是网络摄像头图像。

其他一些事实:

  • 当我将VM内置的应用程序移动到分区操作系统安装时,它会继续正常运行。
  • 当应用程序在VM内部构建时,控制台会记录:“无法创建基本的Accelerated OpenGL渲染器。 Core Image现在使用的是OpenGL渲染器软件。这将很慢"
  • 我在几个地方保留并发布了CIImages。当我第一次在VM中构建应用程序时,由于图像在被释放后被引用,因此出现了EXC_BAD_ACCESS错误。此外,在VM构建中,如果未释放图像实例,则会导致巨大的内存泄漏。在分区构建中,我可以删除保留和释放图像的代码。不会发生泄漏,也不会发生访问错误。

为什么我会根据应用程序是在VM内部构建还是在本机OS安装中获得不同的结果?

1 个答案:

答案 0 :(得分:0)

  

当我将VM内置的应用程序移动到分区操作系统安装时,它会继续正常运行。   ...   为什么我会根据应用程序是在VM内部构建还是在本机OS安装中获得不同的结果?

我不知道您的具体情况,我可以说当在本机或虚拟环境中构建应用程序时,我会得到相同的结果。

到目前为止,我已经发现在10.12中存在加速OpenGL虚拟化的问题。虽然我没有机器,但我可以测试其行为与硬件不一致。

有关如何检测硬件加速的OpenGL渲染器是否可用,请参阅https://stackoverflow.com/a/23000381/608945。我尝试使用10.11(硬件),它返回true,使用10.12(在Parallels中,虚拟),这将返回false

我觉得如果有一个用例,假设应用程序要在虚拟环境中使用,当硬件加速不可用时,应该适当地处理它。