{"id":26938762,"url":"https://github.com/yangyangfeng/ttpatch","last_synced_at":"2025-04-09T15:01:59.291Z","repository":{"id":49023494,"uuid":"187775271","full_name":"yangyangFeng/TTPatch","owner":"yangyangFeng","description":"热修复、热更新、JS代码动态下发、动态创建类","archived":false,"fork":false,"pushed_at":"2023-03-08T06:38:49.000Z","size":12873,"stargazers_count":571,"open_issues_count":15,"forks_count":110,"subscribers_count":16,"default_branch":"libffi","last_synced_at":"2025-04-09T15:00:49.714Z","etag":null,"topics":["hotfix","ios","javascript","objective-c","runtime"],"latest_commit_sha":null,"homepage":null,"language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yangyangFeng.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2019-05-21T06:29:29.000Z","updated_at":"2025-04-08T03:43:06.000Z","dependencies_parsed_at":"2023-02-05T01:31:10.524Z","dependency_job_id":"9e8c610c-e600-4791-84dd-984bd465af13","html_url":"https://github.com/yangyangFeng/TTPatch","commit_stats":{"total_commits":177,"total_committers":3,"mean_commits":59.0,"dds":0.4689265536723164,"last_synced_commit":"f5d8d9bd40f2f337c8dcbb897758a7bfc124e039"},"previous_names":[],"tags_count":34,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yangyangFeng%2FTTPatch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yangyangFeng%2FTTPatch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yangyangFeng%2FTTPatch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yangyangFeng%2FTTPatch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yangyangFeng","download_url":"https://codeload.github.com/yangyangFeng/TTPatch/tar.gz/refs/heads/libffi","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248055277,"owners_count":21040156,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hotfix","ios","javascript","objective-c","runtime"],"created_at":"2025-04-02T14:13:58.559Z","updated_at":"2025-04-09T15:01:59.252Z","avatar_url":"https://github.com/yangyangFeng.png","language":"Objective-C","readme":"# TTPatch\n\n\n[![Cocoapods](https://img.shields.io/cocoapods/l/TTDFKit)](https://cocoapods.org/pods/TTDFKit)\n[![Cocoapods](https://img.shields.io/cocoapods/v/TTDFKit)](https://cocoapods.org/pods/TTDFKit)\n[![CocoaPods](https://img.shields.io/badge/platform-iOS8.0+-yellowgreen)](https://cocoapods.org/pods/TTDFKit)\n\n*热修复、热更新、JS代码动态下发、动态创建类*\n\n\u003e **1.0 master分支:** 通过消息转发实现\n\u003e \n\u003e **2.0 libffi分支:** 通过通过libffi动态生成函数实现\n\n**以上代码均已开源**\n\n---\n\u003e TTPatch升级为2.0,核心实现替换为libffi实现.同时将代码重构,修改敏感命名.TTPatch更新为TTDFKit\n\u003e\n\u003e 风险提示: 仅供技术交流使用,上架有风险!!!!\n\u003e\n\u003e **热更新交流群:978337686**\n\n[1. 使用文档](https://github.com/yangyangFeng/TTPatch/wiki/%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3)\n\n[2. 基础用法](https://github.com/yangyangFeng/TTPatch/wiki/%E5%9F%BA%E7%A1%80%E7%94%A8%E6%B3%95)\n\n[3. 在线工具](https://yangyangfeng.github.io/TTPatch_Convertor/.)\n\n[4. 常见问题](https://github.com/yangyangFeng/TTPatch/wiki/%E5%B8%B8%E8%A7%81%E9%97%AE%E9%A2%98)\n\n[5. 进阶用法](https://github.com/yangyangFeng/TTPatch/wiki/%E8%BF%9B%E9%98%B6%E7%94%A8%E6%B3%95)\n\n\n\n\n\n\n## 1. 功能列表 \n\n|功能特性|备注限制|\n|------|-------|\n|**支持手动设置系统Block签名**               | 如WKWebView一些系统级`block`缺失签名,无法动态调用|\n|**替换指定`ObjectC`方法实现**          | 实例/静态方法均可替换实现|\n|**动态创建方法供Native/Js调用**          | 需传入方法签名|\n|**支持`block`**                      |`ObjectC`传入`JS`,  `JS`传入`ObjectC`均已支持|\n|**支持添加属性**                     |为已存在的`class`添加属性|\n|**支持基础数据类型**                   |非id类型,如`int`,`bool`均已支持|\n|**支持下发纯`JS`页面**                    |纯`JS`代码映射原生代码,动态发布|\n|**实现协议**                        | 2020年04月01日新增|\n|**支持真机无线预览**                 | [详细说明](https://github.com/yangyangFeng/TTPatch/wiki/%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3#%E5%AE%9E%E9%99%85%E4%BD%BF%E7%94%A8-iii)|\n|**支持`Native`代码转成`JS`脚本**                        | [在线地址](https://yangyangfeng.github.io/TTPatch_Convertor/)|\n|**支持原生网络请求**                        |[使用示例](https://github.com/yangyangFeng/TTPatch/wiki/%E8%BF%9B%E9%98%B6%E7%94%A8%E6%B3%95#2-%E5%A6%82%E6%9E%9C%E5%86%99%E4%B8%80%E4%B8%AA%E7%BD%91%E7%BB%9C%E8%AF%B7%E6%B1%82) |\n|**支持自定义插件**                        |[使用示例](https://github.com/yangyangFeng/TTPatch/wiki/%E8%BF%9B%E9%98%B6%E7%94%A8%E6%B3%95#1-%E8%87%AA%E5%AE%9A%E4%B9%89%E6%8F%92%E4%BB%B6) |\n|**支持日志输出**                        |`debug/info/error` 方便错误排查,异常上报|\n\n\n## 2. 安装\n\n\n### CocoaPods `pod 2.1.2`\n\n1. 在 Podfile 中添加  `pod 'TTDFKit'`。\n2. 执行 `pod install` 或 `pod update`。\n3. 导入 \"TTDFKit.h\"\n\n\n\n\u003e 您的喜欢就是我更新的动力\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyangyangfeng%2Fttpatch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyangyangfeng%2Fttpatch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyangyangfeng%2Fttpatch/lists"}