Big Jeff
Big Jeff

Reputation: 19

Saving to xml document Swift

I'm using this code to save a string to an xml file in my project

let saveTo = statisticsI.toXMLString()
let filepath = Bundle.main.url(forResource: "statistics", withExtension: "xml")
let filepathAlt = Bundle.main.path(forResource: "statistics", ofType: "xml")
print(filepathAlt!)
do {
    try saveTo.write(to: filepath!, atomically: false, encoding: String.Encoding.utf8)
    let contents = try String(contentsOfFile: filepathAlt!)
    print("FILE CONTENTS \(contents)")
}
catch let error as NSError {
    print("Error writing values \(error)")
}

Printing the file contents returns the xml correctly, but when I stop running the application, the file hasn't been updated

When the above code is run, the file has already been read by a seperate function. Is the fact that the file has already been accessed (and its path still stored in a variable) the issue?

Upvotes: 1

Views: 1076

Answers (1)

Caleb
Caleb

Reputation: 124997

when I stop running the application, the file hasn't been updated

You can't write into the application bundle in iOS. Try using a path into the Documents folder or some other place within the app's sandbox.

Upvotes: 1

Related Questions