2017-10-02 5 views
2

J'ai un framework partagé qui doit être utilisé par iOS et tvOS, mais je veux importer de manière sélective un framework pour iOS uniquement (CoreTelephony). La grammaire rapide dit que vous pouvez préfixer un attribut, mais cela ne fonctionne pas:Comment importer de manière sélective un framework dans Swift?

@available(iOS 10.0, *) import CoreTelephony

Est-ce tout simplement pas pris en charge? Ai-je besoin de sous-classer juste pour importer le framework spécifique à iOS?

Répondre

0

Pour Swift < = 4.0, vous pouvez utiliser la fonction de test de configuration os():

#if os(iOS) 
    import CoreTelephony 
#endif 

Vous devez envelopper le code qui utilise CoreTelephony aussi bien.

Tous les tests disponibles pour os() sont: OSX, iOS, watchOS, tvOS, Linux, Windows et FreeBSD.

Pour Swift> = 4.1, vous pouvez également utiliser canImport():

#if canImport(CoreTelephony) 
    import CoreTelephony 
#endif