我有一个通过互联网更新自己的应用程序,更新的副本将不会在运行Leopard(10.5.8)的PowerPC机器(G5)上运行。双击该应用程序会生成一条消息,指出“您无法打开该应用程序” appname “,因为此架构不支持此功能。”但这是奇怪的部分:如果我使用Finder或使用cp -R
命令复制应用程序,那么副本运行正常!然而,如果我在两个应用上都ls -laeR
,结果是相同的。我重新启动机器,两份副本之间的差异仍在那里。
有时,重命名应用程序会使其运行。经过几次尝试后,我设法将其重命名为原始名称并仍然运行。
如果这只是在一台机器上,我会将其视为磁盘损坏,宇宙射线或巫毒十六进制,但是客户报告了它,然后我在自己的机器上复制了它。
任何可能导致此行为的想法?
答案 0 :(得分:3)
事实证明,Launch Services数据库以某种方式将应用程序标记为不受支持,我通过使用半秘密lsregister
命令行工具来转储数据库。任何会改变应用程序的模式日期的东西,例如touch
,都足以让Launch Services醒来并闻到咖啡的味道。
答案 1 :(得分:0)
对我来说听起来像一个扩展属性或其他方面没有被转移到程序文件的副本。
也许尝试在应用包的xattr
输出上运行ls -laeR
命令?