ข้อกำหนดในการใช้ 'open -b“ bundle.id”' สำหรับ OS X


0

ฉันมีสคริปต์การติดตั้งโพสต์ซึ่งเปิดและรันแอปพลิเคชันของฉันอย่างเงียบ ๆ แอปนี้สร้างขึ้นโดยใช้ Automator และเรียกใช้ Applescript ซึ่งจะเรียกใช้สคริปต์ Bash ที่ฝังอยู่ในโฟลเดอร์ทรัพยากรของแอป

สคริปต์หลังการติดตั้ง:

#!/bin/bash

open -b "com.company.ApplicationName"

ใช้งานได้กับเครื่องบางรุ่นและบางรุ่นอาจใช้งานไม่ได้ ฉันได้รับข้อผิดพลาด

LSGetApplicationForInfo() failed with error -10814 while trying to determine the application with bundle identifier com.company.ApplicationName

ฉันไม่สามารถระบุสาเหตุได้ ฉันสมมติว่าฉันพลาดซอฟต์แวร์ที่จำเป็นต้องมีบางอย่างบนเครื่องที่ล้มเหลว

ทุกคนตระหนักถึงข้อกำหนดที่จะใช้ open -b "bundleid"? Xcode, Xcode ด้วยเครื่องมือบรรทัดคำสั่งหรืออะไร? ฉันขอขอบคุณข้อมูลเชิงลึกใด ๆ


1
คุณอาจลองใช้บางอย่างเช่น osascript -e 'tell app id "com.company.ApplicationName"' -e reopen -e activate -e end.
Lri

คำตอบ:


1

ฉันเดาว่ามันใช้งานได้กับระบบที่แอพนี้มีมานานพอสำหรับแอปที่จะลงทะเบียนกับระบบ แต่ล้มเหลวในระบบที่มันไม่ได้อยู่นานมาก

มีวิธีแก้ปัญหาที่เป็นไปได้ที่นี่:

คำสั่ง (ทั้งหมดหนึ่งบรรทัด)

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user

The Caveat

หลังจากเรียกใช้คำสั่งนี้ OS X อาจแจ้งให้คุณทราบก่อนที่จะให้คุณเปิดบางแอปพลิเคชั่นเป็นครั้งแรก ฉันจะไม่แนะนำให้ใช้งานบน Mac ของคนอื่นหรือพวกเขามีแนวโน้มที่จะหงุดหงิดกับคุณ

ฉันขอแนะนำให้ใช้แทน open -a /path/to/your/app แทน open -b {bundle-id}


ขอบคุณสำหรับคำแนะนำ ปัญหาคือฉันกำลังปรับใช้กับ Munki และใช้สคริปต์การติดตั้งโพสต์เพื่อเปิดโดยอัตโนมัติ เป็นไปได้ว่ามันจะถูกติดตั้งในเส้นทางที่แตกต่างกันดังนั้นการใช้ bundle id เป็นตัวเลือกที่แท้จริงของฉัน นอกจากนี้สำหรับการฆ่า lsregister ฉันจะต้องโจมตีแต่ละเครื่องและรพช. ไม่ได้มีประโยชน์ในสภาพแวดล้อมของเรา (เหตุผลหนึ่งที่เราใช้ Munki)
TryTryAgain

ฉันได้ส่งการอัปเดตไปยังแอปพลิเคชันเพื่อให้เวลาในการลงทะเบียนรหัสมัด ดูเหมือนว่าไม่มีปัญหาในการเปิดแอปที่ใช้ open -b "app.bundle.id" ใช่แล้วมันต้องมีปัญหากับเวลาและ id ของกลุ่มไม่ได้ลงทะเบียน ขอขอบคุณอีกครั้งสำหรับข้อมูลและความช่วยเหลือของคุณ
TryTryAgain
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.