LSOpenURLsWithRole () ล้มเหลวด้วยข้อผิดพลาด -10810 - แอพที่ดาวน์โหลดไม่เริ่มขึ้น


14

ฉันพยายามเรียกใช้แอปพลิเคชันที่ดาวน์โหลดจากอินเทอร์เน็ต (เช่น Jabref) แต่ดูเหมือนว่าจะล้มเหลวอย่างเงียบ ๆ เมื่อฉันพยายามที่จะเปิดมันโดยการดับเบิลคลิกมันไม่มีอะไรเกิดขึ้น เมื่อฉันใช้ terminal ฉันได้รับข้อความต่อไปนี้:

LSOpenURLsWithRole () ล้มเหลวโดยมีข้อผิดพลาด -10810 สำหรับไฟล์ ... / xxxx.app

ฉันลองคำแนะนำต่าง ๆ ที่ฉันพบที่นี่เช่นการเปลี่ยนการอนุญาตและการแก้ไขไฟล์ Info.plist แต่ไม่มีอะไรทำงาน

เนื่องจากเป็นแอปพลิเคชัน Java ฉันจึงพยายามเรียกใช้ผ่านเทอร์มินัลโดยใช้

java -cp "CLASSPATH" MAINCLASS

และมันใช้งานได้ดี

เพิ่งพูดถึงว่าฉันได้รับข้อผิดพลาดนี้ไม่เพียง แต่กับแอพนี้ แต่สำหรับแอปพลิเคชั่นอื่น ๆ

ขอบคุณล่วงหน้า.

คำตอบ:


8

LSOpenURLsWithRole เป็นฟังก์ชันที่ใช้เชื่อมโยงไฟล์กับโปรแกรม ไฟล์ที่คุณคลิกสองครั้งไม่ใช่แอปพลิเคชั่น แต่เป็นไฟล์ข้อมูล

นี่คือวิธีการเช่นเมื่อดับเบิลคลิกที่เอกสารข้อความโปรแกรม TextEdit หรือแอปอื่นที่เกี่ยวข้องจะเปิดตัว

คุณต้องเชื่อมโยงกับ java runtime โดยสมมติว่าคุณติดตั้งแล้ว

หากคุณคลิกขวาที่ไฟล์และเลือกรับข้อมูลบานหน้าต่างข้อมูลมีส่วนที่เรียกว่า "เปิดด้วย:" ที่ควรตั้งค่าเป็นจาวารันไทม์


3

สำหรับทุกคนที่มาที่นี่ซึ่งเห็นปัญหานี้สำหรับโปรแกรมที่ไม่ใช่ Java: ฉันได้รับข้อความแสดงข้อผิดพลาดเดียวกันเมื่อพยายามเรียกใช้ไฟล์. app ซึ่งมีไฟล์ปฏิบัติการ Mach-O การพยายามเรียกใช้ไฟล์ปฏิบัติการโดยตรงจากภายในบันเดิล (เช่นFoo.app/Contents/MacOS/bar) ทำให้ฉันมีข้อผิดพลาดที่ดีกว่ามากซึ่งบ่งบอกว่าฉันพลาดการพึ่งพา lib แบบไดนามิก:

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

มีบางอย่างให้ลองถ้าคุณเห็นข้อผิดพลาดนี้


1

ฉันยังพบข้อผิดพลาดนี้ด้วยโปรแกรม Java ที่ฉันพยายามปรับใช้ ฉันไม่สามารถใช้งานบน Mac เครื่องที่สองได้: 10.11.6 ฉันดูทุกที่เพื่อหาคำตอบ แต่ไม่เคยเจอเลยดังนั้นฉันจึงขอให้ผู้อื่นได้รับประโยชน์ เมื่อเปิดคอนโซลระบบฉันค้นพบข้อความแสดงข้อผิดพลาดว่าโปรแกรม "เปิด" ไม่พบโปรแกรม "JavaApplicationStub" ในชุดเนื้อหา ปัญหาคือชุดของฉันใช้ "JavaAppLauncher" เพื่อเปิดตัว ฉันเพิ่งเปลี่ยนจากการใช้ Apple JarBundler เดิมเป็น Oracle AppBundler เพื่อให้ฉันสามารถลงนามในแอพได้และชื่อโปรแกรมเรียกใช้นั้นแตกต่างกัน กุญแจสำคัญในที่นี้คือบันเดิลใหม่ (เวอร์ชั่น 7.1.1) กำลังแทนที่อันเก่า (เวอร์ชั่น 7.1.0) และมีชื่อแอปพลิเคชันเดียวกัน คนเก่าใช้ JavaApplicationStub เพื่อเปิดตัว

จะปรากฏคุณสมบัติ Info.plist สำหรับโปรแกรมที่ถูกแคชและใช้ค่าเก่าเพื่อเปิดบันเดิลใหม่ ไม่ทราบว่าจะล้างแคชเมื่อออกจากระบบหรือรีบูตหรือไม่หรือถ้านี่ถูกแก้ไขในเวอร์ชั่นใหม่กว่าของ OS X แต่ฉันต้องทำให้งานนี้ราบรื่นสำหรับผู้ใช้ทุกคน

ฉันพบปัญหาโดยใส่หมายเลขเวอร์ชันในชื่อโปรแกรม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.