je tente de créer un OutputStream dans un dossier de groupe d'applications, qui est créé comme suit:Comment un OutputStream avec initialiser une URL?
func createProjectDirectoryPath(path:String) -> String
{
let containerURL = FileManager.default.containerURL(forSecurityApplicationGroupIdentifier: "group.xyz")
let logsPath = containerURL!.appendingPathComponent(path)
NSLog("12345- folder path: %@", logsPath.path)
do {
try FileManager.default.createDirectory(atPath: logsPath.path, withIntermediateDirectories: true, attributes: nil)
} catch let error as NSError {
NSLog("12345- Unable to create directory %@", error.debugDescription)
}
return logsPath.path
}
Cette fonction me donne un chemin comme celui
/private/var/mobile/Containers/Shared/AppGroup/40215F20-4713-4E23-87EF-1E21CCFB45DF/pcapFiles
Ce dossier existe, parce que la ligne FileManager .default.fileExists (chemin) renvoie la valeur true. L'étape suivante consiste à ajouter un nom de fichier généré sur le chemin, que je fais ici
let urlToFile = URL(string: createProjectDirectoryPath(path: "pcapFiles").appending("/\(filename)"))
qui me donne le nouveau chemin correct
/private/var/mobile/Containers/Shared/AppGroup/40215F20-4713-4E23-87EF-1E21CCFB45DF/pcapFiles/39CC2DB4-A6D9-412E-BAAF-2FAA4AD70B22.pcap
Si j'appelle cette ligne, ostream
est toujours nulle
let ostream = OutputStream(url: urlToFile!, append: false)
Est-ce que je manque quelque chose? Le OutputStream devrait créer le fichier sur ce chemin, mais pour une raison inconnue, ce n'est pas possible.
PS: AppGroup est activé dans les capacités et dans la console des développeurs.