Pytanie - wersja skrócona:Dlaczego moje skrypty fazy kompilacji nie zostaną wykonane podczas tworzenia IPA z wiersza poleceń?
Dlaczego nie mój build phase scripts
być wykonywane podczas tworzenia IPA z wiersza poleceń? Gdy uruchamiam xcodebuild
w celu utworzenia IPA, wstępnie zdefiniowane skrypty fazy budowania nie zostaną wykonane. Dlaczego?
Pytanie - długa wersja:
Mam obszaru roboczego z systemem chcę utworzyć z IPA z linii poleceń.
Działa to dobrze, z wyjątkiem jednej rzeczy; Mam dwa skrypty w fazie budowania celu, które są używane do umieszczenia poprawnej wersji aplikacji (CFBundleShortVersionString
) i poprawnego numeru wersji svn (CFBundleVersion
). Skrypty te działają poprawnie podczas archiwizowania z xcode, ale z jakiegoś powodu nie są uruchamiane podczas archiwizacji z wiersza poleceń. Po pierwsze, dlaczego tak jest?
Oto skrypty, które pracują (jeśli forma archiwizacji Xcode)
podczas archiwizacji i tworzenia IPA z wiersza poleceń, co robię (podstawowe)
# Building
xcodebuild ARCHS="armv7 armv7s" ONLY_ACTIVE_ARCH=NO -workspace MyWorkspace.xcworkspace/ -scheme MyScheme CONFIGURATION_BUILD_DIR=${PROJECT_BUILD_DIR} -configuration Release clean build
# Creating IPA
/usr/bin/xcrun -sdk iphoneos PackageApplication -v "${PROJECT_BUILD_DIR}/${APPLICATION_NAME}.app" -o "${IPA_OUTPUT_PATH}/${APPLICATION_NAME}.ipa"
Działa i tworzy IPA, ale żaden ze skryptów fazy kompilacji nie zostanie wykonany, pozostawiając zarówno numer rewizji, jak i numer wersji nietknięty.
Wszystkie sugestie są mile widziane!
UPDATE DUE TO ODPOWIEDŹ BDASH za
Zamiast czystą kompilację I zrób zainstalować jako
xcodebuild install ARCHS="armv7 armv7s" ONLY_ACTIVE_ARCH=NO -workspace MyWorkspace.xcworkspace/ -scheme MyScheme CONFIGURATION_BUILD_DIR=${PROJECT_BUILD_DIR} -configuration Release
Predefiniowane skrypt będzie faktycznie wykonane (widać w numerze wersji projektu) bez błędów podczas instalacji. Jednak utworzony IPA będzie miał rozmiar ~ 300 bajtów (zamiast ~ 10 MB) i nie będzie można go zainstalować na urządzeniu.
Budowanie aplikacji przed jej zainstalowaniem, tj
# Building
xcodebuild clean build ARCHS="armv7 armv7s" ONLY_ACTIVE_ARCH=NO -workspace MyWorkspace.xcworkspace/ -scheme MyScheme CONFIGURATION_BUILD_DIR=${PROJECT_BUILD_DIR} -configuration Release
# Installing
xcodebuild install ARCHS="armv7 armv7s" ONLY_ACTIVE_ARCH=NO -workspace MyWorkspace.xcworkspace/ -scheme MyScheme CONFIGURATION_BUILD_DIR=${PROJECT_BUILD_DIR} -configuration Release
a następnie tworząc IPA spowoduje IPA z wykonywanego skryptu wersji i prawidłowej wielkości BUT nie jest możliwe zainstalowanie go na urządzeniu. Próba umieszczenia go na urządzeniu spowoduje wyświetlenie komunikatu o błędzie mówiącego: "Program" MyApp "nie został zainstalowany na urządzeniu iPhone" Moje urządzenie ", ponieważ wystąpił nieznany błąd."
Założę się, że jeśli budujesz z linii poleceń, 'xcodebuild' zakłada również, że sam wykonujesz skrypt. Wygląda mi na błąd. –
Czy w końcu udało Ci się znaleźć rozwiązanie? – fatuhoku