Login.xibとMain.xibがあり、一度ログインすると、トークンをファイルに保存します。トークンを含むこのファイルが存在する場合は、ログインの代わりにメインウィンドウを表示したいと思います。これは、それがどのユーザーであるかをすでに知っているためです。
どのウィンドウを表示するかをどこでどのように決定できますか?
アプリケーションデリゲートapplicationDidFinishLaunching:メソッドにこのファイルが存在するかどうかを確認します。
ファイルが存在する場合はメインウィンドウを表示し、存在しない場合はログインウィンドウを表示します。
編集
コメントに応じて、 NSWindowControllerクラスの使用を調べる必要があります。基本的に、制御するすべてのウィンドウにNSWindowControllerオブジェクトがあります。
また、メインウィンドウをロードするデフォルトの動作を変更するには、アプリケーションのいくつかの変更が必要になります。これは、ドキュメントベースのアプリケーションを作成しているかどうかによって異なります。
アプリケーションがドキュメントベースでない場合、これはアプリケーションのinfo.plistファイルで設定されているため、アプリケーションはmain.xibをロードすることを「認識」しています。基本的に、アプリケーションが起動すると、info.plistファイルを調べて、ロードが必要なペン先を見つけてロードします。通常、メインのペン先にはメニューとウィンドウが含まれています。ウィンドウを削除して別のペン先で再作成するだけで、デフォルトでウィンドウの読み込みを停止できます。
アプリケーションがドキュメントベースの場合、状況は少し異なります。ロードするnibファイルの名前を返すwindowNibNameというメソッドを持つ必要があるNSDocumentサブクラスがあります。このメソッドを削除し、代わりにmakeWindowControllersをオーバーライドして、 NSWindowControllerオブジェクトを返します。これにはもう少し多くのことがありますが、これで始めることができ、残りは元の質問の範囲を超えています。