无法在macOS 10.13 High Sierra中完全使用Apple Shake应用程序


10

2009年7月,Apple终止了Shake。Apple尚未宣布直接应用的替代产品,但2018年的Final Cut Pro X 10.4和Motion 5.4现在提供了一些功能(稳定和光流估计,仅举几例)。

Apple Shake建立在32位上Carbon API。我肯定知道不是64位的Cocoa API,这些API是不同的。但Carbon.framework仍包含在/System/Library/Frameworks/High Sierra,Sierra或El Capitan中,并且很棒的旧应用程序(例如Shake,Color,Soundtrack Pro)都可以使用它。

我仍在使用High Sierra中的Shake 通过终端应用启动摇动

在此处输入图片说明

在此处输入图片说明

但是我(由于明显的原因)无法通过单击Applications文件夹中的图标启动Shake :

在此处输入图片说明

所以我有两个问题:

  1. 单击“应用程序”文件夹中或Dock上的Shake图标后,该如何绕过此操作系统限制并使Shake运行?

  2. 如果第一个操作不可行,如何摆脱white crossed-out circleShake图标上的覆盖(在这种情况下,常规图标替换无效)?

聚苯乙烯

我找到了可能的解决方案(感谢ThomasVoßen): 在Mac OS X 10.11.6上摇晃

  1. 复制Shake。
  2. 选择“显示包装内容”
  3. 转到“目录”文件夹并打开Info.plist。Xcode有一个plist编辑器。
  4. 编辑条目com.apple.shake并将其更改为com.apple.shake4
  5. 保存plist文件。

现在,可以通过High Sierra 10.13.5中的Finder双击启动Shake。

但是Info.plist文件Contents夹中没有文件。


1
我认为Apple在操作系统中内置了某种旧应用黑名单,从而阻止了某些旧应用的启动。不知道为什么。iMovie HD的功能完全相同,可以从终端启动,但是如果您尝试正常启动它,则会显示该消息。
Wowfunhappy

想法很简单:停止支持旧的API))

1
但是API本身仍然完好无损,可以直接通过终端启动二进制文件证明了这一点。因此,他们只是完全阻止了本来可以正常运行的应用程序。
Wowfunhappy

完好无损,但很可能已正式弃用。
calum_b

Answers:


7

您的问题会自动回答。

Apple Shake建立在32位Carbon API之上。我肯定知道这不是64位的Cocoa API

不考虑32位和64位参数;可可与碳完全不同。它不会运行,因为Shake所指的API(碳)与您现在正在运行的API(可可)不兼容。

值得注意的是,随着Mountain Lion(OS X 10.8.x)的发布,Carbon在2012年已弃用。请记住,Apple为何以及何时添加/删除功能完全是他们的特权。

2012年,随着OS X 10.8 Mountain Lion的发布,大多数Carbon API被认为已弃用。开发人员仍然可以访问这些API,并且所有Carbon应用程序都将运行,但是这些API将不再更新。

至于在终端中运行的Shake,这是一个完全不同的场景-可可和碳元素没有发挥作用-它严格是基于文本的界面。

更新: 经过一番研究,我发现了两件事:

  • Shake已降级为“不兼容的软件”,并且Finder不会启动它。期。

  • 有一种解决方法(请参见下文)可使其在El Capitan中运行,因为尽管不推荐使用Carbon库,但仍包括在内。注意:这尚未在Sierra / High Sierra中进行测试/确认。由于这被Apple视为“不兼容的软件”,因此无法保证该解决方法将完全起作用或持续多长时间。YMMV。

变通

  1. 右键单击Shake.App
  2. 转到显示包装内容
  3. 转到目录-> MacOS->摇动(shake不选择tshake);
  4. 双击shake。它应该首先打开一个终端窗口,然后运行Shake。
  5. 创建文件的别名(快捷方式),并在需要时放置它。尽管您可以在“应用程序”文件夹中找到快捷方式/别名,但启动板将无法看到它

我同意您的意见,但是...如果我在Mac OS X 10.9上安装Shake,然后执行OS X 10.11的安装(不是全新安装),则Shake可以通过UI和El Capitan中的Terminal正常运行。而且,Shake的图标上没有划线的白色圆圈。真奇怪

1
因此,您要在具有必需的UI库的系统上安装Shake,然后进行升级,但是如果在没有上述库的系统上安装Shake 则不起作用?在10.8.x中,Carbon被认为已弃用-表示已包含但未更新。2个版本以后,Apple显然已停止包括这些库。
艾伦

再次同意。我可以在El Capital的UI中复活Shake吗?我是说要使其启动并单击其图标?

从此开始:apple.co/2tHY9qp Coco实际上是框架中的最顶层,其中CLI工具在Core OS层的底部附近运行。
艾伦

我已经看过了 看来我们在谈论不同的事情。关键是–如果在终端中键入“ shake”,我将获得Apple Shake的GUI(而不是由命令行控制的隐藏Apple Shake)。我得到了建立在Carbon API上的Apple Shake(而不是其具有基于文本的界面的引擎)。

5

可以这么说,这是我的大声思考,但是还需要尝试的一件事是使用AppleScript或Automator创建一个应用程序,以通过终端手动执行您现在正在做的事情。完成此操作后,将应用程序添加到“应用程序”文件夹中将使其对启动板,Dock等可用。

我不确定您对AppleScript或Automator的熟悉程度如何,但是以Automator为例,该过程大致遵循以下原则:

  1. 启动Automator(通常在“应用程序”文件夹中找到)
  2. 转到文件>新建
  3. 选择应用程序,然后单击选择。
  4. 在第二列上方(左侧更多),您会在长列表的顶部看到一个搜索字段
  5. 在字段中键入“运行”以过滤列表
  6. 选项之一是Run Shell Script
  7. 双击此选项
  8. 这将在右侧添加“运行Shell脚本”窗口。
  9. 现在配置并输入您需要复制已经在做的脚本
  10. 转到文件>保存(或使用commandS)将其另存为应用程序

现在,您应该可以双击创建的应用程序以启动Shake。您还可以将应用程序的图标更改为所需的图标,将其添加到Dock等。在启动板中也可以使用。

注意: -我不确定我是否仍在其中一台Mac上安装了Shake,因此我尚未对其进行测试以确保它可以与Shake一起使用,但是理论上,它应该可以满足要求你已经在做。


5

它适用于macOS 10.13.5 High Sierra。我制作了一个,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)紧密集成。

以下是有关BundlesmacOS和iOS中的有用信息:

捆绑软件编程指南–关于捆绑软件

捆绑编程指南–捆绑结构

现在,单击Dock上的Shake图标,我可以在High Sierra的GUI中启动Shake。

在此处输入图片说明

我不仅可以从启动板运行它,还可以通过终端运行它。同时,它允许我运行多个Shake实例。

在此处输入图片说明


那很棒!很高兴您找到了适合您的解决方案。:)谢谢您回来与社区分享。我敢肯定,它也会一路帮助其他人!
Monomeeth

我不清楚答案是什么-您的info.plist与原始文件相比究竟发生了什么变化?我想知道具体修复它的内容,以便可以将其用于其他应用程序!
Wowfunhappy
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.