Skip to content

Releases: lszzy/FWFramework

[6.0.5] - 2025-02-12

12 Feb 06:32
Compare
Choose a tag to compare

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

16 Nov 05:06
Compare
Choose a tag to compare

Changed

  • ViewStyle supports extending custom styles based on view types and removes the default style

Changed

  • ViewStyle支持根据视图类型扩展自定义样式,移除自带default样式

[6.0.3] - 2024-10-30

30 Oct 08:34
Compare
Choose a tag to compare

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

18 Oct 14:06
Compare
Choose a tag to compare

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

17 Oct 04:56
Compare
Choose a tag to compare

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

09 Oct 03:19
Compare
Choose a tag to compare

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

  1. 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
  2. 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
  3. To adapt to Plugin, you need to synchronously mark MainActor, Sendable, etc. when implementing custom Plugins, and you need to migrate and adapt
  4. If the main thread needs to call the Message-related observe listener handle, please migrate to the corresponding method starting with safe
  5. If you need to handle the problem of deinit calling the main thread code, please migrate to use the MainActor.runDeinit method
  6. If the main project opens Swift 6 compilation, HTTPRequest request subclasses, etc. need to be synchronously marked as @unchecked Sendable
  7. 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
  8. 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.)
  9. 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

  1. 适配Swift 6,需修复标记MainActor、Sendable、nonisolated后相关代码编译错误,需迁移适配
  2. 适配iOS 18,如使用ViewIntrospect组件需适配v18相关变量,需迁移适配
  3. 适配Plugin,自定义Plugin实现时需同步标记MainActor、Sendable等,需迁移适配
  4. 如需主线程调用Message相关observe监听句柄,请迁移使用safe开头对应方法
  5. 如需处理deinit调用主线程代码问题,请迁移使用MainActor.runDeinit方法
  6. 主项目如开启Swift 6编译,HTTPRequest请求子类等需同步标记为@unchecked Sendable
  7. 5.x版本废弃方法已移除,请使用新Api替换实现(如chain=>layoutChain等),需迁移适配
  8. 修复编译错误后,需同步测试相关功能是否正常(如状态栏、导航栏等高度、MainActor相关功能等)
  9. 更多使用示例,请参考Example项目

[5.12.2] - 2024-09-27

27 Sep 15:19
Compare
Choose a tag to compare

Changed

  • Compatible with Swift 5.8 and SwiftPackageIndex

Changed

  • 兼容Swift 5.8,兼容SwiftPackageIndex

[5.12.1] - 2024-09-27

27 Sep 09:06
Compare
Choose a tag to compare

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

23 Sep 05:49
Compare
Choose a tag to compare

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

12 Sep 08:38
Compare
Choose a tag to compare

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参数