(Trochę długi post, staram się być dokładny z tym, co zrobiłem i dlaczego jestem zdezorientowany)
Mam za zadanie zautomatyzować nasze kompilacje dla naszej aplikacji iOS. Proces, który jest faktycznie zaangażowany, to pobranie pliku .app (wygenerowanego przez Cordovę) i przekonwertowanie go na plik .ipa.
Myślę, że pierwszą rzeczą, którą chciałbym zrozumieć, jest to, jak działają certyfikaty i mobilne rozwiązania. Kiedy loguję się do Apple Developer Center dla mojego zespołu, widzę dwa certyfikaty, które mogę pobrać. Wiem, że muszę podpisać plik .app, zanim przekonwertuję go na .ipa, więc próbowałem go pobrać, ale okazało się, że nie mogę go podpisać. Rozumiem, że Tożsamość Podpisywania == certyfikat + zestaw kluczy publicznych / prywatnych współpracujący z centrum programistycznym (?). Nigdy nie znalazłem sposobu na użycie gotowego certyfikatu na moim komputerze. Jedynym sposobem, w jaki to zrobiłem, było użycie interfejsu XCode (coś, czego naprawdę nie chcę robić, automatyzacja cuz) do utworzenia całego nowego pliku cert i wygenerowania publicznego / prywatnego zestawu kluczy dla tożsamości. Jeśli mogę, naprawdę chciałbym uniknąć tworzenia nowych Tożsamości i Certyfikatów.
Następnym krokiem, który zrobiłem, było użycie komendy PackageApplication w xcrun (w linii poleceń). Po utworzeniu nowego certyfikatu i tożsamości udało mi się podpisać pliki .app (tak mi się wydawało). Moją pierwszą próbą było polecenie jednokreskowe, w tym - podpisanie tożsamością i - za pomocą pliku mobileprovision, który pobrałem z Centrum programistów. Po kilku godzinach grania w tę konfigurację okazało się, że lepiej użyć kodów „moja tożsamość podpisywania” „plik .app”, aby coś się stało. Myślałem, że to właściwy ruch (później dowiedziałem się, że prawdopodobnie nie jest).
Potem odkryłem, że ludzie pisali, że funkcja --embed w xcrun nie osadza pliku, a „osadzenie” pliku oznacza po prostu umieszczenie go w katalogu .app o nazwie „embedded.mobileprovision”. Zmęczony xcrun nie działa, po prostu przeniosłem pobrany plik mobileprovision z Centrum Deweloperów do jego właściwej lokalizacji i przemianowałem go.
Następnie podpisałem plik .app, a następnie uruchomiłem komendę PackageApplication bez parametrów --sign lub --embed. Powoduje to wygenerowanie pliku .ipa, ale ciągle otrzymuję błędy „Podpis kodu nie jest prawidłowy” w programie Apple Configurator.
Potem przeczytałem kilka słów i odkryłem, że .ipa jest tylko archiwum pliku .app wewnątrz folderu o nazwie Payload. Ostatnią próbą było przeniesienie podpisanego pliku .app do folderu o nazwie Payload i skompresowanie go do pliku .zip, który następnie zmieniłem na .ipa. Otrzymuję taki sam wynik „Podpis kodu jest nieprawidłowy”.
W pewnym sensie nie mam pomysłów. Myślę, że nie rozumiem jednak Certyfikatów i MobileProvisions, więc wyjaśnienie tego może pomóc.
Proszę pomóż.