2012-04-05 13 views
1

ウィンドウレスアプリケーションを作成したい。問題は、いくつかの警告ボックスを時々表示するフレームワークを使用していることです。私はそれらを抑制できません(少なくともクラッシュなしでは)。ウィンドウが開かないようにする(ウィンドウレスアプリケーション)

私は(のInfo.plistアプリファイルで)1からLSBackgroundOnlyを設定しているが、これは動作するようには思えません。私がここで何かを見逃しているとか(設定する必要がある他の設定かもしれない)?

私もNSWindowのカテゴリ作成しようとしました:何のウィンドウが作成されませんように

  1. 上書きallocallocWithZone:を。これはいくつかの状況で機能しますが、モーダルセッションを開始すると、例外がスローされます(021パラメータをbeginModalSessionForWindow:に送信するため)。

  2. はNSApplicationののbeginModalSessionForWindow:を上書きしようとしましたし、nilを毎回返されますが、これはどこかのフレームワークでEXC_BADACCESSにつながる(runModalSession:endModalSession:も上書きされたが、クラッシュはそれらのいずれかが呼び出される前です)。

その他のアイデアは歓迎します。

私が使用しているフレームワークは、Twain.Frameworkなので、twainからすべてのUIをブロックする方法を知っていれば(これは、デバイスが接続されていないときに表示されるエラーアラートを含む)、あなたが共有すれば素晴らしい。

+0

私はiPhone開発には初めてです。 &Views Prog Guideを読んでいました。 Appleは、「それぞれのアプリは少なくとも1つのウィンドウを持つ」と書いている。だからウィンドウレスアプリを作る方法? Plsは私の基本をクリア.. plsss .... –

+1

@hpiOSCoder混乱して申し訳ありません、osxタグが追加されました。このアプリケーションはMac用に作られています。 –

+0

okk。私は本当にそのようなアイデアを実装することについても不思議と不思議でした。アップデートありがとう –

答えて

0

私は(いくつかのウィンドウがまだ示されているが、少なくとも彼らは見えないよ、と彼らは自動的に閉じている)それは、ウィンドウ "にするために管理。私はモーダルウィンドウしか扱っていませんでした。

-(BOOL)canBecomeKeyWindow{ 
    [self setOpaque:NO]; 
    self.alphaValue = 0; 
    return NO; 
} 
-(BOOL)canBecomeMainWindow{ 
    [self setOpaque:NO]; 
    self.alphaValue = 0; 
    return NO; 
} 
  • サブクラス化NSApplication:すべてのウィンドウが不可視であり、キーまたはメインウィンドウになることができないように

    1. 私は、NSWindowのカテゴリを作っ

      -(NSInteger)runModalForWindow:(NSWindow *)aWindow{ 
          return NSCancelButton; 
      } 
      -(NSModalSession)beginModalSessionForWindow:(NSWindow *)aWindow{ 
          NSModalSession session = [super beginModalSessionForWindow:aWindow]; 
          [aWindow performSelector:@selector(close) withObject:nil afterDelay:1]; 
          return session; 
      } 
      

    しかし、これはあまり役に立ちませんでした。 runModalForWindow:の場合は、ウィンドウの所有者が応答を受信したため、すべてが良好でした。 beginModalSessionForWindow:の場合は、アプリケーションが停止している可能性があります。これは、ウィンドウの所有者が、決して受信しなかった特定のイベント(ボタンクリックなど)を待っていたためです。

  • 0

    あなたが望んでいるものは明確ではありません。通常はウィンドウが表示されないが、サードパーティのフレームワークがアラートを表示することを許可しているアプリを期待していますか?または、あなたのアプリが絶対にと決してにウインドウがないように、フレームワークがそのアラートを表示しないようにする方法を見つけたいと思っていますか?

    それはかつてのだ場合は、おそらくLSUIElementを探しています。それはいくつかのUI要素を持つことができるアプリだが、DockやCommand-Tabアプリケーションスイッチャーには表示されず、メニューバーもない。

    +0

    お返事ありがとうございます。私はアプリケーションがUIをまったく表示しないようにしたい。 –

    関連する問題