Macos Lsregister给出;“签名不匹配”;错误

Macos Lsregister给出;“签名不匹配”;错误,macos,file-type,info.plist,Macos,File Type,Info.plist,我正在尝试为我的OS X应用程序注册文档文件类型。首先,我添加了CFBundleDocumentTypes和UTExportedTypeDeclarations键,如所述。然而,Finder似乎不想识别我声明的文件类型 为了弄清楚发生了什么,我转向了,它描述了我如何使用终端中的lsregister工具来找出它不工作的原因。每当我尝试此操作时,都会出现以下错误: Signature mismatch: PkgInfo signature = '????', plist CFBundleSignat

我正在尝试为我的OS X应用程序注册文档文件类型。首先,我添加了
CFBundleDocumentTypes
UTExportedTypeDeclarations
键,如所述。然而,Finder似乎不想识别我声明的文件类型

为了弄清楚发生了什么,我转向了,它描述了我如何使用终端中的
lsregister
工具来找出它不工作的原因。每当我尝试此操作时,都会出现以下错误:

Signature mismatch: PkgInfo signature = '????', plist CFBundleSignature = 'SWCC'
这似乎是指my Info.plist文件中的以下行:

<key>CFBundleSignature</key>
<string>SWCC</string>
CbundleSignature
SWCC
据我所知,CbundleSignature类似于MacOS9的“创建者代码”。基本上,我只是随机选择了一个4个字母的分机

然而,我没有找到任何关于什么是“PkgInfo签名”或如何声明它的信息。事实上,在一次广泛的谷歌搜索之后,我所能找到的只是关于,而实际上没有得到它是什么的描述


那么,如何解决“签名不匹配”的问题呢?

在进一步搜索之后,我发现许多应用程序,包括在XCode中新创建的项目,在其Info.plist文件中对
CbundleSignature
具有以下值:

<key>CFBundleSignature</key>
<string>????</string>
CbundleSignature
????
这似乎表明捆绑包的签名未定义。鉴于
CbundleSignature
似乎是对Mac OS 9的回溯,而且四个字母的“SWCC”是任意选取的,只需更改Info.plist文件中的该行以匹配上述内容,应该没有任何害处

修复后,lsregister中的“签名不匹配”错误应消失,如果没有进一步的错误,则应注册文件类型关联