使用Xcode在真机上调试第三方app(不越狱)

·  阅读 2112

调试流程:

  1. 使用Xcode新建一个工程名字和app的应用同名例如:
    一个快车的应用名字是ZYCreditApp.app,那新建的工程名字就是ZYCreditApp

应用名字
2. 编译运行这个新建项目,同时通过脚本将ZYCreditApp.app拷贝到product生成的.app
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"
复制代码

应用位置
首先需要将目标app拷贝到工程同一目录
接着就是要在target的Build Phases 左边的加号➕ 增加脚本选择New Run Scrip Phase
将上述的脚本粘贴到对应的Run Script

如果想要在同一个工程中调试多个项目,可以新建target:
target
同样的,也要将目标app拷贝到工程根目录,然后运行项目
可以通过查看Products,是否替换成功:编译之后鼠标右键点击Show in Finder

procuts

show in finder

接着就是运行项目进行调试。可以查看UI元素,打印对象,查看崩溃日志……
参考文章[iOS Hacker] 不越狱使用 Xcode 调试第三方应用

分类:
iOS
标签:
分类:
iOS
标签:
收藏成功!
已添加到「」, 点击更改