〜/別のマシンのアプリケーションに転送されたApp Storeアプリケーションが起動しないのはなぜですか?


10

Mac App Storeからいくつかのアプリを購入して、自分のパソコンにインストールしました。共有の仕事用コンピュータにインストールしたいのですが。残念ながら、私は仕事用コンピューターへの管理者アクセス権を持っていないので、これを通常の方法で行うことはできません。

私は自宅のコンピューターから~/Applications仕事用コンピューターのディレクトリにアプリをコピーし、それらを実行しようとしましたが、うまくいっていません:

  • 一部のアプリは、初めて実行するときに、「このコンピューターでこのアプリケーションを使用するにはサインインしてください」というダイアログボックスを開き、Apple IDとパスワードの入力を求めます。その後、正常に機能します。(例:DayOne、ほとんどの無料アプリ)
  • ほとんどのアプリでは引き続きこのダイアログボックスが表示されますが、IDとパスワードを入力した後でも、何らかの理由で機能しません。(例:BBEdit、Soulver、Twitterrific)

質問):

  • アプリを実行するために何かできることはありますか?
  • そうでない場合、アプリが起動を拒否する原因は何ですか?

編集:アプリが失敗すると、コンソールメッセージ「Exited with exit code:173」が表示されます。私が正しく理解している場合、これはアプリが無効であることを意味します(あるコンピューターから別のコンピューターにコピーしたときに予期されることです)。ただし、App Storeがアプリを検証するプロセスは、アプリが適切な場所にない場合は機能しないようです。さらに、DayOneや無料のアプリなど、機能するアプリは、アプリが有効に購入されたことを確認していないために機能する可能性が高く、実際にはどのような種類の検証も行わずにすべてのコンピューターで機能します。

問題は残っていますが、回避策はありますか?

もう一度編集し~/Applicationsます。別のユーザーであっても、自宅のコンピューターのアプリを問題なくコピーできます。この問題の調査(解決は言うまでもありません)には非常に手間(2台のコンピューターまたは少なくとも1台の仮想マシンを含む)が必要なので、報奨金を提供します。


あなたはライオンまたはユキヒョウですか?
bmike

仕事用コンピューターはユキヒョウです。家はライオンです。うーん。
Nathan Grigg

仕事用のコンピューターにサインインし、ダウンロードしてファイルをダウンロードしてから移動するのが最善でしょう。
bmike

1
App Storeからファイルをダウンロードすると、ファイルが配置される/Applicationsため、管理者パスワードが必要になります。
Nathan Grigg、2011年

いくつかのテストを実行し、私の答えを以下に完全に書き直しました。解決策はありません。申し訳ありませんが、少なくとも何が起こるかを説明します。
kopischke 2010年

回答:


12

App Store検証プロセスで興味深い(読む:非常に迷惑な)バグにぶつかったようです。

手始めに、アプリをコピーする場所は実際には含まれず、管理者/非管理者ユーザーとしてのステータスも含まれません。Appleはこれが可能であるはずだという事実にもかかわらず、私の2台のマシンでは、標準ユーザー、管理ユーザー、/Applicationsまたはで実行するために手動でコピーしたアプリを取得できません~/Applications。バンドルを実行して、通常のインストールに準拠するようにバンドルchownすることもchmod役立ちません。App Storeのログインシートがポップアップしますが(一度)、その後、アプリは終了コード173で終了し続けます。

App Storeのレシートの検証に関するAppleの開発者ドキュメントによると、アプリの使用を検証するレシートの一部はマシン固有の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マシンをアップグレードしていなかったにも関わらず、それは私にも有効です。
Nathan Grigg、2012
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.