Предотвращение открытия окна iCloud при запуске приложения OSX 10.8
Я написал приложение OSX, в котором используется хранилище документов iCloud. Всякий раз, когда я открываю его в Mountain Lion (не на льве), открывается окно iCloud, которое выглядит следующим образом:
![enter image description here]()
Есть ли способ предотвратить это при запуске?
Обновление:
1) applicationShouldOpenUntitledFile:
не вызван (да, я уверен, что я слушаю в своем делегате.
2) Если я заставлю выйти из приложения, в следующий раз, когда он откроется, я не получу диалог. Но, если я пройду обычный процесс Quit, он появится.
Обновление 2 (также добавлено в качестве ответа, чтобы помочь людям, которые могут наткнуться на этот вопрос в будущем):
applicationShouldOpenUntitledFile:
из дублированного вопроса не работает. После нескольких экспериментов я понял, что если я удалю ключ NSDocumentClass
и значение из моего Info.plist в массиве CFBundleDocumentTypes
, окно больше не будет открыто. Я также добавил этот ответ к дублирующему вопросу.
Ответы
Ответ 1
applicationShouldOpenUntitledFile:
from iCloud enabled - остановить отображение открытого файла при запуске приложения? не работает. После многих экспериментов я понял, что если я удалю ключ NSDocumentClass
и значение из моего Info.plist
в массиве CFBundleDocumentTypes
, окно больше не будет открыто.
Ответ 2
Помещение ниже кодов в вашем делете делегата позволяет обойти, что iCloud открывает экран "Новый документ". Протестировано для Высокой Сьерры.
-(void)applicationDidFinishLaunching:(NSNotification *)notification
{
// Schedule "Checking whether document exists." into next UI Loop.
// Because document is not restored yet.
// So we don't know what do we have to create new one.
// Opened document can be identified here. (double click document file)
NSInvocationOperation* op = [[NSInvocationOperation alloc]initWithTarget:self selector:@selector(openNewDocumentIfNeeded) object:nil];
[[NSOperationQueue mainQueue] addOperation: op];
}
-(void)openNewDocumentIfNeeded
{
NSUInteger documentCount = [[[NSDocumentController sharedDocumentController] documents]count];
// Open an untitled document what if there is no document. (restored, opened).
if(documentCount == 0){
[[NSDocumentController sharedDocumentController]openUntitledDocumentAndDisplay:YES error: nil];
}
}