Costruire la mia app su Linux ottenere un errore:
$ swift build
Compile Swift Module "finder" (1 sources)
main.swift:24:15: error: use of unresolved identifier "URLSession"
let session = URLSession.shared
$ swiftc main.swift
main.swift:24:15: error: use of unresolved identifier "URLSession"
let session = URLSession.shared
Funziona su XCODE 8 sul mio Mac. Sto cercando Swift su Ubuntu:
$ swift --version
Swift version 3.0 (swift-3.0-PREVIEW-2)
Target: x86_64-unknown-linux-gnu
risposte:
1 per risposta № 1Due problemi:
1: Su Linux, anche fino a 3.0-PREVIEW-2, il prefisso "NS" non è ancora stato rilasciato in Foundation. Devi ancora usare NSURLSession, invece di URLSession. Questo cambierà in Foundation con 3.0-PREVIEW-3 basato sui rami di GitHub.
2: E questo è uno showstopper, URLSession / NSURLSession non funziona su Linux, ma non è ancora stato implementato. Se guardi il codice sorgente di URLSession adesso:
Vedrai quella chiamata sharedSession()
ritorna NSUnimplemented()
A un certo punto, URLSession verrà su Linux, ma non è ancora stato implementato.
Credo che il motivo sia che su OS X, URLSessionper Swift semplicemente un ponte per l'implementazione dell'Obiettivo C che esisteva già. Su Linux, la Fondazione viene implementata interamente in Swift e non riescono ancora a riscriverlo.