問題タブ [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.
iphone - SIMBL を使用して iPhone の Safari 用のプラグインを開発できますか?
SIMBL を使用して iPhone の Safari 用のプラグインを開発できますか?
installation - SIMBL を要求するインストーラー メタパッケージを作成しますか?
PackageMaker を使用して、SIMBL のインストールが必要な .(m)pkg を作成するにはどうすればよいですか? インストールされている場合はインストールを続行する必要があります。それ以外の場合は、SIMBL プラグインをインストールする前に SIMBL をインストールする必要があります。
SIMBL.pkg を左側のペインに単純にドラッグしてみましたが、なぜかすべてのリソースとInstallationCheck
スクリプトが失われたため、おそらく正しくありません。
cocoa - SIMBLを使用してサファリプラグイン(入力マネージャー)を開発するにはどうすればよいですか?
今、私はSIMBLを使用してサファリプラグインを開発したいのですが、ソースコードや簡単なサンプルが見つからない多くのウェブページを検索しました。誰かが私に教えてくれるか、場所を指すことができますか?どうもありがとうございます!!!
safari - Safariのバージョン番号?
MACでsafariのプラグインを開発しています。ここで、safari3、safari4のすべてのバージョン番号を知りたいのです。これは、プラグインのサンプルコードinfo.plistで、MinBundleVersionが5530であり、safariのバージョンが次のとおりであることを確認できるためです。 3.1.2(5525.20.1)、一部のユーザーのsafari3バージョンは私のバージョンよりも低くなると思います。しかし、safari3の最低バージョン番号はわかりません。Apple Webを検索しましたが、何も得られませんでした。ありがとうございました。
cocoa - クラス WebBaseNetscapePluginView のインスタンスが safari4 でセレクターを応答しないのはなぜですか?
Safariでプラグインを開発しています。adblocker のソースコードに従って、メソッドを切り替えました。
クラスWebBaseNetscapePluginViewのですが、Safari4では応答しないことがわかりました。なんで?
cocoa - Cocoa プラグインのシングルトン
SIMBL プラグインからメイン アプリケーションでシングルトンを取得するにはどうすればよいですか? のようなものを呼び出そうとすると[ProcessControl sharedInstance]
、ProcessControl が未定義であるというエラーが表示されます (ヘッダー ファイルで宣言されていても)。
simbl - SIMBL プラグインをプロプライエタリでクローズド ソースにすることはできますか?
SIMBLは GPLであるため、よくわかりません。
cocoa - Mac OS X Window ServerとX11:非常識なタスク
低レベルのウィンドウサーバー(CoreGraphicsPrivate.hなど)、Mac上のX11、SIMBL、その他のクレイジーなものが好きなすべての人に捧げます:)
Macには、1つのウィンドウを備えた単純なX11エミュレートされたアプリケーション(xterm、xeyesなど)があります。実行中、X11はこのエミュレートされたアプリケーションを表すネイティブQuartzウィンドウを作成します。このウィンドウには、Quartz Window Servicesからアクセスできるため、CSWindowID、タイトル、位置、サイズ、および所有者のPID(X11.appのPID)を取得できます。ただし、Accessibility APIをサポートしていないため、それを制御する方法はありません(ただし、同じプロセスのCore Graphichsプライベート関数を除く)。
さて、これがタスクです:
そのようなウィンドウで追加のNSViewをホストする(または単に何かを描画する)必要があります。X11がいくつかのアプリケーションをエミュレートした結果として表示されたネイティブQuartzウィンドウを意味します。Macでウィンドウを操作するには、同じプロセス、つまりX11.appを使用する必要があります。
X11.appプロセスに侵入するSIMBLプラグインを作成しました。
そこで[NSAppウィンドウ]を呼び出すことができますが、実際のアプリケーションのウィンドウとは何の共通点もない2つのNSWindowsを常に取得しています。それらは画面にも表示されません。
それでも、NSWindowList()を呼び出すと、必要なもの(X11ウィンドウのウィンドウID)とそれ以上(他のアプリケーションのウィンドウID)が取得されます。
X11でエミュレートされたウィンドウのCSWindowIDを取得したら、[NSApp windowWithWindowNumber:](Cocoa)とHIWindowFromCGWindowID()(Carbon)を呼び出しますが、どちらもnilを返します。まったく同じプロセスから!
ところで、Safariプロセスなどに侵入すると、このすべてのアクションが完全に機能します...
したがって、質問は次のとおりです。
X11は、まったく同じプロセスからアクセスできないようなウィンドウをどのように作成しましたか?
X11ウィンドウ(NSWindow *、CGContextRef、または少なくとも何か...)へのポインターを取得し、それらでグラフィックス(NSViewsについても話しません)をホストするにはどうすればよいですか?
よろしくお願いします!
macos - メソッド スウィズリングを使用した SIMBL
SIMBL を使用してフックする外部アプリの一部の機能をオーバーライドする際に、大きな問題が発生します。
このアプリには、「AppClass」というクラスがあります。このクラスには関数があり、
これは、バイナリのクラスダンプから取得しました。インターフェイス全体は次のように定義されます。
この関数を jr_swizzleMethod:withMethod:error: でオーバーライドしようとしています:
ドキュメントが不足しているため、これが私が思いついたものです。
それで十分ですよね?しかし、コンパイル時に次のエラーが発生します。
これを解決するにはどうすればよいですか?