Zapobieganie lub usuwanie zapisywanie stanu aplikacji do aplikacji na podstawie dokumentów macOS SwiftUI

0

Pytanie

Zajmuję się tworzeniem aplikacji na podstawie dokumentów macOS, za pomocą SwitfUI na macOS 12.0.1, z wykorzystaniem Xcode 13.1 na MacBookPro M1 Pro. Spotykam się z problemem, z którym aplikacja jest zawsze ponownie otwiera przeglądarka dokumentów w ostatnio używanym katalogu. Co jest normalne, kiedy on znajduje się na komputerze, ale boli, kiedy ostatni raz był używany na dysku sieciowym. Staram się znaleźć sposób, aby stłumić ten tryb pracy "zawsze przywrócić przy użyciu najnowszego katalogu".

Próbowałem użyć podejście @NSApplicationDelegateAdaptor i realizacji;

  func applicationSupportsSecureRestorableState(_ app: NSApplication) -> Bool {
    print(#function + " returning false")
    return false
  }

w mojej klasie NSApplicationDelegate, który naprawdę jest wywoływana (choć czasami wydaje się, że po przedstawieniu okna dialogowego), jednak to nie przeszkadza w aplikacji potajemnie zapamiętać ostatni katalog.

Czy ktoś wie, gdzie ta informacja może być ukryty lub czy może być ukryty ?

Szukałem, ale nie mogę znaleźć sposób na wprowadzenie katalog początkowy do grupy dokumentów jako możliwe rozwiązanie.

TIA Alan.

documentgroup macos swiftui
2021-11-24 05:51:07
1

Najlepsza odpowiedź

0

Dobrze, dla każdego, kto w końcu okaże się tutaj szukając podobny problem.

Po długich poszukiwaniach znalazłem, że odpowiedź jest dla mnie polegał na tym, aby dodać

    UserDefaults.standard.removeObject(forKey: "NSNavLastRootDirectory")

po uruchomieniu aplikacji. Zaproponowano również zrobić

UserDefaults.standard.removeObject(forKey: "NSNavLastCurrentDirectory")

Tym nie mniej, po prostu wykonaj pierwszą rzeczą, aby pominąć okno dialogowe otwarcia pliku, wykonanie obu spowoduje, że okno dialogowe otwarcia pliku otworzy się katalog dokumentów użytkownika.

2021-11-26 23:48:27

W innych językach

Ta strona jest w innych językach

Русский
..................................................................................................................
Italiano
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................