為什么手動創建的NSApp沒有圖標,接收不到鍵盤響應?

為什么我手動創建的NSApp沒有圖標,接收不到鍵盤相應?
那是因為沒有設置ActivationPolicy(顯示策略)

[NSApp setActivationPolicy:NSApplicationActivationPolicyRegular];

ActivationPolicy(應用顯示策略)

一共有三種應用顯示策略

1、NSApplicationActivationPolicyRegular 正規的

這種方式在使用 Info.plist 捆綁開發(bundled apps) 時是默認的選項。
效果: 任務欄(Dock) 上會顯示應用的圖標,菜單欄(menu bar)上會顯示菜單等等所有正常操作。
可以被激活(接受鍵盤相應、接受鼠標相應)

PolicyRegular 正常模式
2、NSApplicationActivationPolicyAccessory 輔助的

沒有任務欄(Dock)上的圖標,沒有菜單欄(menu bar)
可以被激活(接受鍵盤相應、接受鼠標相應)
在Info.plist中通過 LSUIElement=1 設置成該顯示策略

PolicyAccessory 任務欄中的圖標沒了

3、NSApplicationActivationPolicyProhibited 禁止的

這種方式在 "生肉"開發(unbundled apps) 時是默認的選項。
沒有任務欄(Dock)上的圖標,沒有菜單欄(menu bar),可能沒有窗口(Window),有窗口該窗口也不會被激活。
不可以被激活(不接受鍵盤相應、接受鼠標相應)

PolicyProhibited 任務欄中的圖標沒了

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,241評論 4 61
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,333評論 25 708
  • 問渠哪得清如許?為有源頭活水來。 如果沒有嚴謹認真的常規教學教研活動的開展,也就自然不會有教學成績的一次次新突破,...
    落鴻孤鶩閱讀 1,267評論 1 0
  • 媽媽告訴我,冬天是個壞孩子 跟我一樣,喜歡玩鬧 他使勁兒的搖著樹枝 驚走了所有的小鳥 她說 你可不要跟他一樣淘 媽...
    秋鶴閱讀 277評論 0 1
  • 看著沒啥事兒沒啥事兒就會出事,一顆不懂得安住的心總是可以折騰出新的劇目,制造出新的問題去面對,我感受到的是一種無力...
    halfbook閱讀 172評論 4 1