1

我嘗試在Chrome和其他應用程序中注入多個SIMBL插件(例如Afloat和FScriptAnywhere)。Google Chrome:OpenScripting.framework - 找不到入口點InjectEventHandler

它適用於所有其他應用程序,但不適用於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是相關的。

這是什麼意思?會是什麼呢?

回答

2

啊,它似乎是由Chrome本身作爲一個功能引入到博客SIMBL插件因爲穩定性問題。

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


This is the patch for Chrome。和this is the bug report。有趣的是,btw。它使用mach_override from mach_star修補內部函數_CFBundleLoadExecutableAndReturnError以添加對列入黑名單的庫的檢查。


我提交了一份bug報告有關的方式來禁用該CFBundleBlocker here


我找到了一種方法來解決該CFBundleBlocker在Chrome:我修補SIMBL在/System/Library,而不是在/Library工作

。打補丁的版本可以找到here。此外,修補程序SIMBL還在/System/Library/Application Support/SIMBL/Plugins/中搜索SIMBL插件。 SIMBL插件必須安裝在該目錄中,否則Chrome會阻止它們。

+0

+1謝謝你,生產力恢復了。 –