1

いくつかの SIMBL プラグイン (Afloat や FScriptAnywhere など) を Chrome やその他のアプリケーションに挿入しようとしています。

他のすべてのアプリケーションでは正常に機能しますが、Chrome では機能しません。そこで、コンソールに次の出力が表示されます。

01.09.11 13:30:15,911 SIMBL Agent: Google Chrome started
01.09.11 13:30:15,912 SIMBL Agent: app start notification: {
    NSApplicationBundleIdentifier = "com.google.Chrome";
    NSApplicationName = "Google Chrome";
    NSApplicationPath = "/Applications/Google Chrome.app";
    NSApplicationProcessIdentifier = 87543;
    NSApplicationProcessSerialNumberHigh = 0;
    NSApplicationProcessSerialNumberLow = 30412031;
    NSWorkspaceApplicationKey = "<NSRunningApplication: 0x40092c060 (com.google.Chrome - 87543)>";
}
01.09.11 13:30:15,913 SIMBL Agent: checking bundle /Users/az/Library/Application Support/SIMBL/Plugins/Afloat.bundle
01.09.11 13:30:15,913 SIMBL Agent: checking target identifier *
01.09.11 13:30:15,914 SIMBL Agent: send inject event
01.09.11 13:30:15,956 SIMBL Agent: eventDidFail:'tvea' error:Error Domain=NSOSStatusErrorDomain Code=-1708 "The operation couldn’t be completed. (OSStatus error -1708.)" (the AppleEvent was not handled by any handler ) UserInfo=0x400877940 {ErrorNumber=-1708} userInfo:{
    ErrorNumber = "-1708";
}
01.09.11 13:30:15,957 [0x0-0x1d00cff].com.google.Chrome: Google Chrome: OpenScripting.framework - can't find entry point InjectEventHandler in scripting addition /Library/ScriptingAdditions/SIMBL.osax.

eventDidFail:'tvea'エラーはすべてのアプリケーションで発生するため、無視できると思います (それが何であるかはわかりませんが)。

Google Chrome: OpenScripting.framework - can't find entry point InjectEventHandler in scripting addition /Library/ScriptingAdditions/SIMBL.osaxただし、最後のエラーが関連するものだと思います。

どういう意味ですか?どうなり得るか?

4

1 に答える 1

2

ああ、安定性の問題から、Chrome 自体が SIMBL プラグインのブログ機能として導入したようです。

http://www.conceivablytech.com/8990/products/google-stabilizes-chrome-for-mac-os-x-lion-adds-pulseaudio-for-linux


これは Chrome のパッチです。そしてこれがバグレポートです。興味深いですね。mach_star の mach_overrideを使用して内部関数にパッチを適用し_CFBundleLoadExecutableAndReturnError、ブラックリストに登録されたライブラリのチェックを追加します。


その CFBundleBlocker を無効にする方法についてのバグ レポートをここに提出しました。


Chrome で CFBundleBlocker を回避する方法を見つけました。

/System/Libraryではなく、で動作するように SIMBL にパッチを当てました/Library。パッチが適用されたバージョンは、ここにあります。また、そのパッチを適用した SIMBL は、.xml でも SIMBL プラグインを検索します/System/Library/Application Support/SIMBL/Plugins/。SIMBL プラグインはそのディレクトリにインストールする必要があります。そうしないと、Chrome によってブロックされるからです。

于 2011-09-01T11:44:09.933 に答える