OSX開發(fā)之守護(hù)進(jìn)程(appserver)

1.狀態(tài)欄程序制作

  • xcode創(chuàng)建項(xiàng)目

  • 刪除Main.storyboard 中的Window和ViewController

    15006520234330.jpg
  • appdelegate 添加代碼

import Cocoa
@NSApplicationMain
class AppDelegate: NSObject, NSApplicationDelegate {

    let statusItem = NSStatusBar.system().statusItem(withLength: NSVariableStatusItemLength)
    var statusMenu: NSMenu!

    func applicationDidFinishLaunching(_ aNotification: Notification) {
        statusMenu = NSMenu(title: "")
        let item0 = NSMenuItem(title: "啟動(dòng)App", action: #selector(startApp), keyEquivalent: "")
        item0.isEnabled = true
        statusMenu.insertItem(item0, at: 0)
        
        let item1 = NSMenuItem(title: "設(shè)置", action: #selector(setting), keyEquivalent: "")
        item1.isEnabled = true
        statusMenu.insertItem(item1, at: 1)
        
        let item2 = NSMenuItem(title: "退出", action: #selector(exit), keyEquivalent: "")
        item2.isEnabled = true
        statusMenu.insertItem(item2, at: 2)
        
        let icon = NSImage(named: "icon1")
        statusItem.image = icon
        statusItem.menu = statusMenu
    }
    
    func setting() {}
    
    func exit() {
        NSApplication.shared().terminate(self)
    }
    
    func startApp()  {}
}

  • info.plist添加 Application is agent (UIElement) 為 true (隱藏dock圖標(biāo))

2.主程序target添加

  • 添加target
  • Build Phases 添加copy Files選項(xiàng)坚芜,添加target app


    15006535734128.jpg
  • 啟動(dòng)app
let path = Bundle.main.bundlePath.appending("/Contents/SharedSupport/MainApp.app")
let task = Process()
task.launchPath = "/usr/bin/open"
task.arguments = [path]
task.launch()

3.進(jìn)程間的通訊

4.開機(jī)啟啟動(dòng)

#把文本編輯.app 添加到用戶登錄項(xiàng)
#!/bin/bash 
/usr/bin/osascript -e "tell application \"System Events\" to make new login item with properties { path: \"/Applications/TextEdit.app\", hidden:false } at end"

github地址

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末杉武,一起剝皮案震驚了整個(gè)濱河市陷谱,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌百揭,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,542評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蜓席,死亡現(xiàn)場(chǎng)離奇詭異器一,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)厨内,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門祈秕,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人雏胃,你說我怎么就攤上這事请毛。” “怎么了瞭亮?”我有些...
    開封第一講書人閱讀 158,021評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵方仿,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我统翩,道長(zhǎng)仙蚜,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,682評(píng)論 1 284
  • 正文 為了忘掉前任厂汗,我火速辦了婚禮委粉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘娶桦。我一直安慰自己贾节,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,792評(píng)論 6 386
  • 文/花漫 我一把揭開白布衷畦。 她就那樣靜靜地躺著氮双,像睡著了一般。 火紅的嫁衣襯著肌膚如雪霎匈。 梳的紋絲不亂的頭發(fā)上戴差,一...
    開封第一講書人閱讀 49,985評(píng)論 1 291
  • 那天,我揣著相機(jī)與錄音铛嘱,去河邊找鬼暖释。 笑死,一個(gè)胖子當(dāng)著我的面吹牛墨吓,可吹牛的內(nèi)容都是我干的球匕。 我是一名探鬼主播,決...
    沈念sama閱讀 39,107評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼帖烘,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼亮曹!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,845評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤照卦,失蹤者是張志新(化名)和其女友劉穎式矫,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體役耕,經(jīng)...
    沈念sama閱讀 44,299評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡采转,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,612評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了瞬痘。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片故慈。...
    茶點(diǎn)故事閱讀 38,747評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖框全,靈堂內(nèi)的尸體忽然破棺而出察绷,到底是詐尸還是另有隱情,我是刑警寧澤津辩,帶...
    沈念sama閱讀 34,441評(píng)論 4 333
  • 正文 年R本政府宣布克婶,位于F島的核電站,受9級(jí)特大地震影響丹泉,放射性物質(zhì)發(fā)生泄漏情萤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,072評(píng)論 3 317
  • 文/蒙蒙 一摹恨、第九天 我趴在偏房一處隱蔽的房頂上張望筋岛。 院中可真熱鬧,春花似錦晒哄、人聲如沸睁宰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,828評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽柒傻。三九已至,卻和暖如春较木,著一層夾襖步出監(jiān)牢的瞬間红符,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,069評(píng)論 1 267
  • 我被黑心中介騙來泰國(guó)打工伐债, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留预侯,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,545評(píng)論 2 362
  • 正文 我出身青樓峰锁,卻偏偏與公主長(zhǎng)得像萎馅,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子虹蒋,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,658評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,848評(píng)論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理糜芳,服務(wù)發(fā)現(xiàn)飒货,斷路器,智...
    卡卡羅2017閱讀 134,637評(píng)論 18 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,778評(píng)論 6 342
  • 2017年6月4日兩位美女第一次長(zhǎng)跑
    奇壯閱讀 141評(píng)論 0 0
  • Android Wear因?yàn)樽陨淼木窒扌郧涂ⅲ晕覀冊(cè)趯戦_發(fā)Android Wear程序的時(shí)候一定要考慮到性能的流暢...
    Galaxy北愛閱讀 923評(píng)論 0 6