Releases: lszzy/FWFramework
Releases · lszzy/FWFramework
[6.0.5] - 2025-02-12
Fixed
- Fixed the issue that the dimmingColor of the ViewTransition component does not occupy the full space when switching to horizontal screen
- Added the appendURL method in Router to splice query parameters
Fixed
- 修复ViewTransition组件dimmingColor切换横屏时未占满问题
- Router新增appendURL方法拼接query参数
[6.0.4] - 2024-11-15
Changed
- ViewStyle supports extending custom styles based on view types and removes the default style
Changed
- ViewStyle支持根据视图类型扩展自定义样式,移除自带default样式
[6.0.3] - 2024-10-30
Changed
- Compatible with Xcode 16.1
- Split uncommonly used Views and Services into FWPlugin/Module submodules, which can be imported as needed
- Remove the network request plugin mockEnabled, please use the NetworkMocker.register(for:) method
Changed
- 兼容Xcode 16.1
- 拆分不常用View和Service到FWPlugin/Module子模块,可按需引入
- 移除网络请求插件mockEnabled,请使用NetworkMocker.register(for:)方法
[6.0.2] - 2024-10-18
Added
- Added GuideView guide view component
- PopupMenu supports custom view customView
- Optimize the method of quickly creating tableView and collectionView
- Added UISearchController test case
Added
- 新增GuideView引导视图组件
- PopupMenu支持自定义视图customView
- 优化快速创建tableView和collectionView方法
- 新增UISearchController测试用例
[6.0.1] - 2024-10-17
Changed
- Compatible with the latest version of Alamofire 5.10.0
- Added UIImage long edge scaling tool method
- Moved VersionManager to Service submodule
- Opened WebViewJSBridge.WeakProxy for extension
Changed
- 兼容Alamofire 5.10.0最新版
- 新增UIImage长边缩放工具方法
- 移动VersionManager到Service子模块
- 开放WebViewJSBridge.WeakProxy用于扩展
[6.0.0] - 2024-10-09
Added
- Compatible with Swift 6, code marks MainActor, Sendable, nonisolated, etc., easy to write safer code
- Compatible with iOS 18, ViewIntrospect adds iOS 18 related variables
- Refactor the proportional scaling implementation scheme, and related methods support non-main thread calls
- Add SendableValue object to solve the problem of passing parameters of any object Sendable
- Add observe method related to Message starting with safe, used for main thread calling listener handle
- Add ProtectedValue, LockingProtocol and other thread safety tool classes
- Add MainActor.runDeinit method to uniformly handle deinit calling main thread code problems
- Router, JSBridge component related methods mark MainActor main thread calls, need to migrate and adapt
- Remove the methods marked as deprecated in version 5.x, please use the new API to replace the implementation, need to migrate and adapt
- Refactor the height acquisition methods of the global status bar, navigation bar, tab bar, etc., and give priority to dynamic acquisition and caching
Migrate
- To adapt to Swift 6, you need to fix the compilation errors of related codes after marking MainActor, Sendable, and nonisolated, and you need to migrate and adapt
- To adapt to iOS 18, if you use the ViewIntrospect component, you need to adapt to v18 related variables, and you need to migrate and adapt
- To adapt to Plugin, you need to synchronously mark MainActor, Sendable, etc. when implementing custom Plugins, and you need to migrate and adapt
- If the main thread needs to call the Message-related observe listener handle, please migrate to the corresponding method starting with safe
- If you need to handle the problem of deinit calling the main thread code, please migrate to use the MainActor.runDeinit method
- If the main project opens Swift 6 compilation, HTTPRequest request subclasses, etc. need to be synchronously marked as
@unchecked Sendable
- The obsolete methods of version 5.x have been removed. Please use the new Api to replace the implementation (such as chain=>layoutChain, etc.), and you need to migrate and adapt
- After fixing the compilation error, you need to test whether the related functions are normal (such as the height of the status bar, navigation bar, MainActor related functions, etc.)
- For more usage examples, please refer to the Example project
Added
- 兼容Swift 6,代码标记MainActor、Sendable、nonisolated等,轻松编写更安全的代码
- 兼容iOS 18,ViewIntrospect新增iOS 18相关变量
- 重构等比例缩放实现方案,相关方法支持非主线程调用
- 新增SendableValue对象,用于解决任意对象Sendable传参问题
- 新增safe开头Message相关observe方法,用于主线程调用监听句柄
- 新增ProtectedValue、LockingProtocol等处理线程安全工具类
- 新增MainActor.runDeinit方法统一处理deinit调用主线程代码问题
- Router、JSBridge组件相关方法标记MainActor主线程调用,需迁移适配
- 移除5.x版本标记为废弃的方法,请使用新API替换实现,需迁移适配
- 重构全局状态栏、导航栏、标签栏等高度获取方法,优先动态获取并缓存
Migrate
- 适配Swift 6,需修复标记MainActor、Sendable、nonisolated后相关代码编译错误,需迁移适配
- 适配iOS 18,如使用ViewIntrospect组件需适配v18相关变量,需迁移适配
- 适配Plugin,自定义Plugin实现时需同步标记MainActor、Sendable等,需迁移适配
- 如需主线程调用Message相关observe监听句柄,请迁移使用safe开头对应方法
- 如需处理deinit调用主线程代码问题,请迁移使用MainActor.runDeinit方法
- 主项目如开启Swift 6编译,HTTPRequest请求子类等需同步标记为
@unchecked Sendable
- 5.x版本废弃方法已移除,请使用新Api替换实现(如chain=>layoutChain等),需迁移适配
- 修复编译错误后,需同步测试相关功能是否正常(如状态栏、导航栏等高度、MainActor相关功能等)
- 更多使用示例,请参考Example项目
[5.12.2] - 2024-09-27
Changed
- Compatible with Swift 5.8 and SwiftPackageIndex
Changed
- 兼容Swift 5.8,兼容SwiftPackageIndex
[5.12.1] - 2024-09-27
Fixed
- Mark WeakObject as deprecated, please migrate to WeakValue
- Added isIpod and pointHalf tool methods
- Fixed the issue that performBlock method does not use queue parameter
- Fixed the judgment method of isMac in iOS13 system
Fixed
- 标记WeakObject为废弃,请迁移至WeakValue
- 新增isIpod和pointHalf工具方法
- 修复performBlock方法未使用queue参数问题
- 修复iOS13系统isMac的判断方法
[5.12.0] - 2024-09-23
Added
- Adaptive全局静态栏高度兼容iPhone15、iPhone16等系列机型
- DispatchQueue新增runSyncIf相关方法
- AssetManager预览图方法新增size参数,默认nil获取屏幕大小
- 标记UIDevice.isLandscape为废弃,请迁移至UIScreen.isInterfaceLandscape
- Runtime新增安全获取value和setValue方法
- Mediator和Plugin支持默认查找当前模块去掉Protocol实现类
- WebView新增injectWindowClose属性拦截window.close事件
Added
- Adaptive global static bar is highly compatible with iPhone15, iPhone16 and other series models
- DispatchQueue adds runSyncIf related methods
- AssetManager preview method adds size parameter, default nil to get screen size
- Mark UIDevice.isLandscape as obsolete, please migrate to UIScreen.isInterfaceLandscape
- Runtime adds safe access value and setValue methods
- Mediator and Plugin support default search for current module to remove Protocol implementation class
- WebView adds injectWindowClose property to intercept window.close event
[5.11.2] - 2024-09-12
Changed
- BarStyle hidden judgment compatible view isHidden
- Optimize the calculation method of tabBarHeight when hidesBottomBarWhenPushed is turned on and the controller transitions
- Add inAncestorView parameter to the view transition method
Changed
- BarStyle隐藏判断兼容视图isHidden
- 优化hidesBottomBarWhenPushed开启且控制器转场时tabBarHeight的计算方式
- 视图转场方法新增inAncestorView参数