防止在 OS X 中启动时出现 iCloud 打开文件对话框 [重复]
Posted
技术标签:
【中文标题】防止在 OS X 中启动时出现 iCloud 打开文件对话框 [重复]【英文标题】:Prevent iCloud open file dialog from appearing on startup in OS X [duplicate] 【发布时间】:2015-12-06 02:29:03 【问题描述】:当您在 Mac 上打开一个启用了 iCloud 的基于文档的应用程序而没有任何当前打开的文档时,将出现打开文件对话框。你如何防止打开文件对话框出现在启动时?我有一个我更喜欢显示的欢迎屏幕。
【问题讨论】:
我认为如果上次退出时没有打开任何文档,基于文档的应用程序会在启动时打开一个新文档.. ? 我没有意识到这是相关的,但它只发生在启用 iCloud 的情况下。 很遗憾没有我可以使用的解决方案。 【参考方案1】:为了验证您的说法,我在 XCode 中创建了一个新的基于文档的应用程序项目并运行它。我没有打开文件对话框!我确实打开了一个空白的新文档。这是你的意思吗?我找不到任何有据可查的方法来禁止打开这个初始空白文档。我使用 Document 类的初始化程序通过以下 hack 设法抑制了这种行为:
- (instancetype)init
self = [super init];
if (self)
// Add your subclass-specific initialization here.
NSLog(@"Document init");
if (alreadysuppressed)
return self;
alreadysuppressed = 1;
return nil;
如您所见,它使用一个变量(此处称为“已经抑制”)来记住抑制是否已经完成,因此每次应用程序运行都会完成一次。我知道这是一个 hack,但它适用于基于通用文档的应用程序。 如果您真的得到文件打开对话框而不是上述行为,那么我建议在您的应用程序委托类中添加类似的 hack:
- (BOOL)applicationShouldOpenUntitledFile:(NSApplication *)sender
NSLog(@"applicationShouldOpenUntitledFile: %d", alreadysuppressed);
if (! alreadysuppressed)
alreadysuppressed = 1;
return NO;
return YES;
虽然我无法测试这种情况,因为我没有在基于通用文档的应用程序中获得文件打开对话框。
【讨论】:
我在上面做了一些修改。我没有意识到这只发生在启用 iCloud 的情况下,这就是我的情况。以上是关于防止在 OS X 中启动时出现 iCloud 打开文件对话框 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
在 10.6 上测试 Mac OS X 10.7 特定代码时出现“未找到符号”崩溃
在 Mac OS X 中创建反应应用程序时出现 EACCESS 权限错误
在OS X上使用屏幕时出现“spwd:command not found”