虚拟机上的Xcode构建与本机安装不同

虚拟机上的Xcode构建与本机安装不同,xcode,virtual-machine,macos-sierra,Xcode,Virtual Machine,Macos Sierra,我完全被这个问题难住了,希望有更多Xcode经验的SO用户能告诉我我的应用程序构建发生了什么,或者我应该如何调试这个问题 我有一个较旧的应用程序,它使用(现在已贬值的)QTKit库与USB视频源接口。我想看看它是否能在macOS 10.12测试版上成功构建 我下载了测试版并将其与Xcode 7.3.1一起安装在VMWare虚拟机中。在一个bug被解决后(下文将对此进行详细介绍),应用程序成功构建并运行 接下来,我将macOS 10.12安装到自己的分区中,并安装了相同版本的Xcode。我从VM复

我完全被这个问题难住了,希望有更多Xcode经验的SO用户能告诉我我的应用程序构建发生了什么,或者我应该如何调试这个问题

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

我下载了测试版并将其与Xcode 7.3.1一起安装在VMWare虚拟机中。在一个bug被解决后(下文将对此进行详细介绍),应用程序成功构建并运行

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

还有一些事实:

  • 当我将VM内部构建的应用程序移动到分区OS安装时,它仍能正常运行
  • 当应用程序在VM内部构建时,控制台会记录:“无法创建基本的加速OpenGL渲染器。核心映像现在正在使用软件OpenGL渲染器。这将很慢”
  • 我在一些地方保留并发布了CIImages。当我第一次在VM中构建应用程序时,由于发布后引用了一个映像,因此出现了EXC_BAD_访问错误。此外,在VM构建中,如果映像实例未发布,则会导致巨大的内存泄漏。在分区构建中,我可以删除保留和释放映像的代码没有泄漏发生,也没有访问错误发生
为什么根据应用程序是在VM内部构建还是在本机OS安装,我会得到不同的结果

当我将VM内部构建的应用程序移动到分区OS安装时,它仍能正常运行。 ... 为什么根据应用程序是在VM内部构建还是在本机OS安装,我会得到不同的结果

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

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

有关如何检测硬件加速OpenGL渲染器是否可用的信息,请参阅。我在10.11(硬件)中尝试了这一点,它返回
true
,在10.12(并行,虚拟)中,它返回
false

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

当我将VM内部构建的应用程序移动到分区OS安装时,它仍能正常运行。 ... 为什么根据应用程序是在VM内部构建还是在本机OS安装,我会得到不同的结果

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

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

有关如何检测硬件加速OpenGL渲染器是否可用的信息,请参阅。我在10.11(硬件)中尝试了这一点,它返回
true
,在10.12(并行,虚拟)中,它返回
false

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