问题标签 [nsapplication]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4506 浏览

objective-c - NSApp terminate:id 是否已弃用?

我一直在寻找如何以编程方式终止我的应用程序。我在许多主题中发现人们使用NSApp terminate:id.

在 Xcodeterminate:id中是交叉的。这种方法是否已弃用?我应该用它来终止我的应用程序吗?如果没有,这是正确的方法吗?

更新: 当我说它被交叉时,我的意思是: 在此处输入图像描述

0 投票
3 回答
2347 浏览

macos - 在 mac 上检测全屏应用程序

我正在 Cocoa 中开发一个简单的应用程序,我想检测是否有任何应用程序以全屏模式运行。这可能吗?

通过 runningApplications API,我可以获得各种信息,但没有与全屏模式相关的特定属性。有谁知道如何检测它?是否有任何碳事件或 API?

0 投票
1 回答
1123 浏览

terminate - NSApplication.SharedApplication.Terminate 在未处理的异常后实际上并没有终止我的应用程序

我正在使用 MonoMac 为 OSX 开发一个简单的应用程序。当我的应用程序遇到未处理的异常时,我会通过以下方式捕获它们:

AppDomain.CurrentDomain.UnhandledException += (sender, e) => Unhandled(e.ExceptionObject as Exception);

在函数 Unhandled() 中,我记录异常并运行模式窗口以通知用户出现问题。

然后我通过在应用程序的某个地方抛出一个常规异常来继续测试它。崩溃报告窗口按原样出现,并记录错误。

但是在关闭此窗口后,我希望应用程序退出,如果我没有发现错误,它会这样做。它不是; 应用程序的主窗口和停靠图标仍然存在,但窗口完全冻结。

如果我删除上面的代码行,应用程序在崩溃时会完全关闭。

我尝试通过调用强制应用程序退出:

但这似乎根本没有任何作用。我在应用程序的退出按钮中使用了完全相同的代码行,并且它按预期工作,因此在捕获未处理的异常后,应用程序状态必须有一些特别之处。但是什么?

为了以防万一,我在 AppDelegate 中覆盖了以下内容,但这似乎没有任何区别:

我认为显示模态表单可能会对应用程序状态产生影响,但经过测试,我发现是否显示模态表单没有任何区别。仍然是冻结的主窗口而不是关闭。

编辑:测试时我一定做错了什么。如果我不显示错误表单,它实际上可以正常工作。

有任何想法吗?

0 投票
1 回答
480 浏览

objective-c - 在 NSSavePanel 中按下 OK 后不能调用 beginSheet?

我的可可程序有一个保存功能,当用户选择保存目的地时,我将不得不调出另一个 NSPanel,以显示某种状态(即完成保存文件需要多长时间。这是我的代码:

因此,一旦 NSSavePanel 消失(即按下 ok),我的 NSPanel 会显示 1/2 秒,然后它就消失了,即使我没有调用 NSApp endSheet

0 投票
1 回答
594 浏览

macos - applicationDidBecomeActive 不会在 OSX 应用程序中触发

在我的应用程序中,我有以下设置:

由于某种原因,applicationDidBecomeActive 永远不会被调用。有谁知道我在这里失踪了?!

0 投票
0 回答
141 浏览

macos - 显示 Dock 图标,但没有标准主菜单

是否可以有应用程序的 Dock 图标,但菜单栏中没有主菜单?

  • 摆弄LSUIElementLSUIBackgroundOnly不会导致我的目标。
  • 设置[NSApp setMainMenu:nil]不起作用。

编辑:更具体地说:我不想隐藏菜单栏,而是隐藏应用程序的主菜单,即在激活我的应用程序之前应用程序的菜单仍然可见。

0 投票
3 回答
1153 浏览

objective-c - 如何使用自定义参数从我的应用程序启动应用程序,以便我可以检查该应用程序是否由我启动?

我正在开发这个启动其他应用程序的应用程序。我正在使用以下方式收听应用程序启动:

我使用(邮件只是一个例子)启动它们:

我做了一些研究,发现您可以在启动应用程序时发送参数(这就是我dict在上面的代码中使用 var 的原因),但我遇到了一个问题:即使使用NSWorkspaceLaunchWithoutActivation,Mail.app 也是启动并通过新的撰写窗口聚焦。我不知道它为什么这样做。

另一件事,如果我设法成功发送自定义参数而不关注应用程序,我如何检查应用程序是否由我启动(检查参数是否存在)?

PS:我正在寻找适用于 App Store 的方法。

0 投票
1 回答
168 浏览

macos - NSApplication 收到“miniaturizeAll”调用时的通知

这可能吗,就像当你调用'hide:'时它调用'applicationWillHide:'?

我的应用程序使用可变数量的窗口,具体取决于可用屏幕的数量,因此在调用“miniaturizeAll:”时它不会小型化那些 NSWindow 实例。

0 投票
1 回答
608 浏览

objective-c - NSApplication mainMenu 返回 nil

我遇到的问题是我无法以编程方式向我的应用程序添加菜单!

这就是我所在的位置:

在应用程序委托 applicationDidFinishLaunching 中:

创建一个窗口并制作关键和订单前面。

编辑:(如果我登录 [NSApplication sharedApplication].mainMenu prints (null) )无论如何......

创建一个 NSMenu 对象和 [[NSApplication sharedApplication] setMainMenu:myMenu] 也尝试了 [[NSApplication sharedApplication] setMenu:myMenu]

构建/运行

菜单不存在!

EDIT2:(如果仍然不理解:)

制作一个 osx 应用程序,删除菜单对象,运行,你仍然会在那里看到一个带有应用程序名称的菜单,你点击它,它变成蓝色但没有子菜单,现在我如何获得指向它的指针!

0 投票
1 回答
1037 浏览

macos - 在 OSX 上重新打开窗口的正确方法是什么?

我有一个在 Xcode 中创建的应用程序。它不是基于文档的。

如何使当用户单击停靠图标时,窗口重新打开?我正在用 Xcode 自动给我的 nib 创建所有东西。

我试图实现applicationShouldOpenUntitledFile:并调用makeKeyAndVisible我的应用程序委托的window属性,但这与应用程序的图标相混淆。(我想这与用作文档预览的图标有关。)

不管怎样,我用谷歌搜索了一下,主要是找到了对 Carbon API 或基于文档的应用程序的引用。

窗口创建过程如何在 NSApplicationMain 和我的应用程序的 nib 文件之间工作,我如何复制该过程,我在哪里可以这样做?