mach_inject或Simbl用于将代码注入Finder

时间:2012-09-26 10:19:46

标签: objective-c overlay osx-snow-leopard finder simbl

我创建了一个Simbl插件,可以将代码注入Finder。它运行良好但在每次重启时我都必须重新启动Finder以允许我的代码正确地注入自己。

所以我做了这个LaunchAgent:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Label</key>
    <string>com.overlay.launcher</string>
    <key>KeepAlive</key>
    <false/>
    <key>RunAtLoad</key>
    <true/>
    <key>ProgramArguments</key>
    <array>
            <string>/bin/bash</string>
                    <string>-c</string>
                            <string>killall Finder; open /System/Library/CoreServices/Finder.app</string>
                            </array>
</dict>
</plist>

我的插件只显示文件的叠加或徽章。

有更好的方法吗?

由于我尝试使用mach_inject三天,但它有点复杂,我不明白如何使我的插件正确注入Finder。 我的插件是在目标C中,我使用swizzle方法覆盖Finder中的方法,是否可以使用mach_inject执行此操作?

0 个答案:

没有答案
相关问题