我有一个通过互联网进行 self 更新的应用程序,更新后的副本无法在运行 Leopard (10.5.8) 的 PowerPC 计算机 (G5) 上运行。双击该应用程序会生成一条消息,显示“您无法打开应用程序“appname”,因为此体系结构不支持该应用程序。”但这里有一个奇怪的部分:如果我使用 Finder 或使用 cp -R 命令复制应用程序,那么复制的应用程序运行正常!然而,如果我在两个应用程序上执行ls -laeR
,结果是相同的。我重新启动机器,两个副本之间的差异仍然存在。
有时,重命名应用程序即可使其运行。经过几次尝试,我设法将其重命名回原来的名称,并且仍然可以运行。
如果这只是在一台机器上,我会将其视为磁盘损坏、宇宙射线或巫术十六进制,但这是由客户报告的,然后我在自己的机器上重现了它。
有什么想法可能会导致这种行为吗?
最佳答案
事实证明,Launch Services 数据库以某种方式将应用程序标记为不受支持,我通过使用半 secret lsregister
命令行工具转储数据库来验证这一点。任何会更改应用程序修改日期的操作(例如 touch
)都足以让 Launch Services 醒来并闻到咖啡的味道。
关于macos - Mac OS X 10.5 App "not supported on this architecture"通过复制修复?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2580450/