LSOpenURLsWithRole () không thành công với lỗi -10810 - Ứng dụng đã tải xuống không khởi động


14

Tôi đang cố chạy một ứng dụng được tải xuống từ internet (ví dụ: Jabref) nhưng dường như nó thất bại trong âm thầm. Khi tôi cố gắng mở nó bằng cách nhấp đúp vào nó, không có gì xảy ra. Khi tôi sử dụng thiết bị đầu cuối, tôi nhận được thông báo sau:

LSOpenURLsWithRole () không thành công với lỗi -10810 cho tệp ... / xxxx.app

Tôi đã thử một số đề xuất mà tôi tìm thấy ở đây như thay đổi quyền và sửa đổi tệp Info.plist, nhưng không có gì hoạt động.

Vì là ứng dụng Java, tôi đã cố chạy nó qua thiết bị đầu cuối bằng cách sử dụng

java -cp "CLASSPATH" MAINCLASS

và nó hoạt động tốt.

Chỉ cần đề cập rằng tôi nhận được lỗi này không chỉ với ứng dụng này, mà còn cho một vài ứng dụng khác.

Cảm ơn trước.

Câu trả lời:


8

LSOpenURLsWithRole là một chức năng được sử dụng để liên kết một tệp với một chương trình. Tệp bạn nhấp đúp vào không thực sự là một ứng dụng, mà là tệp dữ liệu.

Đây là cách, ví dụ, khi bấm đúp vào một tài liệu văn bản, chương trình TextEdit hoặc một ứng dụng liên quan khác được khởi chạy.

Bạn cần liên kết nó với thời gian chạy java, giả sử rằng bạn đã cài đặt nó.

Nếu bạn nhấp chuột phải vào tệp và chọn Nhận thông tin, ngăn thông tin có phần "Mở bằng:". Điều đó nên được đặt thành thời gian chạy java.


3

Đối với bất kỳ ai đến đây đang gặp vấn đề này đối với chương trình không phải là Java: Tôi đã nhận được thông báo lỗi tương tự khi cố chạy tệp .app có chứa tệp thực thi Mach-O. Việc cố gắng chạy tệp thực thi trực tiếp từ trong gói (ví dụ Foo.app/Contents/MacOS/bar) đã cho tôi một lỗi tốt hơn nhiều cho thấy tôi đang thiếu một phụ thuộc lib động:

dyld: Library not loaded:/usr/local/opt/qt5/lib/QtWidgets.framework/Versions/5/QtWidgets

Một cái gì đó để thử nếu bạn đang thấy lỗi này.


1

Tôi cũng đã gặp phải lỗi này với một chương trình Java mà tôi đang cố gắng triển khai. Tôi không thể làm cho nó hoạt động trên máy Mac thứ hai của mình: 10.11.6. Tôi đã tìm khắp nơi để tìm câu trả lời, nhưng không bao giờ tìm thấy câu trả lời, vì vậy tôi sẽ đặt cái này ở đây để người khác được hưởng lợi. Bằng cách khởi chạy Bảng điều khiển hệ thống, tôi phát hiện ra thông báo lỗi rằng chương trình "mở" không thể tìm thấy chương trình "JavaApplicationStub" trong gói Nội dung. Vấn đề là, gói của tôi đã sử dụng "JavaAppLauncher" để khởi chạy. Tôi vừa thay đổi từ việc sử dụng Apple JarBundler cũ sang Oracle AppBundler để tôi có thể ký ứng dụng và tên chương trình khởi chạy thì khác. Chìa khóa ở đây là gói mới (phiên bản 7.1.1) đã thay thế gói cũ (phiên bản 7.1.0) và có cùng tên ứng dụng. Cái cũ đã sử dụng JavaApplicationStub để khởi chạy.

Có vẻ như các thuộc tính Info.plist cho chương trình đã được lưu trong bộ nhớ cache và nó đang sử dụng các giá trị cũ để khởi chạy gói mới. Không biết bộ đệm có bị xóa khi đăng xuất hoặc khởi động lại không, hoặc nếu điều này được khắc phục trong các phiên bản OS X mới hơn, nhưng tôi phải làm việc này trơn tru cho tất cả người dùng cuối.

Tôi đã khắc phục vấn đề bằng cách bao gồm số phiên bản trong tên chương trình.

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.