Mi aplicación comparte una foto en Instagram, para hacer esto primero la guarda en un directorio temporal:
let writePath = NSTemporaryDirectory().stringByAppendingPathComponent("instagram.igo")
Estaba trabajando Swift 1.2, pero no funciona Swift 2.0.
El mensaje de error dado es:
stringByAppendingPathComponent no está disponible: use URLByAppendingPathComponent en NSURL en su lugar.

Application%20SupportstringByAppendingPathComponent, vea mi respuesta a continuación.NSURLmétodo sino unNSStringstringByAppendingPathComponentse eliminó en Swift 2.0" no es correcto, y @Maysam no solicitó el únicoNSURLmétodo.Está funcionando para
NSStringque pueda usarlo así:Ahora puede usar esta extensión que convertirá su
StringaNSStringprimero y luego realizará la operación.Y tu código será:
Aquí hay algunos otros métodos de uso:
Referencia desde AQUÍ .
Para swift 3.0:
fuente
NSURLdeben usar s en su lugar. Solo digo.checkResourceIsReachable()ocheckPromisedItemIsReachable()en suURLlugar.FileManagersigue siendo una clase ObjCNSFileManagercon elNSprefijo eliminado para Swift yfileExistsAtPathestuvo allí desde OS X 10.0. El mundo ha evolucionado desde entonces y, dado que las aplicaciones están protegidas (lo que es menos obvio en iOS), el archivo puede existir, es posible que no tenga permiso para verlo; también, el archivo puede estar en la nube, etc. Es por eso que elBOOLmétodo simple se reemplaza por algo más complejoURLpero más semánticamente correcto.Simplemente envuelva su cadena como
NSString.fuente
Stringclase no tiene esto peroNSStringexiste! tiene sentido.para Swift 3 :
o mejor cree esta extensión:
uso:
fuente
Solución Swift 3:
Aquí hay una función para obtener la ruta del directorio de documentos
Cómo utilizar:
Resultado:
fuente
Para swift 2.0
fuente
En su lugar, puede usar URLByAppendingPathComponent (). Tenga en cuenta que debe recortar la cadena de ruta para eliminar el prefijo "file: //":
fuente
Haz lo siguiente:
fuente
Intenté esto y resolvió el problema.
antes de:
después:
fuente
Si usar
NSStringmétodos de ruta (en lugar deStringmétodos URL) es aceptable, es mucho más fácil extenderloStringcon una propiedad calculada o un método que devuelva su valor comoNSString(en lugar de duplicar los métodos deseados enStringextensión):y entonces:
fuente
Swift 4
fuente