問題タブ [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.
objective-c - SIMBL プラグインを SystemUIServer にロードする方法
2 つの SIMBL プラグインの開発経験があります。
現時点では、これらは Mac OS X 10.6.6 で正しく動作しています。
Menu Extra の動作を変更する新しいSIMBL プラグインを作成する予定です。
Menu Extra は SystemUIServer に属しています。
SystemUIServer は次の場所にあります。
/システム/ライブラリ/CoreServices/SystemUIServer.app/Contents/MacOS/SystemUIServer
SystemUIServer のバンドル識別子は com.apple.systemuiserver です。
そこで、次のようにキー SIMBLTargetApplications を Info.plist に追加します。
- Foo.bundle をビルドします。
- $HOME/Library/Application Support/SIMBL/Plugins にコピーします。
- 「killall SystemUIServer」を実行します。
- Console.app でログ メッセージを注意深く監視します。
ただし、再起動時に Foo.bundle が SystemUIServer にロードされません。
BundleIdentifier を別の種類の一般的なアプリ名に変更すると、正常に動作します。
それの何がいけないの?
--
もやし
ttp://hitoriblog.com/
objective-c - メソッドの入れ替えを実装するにはどうすればよいですか?
SIMBL を使用してプログラムの動作を変更しようとしています (ソースがありません)。クラスダンプを使用したところ、インスタンスメソッドをオーバーライドする必要があることがわかりました
このメソッドは、controller というクラスにあります。私がする必要があるのは、引数 arg1 を取得することだけです。多分 NSLog するか、通知を投稿してください... Objective-C のメソッドのスウィズリングについて読みましたが、どのように使用できますか?. コースを持っていないクラス MessageController を参照する必要があります。
ありがとう!
objective-c - SIMBL の実装 - なぜ SIMBL プラグインが読み込まれるのですか?
SIMBL エージェントのソース コードには、Apple イベントをターゲット アプリケーションに送信するコードがいくつかあります。それは次のようなものです:
と
このトリガーの後にターゲット アプリが SIMBL プラグインをロードする理由がわかりません。これは非常にハックな方法のようで、公式ドキュメントから助けを得るのは困難です。
macos - Dock.app への SIMBL/Bundle/dylib インジェクション
Lion でのフルスクリーン アニメーション時間を短縮するためのシンプルな SIMBL バンドルに取り組んでいます。ウィンドウのアニメーションを変更することは大したことではありませんが、メニューバー/デスクトップのアニメーション部分 (メニューバーとデスクトップが左にスライドする部分) を変更するのは問題です。そのアニメーションは Dock.app が担当していると思います。ただし、SIMBL はバンドルを Dock.app に挿入できません (Finder と同じ)。
Dock の Info.plist で LSEnvironment を設定して Dock に読み込まれる .dylib を作成しようとしましたが、失敗しました。
bundle/dylib を Dock.app に挿入する良い方法はありますか? 前もって感謝します
PS: ドックは root:wheel :(
macos - SIMBL プラグインがフレームワークのロードに失敗する
コンソールで、次のエラーが発生します。
ファイルFScriptAnywhere.bundle/Contents/Frameworks/FScript.framework/Versions/A/FScript
が存在します。したがって、エラー/問題がわかりません。
何か案が?
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
ただし、最後のエラーが関連するものだと思います。
どういう意味ですか?どうなり得るか?
objective-c - AppleEvent: `eventDidFail`をデバッグする方法は?
コンソールのSIMBLから次のエラーが発生します。
私はこれをデバッグしようとしています。しかし、私はまだAppleEventをあまり使っていないので、それをどのように解釈するのかよくわかりません。
SIMBLエージェントの関連コードは次のとおりです。
objective-c - アプリケーションの起動時にMacアプリケーションにインジェクションライブラリをロードする方法は?
私はダイナミックライブラリを持っています。実行中のアプリケーションと新しく起動されたアプリケーションに注入するつもりです。
rootユーザーのアクセス許可で実行されているプロセスの助けを借りて、実行中のアプリケーションにそれを注入できます。
今、私はアプリケーションが起動されるとすぐにライブラリがロードされるようにしようとしています。私はこれを行うことができるそのようなライブラリの1つであるアプリケーションエンハンサーを知っています。私は同様の行動を探しています。
誰かがこれをどのように達成できるかについてのアイデアを持っていますか?
plugins - サンドボックス化されたアプリを備えたSIMBLプラグイン
LionでTextEdit用のSIMBLプラグインを作成しましたが、サンドボックスが通知の投稿を停止するため、userInfoオブジェクトを使用してNSDistributedNotificationを送信できません。
次のメッセージが表示されます。テキストエディット:*サンドボックス化によって阻止された分散通知を投稿しようとしました。
それは次の資格と関係があると思います。com.apple.security.temporary-exception.apple-events
プラグインにこれを実装するにはどうすればよいですか?または、通知を送信するためにテキストエディットの資格を変更する必要がありますか?