调试流程:
- 使用Xcode新建一个工程名字和app的应用同名例如:
一个快车的应用名字是ZYCreditApp.app,那新建的工程名字就是ZYCreditApp
3. 对ZYCreditApp.app进行签名
4. 最后成功的将ZYCreditApp.app运行到指定的真机上,这时可以对应用进行页面调试和对象的lldb打印查看……
具体操作,AloneMoney的脚本
TARGET_APP_PATH="${SRCROOT}/ZYCreditApp.app" #需要拷贝的目标应用
BUILD_APP_PATH="$BUILT_PRODUCTS_DIR/$TARGET_NAME.app" #build生成的应用
#签名所有framework和动态库
function codesign(){
for file in `ls $1`;
do
extension="${file#*.}"
if [[ -d "$1/$file" ]]; then
if [[ "$extension" == "framework" ]]; then
/usr/bin/codesign --force --sign "$EXPANDED_CODE_SIGN_IDENTITY" "$1/$file"
else
codesign "$1/$file"
fi
elif [[ -f "$1/$file" ]]; then
if [[ "$extension" == "dylib" ]]; then
/usr/bin/codesign --force --sign "$EXPANDED_CODE_SIGN_IDENTITY" "$1/$file"
fi
fi
done
}
#删除原目录
rm -rf "$BUILD_APP_PATH" || true
mkdir -p "$BUILD_APP_PATH" || true
#拷贝目标应用替换build生成的应用
cp -rf "$TARGET_APP_PATH/" "$BUILD_APP_PATH/"
#删除PlugIns和Watch
rm -rf "$BUILD_APP_PATH/PlugIns" || true
rm -rf "$BUILD_APP_PATH/Watch" || true
codesign "$BUILD_APP_PATH"
复制代码
接着就是要在target的Build Phases 左边的加号➕ 增加脚本选择New Run Scrip Phase
将上述的脚本粘贴到对应的Run Script
可以通过查看Products,是否替换成功:编译之后鼠标右键点击Show in Finder
接着就是运行项目进行调试。可以查看UI元素,打印对象,查看崩溃日志……
参考文章[iOS Hacker] 不越狱使用 Xcode 调试第三方应用