I'm not sure why but DateFormatter seems to remove '-' when using localizedDateFormats and replaces it with a comma.
It doesn't seem to be a part of the unicode standard to remove the - field and turn it into a comma. I also tried surrounding the - with ''. I'm trying to use setLocalizedDateFormatFromTemplate in order to handle localization, so I can't just use use .dateFormat (which does solve it)
let dateHyphenFormatter = DateFormatter()
dateHyphenFormatter.setLocalizedDateFormatFromTemplate("LLL d YYYY ‐ j:mm a")
print(dateHyphenFormatter.string(from: Date())) // Jun 29, 2017, 1:57 PM