我创建了一个具有高DPI支持的SDL2应用程序,并在手动运行已编译的二进制文件时正确显示 .
我已经用里面编译的二进制文件创建了一个 .app
结构( Info.plist
, Contents/...
等...) . 应用程序本身启动并运行正常,问题是尽管向我的 Info.plist
添加了 NSHighResolutionCapable
,但窗口显示的DPI较低,在启动没有应用程序结构的已编译二进制文件时对比DPI . Get Info
菜单显示 Open in Low Resolution
选项为勾选并显示为灰色,我没有触及此选项 .
除非需要进一步的macOS应用程序包步骤,否则我可以确认二进制本身没有任何问题,因为它在手动运行时以高DPI运行 .
下面是我的 Info.plist
的片段,为了便于阅读,我编写了一大堆不相关的密钥 .
[...]
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>CFBundleVersion</key>
<string>1.0.0</string>
<key>NSHighResolutionCapable</key>
<true/>
我需要做哪些更改才能在高DPI下运行?
1 回答
我是TheNextman的正确方向,这是一个简单的问题,在添加高DPI密钥之前,缓存了之前版本的
Info.plist
.为了更新缓存,我输入了命令
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister -f [path to .app]
,如here所述 .