MacOS需要不同的操作系统版本与Info.plist

时间:2017-06-22 04:02:28

标签: macos info.plist

我正在构建MacOS应用包,并且我已使用LSMinimumSystemVersion中的Info.plist键指定了最低操作系统版本(10.10)。只要我们在OS 10.12上运行它,应用程序本身就可以正常运行。但是如果我们尝试在10.11上启动它,我们会收到一个错误:"你不能在这个版本的OS X中使用这个版本的应用程序。你有OS X 10.11.6。该应用程序需要OS X 10.12或更高版本。"

我已经调查了我能找到的与操作系统版本检查有关的所有内容,但我无法弄清楚发生了什么。即使我完全省略LSMinimumSystemVersion条目,我们也会得到相同的结果。我们已经在运行10.11的多台Mac上进行了测试,并且它始终失败,因此它不是某些特定于机器的错误。实际二进制文件(隐藏在应用程序包中的可执行文件)在10.11上正常运行,它只是失败的应用程序包。

我使用makefile构建应用程序,而不是Xcode(原因太长,无法进入此处)。也许我需要添加一些额外的步骤?

下面是Info.plist(略有删失):

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CFBundleDevelopmentRegion</key>
    <string>English</string>
    <key>CFBundleExecutable</key>
    <string>*********</string>
    <key>CFBundleGetInfoString</key>
    <string>***************************</string>
    <key>CFBundleIconFile</key>
    <string>*******.icns</string>
    <key>CFBundleIdentifier</key>
    <string>*********************</string>
    <key>CFBundleName</key>
    <string>***************************</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
    <key>CFBundleShortVersionString</key>
    <string>**.**.**</string>
    <key>CFBundleVersion</key>
    <string>**.**.**.**</string>
    <key>LSMinimumSystemVersion</key>
    <string>10.10.0</string>
    <key>NSHumanReadableCopyright</key>
    <string>**********************</string>
</dict>
</plist>

1 个答案:

答案 0 :(得分:2)

您是否在编译/链接-mmacosx-version-min?如果您尚未

,请将-mmacosx-version-min=10.10添加到编译器/链接器选项中