Не вдається повністю застосувати додаток Apple Shake в macOS 10.13 High Sierra


10

У липні 2009 року Apple припинила роботу Shake. Apple не оголосила про пряму заміну програми, але деякі функції (стабілізація та оптична оцінка потоку, якщо їх назвати декілька) тепер доступні в Final Cut Pro X 10.4 та Motion 5.4 в 2018 році.

Apple Shake був побудований на 32-розрядному Carbon API. Я, безумовно, розумію, що це не 64-розрядні Cocoa API, ці API відрізняються. Але Carbon.frameworkвін все ще входить до складу /System/Library/Frameworks/Високої Сьєрри, Сьєрри чи Ель-Капітан, і великі старі програми (такі як Shake, Color, Soundtrack Pro) можуть використовувати його.

Я все ще використовую Shake in High Sierra запускаючий шейк через додаток Terminal:

введіть тут опис зображення

введіть тут опис зображення

Але я не можу (з очевидних причин) запустити Shake, натиснувши його значок у Applicationsпапці:

введіть тут опис зображення

Тож у мене є два питання:

  1. Що мені робити, щоб обійти це обмеження в ОС і змусити Shake запускатися після натискання його значка в папці Applications або на Dock?

  2. Якщо перший неможливий, як позбутися white crossed-out circleнакладення піктограми Shake (звичайна заміна піктограм у цьому випадку не працює)?

PS

Я знайшов можливе рішення (завдяки Томасу Восену): Shake на Mac OS X 10.11.6

  1. Зробіть дублікат Shake.
  2. Виберіть "Показати зміст пакета"
  3. Перейдіть у папку "Зміст" та відкрийте Info.plist. Xcode має редактор плістів.
  4. Відредагуйте запис com.apple.shakeта змініть його на щось подібне com.apple.shake4.
  5. Збережіть файл плістів.

Тепер можна почати Shake подвійним клацанням від Finder in High Sierra 10.13.5.

Але Info.plistв Contentsпапці немає жодного файлу .


1
Я думаю, що Apple має якийсь старий чорний список додатків, вбудований в ОС, який зупиняє запуск деяких старих додатків. Не знаю, чому. iMovie HD робить те саме - запускає штрафи з терміналу, але видає це повідомлення, якщо ви спробуєте запустити його нормально.
Wowfunhappy

Ідея проста: перестаньте підтримувати старі API))

1
Але самі API все ще знаходяться в такті, про що свідчить той факт, що ви можете запустити бінарне безпосередньо через термінал. Тому вони просто блокують програму, яка в іншому випадку спрацює нормально.
Wowfunhappy

Неушкодженими, але, швидше за все, офіційно застарілими.
calum_b

Відповіді:


7

На ваше запитання відповідає сама.

Apple Shake був побудований на 32-бітному API Carbon. Я, безумовно, розумію, що це не 64-бітний API какао

Залишаючи вбік аргумент 32 біт проти 64 біт; Какао зовсім інше, ніж вуглець. Він не запускається, оскільки API, на які посилається Shake (Carbon), не сумісні з тими, які ти зараз працюєш (какао).

Важливо зазначити, що Carbon був застарілий у 2012 році з випуском Mountain Lion (OS X 10.8.x). Пам'ятайте, чому і коли Apple додає / видаляє функції - це цілком їх прерогатива.

У 2012 році з випуском OS X 10.8 Mountain Lion більшість API Carbon вважалися застарілими. API все ще доступні розробникам, і всі програми Carbon запускаються, але API більше не оновлюються.

Що стосується запуску Shake в Терміналі, то це зовсім інший сценарій - Какао та Карбон не вступають у гру - це суто текстовий інтерфейс.

ОНОВЛЕННЯ: Після невеликих досліджень я виявив дві речі:

  • Shake переведено на "несумісне програмне забезпечення", і Finder не запустить його. Період.

  • Існує рішення (див. Нижче), щоб зробити його функціональним в Ель-Капітані, оскільки бібліотеки Carbon досі входять, хоча і застарілі. Примітка. Це не перевірено / підтверджено в Сьєрра / Висока Сьєрра. Оскільки Apple вважає це "Несумісним програмним забезпеченням", немає гарантії того, що вирішення проблеми буде повністю спрацьоване чи на тривалий час. YMMV.

Робота навколо

  1. Клацніть правою кнопкою миші Shake.App
  2. Перейдіть до Показати зміст пакета .
  3. Перейдіть до Змісту -> MacOS -> похитнути (вибрати shakeне tshake);
  4. Двічі клацніть shake. Спершу слід відкрити вікно терміналу, а потім запустити Shake.
  5. Створіть псевдонім (ярлик) файлу і розмістіть його, коли захочете. Стартовий панель не зможе його побачити , хоча ви можете мати ярлик / псевдонім у папці Applications.

Я згоден з вами, але ... Якщо я встановлю Shake на Mac OS X 10.9 і потім виконую встановлення OS X 10.11 (не чиста установка), Shake добре працює через інтерфейс користувача та через термінал в El Capitan. І на іконі Шейка немає перекресленого білого кола. Це досить дивно.

1
Отже, ви встановлюєте Shake в системі з необхідними бібліотеками інтерфейсу, після чого оновлюєтесь, але при встановленні в системі aa без вказаних бібліотек вона не працює? З 10.8.x Карбон вважався застарілим - це означає, що він був включений, але не оновлений. 2 версії пізніше Apple очевидно перестала включати бібліотеки.
Алан

Знову згоден. Чи можу я воскресити Shake в інтерфейсі El Capital? Я маю на увазі змусити його запустити, натиснувши на його іконку?

Почніть з цього: apple.co/2tHY9qp Coco - це буквально самий верхній шар в рамках, коли інструменти CLI працюють біля нижньої частини на рівні основної ОС.
Аллан

Я вже її читав. Здається, ми говоримо про різні речі. Справа в тому, що - якщо я наберу "shake" в терміналі, я отримаю графічний інтерфейс Apple Shake (не прихований Apple Shake, керований командним рядком). Я отримую Apple Shake, побудований на Carbon API (не його двигуні з текстовим інтерфейсом).

5

Це я думаю вголос, так би мовити, але одне, що також варто спробувати, це використовувати AppleScript або Automator для створення програми, щоб робити те, що ви зараз робите вручну через Термінал. Щойно ви зробите це, додавши програму у папку Applications, вона зробить її доступною для Launchpad, Dock тощо.

Я не впевнений, наскільки ви знайомі з AppleScript або Automator, але, використовуючи Automator як приклад, процес в цілому проходитиме за цими напрямками:

  1. Запустіть Автоматизатор (зазвичай знаходиться у вашій папці Applications)
  2. Перейдіть у меню Файл> Створити
  3. Виберіть Застосування та натисніть кнопку Вибрати.
  4. Над другим стовпцем (докладніше зліва) ви побачите поле пошуку вгорі довгого списку
  5. Введіть у поле поле «Виконати», щоб відфільтрувати список
  6. Одним із варіантів буде Run Shell Script
  7. Двічі клацніть на цій опції
  8. Це додасть вікно Запуск сценарію оболонки праворуч.
  9. Тепер налаштуйте та введіть сценарій, який потрібно повторити те, що ви вже робите
  10. Перейдіть у меню Файл> Зберегти (або використати commandS), щоб зберегти це як додаток

Тепер ви повинні мати можливість двічі клацнути на створеному вами додатку, щоб запустити Shake. Ви також можете змінити піктограму програми на все, що завгодно, додати її до док-станції тощо. Це також буде доступне в Launchpad.

ПРИМІТКА: - Я не впевнений, чи все ще встановлено Shake на одному з моїх Macs, тому я не перевіряв це, щоб переконатися, що він буде працювати з 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>

Карбон API, як і API какао, тісно інтегрований з API низького рівня Core Foundation ( CF).

Ось корисна інформація про BundlesmacOS та iOS:

Посібник з програмування пакетів - Про пакети

Посібник з програмування пакетів - Структури групи

Тепер, натиснувши піктограму Shake на Dock, я можу запустити Shake у графічному інтерфейсі High Sierra.

введіть тут опис зображення

Я можу запустити його не тільки з Launchpad, але і через термінал. Це одночасно дозволяє мені запускати кілька екземплярів Shake.

введіть тут опис зображення


Це чудово! Я радий, що ти знайшов рішення, яке працює для тебе. :) І дякую, що повернулися, щоб поділитися цим спільнотою. Я впевнений, що це теж допоможе іншим!
Мономет

Мені не зрозуміло з відповіді - що саме було змінено у вашому info.plist порівняно з оригіналом? Я хотів би знати конкретно, що це виправило, щоб це можна було використовувати для інших програм!
Wowfunhappy
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.