iOS 7中如何使用指令碼關閉VoIP APP進程

來源:互聯網
上載者:User

背景介紹

VoIP 類型的APP有個特性,就是需要一直在後台保持運行,以便能夠隨時接收來電。正因為系統提供給VoIP進程的這種特殊機制,導致我們沒法直接用kill命令完全查殺VoIP進程。關於這點更加詳細的資訊,可參考如下Apple developer網站的介紹:

“Because VoIP apps need to stay running in order to receive incoming calls, the system automatically relaunches the app if it exits with a nonzero exit code. (This type of exit could happen when there is memory pressure and your app is terminated as a result.) However, terminating the app also releases all of its sockets, including the one used to maintain the VoIP service connection. Therefore, when the app is launched, it always needs to create its sockets from scratch.”

在詳細介紹用指令碼查殺VoIP進程實踐之前,先花點篇幅說下我們為什麼需要查殺VoIP進程。

在IOS中,可以使用instruments這個工具來啟動被測應用,並執行UI Automation所編寫的自動化測試案例。二次啟動instruments時,因為進程已經被啟動過,會在控制台拋出如下錯誤:”Executable ‘XXX’ is already running as process XXXX which was launched from the ‘launchd’ process.” 為了避免這種錯誤,只能啟動一次instruments,跑完所有的自動化用例. 因為在命令列下啟動instruments,只能指定一個執行的JS檔案,所以只能把所有的自動化用例封裝到這唯一的JS檔案裡。這很難滿足實際的需求。現實中我們已自動化用例數目比較大,需要對自動化用例按用例優先順序進行分類處理,按照類型將自動化用例存在對應的JS檔案裡,所以需要啟動多次instruments來執行用例。因此,我們需要在啟動instruments前先查殺下已經存在的VoIP進程。

顯然我們不可能在自動化指令碼啟動並執行過程中,手動通過連按主畫面,向上滑動APP表徵圖來查殺VoIP進程。那接著就來看下我們的實踐過程吧。

應用的工具

我們結合了如下這些工具:

SimulateTouch: 提供座標方式點擊或者滑動螢幕的方法

Activator: 可以設定在任意位置按一下頂部狀態列啟用多工作列

KillBackgroud7:在多工作列提供按鈕,點擊該按鈕可以查殺所有後台進程

AutoTouch: 可以用來錄製動作存到指令碼裡,我們主要用這個工具來查看座標

這幾個工具在越獄的iPhone,都可以通過Cydia下載到。

實踐過程介紹

首先,我們在設定裡找到並點擊Activator, 然後選擇並點擊任意位置,選擇並點擊按一下頂部狀態列,選擇並點擊啟用工作列,這些步驟的目的是為了在任意位置點擊一下頂部狀態列開啟多工作列頁面。上面的步驟如以下截圖所示:

查看本欄目更多精彩內容:http://www.bianceng.cnhttp://www.bianceng.cn/OS/extra/

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.