2013-09-03 6 views
19

Chcę utworzyć lokalny podspec, który jest oparty na pewnym prywatnym kodzie. Nie mogę użyć atrybutu "source", ponieważ to nie działa. Mogę użyć atrybutu "source_files", ale nie rekursywnie. Więc z katalogu, który wygląda takzawierają pliki rekursywnie w Cocoapods podspec

Library 
    /src 
    /Core 
    /Audio 
    /Graphics 

A moja podspec wygląda następująco:

Pod::Spec.new do |s| 
    ... 
    s.source = 'src' # this does not work. 
    s.source_files = 'src' # this only includes the files in src, and not in any of the Core, Audio or Graphics folders. 

I niby chcesz określić flagi -r. Próbowałem używać symboli wieloznacznych, ale bez powodzenia.

Odpowiedz

26

Atrybut source_files używa Ruby file glob syntax. Wzór musi być w stosunku do głównego katalogu projektu (tj plików podspec), więc to powinno działać dla Ciebie:

s.source_files = 'Library/src/**/*.{h,m}' 

Atrybut source nie jest dla plików kodu źródłowego, ale raczej do zdalnego repozytorium z który kod powinien zostać pobrany (najczęściej jest to adres URL i znacznik repozytorium Git). Zobacz CocoaPods specification docs, aby uzyskać więcej informacji.