Impedir ou desmarque app persistência do estado para o MacOS SwiftUI Documento de Aplicação com Base no

0

Pergunta

Eu estou desenvolvendo um MacOS Documento baseado aplicativo usando SwitfUI no mac 12.0.1 usando o Xcode 13.1 em um MacbookPro M1 Pro. Estou enfrentando um problema que o aplicativo está sempre re-abrir o documento no navegador o último diretório usado. O que é OK quando ele está na Máquina, mas uma dor, se usado da última vez foi em uma unidade de rede. Eu estou tentando encontrar uma maneira de suprimir este "sempre restaurar usando o último diretório" modo de operação.

Eu tentei usar o @NSApplicationDelegateAdaptor abordagem e implementação;

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

dentro do meu NSApplicationDelegate de classe, que não é chamado (embora parece , às vezes, depois a caixa de diálogo é apresentada), no entanto isso não impede que o aplicativo secretamente lembrando o último diretório.

Não saber onde esta informação pode ser oculto ou se ele pode ser suprimida ?

Eu procurei, mas não pode encontrar, uma forma de injetar uma partida de diretório em um DocumentGroup como uma possível solução.

TIA Alan.

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

Melhor resposta

0

Ok, para quem acaba aqui procurando por um problema semelhante.

Depois de um trecho de cavar, encontrei a resposta, para mim, foi adicionar

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

para o aplicativo de inicialização. Também foi sugerido fazer

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

No entanto, apenas fazendo o primeiro aparece para suprimir a caixa de diálogo abrir arquivo, fazendo os dois faz com que o ficheiro de diálogo abrir para abrir com o diretório de Documentos do usuário.

2021-11-26 23:48:27

Em outros idiomas

Esta página está em outros idiomas

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