• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    IOS平臺(tái)上捕獲系統(tǒng)消息的方法和裝置制造方法及圖紙

    技術(shù)編號:8271266 閱讀:286 留言:0更新日期:2013-01-31 03:27
    本發(fā)明專利技術(shù)公開了一種IOS平臺(tái)上捕獲系統(tǒng)消息的方法和裝置,其中,該方法包括:獲取當(dāng)前所需執(zhí)行的api的指針指向的方法體,其中,指針指向的方法體包括如下邏輯:調(diào)用api自身和記錄當(dāng)前所需執(zhí)行的api的發(fā)生狀態(tài);執(zhí)行獲取到的當(dāng)前所需執(zhí)行的api的指針指向的方法體。本發(fā)明專利技術(shù)解決了相關(guān)技術(shù)中IOS平臺(tái)捕獲系統(tǒng)消息時(shí)因加入大量代碼而導(dǎo)致的工作量大、容易出錯(cuò)的問題,減小捕獲系統(tǒng)消息的工作量,進(jìn)一步地,提高了準(zhǔn)確性。

    【技術(shù)實(shí)現(xiàn)步驟摘要】
    本專利技術(shù)涉及通信領(lǐng)域,具體而言,涉及一種ios平臺(tái)上捕獲系統(tǒng)消息的方法和裝置。
    技術(shù)介紹
    隨著通信技術(shù)的發(fā)展,IOS系統(tǒng)越來越被人熟知,在IOS系統(tǒng)中,系統(tǒng)消息可以簡單理解為方法調(diào)用,指的是由IOS操作系統(tǒng)或app (application,第三方應(yīng)用程序)發(fā)起的對操作系統(tǒng)公開的api (Application Programming Interface,應(yīng)用程序編程接口)方法調(diào)用。例如當(dāng)對象被創(chuàng)建時(shí),iOS操作系統(tǒng)會(huì)調(diào)用NSObject的init方法,就稱這次調(diào)用為一次系統(tǒng)消息。在IOS系統(tǒng)中,捕獲消息對于app行為監(jiān)測很重要,要準(zhǔn)確檢測app的行為,需要對于一些關(guān)鍵系統(tǒng)消息進(jìn)行捕獲,并記錄下來。·現(xiàn)有的技術(shù)中,捕獲系統(tǒng)消息的一般方法是繼承目標(biāo)方法所在的類,重寫目標(biāo)方法,在目標(biāo)方法中記錄下方法調(diào)用信息或插入自定義代碼,然后在調(diào)用父類的方法實(shí)現(xiàn)。這樣既保留了父類方法的邏輯,又加入了自定義邏輯。例如要監(jiān)測某對象“創(chuàng)建”的消息,就需要繼承此對象,然后重寫“創(chuàng)建”方法,記錄下創(chuàng)建消息。這種方法工作量大,容易遺漏,例如,要捕獲所有視圖對象的創(chuàng)建消息,并記錄下視圖是何時(shí)被創(chuàng)建的,就需要在每一個(gè)視圖實(shí)現(xiàn)類中重新創(chuàng)建方法,而一個(gè)app中往往存在很多視圖類,這就需要加入大量重復(fù)的邏輯,工作量大還容易出錯(cuò)。另一種方法是讓這些視圖類都繼承自同一個(gè)父類,在父類中加入重新創(chuàng)建方法,由于IOS的編程語目ObjectiveC是單繼承的,如果僅僅是為了記錄視圖創(chuàng)建時(shí)間就占用了繼承的位置,很不值得,其他更重要的功能往往也需要繼承,就發(fā)生了沖突。針對相關(guān)技術(shù)中IOS平臺(tái)捕獲系統(tǒng)消息時(shí)因加入大量代碼而導(dǎo)致的工作量大、容易出錯(cuò)的問題,目前尚未提出有效的解決方案。
    技術(shù)實(shí)現(xiàn)思路
    本專利技術(shù)提供了一種IOS平臺(tái)上捕獲系統(tǒng)消息的方法和裝置,以解決相關(guān)技術(shù)中IOS平臺(tái)捕獲系統(tǒng)消息時(shí)因加入大量代碼而導(dǎo)致的工作量大、容易出錯(cuò)的問題,目前尚未提出有效的解決方案。根據(jù)本專利技術(shù)的一個(gè)方面,提供了一種IOS平臺(tái)上捕獲系統(tǒng)消息的方法,該方法包括獲取當(dāng)前所需執(zhí)行的api的指針指向的方法體,其中,指針指向的方法體包括如下邏輯調(diào)用api自身和記錄當(dāng)前所需執(zhí)行的api的發(fā)生狀態(tài);執(zhí)行獲取到的當(dāng)前所需執(zhí)行的api的指針指向的方法體。進(jìn)一步地,在獲取當(dāng)前所需執(zhí)行的api的指針指向的方法體之前,方法包括為api所在的類創(chuàng)建分類;在創(chuàng)建的分類中創(chuàng)建自定義方法,其中,自定義方法包含如下邏輯遞歸調(diào)用自身和記錄系統(tǒng)消息發(fā)生狀態(tài);將自定義方法的方法體和api中的方法體進(jìn)行交換。進(jìn)一步地,在為api所在的類創(chuàng)建分類之前,方法還包括確定api的名稱和該api所在的類。進(jìn)一步地,確定api的名稱和該api所在的類的步驟包括在IOS系統(tǒng)的api文檔中查找到api所對應(yīng)的信息;根據(jù)查找到的api所對應(yīng)的信息確定api的名稱和該api所在的類。進(jìn)一步地,將自定義方法的方法體和api的方法體進(jìn)行交換包括確定用于指向自定義方法的方法體的第一指針;確定用于指向api的方法體的第二指針;將確定的第一指針和確定的第二指針交換。根據(jù)本專利技術(shù)的另一方面,提供了一種IOS平臺(tái)上捕獲系統(tǒng)消息的,該裝置包括獲取單元,用于獲取當(dāng)前所需執(zhí)行的api的指針指向的方法體,其中,指針指向的方法體包括如下邏輯調(diào)用api自身和記錄當(dāng)前所需執(zhí)行的api的發(fā)生狀態(tài);執(zhí)行單元,用于執(zhí)行獲取單元獲取到的當(dāng)前所需執(zhí)行的api的指針指向的方法體。進(jìn)一步地,該裝置還包括第一創(chuàng)建單元,用于在獲取當(dāng)前所需執(zhí)行的api的指針指向的方法體之前,為api所在的類創(chuàng)建分類;第二創(chuàng)建單元,用于在獲取當(dāng)前所需執(zhí)行的api的指針指向的方法體之前,在第一創(chuàng)建單元?jiǎng)?chuàng)建的分類中創(chuàng)建自定義方法,其中,自定義方法包含如下邏輯遞歸調(diào)用自身和記錄系統(tǒng)消息發(fā)生狀態(tài);交換單元,用于在獲取當(dāng)前所需執(zhí)行的api的指針指向的方法體之前,將自定義方法的方法體和api中的方法體進(jìn)行交換,其中,業(yè)務(wù)邏輯為api所對應(yīng)的業(yè)務(wù)邏輯。進(jìn)一步地,該裝置還包括確定單元,用于在為api所在的類創(chuàng)建分類之前,確定所需監(jiān)控的api的名稱和api所在的類。進(jìn)一步地,確定單元包括查找模塊,用于在IOS系統(tǒng)的api文檔中查找到api所對應(yīng)的信息;第一確定模塊,用于根據(jù)查找模塊查找到的api所對應(yīng)的信息確定api的名稱·和該api所在的類。進(jìn)一步地,交換單元包括第二確定模塊,用于確定指向自定義方法的方法體的第一指針;第三確定模塊,用于確定指向api的方法體的第二指針;交換模塊,用于將確定的第一指針和確定的第二指針交換。通過本專利技術(shù),將所需監(jiān)控的系統(tǒng)方法api的指針設(shè)置為指向自定義的方法,其中,自定義的方法包含有如下邏輯調(diào)用該api自身的邏輯和記錄該api的發(fā)生狀態(tài),當(dāng)系統(tǒng)方法api被調(diào)用時(shí),由于該api的指針指向自定義的方法,則執(zhí)行自定義的方法中的邏輯,調(diào)用該api自身的邏輯并記錄該api的發(fā)生狀態(tài),執(zhí)行系統(tǒng)方法的同時(shí),實(shí)現(xiàn)系統(tǒng)消息的捕獲,這種捕獲系統(tǒng)消息的方法無需重寫目標(biāo)方法,解決了相關(guān)技術(shù)中IOS平臺(tái)捕獲系統(tǒng)消息時(shí)因加入大量代碼而導(dǎo)致的工作量大、容易出錯(cuò)的問題,減小捕獲系統(tǒng)消息的工作量,進(jìn)一步地,提高了準(zhǔn)確性。附圖說明此處所說明的附圖用來提供對本專利技術(shù)的進(jìn)一步理解,構(gòu)成本申請的一部分,本專利技術(shù)的示意性實(shí)施例及其說明用于解釋本專利技術(shù),并不構(gòu)成對本專利技術(shù)的不當(dāng)限定。在附圖中圖I是根據(jù)本專利技術(shù)實(shí)施例的IOS平臺(tái)上捕獲系統(tǒng)消息的方法的一種優(yōu)選的流程圖2是根據(jù)本專利技術(shù)實(shí)施例的IOS平臺(tái)上捕獲系統(tǒng)消息的裝置的一種優(yōu)選的結(jié)構(gòu)框圖;圖3是根據(jù)本專利技術(shù)實(shí)施例的IOS平臺(tái)上捕獲系統(tǒng)消息的裝置的另一種優(yōu)選的結(jié)構(gòu)框圖;圖4是根據(jù)本專利技術(shù)實(shí)施例的IOS平臺(tái)上捕獲系統(tǒng)消息的裝置的又一種優(yōu)選的結(jié)構(gòu)框圖;以及圖5是根據(jù)本專利技術(shù)實(shí)施例的IOS平臺(tái)上捕獲系統(tǒng)消息的裝置的又一種優(yōu)選的結(jié)構(gòu)框圖。具體實(shí)施例方式下文中將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本專利技術(shù)。需要說明的是,在不沖突的 情況下,本申請中的實(shí)施例及實(shí)施例中的特征可以相互組合。實(shí)施例I在本優(yōu)選的實(shí)施例中提供了一種在IOS平臺(tái)上捕獲系統(tǒng)消息的方法,圖I示出該方法的一種優(yōu)選的流程圖,如圖I所示,該方法包括如下步驟S102,獲取當(dāng)前所需執(zhí)行的api的指針指向的方法體,其中,指針指向的方法體包括如下邏輯調(diào)用api自身和記錄當(dāng)前所需執(zhí)行的api的發(fā)生狀態(tài);具體地,在執(zhí)行該api之前,將所需監(jiān)控的系統(tǒng)消息api指針指向上述自定義的方法。S104,執(zhí)行獲取到的當(dāng)前所需執(zhí)行的api的指針指向的方法體。具體來說,當(dāng)上述api方法被調(diào)用時(shí),由于該api的指針指向自定義的方法,則執(zhí)行自定義的方法,即調(diào)用該api自身的邏輯,并記錄該api已發(fā)生。在上述優(yōu)選的實(shí)施方式中,將所需監(jiān)控的系統(tǒng)方法api的指針設(shè)置為指向自定義的方法,其中,自定義的方法包含有如下邏輯調(diào)用該api自身的邏輯和記錄該api的發(fā)生狀態(tài),當(dāng)系統(tǒng)方法api被調(diào)用時(shí),由于該api的指針指向自定義的方法,則執(zhí)行自定義的方法中的邏輯,調(diào)用該api自身的邏輯并記錄該api的發(fā)生狀態(tài),執(zhí)行系統(tǒng)方法的同時(shí),實(shí)現(xiàn)系統(tǒng)消息的捕獲,這種捕獲系統(tǒng)消息的方法無需重寫目標(biāo)方法,解決了相關(guān)技術(shù)中IOS平臺(tái)捕獲系統(tǒng)消息時(shí)因加入大量代碼而導(dǎo)致的工作量大、容易出錯(cuò)的問題,減小捕獲系統(tǒng)消息的工作量,進(jìn)一步地,提高本文檔來自技高網(wǎng)
    ...

    【技術(shù)保護(hù)點(diǎn)】
    一種IOS平臺(tái)上捕獲系統(tǒng)消息的方法,其特征在于,包括:獲取當(dāng)前所需執(zhí)行的api的指針指向的方法體,其中,所述指針指向的方法體包括如下邏輯:調(diào)用所述api自身和記錄當(dāng)前所需執(zhí)行的api的發(fā)生狀態(tài);執(zhí)行獲取到的所述當(dāng)前所需執(zhí)行的api的指針指向的方法體。

    【技術(shù)特征摘要】
    1.一種IOS平臺(tái)上捕獲系統(tǒng)消息的方法,其特征在于,包括 獲取當(dāng)前所需執(zhí)行的api的指針指向的方法體,其中,所述指針指向的方法體包括如下邏輯調(diào)用所述api自身和記錄當(dāng)前所需執(zhí)行的api的發(fā)生狀態(tài); 執(zhí)行獲取到的所述當(dāng)前所需執(zhí)行的api的指針指向的方法體。2.根據(jù)權(quán)利要求I所述的方法,其特征在于,在獲取當(dāng)前所需執(zhí)行的api的指針指向的方法體之前,所述方法包括 為所述api所在的類創(chuàng)建分類; 在創(chuàng)建的所述分類中創(chuàng)建自定義方法,其中,所述自定義方法包含如下邏輯遞歸調(diào)用自身和記錄系統(tǒng)消息發(fā)生狀態(tài); 將所述自定義方法的方法體和所述api中的方法體進(jìn)行交換。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在為所述api所在的類創(chuàng)建分類之前,所述方法還包括確定所述api的名稱和該api所在的類。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,確定所述api的名稱和該api所在的類的步驟包括 在IOS系統(tǒng)的api文檔中查找到所述api所對應(yīng)的信息; 根據(jù)查找到的所述api所對應(yīng)的信息確定所述api的名稱和該api所在的類。5.根據(jù)權(quán)利要求2至4中任一項(xiàng)所述的方法,其特征在于,將所述自定義方法的方法體和所述api的方法體進(jìn)行交換包括 確定用于指向所述自定義方法的方法體的第一指針; 確定用于指向所述api的方法體的第二指針; 將確定的所述第一指針和確定的所述第二指針交換。6.一種IOS平臺(tái)上捕獲系統(tǒng)消息的裝置,其特征在于,包括 獲取單元,用于獲取當(dāng)前所需執(zhí)行的api的指針指向的方法體,其中,所述指針指...

    【專利技術(shù)屬性】
    技術(shù)研發(fā)人員:王海
    申請(專利權(quán))人:北京國雙科技有限公司
    類型:發(fā)明
    國別省市:

    網(wǎng)友詢問留言 已有0條評論
    • 還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會(huì)獲得科技券。

    1
    主站蜘蛛池模板: 无码人妻AⅤ一区二区三区水密桃| 日韩人妻无码一区二区三区99| 亚洲AV日韩AV无码污污网站| 丰满亚洲大尺度无码无码专线 | 国产成人无码区免费A∨视频网站| 日韩精品无码区免费专区| 狠狠精品久久久无码中文字幕| 无码人妻精品一区二区三区东京热| 亚洲Av永久无码精品黑人| 在线观看免费无码视频| 亚洲精品无码专区久久| 国产精品亚洲аv无码播放| 亚洲人成人无码.www石榴| 中文字幕久久精品无码| 精品一区二区三区无码视频| 亚洲av专区无码观看精品天堂| 爽到高潮无码视频在线观看| 92午夜少妇极品福利无码电影| 亚洲中文字幕久久精品无码APP| 精品人妻系列无码人妻漫画| 无码人妻精品一区二区蜜桃网站| 中文字幕无码一区二区免费| 无码精品人妻一区| 老司机无码精品A| 亚洲AV成人无码久久WWW| 午夜亚洲AV日韩AV无码大全| 国产AV无码专区亚洲A∨毛片| 内射无码午夜多人| 免费无遮挡无码永久在线观看视频| 老司机亚洲精品影院无码| 日韩精品无码专区免费播放| 亚洲国产精品成人精品无码区 | 无码国内精品久久人妻蜜桃| 日韩人妻无码一区二区三区 | 亚洲Av永久无码精品黑人 | 日韩精品无码人成视频手机| 国产AV无码专区亚洲AV琪琪| 国产精品爽爽V在线观看无码| 狠狠爱无码一区二区三区| 夜夜精品无码一区二区三区| 国产丝袜无码一区二区视频|