Mengapa aplikasi App Store ditransfer ke ~ / Aplikasi di komputer lain tidak diluncurkan?

10

Saya telah membeli beberapa aplikasi dari Mac App store dan memasangnya di komputer pribadi saya. Saya ingin menginstalnya di komputer kerja bersama. Sayangnya, saya tidak memiliki akses admin ke komputer kantor, jadi saya tidak bisa melakukan ini dengan cara biasa.

Saya telah menyalin aplikasi dari komputer di rumah saya ke ~/Applicationsdirektori komputer kerja, dan mencoba menjalankannya, dengan keberhasilan yang beragam:

  • Beberapa aplikasi, ketika Anda menjalankannya untuk pertama kali, buka kotak dialog yang mengatakan "Masuk untuk menggunakan aplikasi ini di komputer ini" dan meminta Anda untuk ID Apple dan kata sandi, setelah itu berfungsi dengan baik. (Contoh: DayOne, dan sebagian besar aplikasi gratis)
  • Sebagian besar aplikasi masih akan menampilkan kotak dialog ini kepada Anda, tetapi karena beberapa alasan tidak akan berfungsi, bahkan setelah Anda mengetik ID dan kata sandi Anda. (Contoh: BBEdit, Soulver, Twitterrific)

Pertanyaan-pertanyaan):

  • Apakah ada yang bisa saya lakukan untuk menjalankan aplikasi?
  • Jika tidak, apa yang menyebabkan aplikasi menolak untuk meluncurkan?

Sunting : Ketika aplikasi gagal, itu memberikan pesan konsol "Keluar dengan kode keluar: 173". Jika saya mengerti dengan benar, ini berarti bahwa aplikasi tersebut tidak valid (yang diharapkan ketika saya menyalinnya dari satu komputer ke komputer lain). Namun, proses di mana App Store memvalidasi aplikasi, tampaknya tidak berfungsi ketika aplikasi tidak berada di lokasi yang tepat. Lebih jauh lagi, tampaknya aplikasi yang berfungsi, seperti DayOne atau aplikasi gratis, hanya berfungsi karena mereka tidak memeriksa apakah aplikasi tersebut telah dibeli secara sah dan sebenarnya akan bekerja di komputer mana pun tanpa validasi apa pun.

Pertanyaannya tetap, apakah ada solusi?

Edit lagi: Saya tidak punya masalah menyalin aplikasi ke ~/Applicationskomputer di rumah saya, bahkan untuk pengguna yang berbeda. Karena menyelidiki (belum lagi menyelesaikan) masalah ini membutuhkan banyak kerumitan (termasuk dua komputer atau setidaknya mesin virtual), saya menawarkan hadiah.

Nathan Grigg
sumber
Apakah Anda singa atau macan tutul salju?
bmike
Komputer kerja adalah macan tutul salju. Rumah adalah Singa. hmmm.
Nathan Grigg
Yang terbaik untuk masuk di komputer kantor dan unduh lalu pindahkan file setelah mereka unduh, bukan?
bmike
1
Saat Anda mengunduh file dari App store, ia memasukkannya /Applicationsdan karenanya memerlukan kata sandi admin.
Nathan Grigg
Lakukan beberapa tes dan tulis ulang jawaban saya sepenuhnya di bawah ini. Tidak ada solusi, saya takut untuk mengatakannya, tetapi setidaknya penjelasan tentang apa yang terjadi.
kopischke

Jawaban:

12

Anda telah menemukan bug yang menarik (baca: sangat menjengkelkan) dalam proses validasi App Store, tampaknya:

Sebagai permulaan, lokasi yang Anda salin aplikasi Anda, pada kenyataannya, tidak masuk ke dalamnya, dan status Anda sebagai admin / non-admin pengguna. Terlepas dari kenyataan Apple menyatakan ini harus dimungkinkan , pada dua mesin saya, saya tidak bisa mendapatkan aplikasi yang disalin secara manual untuk dijalankan baik sebagai pengguna standar, pengguna admin, dalam /Applicationsatau dalam ~/Applications. Juga tidak chowning dan chmoding bundel untuk menyesuaikan dengan menginstal biasa bantuan. Lembar masuk App Store muncul (sekali), tetapi aplikasi tetap berhenti dengan kode keluar 173 setelah itu.

Menurut dokumentasi pengembang Apple untuk validasi tanda terima App Store , bagian dari tanda terima yang memvalidasi penggunaan aplikasi adalah GUID khusus mesin. Saat Anda menyalin aplikasi ke komputer lain, GUID tidak cocok lagi, sehingga membatalkan penerimaan (sebaliknya, di mesin Anda sendiri, itu selalu cocok, apa pun yang Anda gunakan untuk menginstal aplikasi - oleh karena itu Anda tidak memiliki masalah dengan itu) . Aplikasi dimaksudkan untuk menandakan tanda terima yang tidak valid dengan keluar dengan kode keluar 173, dan proses App Store storeagentdimaksudkan untuk mengambil alih setelah itu, meminta kredensial dan menghasilkan tanda terima baru, kemudian meluncurkan kembali aplikasi untuk sukses:

Jika sistem berhasil mendapatkan tanda terima yang valid, sistem akan meluncurkan ulang aplikasi. Jika tidak, ini akan menampilkan pesan kesalahan kepada pengguna, menjelaskan masalahnya.

Jangan tampilkan pesan kesalahan apa pun kepada pengguna jika validasi gagal. Sistem bertanggung jawab untuk mencoba mendapatkan tanda terima yang valid atau memberi tahu pengguna bahwa tanda terima itu tidak sah.

Apa yang terjadi dalam kasus Anda (dan pengujian saya) adalah validasi gagal secara diam - diam - sebagaimana ditunjukkan oleh fakta bahwa tanda terima tidak pernah diperbarui, tetapi tidak ada pesan kesalahan yang ditampilkan. Log menunjukkan storeagentpengembalian:

promptResponse: <CKSignInPromptResponse:0x1080c4fb0 returnCode:1>

Kode ini tidak didokumentasikan oleh Apple, dan semua yang saya temukan adalah diskusi oleh pengembang tentang masalah ini dalam konteks pengujian, di mana tampaknya berhubungan dengan data iTunes Connect yang tidak lengkap (Geoff Pado memiliki ringkasan singkat di sini ).

Namun itu mungkin, gambar secara keseluruhan jelas menunjukkan validasi gagal dalam perjalanan , yang membuat aplikasi disalin secara manual dengan tanda terima yang tidak valid bahkan setelah memasukkan kredensial yang benar ke App Store. Hanya aplikasi yang tidak memeriksa validitasnya sendiri yang akan tetap berjalan, seperti yang Anda catat.

Tidak terlalu membantu dalam kasus Anda, Apple hanya merekomendasikan menghapus dan mengunduh ulang dari App Store untuk memperbaiki masalah ini.

TL; DR: Anda tidak dapat menyalin aplikasi yang dibeli secara manual di App Store dari satu komputer ke komputer lain hingga Apple memperbaiki proses validasi tanda terima yang diperlukan untuk itu. Instal lokasi dan hak istimewa pengguna tidak masuk ke dalamnya.

kopischke
sumber
Bug tersebut tampaknya telah diperbaiki (Lihat apple.stackexchange.com/questions/46874/... ). Ini juga berfungsi untuk saya, meskipun tidak meningkatkan mesin Snow Leopard sejak saya mengajukan pertanyaan.
Nathan Grigg