Prévenir ou effacer l'application de la persistance de l'état pour MacOS SwiftUI Document d'Application Basée sur les

0

La question

Je suis en train d'élaborer un MacOS Document à partir de l'app à l'aide de SwitfUI sur MacOS 12.0.1 à l'aide de Xcode 13.1 sur un MacbookPro M1 Pro. Je rencontre un problème que l'application est toujours la ré-ouverture du navigateur de documents lors de la dernière utilisée répertoire. Qui est OK quand il est sur la Machine, mais une douleur si le dernier était sur un lecteur réseau. Je suis en train d'essayer de trouver un moyen de supprimer ce "toujours restaurer à l'aide du dernier répertoire" mode de fonctionnement.

J'ai essayé d'utiliser le @NSApplicationDelegateAdaptor approche et la mise en œuvre;

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

dans mon NSApplicationDelegate classe, qui est appelé (bien qu'il semble parfois après que la boîte de dialogue est présentée), mais cela n'empêche pas l'application secrètement se rappeler la dernière répertoire.

Ne savoir où cette information peut être caché ou si elle peut être supprimée ?

J'ai cherché, mais ne peut pas trouver un moyen de l'injection d'un répertoire de départ dans un DocumentGroup comme une solution possible.

TIA Alan.

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

La meilleure réponse

0

Ok, pour toute personne qui se retrouve ici à la recherche d'un problème similaire.

Après un morceau de creuser, j'ai trouvé la réponse, pour moi, a été d'ajouter

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

dans l'application de démarrage. Il a également été suggéré de le faire

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

Cependant, il suffit de faire le premier semble supprimer la boîte de dialogue ouvrir fichier, en faisant à la fois les causes de la boîte de dialogue ouvrir fichier à ouvrir avec le répertoire Documents de l'utilisateur.

2021-11-26 23:48:27

Dans d'autres langues

Cette page est dans d'autres langues

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