Po pierwsze, włączyłem use_framework! w Podfile.Jak używać CocoaPods z wieloma podprojektami Framework
Założono, że głównym projektem jest MAIN_APP, a dwa podprojekty to FRAMEWORK_A i FRAMEWORK_B.
MAIN_APP wymaga FRAMEWORK_A i FRAMEWORK_B, a FRAMEWORK_B również FRAMEWORK_A.
Wszystkie projekty/cele używają CocoaPods do zarządzania bibliotekami stron trzecich.
Na razie mój Podfile wygląda następująco:
target :MAIN_APP do
project 'MAIN_APP'
pod 'PodA'
end
target :FRAMEWORK_A do
project 'FRAMEWORK_A'
pod 'PodB'
end
target :FRAMEWORK_B do
project 'FRAMEWORK_B'
pod 'PodC'
end
ręcznie dodane FRAMEWORK_A zbudować ustawienia FRAMEWORK_B i oba FRAMEWORK_A i FRAMEWORK_B zbudować ustawienia MAIN_APP.
Cały kod kompiluje się dobrze, ale po uruchomieniu MAIN_APP ulega awarii, ponieważ nie może załadować Framework of PodB.
Wiem, że mogę ręcznie dodać PodB do MAIN_APP i FRAMEWORK_B, ale czy jest możliwe określenie tego rodzaju zależności docelowej w Podfile?
Btw, kiedy pod install
, dostałem ostrzeżenie: [!]
Podfile zawiera cele ramowe, dla których Podfile nie zawiera cele hostów (cele, które osadzić ramy).
Jeśli ten projekt służy do opracowywania ram, możesz zignorować tę wiadomość. W przeciwnym razie dodaj cel do Podfile, który osadza te frameworki, aby ten komunikat zniknął (np. Cel testowy).
Ponieważ wiem, czy mogę używać zagnieżdżonych cel dla celów gospodarza jak:
target :FRAMEWORK_A
target :MAIN_APP
end
end
Więc CocoaPods będzie konfiguracja MAIN_APP używać FRAMEWORK_A i dziedziczyć zależności kapsułowymi z FRAMEWORK_A. Ale wydaje się, że nie może tego zrobić z wieloma zależnościami jak:
target :FRAMEWORK_A
target :MAIN_APP
end
end
target :FRAMEWORK_B
target :MAIN_APP
end
end
Ponieważ cel: MAIN_APP nie może być uznana za dwa razy.
Czy istnieją jakieś lepsze rozwiązania zamiast definiowania zależności pod w postaci funkcji w Podfile i uwzględnienia we wszystkich celach?
jakikolwiek postęp? czy to rozwiązałeś? – zaxy78
@ zaxy78 Rozdzielam je na osobne podprojekty zamiast na cele, ponieważ zauważyłem, że jeśli są w jednym projekcie, mimo że są dodawane do różnych celów, możesz importować nagłówki za pomocą '" Header.h "', ale ja chcesz wymusić użycie '' do importowania nagłówków z frameworków. –
Mamy podobną strukturę, która spowodowała pewne dziwactwo po migracji do najnowszej wersji XCode i CocoaPods. Obecnie próbuje debugować, jak najlepiej zarządzać tym stylem podfile. –