{"repo":"progrium/darwinkit","free":true,"listed":false,"github":"https://github.com/progrium/darwinkit","clone":"git clone https://github.com/progrium/darwinkit.git","description":"Native Mac APIs for Go. Previously known as MacDriver","language":"Go","stars":5429,"topics":["golang","apple","macos","objective-c","cgo","apple-apis","libobjc","bridge","go","mac"],"license":"MIT","category":"dev-tools","readme_excerpt":"Native Apple APIs for Golang! [!IMPORTANT] July 11, 2024: MacDriver is now DarwinKit! You can also now get high-quality example starter apps when you support the project as a sponsor. ------ DarwinKit lets you work with supported Apple frameworks and build native applications using Go. With XCode and Go 1.18+ installed, you can write this program in a main.go file: Then in this directory run: This may take a moment the first time, but once the window pops up you just made a macOS program without using XCode or Objective-C. Run go build to get an executable. Although currently outside the scope of this project, if you wanted you could put this executable into an Application bundle. You could even add entitlements, then sign and notarize this bundle or executable to let others run it. It could theoretically even be put on the App Store. It could theoretically be put on an iOS, tvOS, or watchOS device, though you would have to use different platform specific frameworks. Caveats You still need to know or learn how Apple frameworks work, so you'll have to use Apple documentation and understand how to translate Objective-C example code to the equivalent Go with DarwinKit. Your programs link against the actual Apple frameworks using cgo, so XCode needs to be installed for the framework headers. You will be using two memory management systems. Framework objects are managed by Objective-C memory management, so be sure to read our docs on memory management with DarwinKit. Exceptions in","default_branch":null,"files":null,"tree":[],"storefront":"/r/progrium","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/progrium/darwinkit/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}