ไม่สามารถใช้แอปพลิเคชัน Apple Shake ใน macOS 10.13 High Sierra ได้อย่างสมบูรณ์


10

ในเดือนกรกฎาคม 2552 Apple ได้ยกเลิก Shake Apple ไม่มีการประกาศแทนแอปพลิเคชันโดยตรง แต่คุณสมบัติบางอย่าง (การประมาณค่าคงที่และการไหลของออปติคัลเพื่อชื่อไม่กี่) มีวางจำหน่ายแล้วใน Final Cut Pro X 10.4 และ Motion 5.4 ในปี 2018

แอปเปิ้ล Shake ได้รับการสร้างขึ้นบน Carbon API32 ฉันเข้าใจว่าไม่ใช่ 64 บิตCocoa APIAPI เหล่านี้แตกต่างกัน แต่Carbon.frameworkยังรวมอยู่/System/Library/Frameworks/ใน High Sierra, Sierra หรือ El Capitan และแอปเก่า ๆ ที่ยอดเยี่ยม (เช่น Shake, Color, Soundtrack Pro) สามารถใช้งานได้

ฉันยังคงใช้ Shake ใน High Sierra เปิดตัวสั่นด้วยแอป Terminal:

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่

แต่ฉันไม่สามารถ (ด้วยเหตุผลที่ชัดเจน) เปิดตัว Shake ผ่านการคลิกที่ไอคอนในApplicationsโฟลเดอร์:

ป้อนคำอธิบายรูปภาพที่นี่

ดังนั้นฉันมีสองคำถาม:

  1. ฉันควรทำอย่างไรเพื่อข้ามข้อ จำกัด ของระบบปฏิบัติการนี้และเพื่อให้ Shake ทำงานหลังจากคลิกไอคอนในโฟลเดอร์ Applications หรือบน Dock

  2. หากครั้งแรกเป็นไปไม่ได้วิธีกำจัดการwhite crossed-out circleซ้อนทับบนไอคอนของ Shake (การแทนที่ไอคอนปกติไม่ทำงานในกรณีนี้)

PS

I พบโซลูชั่นที่เป็นไปได้ (ขอบคุณ Thomas Voßen): เขย่าบน Mac OS X 10.11.6

  1. ทำซ้ำ Shake
  2. เลือก "แสดงเนื้อหาแพ็คเกจ"
  3. ไปที่ "เนื้อหา" Info.plistและเปิดโฟลเดอร์ Xcode มีเครื่องมือแก้ไข plist
  4. แก้ไขรายการและเปลี่ยนเป็นสิ่งที่ชอบcom.apple.shakecom.apple.shake4
  5. บันทึกไฟล์ plist

ตอนนี้เป็นไปได้ที่จะเริ่มต้นเขย่าด้วยการคลิกสองครั้งจาก Finder ใน High Sierra 10.13.5

แต่ไม่มีInfo.plistไฟล์ในContentsโฟลเดอร์


1
ฉันคิดว่าแอปเปิ้ลมีบัญชีดำแอพเก่าบางชนิดที่ติดตั้งไว้ในระบบปฏิบัติการซึ่งหยุดแอพเก่า ๆ ไม่ให้เปิดตัว ไม่รู้ว่าทำไม iMovie HD ทำสิ่งเดียวกัน - เปิดใช้งานได้ดีจากเทอร์มินัล แต่ให้ข้อความนั้นถ้าคุณพยายามเริ่มใช้งานตามปกติ
Wowfunhappy

แนวคิดง่าย: หยุดสนับสนุน API เก่า))

1
แต่ตัว API เองก็ยังอยู่ในชั้นเชิงดังที่เห็นได้จากข้อเท็จจริงที่ว่าคุณสามารถเริ่มไบนารีได้โดยตรงผ่านเทอร์มินัล ดังนั้นพวกเขาเพียงแค่ปิดกั้นแอพที่อาจทำงานได้ดี
Wowfunhappy

ไม่บุบสลาย แต่น่าจะเลิกใช้แล้วอย่างเป็นทางการ
calum_b

คำตอบ:


7

คำถามของคุณตอบเอง

Apple Shake สร้างบน Carbon API แบบ 32 บิต ฉันเข้าใจว่าไม่ใช่ API ของ Cocoa 64 บิต

ทิ้งอาร์กิวเมนต์ 32 บิตและ 64 บิตไว้ก่อน โกโก้นั้นแตกต่างจากคาร์บอนทั้งหมด มันจะไม่ทำงานเนื่องจาก API ที่ Shake อ้างถึง (Carbon) เข้ากันไม่ได้กับสิ่งที่คุณกำลังทำงานในขณะนี้ (Cocoa)

สิ่งสำคัญคือให้สังเกตว่าCarbon เลิกใช้แล้วในปี 2012ด้วยการเปิดตัว Mountain Lion (OS X 10.8.x) จำไว้ว่าทำไมและเมื่อ Apple เพิ่ม / ลบคุณสมบัติออกทั้งหมดถือเป็นสิทธิพิเศษทั้งหมด

ในปี 2012 ด้วยการเปิดตัว OS X 10.8 Mountain Lion นั้น Carbon APIs ส่วนใหญ่ถูกพิจารณาว่าเลิกใช้แล้ว API ยังคงสามารถเข้าถึงได้สำหรับนักพัฒนาและแอปพลิเคชัน Carbon ทั้งหมดจะทำงาน แต่ API จะไม่ได้รับการอัปเดตอีกต่อไป

สำหรับ Shake ที่ทำงานใน Terminal นี่เป็นสถานการณ์ที่แตกต่างอย่างสิ้นเชิง - Cocoa และ Carbon ไม่ได้เข้ามาเล่น - มันเป็นอินเตอร์เฟสที่ใช้ข้อความอย่างเคร่งครัด

ปรับปรุง: หลังจากการวิจัยเล็กน้อยฉันค้นพบสองสิ่ง:

  • Shake ได้รับการลดระดับเป็น "ซอฟต์แวร์ที่เข้ากันไม่ได้" และ Finder จะไม่เปิดใช้ ระยะเวลา

  • มีวิธีแก้ปัญหา (ดูด้านล่าง) เพื่อให้สามารถใช้งานได้ใน El Capitan เพราะห้องสมุดคาร์บอนยังรวมอยู่แม้ว่าจะเลิกใช้แล้ว หมายเหตุ: สิ่งนี้ยังไม่ได้ทดสอบ / ยืนยันใน Sierra / High Sierra เนื่องจากนี่ถือว่าเป็น "ซอฟต์แวร์ที่เข้ากันไม่ได้" โดย Apple จึงไม่รับประกันว่าวิธีแก้ปัญหาจะทำงานได้อย่างสมบูรณ์หรือนานเท่าไหร่ YMMV

หลีกเลี่ยง

  1. คลิกขวาที่ Shake.App
  2. ไปแสดงที่บรรจุ
  3. ไปที่เนื้อหา -> MacOS -> เขย่า (เลือกshakeไม่ได้tshake);
  4. shakeดับเบิลคลิก มันควรจะเปิดหน้าต่างเทอร์มินัลก่อนแล้วจึงควรจะเขย่า
  5. สร้างนามแฝง (ทางลัด) ของไฟล์และวางทุกครั้งที่คุณต้องการ Launchpad จะไม่สามารถมองเห็นได้แม้ว่าคุณจะมีทางลัด / นามแฝงในโฟลเดอร์แอปพลิเคชันของคุณ

ฉันเห็นด้วยกับคุณ แต่ ... ถ้าฉันติดตั้ง Shake บน Mac OS X 10.9 แล้วทำการติดตั้ง OS X 10.11 (ไม่ติดตั้งใหม่ทั้งหมด) Shake ทำงานได้ดีผ่าน UI และผ่าน Terminal ใน El Capitan และไม่มีวงกลมสีขาวกากบาทบนไอคอนของ Shake มันค่อนข้างแปลก

1
ดังนั้นคุณกำลังติดตั้ง Shake ในระบบกับห้องสมุด UI ที่จำเป็นแล้วการอัพเกรด แต่เมื่อคุณติดตั้งบนระบบ AA โดยไม่ต้องห้องสมุดกล่าวว่ามันไม่ได้ทำงานหรือไม่ ด้วย 10.8.x คาร์บอนถูกพิจารณาว่าไม่สนับสนุน - หมายถึงมันถูกรวมไว้ แต่ไม่ได้รับการอัพเดต 2 รุ่นในภายหลัง Apple หยุดอย่างเห็นได้ชัดรวมถึงห้องสมุด
อัลลัน

เห็นด้วยอีกครั้ง ฉันจะเขย่า Shake ใน UI ของ El Capital อีกครั้งได้ไหม ฉันต้องการให้มันเริ่มคลิกไอคอนหรือไม่

เริ่มต้นด้วยสิ่งนี้: apple.co/2tHY9qp Coco นั้นเป็นเลเยอร์ที่สูงที่สุดในเฟรมเวิร์กโดยที่เครื่องมือ CLI ทำงานใกล้ด้านล่างที่เลเยอร์ Core OS
อัลลัน

ฉันอ่านไปแล้ว ดูเหมือนว่าเรากำลังพูดถึงสิ่งต่าง ๆ ประเด็นคือ - ถ้าฉันพิมพ์ "shake" ใน Terminal ฉันจะได้ GUI ของ Apple Shake (ไม่ใช่ Apple Shake ที่ถูกควบคุมโดยบรรทัดคำสั่ง) ฉันได้รับ Apple Shake ที่สร้างบน Carbon API (ไม่ใช่เอ็นจิ้นที่มีอินเตอร์เฟสแบบข้อความ)

5

นี่คือสิ่งที่ฉันคิดออกมาดัง ๆ ดังนั้นให้พูด แต่สิ่งหนึ่งที่ควรลองอีกอย่างคือใช้ AppleScript หรือ Automator เพื่อสร้างแอปพลิเคชันเพื่อทำสิ่งที่คุณทำด้วยตนเองผ่าน Terminal เมื่อคุณดำเนินการเสร็จแล้วการเพิ่มแอปพลิเคชันในโฟลเดอร์แอปพลิเคชันของคุณจะทำให้สามารถใช้งานได้กับ Launchpad, Dock และอื่น ๆ

ฉันไม่แน่ใจว่าคุณคุ้นเคยกับ AppleScript หรือ Automator อย่างไร แต่การใช้ Automator เป็นตัวอย่างกระบวนการจะกว้างตามสายเหล่านี้:

  1. เรียกใช้งาน Automator (โดยปกติจะอยู่ในโฟลเดอร์ Applications ของคุณ)
  2. ไปที่ไฟล์> ใหม่
  3. เลือกแอปพลิเคชันและคลิกเลือก
  4. เหนือคอลัมน์ที่สอง (เพิ่มเติมที่ด้านซ้าย) คุณจะเห็นช่องค้นหาที่ด้านบนของรายการยาว
  5. พิมพ์ "Run" ในฟิลด์เพื่อกรองรายการ
  6. หนึ่งในตัวเลือกจะเรียกใช้เชลล์สคริปต์
  7. ดับเบิลคลิกที่ตัวเลือกนี้
  8. สิ่งนี้จะเพิ่มหน้าต่าง Run Shell Script ทางด้านขวา
  9. ตอนนี้กำหนดค่าและป้อนสคริปต์ที่คุณต้องการทำซ้ำสิ่งที่คุณทำอยู่แล้ว
  10. ไปที่ไฟล์> บันทึก (หรือใช้commandS) เพื่อบันทึกเป็นแอปพลิเคชัน

ตอนนี้คุณควรจะสามารถดับเบิลคลิกที่แอปพลิเคชันที่คุณสร้างขึ้นเพื่อเปิดใช้ Shake นอกจากนี้คุณยังสามารถเปลี่ยนไอคอนของแอปพลิเคชั่นเป็นสิ่งที่คุณต้องการเพิ่มลงใน Dock และอื่น ๆ ซึ่งจะมีให้ใน Launchpad

หมายเหตุ: - ฉันไม่แน่ใจว่าฉันยังคงติดตั้ง Shake บน Mac เครื่องใดเครื่องหนึ่งของฉันดังนั้นฉันจึงไม่ได้ทดสอบสิ่งนี้เพื่อให้แน่ใจว่ามันจะทำงานกับ Shake โดยเฉพาะ แต่ในทางทฤษฎีแล้วมันควรจะดีขึ้นอยู่กับสิ่งที่ คุณกำลังทำอยู่


5

มันทำงานได้ใน MacOS 10.13.5 เทือกเขาสูง ฉันได้สร้างInfo.plistและเพิ่มบรรทัดเหล่านี้แล้ว:

<plist version="1.0">
<dict>
    <key>CFBundleExecutable</key>
    <string>Shake</string>
    <key>CFBundleGetInfoString</key>
    <string>Shake version 4.1.1</string>
    <key>CFBundleIconFile</key>
    <string>Shake</string>
    <key>CFBundleIdentifier</key>
    <string>com.apple.shake4</string>
    <key>CFBundleName</key>
    <string>Shake</string>
    <key>CFBundlePackageType</key>
    <string>APPL</string>
</dict>
</plist>

Carbon API รวมถึง Cocoa API ได้รับการผนวกรวมอย่างแน่นหนากับ Core Foundation API ระดับต่ำ ( CF)

นี่คือข้อมูลที่เป็นประโยชน์เกี่ยวกับBundlesใน macOS และ iOS:

คู่มือการเขียนโปรแกรม Bundle - เกี่ยวกับการรวมกลุ่ม

คู่มือการเขียนโปรแกรม Bundle - โครงสร้าง Bundle

ตอนนี้คลิกไอคอน Shake บน Dock I สามารถเปิดใช้ Shake ใน GUI ของ High Sierra

ป้อนคำอธิบายรูปภาพที่นี่

ฉันสามารถเรียกใช้ไม่เพียงจาก Launchpad แต่ยังผ่านเทอร์มินัลด้วย มันช่วยให้ฉันเรียกใช้ Shake พร้อมกันหลายอินสแตนซ์

ป้อนคำอธิบายรูปภาพที่นี่


เยี่ยมมาก! ฉันดีใจที่คุณพบวิธีแก้ปัญหาที่เหมาะกับคุณ :) และขอขอบคุณที่กลับมาแชร์กับชุมชน ฉันแน่ใจว่ามันจะช่วยเหลือผู้อื่นไปพร้อมกัน!
Monomeeth

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