Je développe une application et je veux accéder au dossier /User/<username>/Library/Containers
pour lire certaines données.Accéder à/User/Library/Container/<identifier> dans Sandbox
Lors de l'itération sur les fichiers, aucune donnée n'est renvoyée jusqu'à ce que j'ouvre un NSOpenPanel
sur cet emplacement spécifique. Ce comportement est à prévoir, car l'application est en sandbox.
J'ai une autre application qui s'appelle "AppManager" (sandbox, disponible dans l'App Store). L'application lit également les données de ce dossier, mais je n'ai qu'à ouvrir le NSOpenPanel
sur le dossier /Applications
.
Je lis à propos de la méthode FileManager
URLForDirectory:inDomain:appropriateForURL:create:error:
qui semble être un bon point de départ, mais en quelque sorte cette méthode n'est pas disponible? Comment (si possible) une application en mode bac à sable peut-elle accéder à /User/<username>/Library/Containers
sans ouvrir de NSOpenPanel
? Puis-je avoir accès à plus d'un répertoire en n'en ouvrant qu'un seul NSOpenPanel
?
Cordialement, Sascha
Bonjour, je préfère aussi cette méthode. J'étais juste curieux de savoir comment l'application spécifiée fait cela. Il demande/Applications et obtient l'accès à/Users//Library. –
Peut-être que l'application est ancienne (pré-sandboxing) ou peut-être qu'il lit son propre conteneur (vous avez toujours accès à cela) – Alistra
La dernière mise à jour a été publiée l'année dernière, donc il est sandbox (sinon il n'aurait pas besoin de montrer une boîte de dialogue de toute façon) et l'application supprime les fichiers de ces répertoires, de sorte qu'elle a un accès complet en dehors de/Library/de son propre conteneur. Assez étrange. –