美文网首页
iOS App 通过注入动态库的方式实现极速编译调试

iOS App 通过注入动态库的方式实现极速编译调试

作者: Kdq | 来源:发表于2022-01-14 16:36 被阅读0次

    Injection

    支持OC、Swift以及Swift和OC混编项目的UI热重载工具,采取在模拟器(真机不支持)注入方式实现UI热重载,修改完UI直接com+s,不用重新编译运行就能看到UI效果

    安装

    1、github下载最新release版本,或者AppStore下载安装即可,推荐github下载安装,github更新比AppStore更新快。如果你的项目使用混编OC时,强烈建议使用github的releases版本

    2、安装后,打开InjectionIII,选择Open Project,选择你的项目目录

    image

    3、选择的项目会在Open Recent中展示,同时保持File Watcher的选项勾选。

    项目配置

    bundleWithPath 是InjectionIII APP所在的路径,找到InjectionIII 右键 '显示简介'->位置->右键->拷贝为路径名称

    image

    1、在方法里配置注入

    • (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

    if DEBUG

    //iOS
    [[NSBundle bundleWithPath:@"/Applications/InjectionIII.app/Contents/Resources/iOSInjection.bundle"] load];
    //同时还支持tvOS和MacOS,配置时只需要在/Applications/InjectionIII.app/Contents/Resources/目录下找到对应的bundle文件,替换路径即可
    #endif
    2、此时启动项目,在控制台可以看到,表示注入成功了
    如果有多个项目都在使用Injection,需要查看Injection链接路径是否正确,如果不正确,打开Injection菜单-OPen Recent-选择你需要注入的项目即可。
    💉 InjectionIII connected /Users/looha/Desktop/Project_lh/BVGenius/BVGenius.xcworkspace
    💉 Watching files under /Users/looha/Desktop/Project_lh/BVGenius
    3、注入页面文件配置
    在需要热重载的页面VC中,实现injected方法,把操作UI方法添加到injected中即可
    比如UI操作都在vc的viewDidLoad中,那么就在injected添加viewDidLoad方法即可
    如果项目都想使用,直接添加到baseVC即可
    在baseVC里添加方法 injected ,方法里是要监听的方法
    - (void)injected {
    [self viewDidLoad];}
    4、在UI阶段,修改外UI,直接com+s就能看到效果,部分页面可能需要重新进入该页面才能看到效果。</pre>

    更多详细配置可参见

    </article>

    相关文章

      网友评论

          本文标题:iOS App 通过注入动态库的方式实现极速编译调试

          本文链接:https://www.haomeiwen.com/subject/njnacrtx.html