Objective-C:从后台 Cocoa 应用程序显示一个弹出窗口

标签 objective-c cocoa

我创建了一个在用户后台运行并不断检查通知的 COCOA 应用程序。

当有通知时,应用程序应显示一个弹出窗口。

我如何在后台运行应用程序?

我已设置应用程序仅在后台 enter image description here

使用上述方法,应用程序已启动,但未显示且在扩展坞中不可见。

我如何显示弹出窗口

    _popup =  [[showPopup alloc] initWithWindowNibName:@"showPopup"];

    [self.window beginSheet:_popup.window  completionHandler:^(NSModalResponse returnCode) {}];

    //showing the window
    [_popup showWindow:self];

问题

未显示弹出窗口。请建议我应该做什么...

非常感谢!!

最佳答案

  • 您可能需要“应用程序是代理 (UIElement)”(LSUIElement),而不是“应用程序仅是后台”(LSBackgroundOnly)。
  • 确保您的窗口已连接到 Nib 中的窗口 Controller (可能是这样,但以防万一……)
  • 别忘了打电话

    [NSApp activateIgnoringOtherApps:YES];

    确保您的应用程序进入前台。

关于Objective-C:从后台 Cocoa 应用程序显示一个弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34261773/

相关文章:

objective-c - 以编程方式滚动 UIScrollView

ios - 播放/暂停和运行时间未在 iOS 命令中心正确更新

objective-c - 将 viewController 插入另一个 viewController 后会发生什么

cocoa - 从 NSColor 中提取 32 位 RGBA 值

iPhone UISearchBar View 没有立即更新?

objective-c - 仅使用 h、m 和 xib 之一设置导航 Controller

ios - 永远不会调用 NSString 与 UITextField 文本的比较

objective-c - Cocoa - 在运行时确定类的属性

xcode - 发布 Cocoapod 时包含图像资源

ios - 如果我在结构中分离一个对象,在内存方面会发生什么