diff --git a/v2/internal/system/operatingsystem/os_darwin.go b/v2/internal/system/operatingsystem/os_darwin.go index f0d48539c..adc808773 100644 --- a/v2/internal/system/operatingsystem/os_darwin.go +++ b/v2/internal/system/operatingsystem/os_darwin.go @@ -1,6 +1,18 @@ package operatingsystem -import "github.com/wailsapp/wails/v2/internal/shell" +import ( + "github.com/wailsapp/wails/v2/internal/shell" + "strings" +) + +func getSysctlValue(key string) (string, error) { + stdout, _, err := shell.RunCommand(".", "sysctl", key) + if err != nil { + return "", err + } + version := strings.TrimPrefix(stdout, key+": ") + return strings.TrimSpace(version), nil +} func platformInfo() (*OS, error) { // Default value @@ -9,22 +21,28 @@ func platformInfo() (*OS, error) { result.Name = "MacOS" result.Version = "Unknown" - stdout, stderr, err := shell.RunCommand(".", "sysctl", "kern.osrelease") - println(stdout) - println(stderr) - println(err) -// cmd := CreateCommand(directory, command, args...) -// var stdo, stde bytes.Buffer -// cmd.Stdout = &stdo -// cmd.Stderr = &stde -// err := cmd.Run() -// return stdo.String(), stde.String(), err -// } -// sysctl := shell.NewCommand("sysctl") -// kern.ostype: Darwin -// kern.osrelease: 20.1.0 -// kern.osrevision: 199506 + version, err := getSysctlValue("kern.osproductversion") + if err != nil { + return nil, err + } + result.Version = version + ID, err := getSysctlValue("kern.osrevision") + if err != nil { + return nil, err + } + result.ID = ID + // cmd := CreateCommand(directory, command, args...) + // var stdo, stde bytes.Buffer + // cmd.Stdout = &stdo + // cmd.Stderr = &stde + // err := cmd.Run() + // return stdo.String(), stde.String(), err + // } + // sysctl := shell.NewCommand("sysctl") + // kern.ostype: Darwin + // kern.osrelease: 20.1.0 + // kern.osrevision: 199506 - return nil, nil -} \ No newline at end of file + return &result, nil +} diff --git a/v2/internal/system/system_darwin.go b/v2/internal/system/system_darwin.go index a33d4b8fc..dab6fbcd6 100644 --- a/v2/internal/system/system_darwin.go +++ b/v2/internal/system/system_darwin.go @@ -2,7 +2,14 @@ package system -func (i *Info) discover() error { +import "github.com/wailsapp/wails/v2/internal/system/operatingsystem" +func (i *Info) discover() error { + var err error + osinfo, err := operatingsystem.Info() + if err != nil { + return err + } + i.OS = osinfo return nil }