在macOS上的.app中打包时,自定义二进制文件以低DPI运行

在macOS上的.app中打包时,自定义二进制文件以低DPI运行,c,macos,cocoa,installation,sdl,C,Macos,Cocoa,Installation,Sdl,我已经创建了一个SDL2应用程序,它具有高DPI支持,并且在手动运行编译的二进制文件时能够正确显示 我创建了一个.app结构(Info.plist,Contents/…,等等),里面有编译过的二进制文件。应用程序本身启动并运行良好,问题在于,尽管在myInfo.plist中添加了NSHighResolutionCapable,但窗口显示的DPI较低,与启动没有应用程序结构的编译二进制文件时的DPI形成对比。Get Info菜单显示Open in Low Resolution选项,该选项已勾选并显

我已经创建了一个SDL2应用程序,它具有高DPI支持,并且在手动运行编译的二进制文件时能够正确显示

我创建了一个
.app
结构(
Info.plist
Contents/…
,等等),里面有编译过的二进制文件。应用程序本身启动并运行良好,问题在于,尽管在my
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/>
[…]
CbundlePackageType
应用
CbundleShortVersionString
1.0.0
循环流化床锅炉
1.0.0
NShighResolutionable


在高DPI下运行需要做哪些更改?

我被引导到了正确的方向,一个简单的问题是在添加高DPI键之前缓存了先前版本的
Info.plist


要更新缓存,我输入了命令
/System/Library/Frameworks/CoreServices.framework/Frameworks/LaunchServices.framework/Support/lsregister-f[path To.app]

在运行包时没有添加
NSHighResolutionCapable
键,您是否尝试过添加它?您是否尝试过重置Launch Services数据库(请参见以下答案:)或在新用户帐户中重置?@TheNextman是的,就是这样!谢谢你的提示。