使用Xcode 9进行构建时,Sierra上缺少ColorSync框架

时间:2017-09-20 18:10:52

标签: objective-c xcode macos cocoa core-graphics

使用Xcode 9(9A235)在Sierra(10.12.6)上构建我们的macOS应用程序时,由于ColorSync框架,应用程序将无法正常启动 - dyld无法找到它:

Termination Reason:    DYLD, [0x1] Library missing

Application Specific Information:
dyld: launch, loading dependent libraries

Dyld Error Message:
  Library not loaded: /System/Library/Frameworks/ColorSync.framework/Versions/A/ColorSync
  Referenced from: /Volumes/*/ColorSyncTest.app/Contents/MacOS/ColorSyncTest
  Reason: image not found

鉴于10.13 SDK中的ColorSync.framework直接驻留在/ System / Library / Frameworks,而不是像过去那样成为ApplicationServices.framework的子代,错误是有道理的...... 我们尝试明确地(强烈和弱地)链接到ColorSync和ApplicationServices - 但无济于事。

问题是 - 人们如何在Xcode 9中使用ColorSync而不是10.13之前的任何东西?

非常感谢任何想法。

谢谢, d。

2 个答案:

答案 0 :(得分:2)

我们通过更改使用ColorSync的动态库的部署目标(从10.8到10.9)来设法解决问题。我不知道为什么这样可以正常工作,如果其他人这样做,请分享。

答案 1 :(得分:0)

第一个寻找这些问题答案的地方是Mac OS X Release Notes。您还可以查看API Changes page

看起来您正在构建10.13 SDK并在10.12上运行,您是否可以将目标[macOS部署目标]更改为10.12并查看链接是否已清除?