gpt4 book ai didi

macos - Mac 文件关联不起作用。为什么或如何调试?

转载 作者:行者123 更新时间:2023-12-01 10:01:25 26 4
gpt4 key购买 nike

我有以下 Info.plist,我试图将 .mybin 文件与应用程序相关联。但是,安装 .mybin 文件后没有图标、描述或关联(使用获取信息查看时)。我是 OSX 开发的新手,我继承了应用程序的包装,所以我不知道如何调试问题。如果有任何不同,应用程序将使用 productbuild 打包到 .app。

我将我的 info.plist 与其他几个应用程序进行了比较,我能看到的唯一区别是许多包含已弃用的键,例如 CFBundleTypeExtensions。因为我只需要支持 10.6 和更高版本,所以我认为我不需要这个并且 LSItemContentTypes 应该足够了。据我了解,LSItemContentTypes 的“com.me.myapp.mybin”是指向导出的同名 UTI 的链接。

我曾尝试手动将 .mybin 文件与应用程序相关联,但当我双击并提示该应用程序不处理该类型的文件时失败了。

谁能告诉我们这个 info.plist 有什么问题或要调查什么?

谢谢。

<plist version="1.0">
<dict>
<key>CFBundleIconFile</key>
<string>MyApp.icns</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleGetInfoString</key>
<string>My Application version 1.0, Copyright © 2013.</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleExecutable</key>
<string>My Application</string>
<key>CFBundleName</key>
<string>My Application</string>
<key>LSMinimumSystemVersion</key>
<string>10.6</string>
<key>CFBundleIdentifier</key>
<string>com.me.myapp</string>
<key>CFBundleDisplayName</key>
<string>My Application</string>
<key>CFBundleVersion</key>
<string>1.0.0</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>LSMultipleInstancesProhibited</key>
<true/>
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeIconFile</key>
<string>MyApp</string>
<key>CFBundleTypeName</key>
<string>My Application binary</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSItemContentTypes</key>
<array>
<string>com.me.myapp.mybin</string>
</array>
<key>LSHandlerRank</key>
<string>Owner</string>
</dict>
</array>
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeDescription</key>
<string>My Application binary</string>
<key>UTTypeIconFile</key>
<string>MyApp.icns</string>
<key>UTTypeIdentifier</key>
<string>com.me.myapp.mybin</string>
<key>UTTypeTagSpecification</key>
<dict>
<key>public.filename-extension</key>
<string>mybin</string>
<key>public.mime-type</key>
<string>application/vnd.me-app.binary</string>
</dict>
</dict>
</array>
</dict>
</plist>

最佳答案

您可以使用 lsregister 命令进行调查:

alias lsregister='/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister'
lsregister -lint -f /path/to/your.app

(我使用的是 Lion。在不同版本的 Mac OS 上,lsregister 的路径可能不同。)

关于macos - Mac 文件关联不起作用。为什么或如何调试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18984025/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com