APP下载

299款知名macOS应用程序有相容性问题,苹果直接动手修了

消息来源:baojiabao.com 作者: 发布时间:2024-05-09

报价宝综合消息299款知名macOS应用程序有相容性问题,苹果直接动手修了

为了要让现有应用程序在新版macOS上执行,苹果对299个应用程序施以相容性修补,以确保运作正常,这些应用程序包括各种耳熟能详的名字,Photoshop、微软Office系列、Firefox以及Dropbox等,甚至连苹果自家的应用程序都在列表内。

Android与iOS开发者Zhuowei Zhang在自家部落格写道,他用了macOS 10.13.4上的AppKit、Foundation以及CoreFoundation,发现299个唯一的应用程序Bundle ID,而这代表这些应用程序都被苹果动过手脚了。

应用程序有没有被修补,借由bool __CFAppVersionCheckLessThan(CFStringRef, CFSystemVersion)函式就能确定,当结果回传True,代表该这个应用程序符合特定Bundle ID,且与早前的macOS相链接,旧版本的应用程序便会被加上相容性修补,但如果应用程序以较新版的SDK建立则不会。

Zhuowei Zhang提到,苹果为应用程序加上的补丁,并不会大幅的改变应用程序的行为,像是加上autoreleasepool这类陈述式,或是有其他开发者发现Dragon Age 2中的NSBundle imageForResource呼叫了Bundle pathForImageResource而非Bundle URLsForImageResource,也就是说被修改后以档案创建图像而非URL。

还有一些值得注意的地方,这299个应用程序中,微软的Excel、PowerPoin以及Word被些微更改了排序的方法,另外有25个应用程序被禁用了Sierra版本的新功能Automatic tabbing,有部分补丁只针对特定公司,像是Adobe的应用程序多数补上了_NSSavePanelUseLocalhostURLsDefaultValueFunction,而NSTableView则分别被加在HP、Sketch以及TeamViewer等应用程序中。

Zhuowei Zhang提到,还有部分应用程序不知为何的拥有特别的殊荣,Eclipse、VMWare、Dragon Age 2、Apple Keynote、Apple Motion以及微软Office使用了特殊命名的修补函式。此外,这份列表中存在64个苹果自家的应用程序,Zhuowei Zhang猜测,因为苹果喜欢使用一些第三方无法使用的私人API,反而导致相容性下降,这是可以预料的,但是他指出,其中出现像是com.apple.loginwindow这样的系统应用程序就蛮诡异的,他认为,苹果是透过相容性系统对特别的系统应用进行补丁,但他也提出了质疑,为什么不是透过框架来解决这个问题?

受到苹果补丁恩惠的应用程序,除了上述提及,另外还有AutoCAD、Maya、Matlab、Chrome、Opera、Citrix GoToMeeting、思科Spark、Spotify、Evernote、Dropbox、暴风雪的游戏、1Password、OpenJDK、Firefox以及Fujitsu ScanSnap等299个应用程序,Zhuowei Zhang在部落格中提供了的详细列表。

Zhuowei Zhang提到,过去他以为苹果不会像微软一样在意应用程序的相容性。不过,论坛上也有网友对此评论,只有够重要的应用程序,苹果才会进行相容性修补。

2018-05-23 08:31:00

相关文章