问题标签 [simbl]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
302 浏览

objective-c - 如何将 SIMBL 插件加载到 SystemUIServer

我有开发两个 SIMBL 插件的经验。

目前这些都在 Mac OS X 10.6.6 上正常工作。

我打算制作一个新的SIMBL 插件来修改 Menu Extra 的行为。

Menu Extra 属于 SystemUIServer。

SystemUIServer 存在于这个地方:

/System/Library/CoreServices/SystemUIServer.app/Contents/MacOS/SystemUIServer

SystemUIServer 的捆绑标识符是 com.apple.systemuiserver。

所以我在 Info.plist 中添加了一个关键的 SIMBLTargetApplications,如下所示:

  1. 构建一个 Foo.bundle。
  2. 复制到 $HOME/Library/Application Support/SIMBL/Plugins。
  3. 运行“killall SystemUIServer”。
  4. 使用 Console.app 仔细观察日志消息。

但是 Foo.bundle 在重新启动时不会加载到 SystemUIServer。

如果将 BundleIdentifier 更改为其他类型的通用应用程序名称,它可以正常工作。

那有什么问题?

--

莫亚希

ttp://hitoriblog.com/

0 投票
2 回答
12698 浏览

objective-c - 如何实现方法调配?

我正在尝试使用 SIMBL 修改程序的行为(我没有它的源代码)。我使用了类转储,发现我需要覆盖一个实例方法

此方法在称为控制器的类中。我需要做的就是获取参数 arg1 就可以了。也许 NSLog 它或发布通知...我阅读了有关在 Objective-C 中调配的方法,但我该如何使用它?我需要参考我没有课程的 MessageController 类。

谢谢!

0 投票
1 回答
263 浏览

objective-c - SIMBL 实施 - 为什么要加载 SIMBL 插件?

在 SIMBL Agent 的源代码中,有几个代码将 Apple 事件发送到目标应用程序。就像是:

我不知道为什么目标应用程序会在此触发后加载 SIMBL 插件。这样做似乎是一种非常hacky的方式,并且很难从官方文档中获得帮助。

0 投票
3 回答
1492 浏览

macos - SIMBL/Bundle/dylib 注入 Dock.app

我正在开发一个简单的 SIMBL 捆绑包,以减少 Lion 中的全屏动画时间。改变窗口的动画没什么大不了的,但是对于菜单栏/桌面动画部分(菜单栏+桌面向左滑动)是一个问题。我认为 Dock.app 负责该动画。但是,SIMBL 不能将包注入 Dock.app(与 Finder 相同)。

我尝试创建一个 .dylib,然后通过在 Dock 的 Info.plist 中设置 LSEnvironment 将其加载到 Dock 中,但失败了。

有什么好方法可以将 bundle/dylib 注入 Dock.app 吗?提前致谢

PS:Dock 是 root:wheel :(

0 投票
1 回答
457 浏览

macos - SIMBL 插件无法加载框架

在控制台上,我收到以下错误:

该文件FScriptAnywhere.bundle/Contents/Frameworks/FScript.framework/Versions/A/FScript存在。因此,我不明白错误/问题。

任何的想法?

0 投票
1 回答
257 浏览

objective-c - 无法从 SIMBL 插件发送 NSDistributedNotification

我正在为 TextEdit 开发一个 SIMBL 插件,该插件添加了一个额外的菜单。菜单有许多项目(除其他事项)时,将消息发送到我自己的应用程序。为此,我一直在使用 NSDistributedNotificationCenter,但是我无法从 TextEdit 中的包发送通知。

我检查了我在一个单独的应用程序中使用的代码,它似乎可以工作,所以我不明白为什么我在 TextEdit 中的包无法发送消息。

发布通知代码:

以及接收器中的代码:

如果我将这段代码添加到我的另一个应用程序中,它似乎可以工作,所以它让我觉得 TextEdit 或 SIMBL 中发生了一些我不知道的事情。

我已经通过在执行方法后立即在 TextEdit 中显示 NSAlert 来检查菜单项是否正确执行了该方法。

任何帮助表示赞赏。

(编辑)我发现,当我发布通知时,如果 userInfo 字典为零,我的应用程序会收到通知,因此我发送的 NSDictionary 或接收器方法签名似乎存在问题。

0 投票
1 回答
940 浏览

google-chrome - Google Chrome:OpenScripting.framework - 找不到入口点 InjectEventHandler

我尝试将几个 SIMBL 插件(例如 Afloat 和 FScriptAnywhere)注入 Chrome 和其他应用程序。

它适用于所有其他应用程序,但不适用于 Chrome。我在控制台上得到这个输出:

我认为eventDidFail:'tvea'可以忽略该错误,因为我在所有应用程序上都得到了它(尽管我想知道它是什么)。

但是,我认为最后一个错误Google Chrome: OpenScripting.framework - can't find entry point InjectEventHandler in scripting addition /Library/ScriptingAdditions/SIMBL.osax是相关的。

这是什么意思?会是什么呢?

0 投票
1 回答
459 浏览

objective-c - AppleEvent:如何调试“eventDidFail”?

我在控制台中从SIMBL收到此错误:

我正在尝试调试它;但由于我还没有真正与 AppleEvent 合作过,所以我不确定如何解释它。

我认为 SIMBL Agent 中的相关代码是这样的:

0 投票
1 回答
732 浏览

objective-c - 如何在应用程序启动时在 mac 应用程序中加载注入库?

我有一个动态库,我打算注入正在运行的应用程序和新启动的应用程序。

我可以借助以 root 用户权限运行的进程将其注入正在运行的应用程序中。

现在我正在尝试在应用程序启动后立即加载该库。我知道一个这样的库能够做到这一点,称为应用程序增强器。我正在寻找类似的行为。

有没有人有一个想法如何实现?

0 投票
1 回答
656 浏览

plugins - 带有沙盒应用程序的 SIMBL 插件

我在 Lion 中为 TextEdit 创建了一个 SIMBL 插件,但是我无法发送带有 userInfo 对象的 NSDistributedNotification,因为沙盒会阻止发布通知。

我收到以下消息:TextEdit: *尝试发布被沙盒阻止的分布式通知。

我认为这与以下权利有关;com.apple.security.temporary-exception.apple-events

如何在我的插件中实现这一点?或者我是否需要更改 TextEdit 的权利才能发送通知?