App Plugin Project Template For iOS App And Mac App. Make it easy to hook app.
Objective-C Ruby
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
App Plugin
Example/TestPlugin
.gitignore
README.md

README.md

XcodeAppPluginTemplate


App Plugin Project Template For iOS App and Mac App.

说明:我将过去文章中涉及到的工程整理出工程模版,方便对第三方app进行hook.
文章链接:我是如何利用Xcode调试开发微信消息预览插件的

前提

insert_dylib

如何安装

  • App Plugin 文件夹拷贝到 ~/Library/Developer/Xcode/Templates/Project Templates.

如何卸载

  • 删除文件夹:~/Library/Developer/Xcode/Templates/Project Templates/App Plugin.

如何使用

  • 在Xcode中选择新建工程,选择iOS中的App Plugin或者macOS中的Mac App Plugin工程模版.

  • 填写工程选项.(Target app name 是要hook的第三方app名称,Target app bundle id打包后的app bundle id, 脚本会自动修改原app bundle id为此值)

  • 最后,将要hook的app放在工程文件夹中,注意这里的文件名要与上一步中的Target app name一致,并执行命令pod install.

原理

使用模版创建工程后,会有一个动态库target和空app target. 选择app scheme进行build,Xcode首先会build 动态库,然后执行脚本,将动态库注入app中,生成新的app,放在product目录。接着Xcode会进行签名等一系列操作,启动app,连接调试器,这样,我们就可以debug插件和原app了。

  • 注入动态库
  • Xcode Build流程
  • 效果图