Obecnie próbuję stworzyć sposób, aby zalogować bieżącą wersję mojego Pod w czasie wykonywania, jest kilka sposobów, które przychodzą na myśl, ale chciałem zapytać tutaj, aby upewnić się, że nie brakuje mi czegoś oczywistego.Jaki jest najlepszy sposób uzyskania konkretnej wersji CocoaPod w czasie wykonywania?
Co zrobiłem do tej pory:
okazało się, że Cocoapods generuje plik
myPod-umbrella.h
nagłówka wywozi następujące:FOUNDATION_EXPORT double myPodVersionNumber; FOUNDATION_EXPORT const unsigned char myPodVersionString[];
Tylko
myPodVersionNumber
wydaje się być dostępne, a to zawsze z jakiegoś powodu ma 1.0, czy jest jakiś sposób, żeby to działało, ponieważ mam wrażenie, że jest to właściwy sposób, ale źle go zinterpretowałem.Spróbuj zdobyć utworzoną bibliotekę Info.plist i przeczytaj tam wersję, ale to wydaje się być nieco problematyczne, nie mam żadnej gwarancji, co programista wykona z kartą i może skończyć. z inną lokalizacją pakietu lub nawet uniemożliwić jego realizację.
Utwórz nieruchomą właściwość z numerem wersji, to oczywiście działa, ale daje dużo miejsca na błędy i nie wydaje się być właściwym sposobem wdrożenia tego, ale jeśli nie ma innego sposobu na obejście CocoaPods Mogę po prostu to zrobić.
Wykonaj krok budowania, który odczyta PodSpec i wygeneruje prostą klasę zawierającą metadane dotyczące kapsuły, czuje się nieco lepiej niż poprzedni punkt, ale wciąż czuje się trochę przesadnie, jeśli chodzi o to, czego szukam.
Czy ktoś ma lepszy pomysł lub może wskazać mi właściwy kierunek?
co próbuję osiągnąć to, aby móc uruchomić coś takiego
print("Current version: \(myPod.version)
„)
i to log go prawidłowo w konsoli
#Current version: 1.2.0
Czy zamiast tego zajrzałeś do odczytu danych z pliku 'Podfile.lock'? Zawiera listę wszystkich wersji zainstalowanych kapsuł. – Hodson
Muszę to zrobić podczas uruchamiania, to jest mój główny numer –