DarwinKit 0.5.0 Released with Major Updates

After one year of preview, MacDriver 0.5.0 was finally released, and from this version onwards, the project was renamed DarwinKit.

 DarwinKit 0.5.0 Released with Major Updates_0

The main changes in this version are as follows:

  • Added bindings for 33 frameworks
  • There are currently more than 2,300 classes, almost completely covering all situations in mac development applications. In contrast, version 0.4.0 only covered about 80 classes
  • Currently implemented 23,800 methods / properties and nearly 10,000 constants / enumerations. Previously, there were less than 50 constants
  • Since the preview version was released, 543 structs have been implemented
  • Automatic conversion and the use of native Go built-in types, such as strings, bools, []byte and maps etc. were implemented in the API
  • Support block parameters as Go functions (callbacks) with the correct type parameters
  • Built-in delegate implementation, developers can simply use Go functions
  • More 1-to-1 mapping with Objective-C symbol names, while improving the adaptation of Go usage habits
  • Improved all symbols documentation, including the link to the official Apple documentation of this symbols
  • Use Objective-C memory management simple model
  • Prepare to support more platforms, such as iOS, tvOS, watchOS and visionOS
  • Continue to support Intel and Apple Silicon
  • Almost generated all bindings

In addition, v0.5.0-preview had a regression problem since the release of a newer version of Go, which is related to linker warnings, this is an upstream problem in cgo,the DarwinKit team said hoping that this problem can be solved in the upcoming Go version. At the same time, they saidfuture version releases will not have such a long preview period of half a year.

< span>It is worth expecting that the team has also verified that purego can be used instead of cgo to improve the build speed, and will be applied in the next version's key function binding aspect.

Details can be viewed in the release information:

Likes