Comments (7)
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.
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.
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.
Yeah, that's the idea.
Regarding min version, whatever works. 10.5 until proven otherwise?
from macdriver.
The 1.16 Release Notes state that that is the last version to support 10.12.
from macdriver.
That is the "official" supported version. But I do have plans on porting Go to PowerPC and older versions of Mac OS.
from macdriver.
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)
- Framework Request: CryptoKit
- Related project: c_ocoa HOT 2
- Are there any plans to add Keychain Service?
- SetDefaultApplicationAtURLToOpenContentTypeCompletionHandler error
- ComboBox `SetDelegate` uses `TextField`'s `SetDelegte` resulting in error HOT 1
- module github.com/progrium/macdriver@latest found (v0.4.0), but does not contain package github.com/progrium/macdriver/keycode HOT 2
- Can I use Network Extension HOT 2
- Framework Request: ScreenCaptureKit
- DarwinKit: Rendering Problem with OutlineView
- SetDuration Can not set duration for amination
- Nib's InstantiateWithOwnerTopLevelObjects() not returning objects HOT 9
- Generator change: keep Objective-C type when parameter is a pointer to a pointer HOT 1
- Framework Request: StoreKit HOT 2
- enumexport error with call to s.Parse
- Generating appkit problem with enumtypes.gen.go and aliastypes.gen.go
- APFS (Case-sensitive) filesystem protocols.gen.m:3:9: fatal error:: 'Appkit/Appkit.h' file not found
- Can macdriver be used to implement macOS widgets and install them directly into the macOS notification center or desktop?
- corelocation API giving panic HOT 6
- Dictionary's DictionaryWithObjectsAndKeys() throws NSInvalidArgumentException HOT 6
- An error occurs when running the layout example. HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from macdriver.