Tại sao các ứng dụng App Store được chuyển vào ~ / Ứng dụng trên máy khác không khởi chạy?


10

Tôi đã mua một số ứng dụng từ cửa hàng Mac App và cài đặt chúng trên máy tính cá nhân của mình. Tôi muốn cài đặt chúng trên một máy tính làm việc chung. Thật không may, tôi không có quyền truy cập quản trị viên vào máy tính làm việc, vì vậy tôi không thể làm điều này theo cách thông thường.

Tôi đã sao chép các ứng dụng từ máy tính ở nhà vào ~/Applicationsthư mục của máy tính làm việc và cố gắng chạy chúng, với thành công hỗn hợp:

  • Một số ứng dụng, khi bạn chạy chúng lần đầu tiên, hãy mở hộp thoại có nội dung "Đăng nhập để sử dụng ứng dụng này trên máy tính này" và nhắc bạn về ID Apple và mật khẩu của bạn, sau đó chúng hoạt động tốt. (Ví dụ: DayOne và hầu hết các ứng dụng miễn phí)
  • Hầu hết các ứng dụng sẽ vẫn hiển thị cho bạn hộp thoại này, nhưng vì một số lý do sẽ không hoạt động, ngay cả sau khi bạn nhập ID và mật khẩu. (Ví dụ: BBEdit, Soulver, Twitterrific)

Câu hỏi:

  • Có điều gì tôi có thể làm để làm cho ứng dụng chạy không?
  • Nếu không, điều gì đang khiến ứng dụng từ chối khởi chạy?

Chỉnh sửa : Khi ứng dụng bị lỗi, nó sẽ đưa ra thông báo bảng điều khiển "Đã thoát với mã thoát: 173". Nếu tôi hiểu chính xác, điều này có nghĩa là ứng dụng không hợp lệ (điều này sẽ xảy ra khi tôi sao chép nó từ máy tính này sang máy tính khác). Tuy nhiên, quá trình App Store xác nhận ứng dụng, dường như không hoạt động khi ứng dụng không ở đúng vị trí. Hơn nữa, có vẻ như các ứng dụng hoạt động, chẳng hạn như DayOne hoặc các ứng dụng miễn phí, chỉ hoạt động vì chúng không kiểm tra xem ứng dụng đã được mua hợp lệ và trên thực tế sẽ hoạt động trên bất kỳ máy tính nào mà không có bất kỳ loại xác nhận nào.

Câu hỏi vẫn còn, có một cách giải quyết?

Chỉnh sửa lại: Tôi không gặp vấn đề gì khi sao chép ứng dụng vào ~/Applicationsmáy tính ở nhà, ngay cả đối với người dùng khác. Bởi vì điều tra (không đề cập đến việc giải quyết) vấn đề này đòi hỏi rất nhiều rắc rối (bao gồm cả hai máy tính hoặc ít nhất là một máy ảo), tôi đưa ra một khoản tiền thưởng.


Bạn đang trên sư tử hay báo tuyết?
bmike

Máy tính làm việc là báo tuyết. Nhà là Sư tử. hừm
Nathan Grigg

Tốt nhất để đăng nhập trên máy tính làm việc và tải xuống và sau đó di chuyển các tệp khi họ tải xuống, phải không?
bmike

1
Khi bạn tải xuống các tệp từ cửa hàng Ứng dụng, nó sẽ đặt chúng vào /Applicationsvà do đó yêu cầu mật khẩu quản trị viên.
Nathan Grigg

Ran một số bài kiểm tra và hoàn toàn viết lại câu trả lời của tôi dưới đây. Không có giải pháp, tôi sợ nói, nhưng ít nhất là một lời giải thích về những gì xảy ra.
kopischke

Câu trả lời:


12

Bạn đã gặp phải một lỗi thú vị (đọc: rất khó chịu) trong quá trình xác thực App Store, có vẻ như:

Đối với người mới bắt đầu, trên thực tế, vị trí mà bạn sao chép ứng dụng của bạn không đi vào đó và cũng không có trạng thái là người dùng quản trị / không phải quản trị viên. Mặc dù thực tế Apple tuyên bố điều này là có thể , nhưng trên hai máy của tôi, tôi không thể sao chép một ứng dụng theo cách thủ công để chạy với tư cách là người dùng chuẩn, người dùng quản trị viên, trong /Applicationshoặc trong ~/Applications. Không chowning và chmoding gói để phù hợp với cài đặt thường xuyên giúp đỡ. Cửa sổ đăng nhập App Store bật lên (một lần), nhưng ứng dụng sẽ tiếp tục thoát với mã thoát 173 sau đó.

Theo tài liệu dành cho nhà phát triển của Apple để xác thực các biên lai của App Store , một phần của hóa đơn xác nhận việc sử dụng ứng dụng là GUID dành riêng cho máy. Khi bạn sao chép ứng dụng sang máy khác, GUID không khớp nữa, do đó làm mất hiệu lực biên nhận (ngược lại, trên máy của chính bạn, ứng dụng đó luôn khớp, bất kể người dùng bạn cài đặt ứng dụng là gì - do đó bạn không gặp vấn đề gì với điều đó) . Các ứng dụng có nghĩa là báo hiệu biên nhận không hợp lệ bằng cách thoát với mã thoát 173 và storeagentquy trình của App Store có nghĩa là tiếp quản sau đó, yêu cầu thông tin xác thực và tạo biên nhận mới, sau đó khởi chạy lại ứng dụng thành công:

Nếu hệ thống nhận được thành công một biên nhận hợp lệ, nó sẽ khởi chạy lại ứng dụng. Nếu không, nó sẽ hiển thị một thông báo lỗi cho người dùng, giải thích vấn đề.

Không hiển thị bất kỳ thông báo lỗi cho người dùng nếu xác nhận thất bại. Hệ thống có trách nhiệm cố gắng để có được một biên nhận hợp lệ hoặc thông báo cho người dùng rằng biên nhận đó không hợp lệ.

Điều xảy ra trong trường hợp của bạn (và bài kiểm tra của tôi) là việc xác thực thất bại lặng lẽ - như được chỉ ra bởi thực tế biên nhận không bao giờ được cập nhật, nhưng cũng không có thông báo lỗi nào được hiển thị. Các bản ghi hiển thị storeagenttrả về:

promptResponse: <CKSignInPromptResponse:0x1080c4fb0 returnCode:1>

Mã này không có tài liệu của Apple và tất cả những gì tôi tìm thấy là các cuộc thảo luận của các nhà phát triển về vấn đề này trong bối cảnh thử nghiệm, nơi nó dường như liên quan đến dữ liệu iTunes Connect chưa hoàn chỉnh (Geoff Pado có tóm tắt ngắn gọn ở đây ).

Tuy nhiên, có thể, toàn bộ hình ảnh cho thấy xác thực không thành công trên đường đi , khiến các ứng dụng được sao chép thủ công với biên nhận không hợp lệ ngay cả sau khi nhập thông tin xác thực chính xác vào App Store. Chỉ những ứng dụng không kiểm tra tính hợp lệ của chúng vẫn sẽ chạy, như bạn đã lưu ý.

Không hữu ích lắm trong trường hợp của bạn, Apple chỉ khuyên bạn nên xóa và tải xuống lại từ App Store để khắc phục sự cố.

TL; DR: Bạn không thể sao chép thủ công các ứng dụng đã mua trong App Store từ máy tính này sang máy tính khác cho đến khi Apple sửa quy trình xác nhận hóa đơn cần thiết cho nó. Cài đặt vị trí và đặc quyền người dùng không đi vào nó.


Lỗi này rõ ràng đã được sửa (Xem apple.stackexchange.com/questions/46874/ế ). Nó cũng hoạt động với tôi, mặc dù chưa nâng cấp máy Snow Leopard kể từ khi tôi đặt câu hỏi ban đầu.
Nathan Grigg
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.