web-dev-qa-db-fra.com

Partage de code entre l'application iOS d'origine et l'extension d'application

Partage de classe entre l'application iOS et l'application d'extension

Je souhaite utiliser une classe personnalisée à la fois dans mon application et dans l'application d'extension. Si j'ai juste la classe dans le dossier principal de l'application, l'extension ne reprend pas. J'ai essayé d'en faire une copie et de la placer dans le dossier d'extension, mais j'obtiens bien sûr un invalid redeclaration of [my class] Erreur. Quelle est la meilleure solution pour cela? C'est juste une classe, pas plusieurs ressources.

29

Rien ne doit être copié. Ajoutez simplement les fichiers requis pour compiler les sources de votre extension:

enter image description here

41
Avt

Assurez-vous simplement que les fichiers que vous souhaitez partager sont cochés dans la section Adhésion cible.

Sélectionnez votre fichier, ouvrez le panneau des utilitaires sur la droite et cochez la cible appropriée sous Target Membership.

enter image description here

20
Duc

Les frameworks intégrés sont un excellent moyen de réutiliser du code entre votre application et votre extension. Le fait d'avoir déplacé une partie du code vers des frameworks embarqués nous fournira une excellente occasion d'écrire quelques tests unitaires autour de lui.

Voir la section Utilisation d'un cadre intégré pour partager le code https://developer.Apple.com/library/ios/documentation/General/Conceptual /ExtensibilityPG/ExtensionScenarios.html#//Apple_ref/doc/uid/TP40014214-CH21-SW1

3
Praveen Matanam