2015-12-06 7 views
8

現在開いているドキュメントを使わずにMacでiCloud対応ドキュメントベースのアプリケーションを開くと、ファイルダイアログが開きます。起動時に開いているファイルダイアログが表示されないようにするにはどうすればよいですか?私は代わりに表示することを好むような歓迎画面があります。あなたの文を確認するにはOS Xで起動時にiCloudオープンファイルダイアログが表示されないようにする

+0

私は何の書類が終了し、最後に開いていたなかった場合にドキュメントベースのアプリは起動時に新しいドキュメントを開くだろうと思いましたか..? – insys

+0

これは関連性があるとは思いませんでしたが、iCloudが有効な場合にのみ発生します。 –

+0

残念ながら、私がそこで使用できる解決法はありません。 –

答えて

1

私はXcodeで新鮮なドキュメントベースアプリケーションプロジェクトを作成し、それを実行しました。私は開いているファイルのダイアログを取得していない!私は空白の新しい文書を開いてもらえます。それはあなたが意味することですか?私はこの最初の空白の文書を開くことを抑止するための文書化された方法を見つけることができませんでした。私はあなたのDocumentクラスの初期化子を使用して、以下のハックでこの動作を抑制するために管理:

- (instancetype)init { 
    self = [super init]; 
    if (self) { 
     // Add your subclass-specific initialization here. 
    } 
    NSLog(@"Document init"); 
    if (alreadysuppressed) 
     return self; 
    alreadysuppressed = 1; 
    return nil; 
} 

あなたが見ることができるように、抑制であった場合、それは(ここでは「alreadysuppressed」と呼ばれる)変数の使用を覚えてすることができます既に完了しているので、アプリケーション実行ごとに1回実行されます。私はそれがハックだが、それは一般的なドキュメントベースのアプリケーションのために動作します。 あなたは本当に、私はあなたのアプリケーションデリゲートクラスと同様のハックを追加することをお勧め上記の動作の代わりに、ファイルを開くダイアログを取得している場合:私は、ファイルがオープンになっておりませんように私はこのシナリオをテストすることができませんでしたけれども

- (BOOL)applicationShouldOpenUntitledFile:(NSApplication *)sender 
{ 
    NSLog(@"applicationShouldOpenUntitledFile: %d", alreadysuppressed); 
    if (! alreadysuppressed) { 
     alreadysuppressed = 1; 
     return NO; 
    } 
    return YES; 
} 

一般的なドキュメントベースのアプリケーションのダイアログ。

+0

私は上記の編集をいくつか行いました。私は、これが私の場合であるiCloudを有効にした場合にのみ起こることを認識していませんでした。 –

関連する問題