2015-12-06 17 views
8

'da görünmesini önleyin. Açık bir belge olmadan Mac'te iCloud etkin bir belge tabanlı uygulamayı açtığınızda, açık dosya iletişim kutusu görüntülenir. Bu açık dosya iletişiminin başlangıçta görünmesini nasıl önlersiniz? Bunun yerine göstermeyi tercih ettiğim bir karşılama ekranım var.iCloud açık dosya iletişim kutusunun OS X

+0

Son çıkışta belge açık değilse, Belge tabanlı bir uygulamanın açılışta yeni bir belge açacağını sanmıştım ..? – insys

+0

Bunun alakalı olduğunu bilmiyordum ancak yalnızca iCloud etkinken gerçekleşiyor. –

+0

Maalesef orada kullanabileceğim bir çözüm yok. –

cevap

1

İfadenizi doğrulamak için XCode'da yeni bir belge tabanlı uygulama projesi oluşturdum ve çalıştırdım. Açık dosya iletişim kutusu almıyorum! Yine de boş bir yeni belge açtım. Demek istediğin bu muydu? Açılan bu ilk boş belgeyi bastırmak için belgelenmiş bir yol bulamadım. Gördüğünüz gibi

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

, bu bastırma olsaydı (denilen burada 'alreadysuppressed') bir değişkenin kullanılması hatırlamak yapar: Ben senin Belge sınıfının başlatıcı kullanılarak, aşağıdaki kesmek ile bu davranışı bastırmak başardı Zaten bitmiş, bu yüzden uygulama başına bir kez yapılacaktır. Bunun bir kesmek olduğunu biliyorum ama genel belge tabanlı uygulama için çalışıyor. Gerçekten o zaman senin uygulama temsilci sınıfına benzer bir hack eklemenizi öneririz yukarıdaki davranışın yerine dosya açık iletişim alıyorsanız: Ben Dosya açık almıyorum ben bu senaryoyu test olamazdı rağmen

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

genel belge tabanlı uygulamada iletişim kutusu.

+0

Yukarıda bazı düzenlemeler yaptım. Bunun sadece benim durumum olan iCloud etkinken gerçekleştiğini anlamadım. –