Cocoapods important un framework dans le code source
Dans mon cocoapod pour iOS, j'ai un essentiellement les éléments:
- Open-source classes (.m & .h fichiers)
- MyFramework.cadre (.cadre répertoire, les fichiers d'en-tête, et .bundle de ressources)
L'un de l'open-source classes appels import <MyFramework.MyFramework.h>
afin de pouvoir utiliser les composants de MyFramework dans sa mise en œuvre. Mais à cause de cela, je vais avoir du mal à obtenir le podspec passer les spec de la charpie de test (pod spec lint MyCocoapod.podspec
). Quand je lance la spécification de la charpie de validation, il dit:
ERROR | [iOS] [xcodebuild] .../MyFile.h:54:9: fatal error: 'MyFramework/MyFramework.h' file not found
Lors de l'enquête, j'ai remarqué que le podspec ne passer à la spécification de la charpie de validation, si je retire que l'open source de la classe dans le podspec de l'élément source_files de sorte section, s.source_files = 'MyFiles.{h,m}'
. Aucune idée de la raison de ma classe ne peut pas importer mes personnalisé cadre lors de la spécification de la charpie de validation?
Le code correspondant dans la podspec ressemble à ceci:
s.preserve_paths = 'myframework/MyFramework.framework'
s.frameworks = 'Foundation', 'MyFramework'
s.xcconfig = { 'FRAMEWORK_SEARCH_PATHS' => '$(SRCROOT)/myframework/' }
s.public_header_files = 'MyFramework.framework/Headers/*.h', 'SourceCode/*.h'
s.source_files = 'SourceCode/*.{h,m}' # Crashes here - Source_file imports MyFramework.h. If I take this out, it passes spec lint validation
source d'informationauteur johngraham
Vous devez vous connecter pour publier un commentaire.
MODIFIER Ce processus est maintenant entièrement prise en charge par la
vendored_frameworks
option. Cette poignées de préserver les chemins d'accès, le cadre des chemins de recherche, et un lien vers le projet.Pour inclure un cadre que vous pouvez utiliser:
s.vendored_frameworks = 'path/to/SomeFramework.framework'
Pour inclure des groupes de fichiers n':
s.resources ='path/to/SomeBundle.bundle'