问题标签 [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.
objective-c - NSApp terminate:id 是否已弃用?
我一直在寻找如何以编程方式终止我的应用程序。我在许多主题中发现人们使用NSApp terminate:id
.
在 Xcodeterminate:id
中是交叉的。这种方法是否已弃用?我应该用它来终止我的应用程序吗?如果没有,这是正确的方法吗?
更新:
当我说它被交叉时,我的意思是:
macos - 在 mac 上检测全屏应用程序
我正在 Cocoa 中开发一个简单的应用程序,我想检测是否有任何应用程序以全屏模式运行。这可能吗?
通过 runningApplications API,我可以获得各种信息,但没有与全屏模式相关的特定属性。有谁知道如何检测它?是否有任何碳事件或 API?
terminate - NSApplication.SharedApplication.Terminate 在未处理的异常后实际上并没有终止我的应用程序
我正在使用 MonoMac 为 OSX 开发一个简单的应用程序。当我的应用程序遇到未处理的异常时,我会通过以下方式捕获它们:
AppDomain.CurrentDomain.UnhandledException += (sender, e) => Unhandled(e.ExceptionObject as Exception);
在函数 Unhandled() 中,我记录异常并运行模式窗口以通知用户出现问题。
然后我通过在应用程序的某个地方抛出一个常规异常来继续测试它。崩溃报告窗口按原样出现,并记录错误。
但是在关闭此窗口后,我希望应用程序退出,如果我没有发现错误,它会这样做。它不是; 应用程序的主窗口和停靠图标仍然存在,但窗口完全冻结。
如果我删除上面的代码行,应用程序在崩溃时会完全关闭。
我尝试通过调用强制应用程序退出:
但这似乎根本没有任何作用。我在应用程序的退出按钮中使用了完全相同的代码行,并且它按预期工作,因此在捕获未处理的异常后,应用程序状态必须有一些特别之处。但是什么?
为了以防万一,我在 AppDelegate 中覆盖了以下内容,但这似乎没有任何区别:
我认为显示模态表单可能会对应用程序状态产生影响,但经过测试,我发现是否显示模态表单没有任何区别。仍然是冻结的主窗口而不是关闭。
编辑:测试时我一定做错了什么。如果我不显示错误表单,它实际上可以正常工作。
有任何想法吗?
objective-c - 在 NSSavePanel 中按下 OK 后不能调用 beginSheet?
我的可可程序有一个保存功能,当用户选择保存目的地时,我将不得不调出另一个 NSPanel,以显示某种状态(即完成保存文件需要多长时间。这是我的代码:
因此,一旦 NSSavePanel 消失(即按下 ok),我的 NSPanel 会显示 1/2 秒,然后它就消失了,即使我没有调用 NSApp endSheet
macos - applicationDidBecomeActive 不会在 OSX 应用程序中触发
在我的应用程序中,我有以下设置:
由于某种原因,applicationDidBecomeActive 永远不会被调用。有谁知道我在这里失踪了?!
macos - 显示 Dock 图标,但没有标准主菜单
是否可以有应用程序的 Dock 图标,但菜单栏中没有主菜单?
- 摆弄
LSUIElement
并LSUIBackgroundOnly
不会导致我的目标。 - 设置
[NSApp setMainMenu:nil]
不起作用。
编辑:更具体地说:我不想隐藏菜单栏,而是隐藏应用程序的主菜单,即在激活我的应用程序之前应用程序的菜单仍然可见。
objective-c - 如何使用自定义参数从我的应用程序启动应用程序,以便我可以检查该应用程序是否由我启动?
我正在开发这个启动其他应用程序的应用程序。我正在使用以下方式收听应用程序启动:
我使用(邮件只是一个例子)启动它们:
我做了一些研究,发现您可以在启动应用程序时发送参数(这就是我dict
在上面的代码中使用 var 的原因),但我遇到了一个问题:即使使用NSWorkspaceLaunchWithoutActivation
,Mail.app 也是启动并通过新的撰写窗口聚焦。我不知道它为什么这样做。
另一件事,如果我设法成功发送自定义参数而不关注应用程序,我如何检查应用程序是否由我启动(检查参数是否存在)?
PS:我正在寻找适用于 App Store 的方法。
macos - NSApplication 收到“miniaturizeAll”调用时的通知
这可能吗,就像当你调用'hide:'时它调用'applicationWillHide:'?
我的应用程序使用可变数量的窗口,具体取决于可用屏幕的数量,因此在调用“miniaturizeAll:”时它不会小型化那些 NSWindow 实例。
objective-c - NSApplication mainMenu 返回 nil
我遇到的问题是我无法以编程方式向我的应用程序添加菜单!
这就是我所在的位置:
在应用程序委托 applicationDidFinishLaunching 中:
创建一个窗口并制作关键和订单前面。
编辑:(如果我登录 [NSApplication sharedApplication].mainMenu prints (null) )无论如何......
创建一个 NSMenu 对象和 [[NSApplication sharedApplication] setMainMenu:myMenu] 也尝试了 [[NSApplication sharedApplication] setMenu:myMenu]
构建/运行
菜单不存在!
EDIT2:(如果仍然不理解:)
制作一个 osx 应用程序,删除菜单对象,运行,你仍然会在那里看到一个带有应用程序名称的菜单,你点击它,它变成蓝色但没有子菜单,现在我如何获得指向它的指针!
macos - 在 OSX 上重新打开窗口的正确方法是什么?
我有一个在 Xcode 中创建的应用程序。它不是基于文档的。
如何使当用户单击停靠图标时,窗口重新打开?我正在用 Xcode 自动给我的 nib 创建所有东西。
我试图实现applicationShouldOpenUntitledFile:
并调用makeKeyAndVisible
我的应用程序委托的window
属性,但这与应用程序的图标相混淆。(我想这与用作文档预览的图标有关。)
不管怎样,我用谷歌搜索了一下,主要是找到了对 Carbon API 或基于文档的应用程序的引用。
窗口创建过程如何在 NSApplicationMain 和我的应用程序的 nib 文件之间工作,我如何复制该过程,我在哪里可以这样做?