2010-11-22 12 views
2

私はスクリーンセーバーとして機能するMacアプリを持っています(マイナーな機能ですが、私はこれを楽しんでいます)。私はアプリケーション自体(フラクタルビューア)とスクリーンセーバーを別々に配布する必要はないので、スクリーンバンドルバンドルをアプリケーションバンドルに入れたいと思っています。私のAppバンドルにスクリーンセーバーを保存できますか?

質問:私はそれを行うことができ、それが動作することを期待できますか?何らかの形で(どのAPIを使用して)スクリーンセーバーを「登録」する必要がありますか、それともシステムによって自動的に選択されますか?

答えて

0

...おそらくセキュリティホールのビットを表すであろうと、この周りに明らかに手立てを同様に失礼。

2

Library/Screen Saversディレクトリのいずれかに属していない限り、OSXスクリーンセーバーホストがあなたの.saverバンドルを認識するとは思わないでしょう。だからあなたは単にアプリを配布することはできませんし、それ以上の介入なしでセーバーを実行することを期待することはできません。

もちろん、それらを1つのバンドルとして配布することはできますが、.saverをアプリ内のどこからでも正しい場所にコピーまたはシンボリックリンクする必要があります。たとえば、アプリを初めて実行するときにそのオプションをユーザに提供したり、「スクリーンセーバーのインストール」メニュー項目を追加したりすることができます。

私はあなたがすべてで、ユーザーの介入なしにそれを行うことができます疑いない - だから

1

これは、ユーザーの介入なしに行うことができます。あなたのアプリケーションの起動時に、バンドルから "〜/ Library/Screen Savers"ディレクトリに.saverをコピーすることができます。次回システム環境設定を実行してスクリーンセーバー設定に行くと、あなたのスクリーンセーバーが組み込みのスクリーンセーバーにリストされているはずです。

あなたがスクリーンセーバーをインストールすることを期待していない場合、それらは刺激されるかもしれないことに注意してください。

+1

Mac App Storeのルールで '〜/ Library/Screen Savers'へのコピーが許可されていません... –

関連する問題