我通常在一台电脑上创建一些Mac应用程序,然后将它们转移到另一台电脑上进行测试。几个月前,我遇到了"网关问题",Mac屏蔽了未识别的应用程序,我求助于安全部门解决了这个问题。隐私和更改设置以允许从"任何地方"下载应用程序。现在突然之间,我转移到测试的应用程序不能在测试计算机上运行。当我双击应用程序时,有一个短暂的闪光,但什么也没发生。我可以点击四个月前转移到测试电脑上的同一个应用程序文件,打开它没有问题。
听起来应用程序的某些部分没有在两台计算机之间正确传输。我的猜测是,可执行文件(一般AppName.app/Contents/MacOS/AppName)在传输中失去了执行权限。我在谷歌上搜索了控制台错误信息,发现了几个缺少执行权限导致错误的情况(1,2)。
我没有测试过,但这可能是通过SMB而不是AFP文件共享传输它的结果(SMB版本2现在是Mavericks计算机之间的默认设置)。如果我是对的,有几种方法可以解决/避免这个问题:
- 添加类似
chmod +x /Applications/AppName.app/Contents/MacOS/AppName
的执行权限(注意:应用包中可能还有其他可执行文件也需要添加execute)。 - 用AFP代替SMB传输应用程序。您可以使用Finder的Go菜单>连接到服务器选项,并使用"AFP://服务器名"来强制AFP连接。
- 压缩应用程序(使用Finder的文件菜单>压缩选项),传输Zip存档,然后在另一台计算机上展开它(使用Finder/archive实用程序)。