簡單翻譯一下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中看到專案了,親測成功。