Releases
5.0
BB9z
released this
25 Jan 13:33
更新重点
Xcode 12、iOS 14 适配;
脚本系统完善;
许多代码转写为 swift;
一些过时清理。
其他细节
Account,逻辑完善;
API,本地化错误信息,错误处理完善,解析器用 Swift 重写,行为优化,RFAPI 升级;
Array+App,views hidden 支持动画;
AssociatedObject.swift 新增,OC associated object 辅助工具;
B9MulticastDelegate 源从 master 改为 1.0;
CalloutView 新增,带箭头的面板 view;
Codable 扩展新增;
DBManager,GRDB.swift 管理器;
Geometry 更名 Geometry+App,统一命名格式;
Git Ignore,新增 playground 规则,移除 InjectionForXcode 规则;
GitHub Actions,修正 xcodebuild 出错 workflows 仍然成功;
GitLab CI,新增 dSYMs 打包下载,修正 p12 导入问题,缓存 Carthage 编译结果,CocoaPods 处理完善,firim 上传把本次提交信息作为 changelog,其他小修正;
HasItem 协议新增,item 传值方案的 Swift 实现;
IdentifierEquatable 新增,用于生成 uid 相同;
Logger 模块新增,使用官方 swift-logger;
MBApp 用 Swift 重写;
MBButton、MBControlGroup、MBTextField 中通过 IBInspectable 设置 UIEdgeInsets 的辅助属性全部重命名;
MBCodeSendButton, 请求成功自动转移焦点;
MBCollectionView,增加数据源状态变化回调,刷新时滚动区域调整支持自定义,使用 supplementary view 激活时防误用,不设置 delegate 为自身;修正底部刷新 view 没有按预期更新,修正 iOS 14 可能死循环;
MBCollectionViewColumnLayout,实现优化,增加仅调整宽度模式;
MBCollectionViewDataSource,支持分组数据,支持 supplementary view 定制;
MBCollectionViewHeaderFooterView,尺寸计算考虑 safe area;
MBControlGroup,解决 Mac Catalyst 上焦点问题;
MBDatePickerViewController,界面用 Storyboard 管理,适配 iOS 14 新样式;
MBDebug, 对 FLEX 引入进行包装以简化使用,用 segue 跳转菜单页避免跳转的硬编码;
MBDebugLiveCountChecker, 新增,内存泄漏辅助工具;
MBEnvironment,标志定义升级为 Swift 友好的方式,修正一些状态的设置,增加网络状态标志;
MBGeneralSelection, UITextField+App、MBRootWrapperViewController 移动到基础库;
MBHightlightTintImageView 新增,主题色根据高亮状态变化的 image view;
MBImageView,加载重构,移除根据 view 大小加载不同尺寸图片,增加加载优先级控制;
MBIndefiniteRotationImageView,动画启停属性更名,支持用系统方法控制,增加方向控制;
MBKeyboardFloatContainer, 警告消除;
MBListDataSource,支持分组数据,修正取消后请求卡住,重用部分状态未重置;
MBMaskHiddenView,增加方向支持;
MBModalPresentSegue, 协议更名、调整为 MBModalPresentDestination;
MBModalPresentViewController 修正 prepareForSegue 没有调用,增加退出回调、弹出误用提示;
MBSwift, 新增 MBSwift.typeName() 替换旧的 className,新增包装类型允许 Swift 值在 objc 环境中传递;
MBTableListDisplayer,添加 nullability 声明;
MBTableViewDataSource,增加泛型声明,移除对象改用序号保证与 indexPath 相匹配;
MBValueMapPickerViewController 界面用 Storyboard 管理;
MBVauleLabel,nullable 声明;
Number+App,新增距离格式化方法;
Podfile 列出一些常用库,备注不支持 macCatalyst 库的解决方案;
RootViewController, 启动闪屏默认注掉以稳定 naigationLoaded 标记的设置时机;mac 上尺寸适配辅助;
SearchHighlight 新增,搜索高亮支持;
ShareManager 默认不导入;
String+App, 新增正则表达式匹配、号码打码方法,尽可能在 StringProtocol 上扩展;
Swift 标准库扩展整理,更泛型的扩展,集合相关方法移动到 Collections+App 中;新 remove(at indexes: IndexSet);
SwiftLint,关闭 unavailable_function、empty_count,忽略 playground 文件,更新命名忽略规则;
TagView 新增,自定义绘制,展示若干 tag;
TextField, 允许定制输入为空的提示语;
UIApplication+App 新增,打开应用设置方法;
UIDevice+App, 网络判断调整,警告消除,CDMA revA、HSDPA 划归低速网络;Wi-Fi 方法名调整;
UIKit+App.h, 移除过时声明,引用全部改为可选;
UIKit+IBInspectable, 整理,统一文件名;
UIView 圆角裁切转用 Swift 实现,避免误用;
UIViewController+App 新增 swift 版本,两个弹窗方法;
UIViewController+App,newFromStoryboard 错误处理调整,不处于导航中的 vc 使用 RFPresentViewController 方法时提示误用;
UIViewController+NavigationAppearance,增加透明导航开关;
UIViewController+RFInterfaceOrientation,修正基于 vc 的屏幕旋转控制在 iOS 13 上失效;
一些文档增补、修正;
一些组件头文件调整;
几处断言失败调整为 log 提醒;
增加 SwiftUI preview 系统,支持 UIKit 预览,还包括 preview 专用的项目配置;
多个扩展合入、转为 swift 版本;
导航 tab 重构,文件拆分、更好的接口;
所有 ZY 组件重命名为 MB:UIImage+ZYImageSet,ZYLayoutButton,ZYSMSCodeSendButton,ZYImageView,ZYSkyImageView;
服务器日期格式统一进一个文件,时间戳代码放在一起并默认注释掉;
素材管理,颜色不使用命名空间,图片格式转为 PDF,导航返回应该按模版渲染;
脚本,新增拉取 demo 仓库,其他便捷脚本完善;
脚本,项目文件整理通过 git hook 执行;
脚本系统,构建数更新从编译后改为编译前运行,ProjectFileVerification 跳过示例检查,清理 Icon 加版本号、强制重写编译、提醒修改产品名,移除 Pod lock 检查;
设置 Development asset,包括 GPX 数据,playground 及供其导入项目文件的 framework;
项目配置,应用 Xcode 12 推荐配置,恢复 Metal 配置,DOUT 配置清理,C/C++ 配置删除用编译器默认的,默认包名改为 com.example.app,Mac Catalyst 与之统一;
项目需求提升到 Xcode 12;
默认加载 Injection3;
移除不常用或过时组件:
ImageEntity,小众需求、移除;
MBCollapsibleView,被 stack view 取代移除;
MBMultiLineLabel,iOS 11+ 不再需要,移除;
MBObjectiveC,因不常用移除;
MBSkyHeaderView,因不常用移除;
MBVerifyTextField,因不常用移除;
NSObject+MBSwift,被 Swift 实现取代;
NSRegularExpression+App,被 String 扩展取代;
NSURL+App,URLByResolvingApplicationDirectoryChange 方法;
ReferenceSizing,因需求小众移除;
UILabel+App,小众需求,移除;
UIView+App,因不常用移除。
You can’t perform that action at this time.