如何判断Mac Cocoa应用程序是否正常启动或作为登录项?

如何判断Mac Cocoa应用程序是否正常启动或作为登录项?,第1张

概述有没有办法告诉 Cocoa应用程序是否作为日志项目启动,而不是双击它? 当应用程序在没有文档打开或打印的情况下启动时,它会收到一个“oapp”(a.k.a. kAEOpenApplication)Apple Event.该事件可能具有属性数据(keyAEPropData)参数.对于普通的启动,该参数不存在或0.对于从登录项启动,它的keyAELaunchedAsLogInItem. (当您的应用程 有没有办法告诉 Cocoa应用程序是否作为日志项目启动,而不是双击它?解决方法 当应用程序在没有文档打开或打印的情况下启动时,它会收到一个“oapp”(a.k.a. kAEOpenApplication)Apple Event.该事件可能具有属性数据(keyAEPropData)参数.对于普通的启动,该参数不存在或0.对于从登录项启动,它的keyAELaunchedAsLogInItem. (当您的应用程序启动以提供服务时,它的keyAELaunchedAsServiceItem.)

https://developer.apple.com/legacy/library/documentation/Carbon/Reference/Apple_Event_Manager/index.html#//apple_ref/doc/constant_group/Launch_Apple_Event_Constants

您可以在-applicationWill / DIDFinishLaunching:方法中使用以下代码检查此问题:

NSAppleEventDescriptor* event = [[NSAppleEventManager sharedAppleEventManager] currentAppleEvent];if ([event eventID] == kAEOpenApplication &&    [[event paramDescriptorForKeyword:keyAEPropData] enumCodeValue] == keyAELaunchedAsLogInItem){    // you were launched as a login item}

Swift 3:

let event = NSAppleEventManager.shared().currentAppleEventlet launchedAsLogInItem =    event?.eventID == kAEOpenApplication &&    event?.paramDescriptor(forKeyword: keyAEPropData)?.enumCodeValue == keyAELaunchedAsLogInItem
总结

以上是内存溢出为你收集整理的如何判断Mac Cocoa应用程序是否正常启动或作为登录项?全部内容,希望文章能够帮你解决如何判断Mac Cocoa应用程序是否正常启动或作为登录项?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1018301.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存