Je construis actuellement une application iOS avec une extension d'application watchOS. J'ai certaines classes qui sont partagées entre les deux applications, et elles sont largement identiques sur les deux plates-formes, mais avec certaines variations. Je me demande comment cela est le mieux mis en œuvre. En ce moment, j'utilise les éléments suivants:Code spécifique à la plate-forme pour les classes watchOS/iOS partagées dans Swift?
#if os(watchOS)
private var watchOSOnlyProperty: Any?
#endif
ou
#if os(iOS)
func iOSOnlyMethod() {
...
}
#endif
Bien que cela fonctionne, il donne plusieurs problèmes depuis XCode semble être assez confus à ce sujet. L'indentation, l'auto-complétion et la liste des méthodes sont toutes un peu fausses lors de l'utilisation de cette syntaxe.
Quelle est la bonne façon de faire cela? Comment pouvez-vous ajouter des méthodes spécifiques à iOS/watchOS & aux classes partagées dans Swift?
C'est la bonne façon – Paulw11
Hm ... cela produit tellement de problèmes pour moi dans XCode que je le considérerais pas vraiment viable, cependant. Par exemple, l'auto-complétion a pratiquement cessé de fonctionner complètement pour moi pour les classes qui l'utilisent. Des alternatives? – BlackWolf
Créez différents fichiers source pour les différentes cibles. Cela devrait fonctionner cependant. Essayez de supprimer vos données dérivées – Paulw11