PatchHub 基于 MangoFix 引擎,为 iOS 开发者提供一站式热修复解决方案。
无需 App Store 审核,无需用户更新,分钟级修复线上 Bug。
完全免费,零成本接入全部功能
从应用创建到补丁下发,覆盖热修复全生命周期
免费使用,畅享全部功能
可视化数据总览,一站式展示应用、补丁、设备、日活等核心指标,支持趋势图和分布图分析。
一键创建和管理多个 iOS 应用,支持 Bundle ID 配置、独立 RSA/AES 密钥管理,批量导出应用数据。
支持开发/生产双模式发布,AES+RSA 双重加密,一键撤回或重新发布,实时查看补丁激活状态和下发量。
近 7 日滚动窗口实时展示各应用日活用户数,直观掌握应用健康度和用户活跃趋势。
全量记录用户操作路径和页面详情,支持 IP 归属地追踪,按时间/应用筛选,精准定位问题场景。
从 CocoaPods 接入到补丁开发发布,完整文档 + 常用 OC 代码片段 + 转换工具,开箱即用。
从零到发布补丁,只需几分钟
在 Podfile 中添加 MangoFixUtil 依赖,运行 pod install 完成 SDK 集成。在 PatchHub 平台创建应用,获取 AppId。
target 'YourApp' do
pod 'MangoFixUtil', '~> 2.1.7'
end
在 AppDelegate 或合适时机调用初始化方法,传入在平台创建的 AppId 即可完成初始化。
// 获取单例对象
MangoFixUtil *util = [MangoFixUtil sharedUtil];
// 使用 AppId 初始化 SDK
[util startWithAppId:@"您的AppId"];
使用 Objective-C 编写修复代码,生成 .mg 格式补丁文件,本地验证通过后上传至平台。
// 示例:修复某页面标题显示错误
@implementation YourViewController (Fix)
- (void)viewDidLoad {
[self viewDidLoad];
self.title = @"正确的标题";
}
@end
登录 PatchHub 控制台,选择目标应用和版本,上传补丁文件,选择加密方式和发布规则,一键发布即可生效。
热修复开发常用的 OC 代码片段,复制即用
// 创建可变数组
NSMutableArray *array = [NSMutableArray array];
[array addObject:@"热修复"];
// 不可变数组
NSArray *arr = @[@"正确", @"高效", @"安全"];
NSString *first = arr[0]; // 取第一个元素
// 创建字典
NSDictionary *dict = @{
@"name": @"PatchHub",
@"version": @"2.1.7"
};
// 取值
NSString *name = dict[@"name"];
// 可变字典
NSMutableDictionary *mDict = [NSMutableDictionary dictionary];
[mDict setObject:@"iOS" forKey:@"platform"];
// 延迟 0.3 秒执行
dispatch_after(
dispatch_time(DISPATCH_TIME_NOW, 0.3 * NSEC_PER_SEC),
dispatch_get_main_queue(),
^{
// 在这里执行需要延迟的代码
[self refreshUI];
}
);
// Masonry 约束布局
UIEdgeInsets padding = UIEdgeInsetsMake(10, 10, 10, 10);
[view mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.view).with.offset(padding.top);
make.left.equalTo(self.view).with.offset(padding.left);
make.right.equalTo(self.view).with.offset(-padding.right);
make.height.mas_equalTo(44);
}];
// 数字格式化输出
double price = 99.956;
NSString *priceStr = [NSString stringWithFormat:@"%.02f", price];
// 输出: "99.96"
// 字符串拼接
NSString *fullName = [NSString stringWithFormat:@"%@-%@",
firstName, lastName];
// 在控制器中埋点记录页面访问
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
// 记录当前页面访问日志
[[MangoFixUtil sharedUtil]
recordUserLogWithObject:self
msg:@"用户进入首页"];
}
如有任何问题,欢迎通过以下方式联系我们
查看源码、提交 Issue、参与贡献
技术支持与合作咨询
登录平台管理应用和补丁