Qt(4.7.3)アプリケーションを起動するためにカスタムURLプロトコルを使用しようとしています。私はすでにWindows用に動作しているので、今はMac用の時間です。Qtを使用したCocoa MacのカスタムURLプロトコル
私はすでにInfo.plistに必要な変更を加え、ブラウザに「customrprotocol:// etc」と入力するとアプリケーションを起動させます。問題は、URL全体を自分のアプリケーションに渡すための方法が必要なので、引数を処理できるようにすることです(アプリケーションの冒頭でのみ)。この段階では、私のカスタムURLプロトコルで長いURLをタイプしているにもかかわらず、Windowsの場合と同様に余分な引数(argv [1])が見つかりません。現時点で
は、私がこれを行うには、2つの潜在的な方法を検討してきました:)
1を、私はそのの.plist私はcustomprotocolに対応するために修正するアプリケーションバンドルに変わるリンゴのスクリプト作成します://を、そして単にdo shell scriptを使って私の実際のアプリケーションを起動し、引数としてURLを渡してください。このプロセスはhttp://www.macosxautomation.com/applescript/linktrigger/index.htmlで説明されています。
私はこのオプションが好きなのかどうかは分かりません。基本的に2つのアプリケーションバンドルがあるので、別のアプリケーションを別のMacにインストールする必要はありません。私はそれが動作するかどうかを確認する別のバンドルを入れて実験しています。
2)私のプロジェクトにobjective-cを組み込むことによって、実際の 'geturl' AppleEventを処理します。これは、私が試したことですが、この例では、URL scheme - Qt and macです。
このオプションの問題点は、どうすればよいかわかりません。私はOBJECTIVE_SOURCES + = objectivecstuff.mmでプロジェクトに取り込む.mmファイルにすべてのobjective-cコードを投げました。また、Cocoaフレームワークもライブラリとして含めるようにしました。
すべてがコンパイルされますが、私がしたいことはしません(リンクされたサンプルの 'handleGetURLEvent'メソッドのグローバル変数にURLをスローして別のモジュールで処理できるようにします)。
問題の要点は、その.mmファイルの目的を理解していないと思っています。このEventHandlerオブジェクトなどをインスタンス化する必要があるかどうかはわかりません。私はhttp://el-tramo.be/blog/mixing-cocoa-and-qtを通して読んでみましたが、ココアをQtに統合したこの男の例は、C++指向であり、必要なものはURL scheme - Qt and macにありますので、このオプションをどのように進めるべきかはわかりません。
この時点でいくつかのアドバイスや提案をいただきありがとうございます。
ありがとうございます。
こんにちは、ありがとうございます。私は以前あなたがリンクした文書を見つけましたが、それはCarbonだったので私の状況には当てはまらないと考えました。現時点では、アプリケーションバンドルにセカンダリscript-as-application-bundleを含めることで10.6で動作する私の第1の方法を得ました。これはうまく動作します。私は自由な時間があるときにこの方法を働かせるために戻ってきます。ありがとうございました。 – user845351