2011-12-13 11 views
0

私はCocoa/Objective-C開発で新しく質問があります。Cocoaアプリケーション内のシステムプラグイン(.saverバンドル)をリソースとして使用する

先週私はMac用のSWFベースのスクリーンセーバーを作成しなければなりませんでした.Mac OS X Snow Leopard/Lionのフリーの互換性のあるソリューションを見つけられなかったので、Xcode 4で.saverバンドルを作成しました。 Webビューの内部でSWFファイル内に読み込まれます。

異なるSWFで動作するようにするには、SWFファイルをバンドル内のResourcesフォルダ内に配置する必要があります。

今、私はそれを自動的に行うためにCocoaアプリケーションをコーディングしようとしています。

これは、ユーザーがSWFファイルを選択できるように、単純なユーザーインターフェイスを備えています。その後、コードは私の以前のビルド.saverファイルのコピーを作成します(パスはハードコードされています)。その中にSWFファイルのコピーが置かれ、ユーザーが保存パネルで指定した場所に保存されます。

ここに私の質問が来る。今では.saverファイルのパスがハードコードされていますが、私はそれを私のアプリケーション内のリソースとして持つ必要があります。それは可能でしょうか?どのように私はそれを使用/アクセスすることができますか?

ご協力いただきありがとうございます。

答えて

0

メインメニューのnibを削除しなかったと仮定すると、アプリケーションにはすでに少なくとも1つのリソースがあります。 .saverバンドルをビルドフェーズに追加します。アプリケーションのコードで、スクリーンセーバーバンドルthe usual wayのURLを取得します。

+0

返信いただきありがとうございます。私はこれをやろうとしましたが、Xcodeはバンドルリソースではなく.saverバンドルリソースを取ります。私が行ったことは、ワークスペースを作成し、両方のプロジェクトを追加したことです。次に、ビルド設定を構成し、私のアプリの「ビルド段階」の1つである「バンドルリソースのコピー」に.saver(スクリーンセーバープラグインプロジェクトの製品)を設定しました。私はドラッグアンドドロップで直接行うことができます。さて、私がスクリーンセーバープラグインの中で何かを変更すると、私は自分のアプリケーションをビルドするときに自動的に最後のバージョンを取る:)ヘルプをありがとう! –

+0

"私はこれをやろうとしましたが、Xcodeはバンドル自体ではなく、.saverバンドルのリソースを取ります。"個別のプロジェクト全体を作成することなく、.saver製品をフェーズにドラッグできます。 –

+0

こんにちはピーター!私が最初にしたのは、.saverファイルをドラッグしないでResourceとして追加することですが、 "+"ボタンをクリックしてファイルシステムから選択することです。私はドラッグしてチェックしてもうまくいくが、スクリーンセーバープラグインプロジェクトを自分のワークスペースに追加し、その "Product"(ビルド.saverファイル)をResourceとして追加することで、私はそれを変更できます。 Cocoa Appはその最後のバージョンを取ります。 –

関連する問題