2015-07-09 23 views
9

Ho cercato di modificare il mio progetto per supportare l'architettura WatchOS2. Attualmente ho un framework di rete basato su AFNetworking. L'ho usato finora con l'app per il mio orologio. Ora sto provando a creare il framework per le piattaforme watcho/watchsimulator.Posso creare il mio framework di rete (che dipende da AFNetworking) come framework watchOS2?

Quello che sto ricevendo è 'SystemConfiguration/SystemConfiguration.h' file non trovato errore per alcune classi AFNetworking.

so che la configurazione del sistema non è uno dei quadri di sistema disponibili per watchOS2. E per il networking mela says:

Networking

supporto per le attività basate sulla rete comprende le seguenti tecnologie:

estensioni WatchKit possono accedere alla rete direttamente utilizzando un oggetto NSURLSession. Le estensioni di WatchKit hanno pieno accesso alle funzionalità di NSURLSession, inclusa la possibilità di scaricare file in background. Per informazioni su come utilizzare questa classe, consultare la guida alla programmazione del sistema di caricamento degli URL. Il framework Watch Connectivity supporta la comunicazione bidirezionale tra l'app Watch e l'app iOS. Utilizza questa struttura per coordinare le attività tra le due app. Per ulteriori informazioni, vedere Comunicazione con l'app iOS Companion.

Voglio sostenere sia per iOS e per la mia watchos sdk networking. C'è un modo per rendere questo progetto costruito per la piattaforma watchOS? Oppure significa che posso utilizzare NSURLConnection solo nella mia app di controllo?

risposta

0

Secondo il AFNetworking documentation:

URL Caricamento Le classi più comunemente utilizzati nel sistema di carico URL permettere che la tua app per recuperare il contenuto di un URL dalla sorgente. È possibile recuperare che il contenuto in molti modi, a seconda delle esigenze della vostra app . L'API si sceglie dipende dalla versione di OS X o iOS vostri obiettivi app e se si desidera ottenere i dati in un file o un blocco in memoria dei dati:

  • In iOS 7 e versioni successive o OS X v10.9 e versioni successive, NSURLSession è l'API preferita per il nuovo codice che esegue richieste URL.

Se si dà un'occhiata ai diagrammi in quella pagina, indica che in realtà usa AFNetworking NSURLSession in alcuni casi. Tuttavia, dal momento che il quadro SystemConfiguration non è disponibile in watchkit, si avrebbe bisogno di rimuovere tale dipendenza al fine di includere AFNetworking sia iOS e applicazioni watchkit.

Non sono sicuro di quello che AFNetworking usa questo quadro (probabilmente è molto importante!), Ma se ci sono alcuni file che non avrebbe bisogno di queste impostazioni in app orologio si potrebbe modificare il codice sorgente AFNetworking di non includere i punti dell'ordine del app orologio:

#if os(iOS) 
// Include SystemConfiguration framework 
#elseif os(watchOS) 
// Exclude SystemConfiguration framework 
#endif 
0

Ecco un recente commit su GitHub per AFNetworking per supportare watchOS.

Guardando il changelog ..

Versione 2.6.0 supporta watchos ...

Questa versione supporta ora watchOS 2.0, che si basa sulle condizioni target presenti solo in Xcode 7 e iOS 9/watchOS 2.0/OS X 10.10. Se si installa la libreria utilizzando CocoaPods, AFNetworking provvederà a definire questi condizionali di destinazione su piattaforme meno recenti con , consentendo al codice di essere completato. Se non usi Cocoapods, dovrai aggiungere il seguente codice al file PCH.