1. 创建Dylib注入项目,在.xcodeproj同级目录创建APP文件,放入微信ipa包,Build Phase添加Run Script,将脚本路径拖入Run Script.

2. 创建一个dylib库


3. 选择scheme 为动态库,运行编译


4. Build Phases 添加Copy Files




5. 选择scheme 重新改回去,运行报错


解决方法1:将库拷贝进工程app同级目录



解决方法2:修改查找的设置路径(Debug和Release都改成工程app路径目录Debug-iphoneos )





6. 此时库还没有注入Macho文件,需要写脚本注入在XcodeApp.sh加入注入脚本
# ---------------------------------------------------
# 7. 注入我们编写的动态库
echo "开始注入"
# 需要注入的动态库的路径 这个路径我就写死了!
INJECT_FRAMEWORK_RELATIVE_PATH="Frameworks/libLurongHook.dylib"
#
## 通过工具实现注入
yololib "$TARGET_APP_PATH/$APP_BINARY" "$INJECT_FRAMEWORK_RELATIVE_PATH"
echo "注入完成"

Command+B 然后 Command+9看打印信息:

用MachoView打开app里面的Macho文件Wechat,找到load Commands下方就可以看见库导进去了:


Command+B 运行报架构错误:

查看库的架构
file+库名字及后缀
:
7. 前面的都是错误演示,我们现在重新从创建dylib库开始
1.首先将库删除:



2.重新创建同名的库进行前面第1步设置脚本和第4步的操作,然后设置Base SDK:


3.设置Code Sign Identity为iPhone Developer:

4.编译库,看app同级目录,已经自动导入了创建的库

5.运行项目
网友评论