Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c iMac-缺少x86版本的GameKit_Objective C_Macos_Gamekit_Monomac_Xamarin.mac - Fatal编程技术网

Objective c iMac-缺少x86版本的GameKit

Objective c iMac-缺少x86版本的GameKit,objective-c,macos,gamekit,monomac,xamarin.mac,Objective C,Macos,Gamekit,Monomac,Xamarin.mac,如果我运行此命令: file/System/Library/Frameworks/GameKit.framework/GameKit 我得到: /System/Library/Frameworks/GameKit.framework/GameKit:Mach-O 64位 动态链接的共享库x86_64 这相当于我的iMac(全新的)缺少x86版本的GameKit。因此,我的x86Mac应用程序(它是一个C#Xamarin.Mac应用程序)在引用GameKit时崩溃 有人知道这是否会成为未来Mac的

如果我运行此命令:

file/System/Library/Frameworks/GameKit.framework/GameKit

我得到:

/System/Library/Frameworks/GameKit.framework/GameKit:Mach-O 64位
动态链接的共享库x86_64

这相当于我的iMac(全新的)缺少x86版本的GameKit。因此,我的x86Mac应用程序(它是一个C#Xamarin.Mac应用程序)在引用GameKit时崩溃


有人知道这是否会成为未来Mac的一个持续问题吗?或者这是我的机器上缺少的一个苹果bug?

一切都指向苹果在某个时候不推荐32位(体系结构i386)代码。这是因为他们利用从32位代码切换到64位代码的优势,向Objective-C运行时添加功能,使64位运行时更具功能

我对此没有确认,但从PowerPC转换是如何处理的,以及64位代码是如何弃用古老技术的负载来看,这可能已经不远了

虽然我的机器上有32位的GameKit,但如果将来的OSX版本可能不包含32位代码,我一点也不会感到惊讶。而且,由于所有包含GameKit的Mac电脑都必须能够运行64位代码(这是山狮电脑的一项要求),我能给出的最佳建议是添加64位版本的应用程序。我不知道MonoMac是否支持64位代码,但这是您应该去的方向


我怀疑操作系统更新(如即将发布的10.8.3)可能会安装碰巧包含32位代码的GameKit版本。或者它可能会为我们其他人删除32位代码。但我绝对不会指望苹果会在32位代码中维护或添加新功能,因为他们喜欢的许多功能(如ARC或合成IVAR)在不破坏二进制兼容性的情况下无法得到所谓32位Objective-C运行时的支持。

苹果开发论坛上也提出了这个问题(需要登录)@32位英特尔已被弃用。不要期望新的框架、应用程序和示例代码在32位Intel中工作。好的,我正在使用
Xamarin.Mac
,这是一个支持Xamarin的MonoMac版本。Xamarin正在修复它,所以我发布这篇文章主要是为了让他们了解为什么我的新iMac只有x64框架。他们有一个只使用x64的其他框架列表,所以我相信他们有办法修复它。