iOS 測試工具reveal視覺化除錯工具的使用

碼鋒窩發表於2017-03-21

簡單翻譯一下reveal視覺化圖形工具插入專案的官方文件(官方英文版file:///Applications/Reveal.app/Contents/SharedSupport/Documentation/Load%20Reveal%20Without%20Changing%20Your%20Xcode%20Project.html)

官方有好幾種方法,這裡主要推薦兩種方法。

一.打斷點(此方法只對模擬器有效果,真機請看方法二)

01-開啟專案之後,來到打斷點介面。Add Symbolic Breakpoint.

02-edit-Breakpoint中輸入一下資訊

UIApplicationMain

Add Action button----》Debugger Command

expr (Class)NSClassFromString(@"IBARevealLoader") == nil ? (void *)dlopen("/Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/RevealServer.framework/RevealServer", 0x2) : ((void*)0)

03-在斷點右擊---》選User

04-執行專案,在模擬器的專案就可以在Reveal中看到了。此斷點在一個專案完成設定之後,在另一個專案也可以生效,並不需要每個專案都設定一次。

二.匯入frame法(真機和模擬器都有效)

本方法只對進行過設定的專案才有效,有就是說每個專案需要設定一次,因為是在真機執行,而且模擬器執行的也是每個專案需設定一次。

(官方說明:file:///Applications/Reveal.app/Contents/SharedSupport/Documentation/Integrating%20Reveal%20Linking.html)

01-啟動Reveal並開啟library目錄

02-將RevealServer.framework複製到專案的根目錄,特別提醒:在拖到這個檔案的時候記得按著option鍵拖到,不然只是一個引用,編譯的時候會出錯,開啟專案。

 

03-選中專案target --- 》Build Settings----》搜尋Framework Search Paths---》將$(inherited) $(SRCROOT)填進去

04-Build Settings---->Other Linker Flags--->填入-ObjC -weak_framework RevealServer

05-Build Settings---->Runpath Search Paths--->填入$(inherited) @executable_path/Frameworks,我的專案本身就填有這個,略過了。

06-Build Phases --》點選+新增Run Script phase

複製下面的內容到描述裡

 export REVEAL_SERVER_FILENAME="RevealServer.framework"

 # Update this path to point to the location of RevealServer.framework in your project.
 export REVEAL_SERVER_PATH="${SRCROOT}/${REVEAL_SERVER_FILENAME}"

 # If configuration is not Debug, skip this script.
 [ "${CONFIGURATION}" != "Debug" ] && exit 0

 # If RevealServer.framework exists at the specified path, run code signing script.
 if [ -d "${REVEAL_SERVER_PATH}" ]; then
   "${REVEAL_SERVER_PATH}/Scripts/copy_and_codesign_revealserver.sh"
 else
   echo "Cannot find RevealServer.framework, so Reveal Server will not be started for your app."
 fi

07-開啟專案,執行,就可以在reveal中看到專案了,親測成功。

 


 

相關文章