越獄開發(fā)-創(chuàng)建真正的后臺程序(Daemon Process)

在網(wǎng)上搜索了一下如何在IOS上面實現(xiàn)Daemon Process杯道,只有chrisalvares的博客中有過詳細的描述匪煌,但是其博客中描述的較為復(fù)雜责蝠,

參考stackoverflow中的一個問答:


080014542998873.jpg.png

綜合上面的實現(xiàn)方案,下面給出本人的實現(xiàn):

IOS Daemon的實現(xiàn)分為兩個部分萎庭,一個是守護程序的可執(zhí)行文件霜医,一個是描述可執(zhí)行文件的plist。

可執(zhí)行文件可以使用XCode來編寫驳规,普通的命令行程序就可以了肴敛,下面是本人的實現(xiàn)代碼:

#import <Foundation/Foundation.h>
#import "NetworkTools.h"
#import "TSLogger.h"
 
int main(int argc, const char * argv[]) {
    @autoreleasepool {
        // insert code here...
        NSLog(@"Hello, World!, %@",[NetworkTools ipAddr]);
         
        [[TSLogger shanreInstance] connect];
 
        NSTimer *timer = [NSTimer timerWithTimeInterval:5
                                                 target:[TSLogger shanreInstance]
                                               selector:@selector(beat:)
                                               userInfo:nil
                                                repeats:YES];
        [[NSRunLoop mainRunLoop] addTimer:timer forMode:NSRunLoopCommonModes];
        [[NSRunLoop mainRunLoop] run];
        while (YES) {
            [[NSRunLoop mainRunLoop] runUntilDate:[NSDate distantFuture]];
        }
         
    }
    return 0;
}

這里避免主線程結(jié)束,在runloop中添加了一個timer吗购,這個timer什么事情也沒有做医男,主要是避免runloop結(jié)束。

上面的主程序中捻勉,就可以在主線程中異步執(zhí)行一些事件镀梭,本人的代碼中所做的事情是向服務(wù)器每隔2s發(fā)送一個數(shù)字,這個數(shù)字累加踱启。

下面是累加的結(jié)果

080022400495184.png

編寫這個控制臺程序的時候报账,注意需要將工程的CPU架構(gòu)設(shè)置為armv7,armv7s埠偿,不然會遇到 bad cpu type的錯誤透罢。

第二個部分是plist,plist中描述了守護程序的位置冠蒋,已經(jīng)啟動的參數(shù)羽圃,然后將這個plist拷貝到/System/Library/LaunchDaemons/中

下面是程序的plist:

080026498933656.png

注:請不要利用上面博客中的代碼、用于非法目的浊服。博客中思路僅供學(xué)習(xí)研究IOS系統(tǒng)實現(xiàn)统屈,提高IOS開發(fā)技能。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末牙躺,一起剝皮案震驚了整個濱河市愁憔,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌孽拷,老刑警劉巖吨掌,帶你破解...
    沈念sama閱讀 221,820評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異脓恕,居然都是意外死亡膜宋,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,648評論 3 399
  • 文/潘曉璐 我一進店門炼幔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來秋茫,“玉大人,你說我怎么就攤上這事乃秀「刂” “怎么了圆兵?”我有些...
    開封第一講書人閱讀 168,324評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長枢贿。 經(jīng)常有香客問我殉农,道長,這世上最難降的妖魔是什么局荚? 我笑而不...
    開封第一講書人閱讀 59,714評論 1 297
  • 正文 為了忘掉前任超凳,我火速辦了婚禮,結(jié)果婚禮上耀态,老公的妹妹穿的比我還像新娘轮傍。我一直安慰自己,他們只是感情好茫陆,可當我...
    茶點故事閱讀 68,724評論 6 397
  • 文/花漫 我一把揭開白布金麸。 她就那樣靜靜地躺著,像睡著了一般簿盅。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上揍魂,一...
    開封第一講書人閱讀 52,328評論 1 310
  • 那天桨醋,我揣著相機與錄音,去河邊找鬼现斋。 笑死喜最,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的庄蹋。 我是一名探鬼主播瞬内,決...
    沈念sama閱讀 40,897評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼限书!你這毒婦竟也來了虫蝶?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,804評論 0 276
  • 序言:老撾萬榮一對情侶失蹤倦西,失蹤者是張志新(化名)和其女友劉穎能真,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體扰柠,經(jīng)...
    沈念sama閱讀 46,345評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡粉铐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,431評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了卤档。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蝙泼。...
    茶點故事閱讀 40,561評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖劝枣,靈堂內(nèi)的尸體忽然破棺而出汤踏,到底是詐尸還是另有隱情倡缠,我是刑警寧澤,帶...
    沈念sama閱讀 36,238評論 5 350
  • 正文 年R本政府宣布茎活,位于F島的核電站昙沦,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏载荔。R本人自食惡果不足惜盾饮,卻給世界環(huán)境...
    茶點故事閱讀 41,928評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望懒熙。 院中可真熱鬧丘损,春花似錦、人聲如沸工扎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,417評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽肢娘。三九已至呈础,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間橱健,已是汗流浹背而钞。 一陣腳步聲響...
    開封第一講書人閱讀 33,528評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留拘荡,地道東北人臼节。 一個月前我還...
    沈念sama閱讀 48,983評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像珊皿,于是被迫代替她去往敵國和親网缝。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,573評論 2 359

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