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%20Support
stringByAppendingPathComponent
, vea mi respuesta a continuación.NSURL
método sino unNSString
stringByAppendingPathComponent
se eliminó en Swift 2.0" no es correcto, y @Maysam no solicitó el únicoNSURL
método.Está funcionando para
NSString
que pueda usarlo así:Ahora puede usar esta extensión que convertirá su
String
aNSString
primero 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
NSURL
deben usar s en su lugar. Solo digo.checkResourceIsReachable()
ocheckPromisedItemIsReachable()
en suURL
lugar.FileManager
sigue siendo una clase ObjCNSFileManager
con elNS
prefijo eliminado para Swift yfileExistsAtPath
estuvo 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 elBOOL
método simple se reemplaza por algo más complejoURL
pero más semánticamente correcto.Simplemente envuelva su cadena como
NSString
.fuente
String
clase no tiene esto peroNSString
existe! 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
NSString
métodos de ruta (en lugar deString
métodos URL) es aceptable, es mucho más fácil extenderloString
con una propiedad calculada o un método que devuelva su valor comoNSString
(en lugar de duplicar los métodos deseados enString
extensión):y entonces:
fuente
Swift 4
fuente