为什么转移到〜/另一台计算机上的应用程序的App Store应用程序无法启动?


10

我已经从Mac App Store购买了一些应用程序,并将它们安装在我的个人计算机上。我想将它们安装在共享的工作计算机上。不幸的是,我没有对工作计算机的管理员访问权限,因此我无法以通常的方式执行此操作。

我已经将应用程序从我的家用计算机复制到~/Applications工作计算机的目录,并尝试运行它们,但取得了不同的成功:

  • 某些应用程序在您首次运行时,会打开一个对话框,显示“登录以在此计算机上使用此应用程序”,并提示您输入Apple ID和密码,然后它们可以正常工作。(例如:DayOne和大多数免费应用)
  • 大多数应用程序仍会显示此对话框,但是由于某些原因,即使您输入了ID和密码,也无法使用。(例如:BBEdit,Soulver,Twitterrific)

问题:

  • 我可以做些什么来使应用程序运行吗?
  • 如果不是,是什么导致该应用拒绝启动?

编辑:当应用程序失败时,它会显示一条控制台消息“已退出,退出代码:173”。如果我理解正确,则意味着该应用程序无效(将其从一台计算机复制到另一台计算机时,这是可以预期的)。但是,当应用程序不在正确的位置时,App Store验证应用程序的过程似乎无法正常工作。此外,似乎可以运行的应用程序(例如DayOne或免费应用程序)之所以起作用,仅是因为它们没有检查该应用程序是否已被有效购买,并且实际上可以在任何类型的计算机上运行而无需任何类型的验证。

问题仍然存在,是否有解决方法?

再次编辑:即使将应用程序复制到~/Applications我的家用计算机上,也没有问题。因为研究(更不用说解决)此问题需要这么多麻烦(包括两台计算机或至少一台虚拟机),所以我提供了赏金。


您是在狮子还是雪豹上?
bmike

工作计算机是雪豹。家就是狮子。嗯。
内森·格里格

最好登录工作计算机并下载,然后在文件下载后移动文件,不是吗?
bmike

1
从App Store下载文件时,会将文件放入其中/Applications,因此需要管理员密码。
内森·格里格

进行了一些测试,并在下面完全重写了我的答案。恐怕我无法说出任何解决方案,但至少会解释发生的情况。
kopischke 2011年

Answers:


12

您在App Store验证过程中遇到了一个有趣的(阅读:非常烦人的)错误,看来:

对于初学者来说,将应用程序复制到的位置实际上是不存在的,您作为管理员/非管理员用户的身份也不会进入该位置。尽管Apple声明这是可行的,但在我的两台机器上,我还是无法以in /Applications或in的身份以标准用户,admin用户的身份手动复制应用程序运行~/Applications。捆绑销售chownchmod捆绑销售商品均不符合常规安装帮助。App Store登录表会弹出(一次),但是此后,应用程序会继续退出,退出代码为173。

根据Apple用于验证App Store收据的开发人员文档,验证应用程序使用的收据的一部分是特定于计算机的GUID。将应用程序复制到另一台计算机时,GUID不再匹配,从而使收据无效(相反,在您自己的计算机上,无论您安装该应用程序的用户是什么,它都始终匹配-因此,您对此没有任何问题) 。应用程序的目的是通过退出代码173退出来发出无效的收据,而App Store的storeagent流程将接管之后,要求提供凭据并生成新的收据,然后在成功后重新启动应用程序:

如果系统成功获取有效收据,则会重新启动该应用程序。否则,它将向用户显示一条错误消息,说明问题所在。

如果验证失败,则不向用户显示任何错误消息。系统负责尝试获取有效收据或通知用户该收据无效。

在您(和我的测试)案例中,发生的事情是验证悄无声息地失败 -收据从未更新,但也未显示任何错误消息。日志显示storeagent返回:

promptResponse: <CKSignInPromptResponse:0x1080c4fb0 returnCode:1>

该代码没有被Apple记录下来,我发现的只是开发人员在测试环境中就此问题进行的讨论,该问题似乎与iTunes Connect数据不完整有关(Geoff Pado的摘要在此处)。

不管怎样,整个图片清楚地表明途中验证失败,即使在向App Store输入正确的凭据后,仍会使用无效的收据手动复制应用程序。如您所述,只有那些不检查自身有效性的应用仍将运行。

对于您的情况不是很有帮助,Apple仅建议从App Store删除并重新下载以解决此问题。

TL; DR:在Apple修复了需要的收据验证流程之前,您无法将在App Store中购买的应用程序从一台计算机手动复制到另一台计算机。安装位置和用户特权不包含在其中。


该错误显然已得到修复(请参阅apple.stackexchange.com/questions/46874/…)。尽管自从我最初提出问题以来没有升级Snow Leopard机器,但它也对我有用。
内森·格里格
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.