如何清除“你无法打开应用程序”q.app“因为它可能已损坏或不完整”状态?

时间:2013-11-28 16:01:36

标签: macos bundle .app

我正在尝试创建一个简单的.app包。我在Info.plist中犯了一个错误,查找器在图标上显示“禁止”标志,当我尝试点击它时,我收到了该消息。我修复了Info.plist中的错误,我确信100%捆绑包现在没问题,但我仍然收到错误消息。似乎Finder检测到一个破坏的应用程序并缓存它。如何重置此缓存?即使复制捆绑也无济于事。我试着对它进行瞄准和解决,但它确实有效,但必须有一些神奇的技巧。我认为这是扩展属性,但xattr没有显示任何内容。

3 个答案:

答案 0 :(得分:1)

看一下本教程: http://reviews.cnet.com/8301-13727_7-10330759-263.html

我的猜测是第一个解决方案将起作用:更新预绑定。

答案 1 :(得分:1)

我最有可能是类似的问题。 Info.plist文件已损坏(错误的CFBundleExecutable值),Finder显示带有禁止标记的应用程序图标。我手工编辑了Info.plist(只是sudo nano Info.plist),每一次,我通过右键单击Finder然后“显示信息”(或类似的东西)进行测试。当我实际修复了Info.plist文件时,它仍然在Finder中显示了一个条形图,但在信息中显示正常,它也运行正常。

我的猜测是你的Info.plist仍然不行,我建议手动编辑它(它只是一个简单的XML文件)并逐个删除密钥直到你在信息窗口中没有禁止的标志。

答案 2 :(得分:1)

如果您自己创建应用,请检查条目" CFBundleExecutable" yourappname.app/Contents/Info.plist与yourappname.app/Contents/MacOS/下的可执行文件一致。

例如,如果您的应用具有名称"简单",并且存在可执行的Simple.app/Contents/MacOS/Simple。然后在文件Simple.app/Contents/Info.plist中确保有一个条目:

<key>CFBundleExecutable</key>
<string>Simple</string>