GithubHelp home page GithubHelp logo

Comments (7)

iMacker2020 avatar iMacker2020 commented on May 17, 2024

I found out that the problem functions were defined in Mac OS 10.15, so Mac OS 10.14 wouldn't have them.

I have a few suggestions on how to solve this problem:

  • define officially supported versions of Mac OS or AppKit.
  • add conditional code that disables functions that are found on newer versions of AppKit than what the current computer has.
  • make some kind of program that can automatically create the bindings for AppKit and keep a separate version of each version of Mac OS.

from macdriver.

progrium avatar progrium commented on May 17, 2024

Awesome find! Yea I think since we generate bindings, we should generate for different versions. I don't have any help with this project though. For now we can just say we support a minimum version somewhere.

from macdriver.

iMacker2020 avatar iMacker2020 commented on May 17, 2024

I did like the idea of using documentation to generate code. I picture a program that scans thru Apple's official documentation and reads all the functions, constants, and types. Then translates them to Go code. A simple condition could read which version of Mac OS the current symbol is defined in and decide whether to use it or not.

For now what is the minimum version of Mac OS going to be?

from macdriver.

progrium avatar progrium commented on May 17, 2024

Yeah, that's the idea.

Regarding min version, whatever works. 10.5 until proven otherwise?

from macdriver.

TotallyGamerJet avatar TotallyGamerJet commented on May 17, 2024

The 1.16 Release Notes state that that is the last version to support 10.12.

from macdriver.

iMacker2020 avatar iMacker2020 commented on May 17, 2024

That is the "official" supported version. But I do have plans on porting Go to PowerPC and older versions of Mac OS.

from macdriver.

progrium avatar progrium commented on May 17, 2024

Wow. Well you can always use the dynamic API and skip the bindings (just use objc package and Send method). Sounds like a special case. It will be hard enough supporting the supported versions.

from macdriver.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.