From 79800eba7b6f82a4554bdf0c058abe3cad1b3b6a Mon Sep 17 00:00:00 2001 From: Real_acmkan <34609309+real-acmkan@users.noreply.github.com> Date: Sun, 9 Jun 2019 16:06:32 -0600 Subject: [PATCH 1/4] Add Catalina Support Apple decided to (temporarily) keep the backup location from iTunes the same due to it being deprecated in macOS 10.15 Catalina. This adds support by checking for Catalina and if the directory has changed, to report the issue. Apple has not yet disclosed the new save location. --- pinfinder.go | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/pinfinder.go b/pinfinder.go index 3a755b5..6f51de5 100644 --- a/pinfinder.go +++ b/pinfinder.go @@ -48,6 +48,7 @@ import ( "io" "os" "os/user" + "os/exec" "path" "path/filepath" "runtime" @@ -108,7 +109,24 @@ func appendIfDir(dirs []string, dir string) []string { return dirs } -// figure out where iTunes keeps its backups on the current OS +// Copyright (c) 2019, real_acmkan. Test for macOS Catalina as Backup Location may change +func execute() { + fmt.Println("Mac Detected. Perfoming Catalina Discovery...") + catalina := []string{"read", "loginwindow", "SystemVersionStampAsString"} + out, err := exec.Command("defaults", catalina).Output() + if err != nil { + fmt.Println("Failed to determine if OS is Catalina because: %s", err) + } + output := string(out[:]) + cversion := "10.15" + if output == cversion { + fmt.Println("You're running macOS Catalina, please report if Backup Directory can't be found.") + } else { + fmt.Println("Continuing...") + } +} + +// figure out where iTunes/Finder keeps its backups on the current OS func findSyncDirs() (dirs []string, err error) { usr, err := user.Current() @@ -118,6 +136,7 @@ func findSyncDirs() (dirs []string, err error) { switch runtime.GOOS { case "darwin": + execute() dir := filepath.Join(usr.HomeDir, "Library", "Application Support", "MobileSync", "Backup") dirs = appendIfDir(dirs, dir) From e45b15157597494a5f3a17c2bdb354f62d0b5616 Mon Sep 17 00:00:00 2001 From: Real_acmkan <34609309+real-acmkan@users.noreply.github.com> Date: Sun, 9 Jun 2019 21:08:37 -0600 Subject: [PATCH 2/4] Added Catalina Support --- pinfinder.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/pinfinder.go b/pinfinder.go index 6f51de5..f45b8df 100644 --- a/pinfinder.go +++ b/pinfinder.go @@ -112,8 +112,7 @@ func appendIfDir(dirs []string, dir string) []string { // Copyright (c) 2019, real_acmkan. Test for macOS Catalina as Backup Location may change func execute() { fmt.Println("Mac Detected. Perfoming Catalina Discovery...") - catalina := []string{"read", "loginwindow", "SystemVersionStampAsString"} - out, err := exec.Command("defaults", catalina).Output() + out, err := exec.Command("defaults", "read", "loginwindow", "SystemVersionStampAsString").Output() if err != nil { fmt.Println("Failed to determine if OS is Catalina because: %s", err) } From f483fb8953bf0b0fff38bc88070ea5b924389c5b Mon Sep 17 00:00:00 2001 From: Real_acmkan <34609309+real-acmkan@users.noreply.github.com> Date: Sun, 9 Jun 2019 21:11:54 -0600 Subject: [PATCH 3/4] Fixed Bugs --- pinfinder.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pinfinder.go b/pinfinder.go index f45b8df..530746b 100644 --- a/pinfinder.go +++ b/pinfinder.go @@ -114,7 +114,7 @@ func execute() { fmt.Println("Mac Detected. Perfoming Catalina Discovery...") out, err := exec.Command("defaults", "read", "loginwindow", "SystemVersionStampAsString").Output() if err != nil { - fmt.Println("Failed to determine if OS is Catalina because: %s", err) + fmt.Println("Failed to determine if OS is Catalina because: %s\n", err) } output := string(out[:]) cversion := "10.15" From e42c560b91c37a445d54e1a06ff152c9ac67ad09 Mon Sep 17 00:00:00 2001 From: Real_acmkan <34609309+real-acmkan@users.noreply.github.com> Date: Sun, 9 Jun 2019 21:15:53 -0600 Subject: [PATCH 4/4] Fixed more bugs --- pinfinder.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pinfinder.go b/pinfinder.go index 530746b..f456edd 100644 --- a/pinfinder.go +++ b/pinfinder.go @@ -114,7 +114,7 @@ func execute() { fmt.Println("Mac Detected. Perfoming Catalina Discovery...") out, err := exec.Command("defaults", "read", "loginwindow", "SystemVersionStampAsString").Output() if err != nil { - fmt.Println("Failed to determine if OS is Catalina because: %s\n", err) + fmt.Println("Failed to determine if OS is Catalina") } output := string(out[:]) cversion := "10.15"