Kompilowanie aplikacji Objective-C lub Swift dla systemu iOS
Ważne
Program Visual Studio App Center ma zostać wycofany 31 marca 2025 r. Mimo że możesz nadal używać programu Visual Studio App Center do momentu jej pełnego wycofania, istnieje kilka zalecanych alternatyw, do których można rozważyć migrację.
Dowiedz się więcej o osiach czasu pomocy technicznej i alternatywach.
Aby utworzyć pierwszą natywną aplikację systemu iOS, należy wykonać następujące czynności:
- Nawiązywanie połączenia z kontem usługi repozytorium (GitHub, Bitbucket, VSTS, Azure DevOps)
- Wybierz repozytorium i gałąź, w której znajduje się aplikacja
- Konfigurowanie projektu lub obszaru roboczego kompilacji oraz schematu, który chcesz skompilować
Uwaga
Aby uruchomić aplikację na rzeczywistym urządzeniu, kompilacja musi być podpisana kodem z prawidłowym profilem aprowizacji i certyfikatem.
Jeśli wcześniej nie nawiązaliśmy połączenia z kontem usługi repozytorium, musisz autoryzować połączenie. Po nawiązaniu połączenia konta wybierz repozytorium, w którym znajduje się projekt systemu iOS. Centrum aplikacji wymaga Administracja konta i uprawnienia ściągnięcia w celu skonfigurowania kompilacji dla repozytorium.
Po wybraniu repozytorium wybierz gałąź, którą chcesz skompilować. Domyślnie zostaną wyświetlone wszystkie aktywne gałęzie.
Skonfiguruj projekt systemu iOS przed pierwszą kompilacją.
W przypadku konfiguracji kompilacji wymagany jest projekt Xcode lub obszar roboczy Xcode oraz schemat udostępniony. Usługa App Center automatycznie wykrywa projekty, obszary robocze i schematy udostępnione (o ile schematy znajdują się w odpowiednim folderze) w gałęzi. Wybierz projekt lub obszar roboczy, który chcesz skompilować i odpowiedni schemat.
Jeśli nie znaleziono schematu, upewnij się, że żądany schemat jest współużytkowany, a jego kontener to wybrany projekt lub obszar roboczy. Należy również potwierdzić, że te zmiany są zaewidencjonowane w gałęzi, którą konfigurujesz.
Pamiętaj, że nie można wyeksportować .xcscheme
pliku i umieścić go w dowolnym miejscu w projekcie. Musi znajdować się w folderze xcshareddata/xcschemes/
. Upewnij się, że ta ścieżka nie znajduje się w .gitignore
pliku.
Wybierz wersję programu Xcode, aby uruchomić kompilację.
Domyślnie nowa kompilacja jest wyzwalana za każdym razem, gdy deweloper wypycha do skonfigurowanej gałęzi. Ten proces jest określany jako "Ciągła integracja". Jeśli wolisz ręcznie wyzwolić nową kompilację, możesz zmienić to ustawienie w konfiguracji kompilacji.
Po włączeniu CFBundleVersion
funkcja w Info.plist
aplikacji automatycznie zwiększa się dla każdej kompilacji. Zmiana odbywa się przed kompilacją i nie zostanie zatwierdzona w repozytorium.
Uwaga
Aby utworzyć pracę numeru kompilacji przyrostowej, nadaj nazwę .plist file
na *Info.plist
przykład Production-Info.plist
.
Jeśli wybrany schemat ma akcję testową z wybranym obiektem docelowym testu, można skonfigurować testy do uruchomienia w ramach każdej kompilacji. Centrum aplikacji może obecnie uruchamiać testy jednostkowe XCTest.
Tworzenie aplikacji systemu iOS dla rzeczywistych urządzeń wymaga podpisania jej przy użyciu prawidłowych poświadczeń. Aby zalogować kompilacje w centrum aplikacji, włącz logowanie kodu w okienku konfiguracji i przekaż profil aprowizacji () oraz prawidłowy certyfikat (.mobileprovision
.p12
), wraz z hasłem certyfikatu.
Ustawienia w projekcie Xcode muszą być zgodne z przekazywanymi plikami. Więcej informacji na temat logowania kodu można uzyskać w oficjalnej dokumentacji dla deweloperów firmy Apple.
Aplikacje z rozszerzeniami aplikacji lub systemu watchOS wymagają podpisania dodatkowego profilu aprowizacji dla każdego rozszerzenia.
Użyj nowo utworzonego .ipa
pliku, aby sprawdzić, czy aplikacja zostanie uruchomiona na rzeczywistym urządzeniu. Uruchomienie na rzeczywistym urządzeniu spowoduje dodanie około 10 minut do całkowitego czasu kompilacji. Dowiedz się więcej na temat konfigurowania testów uruchamiania.
Program App Center skanuje wybraną gałąź i jeśli znajdzie plik Podfile, automatycznie wykona pod install
krok na początku każdej kompilacji. Ten krok zapewni zainstalowanie wszystkich zależności.
Ostrzeżenie
Jeśli repozytorium zawiera już folder /Pods , w centrum aplikacji założono, że zaewidencjonowane zasobniki w repozytorium nie będą już wykonywane pod install
. Jeśli usuniesz lub zmodyfikujesz folder /Pods , konieczne może być ręczne ponowne utworzenie konfiguracji kompilacji przy użyciu lub Save
Save and Build
zastosowanie aktualizacji.
Można skonfigurować każdą pomyślną kompilację z gałęzi, która ma być dystrybuowana do wcześniej utworzonej grupy dystrybucyjnej. Nową grupę dystrybucyjną można dodać z sekcji Dystrybucja. Zawsze istnieje domyślna grupa dystrybucyjna o nazwie "Współpracownicy", która obejmuje wszystkich użytkowników, którzy mają dostęp do aplikacji.
Po zapisaniu konfiguracji nowa kompilacja zostanie automatycznie uruchomiona.
Po wyzwoleniu kompilacji może ona znajdować się w następujących stanach:
- queued — kompilacja jest w kolejce czekająca na zwolnienie zasobów.
- building — kompilacja uruchamia wstępnie zdefiniowane zadania.
- powodzenie — kompilacja została ukończona i zakończyła się pomyślnie.
- failed — kompilacja została ukończona, ale nie powiodła się. Możesz rozwiązać problem, sprawdzając dzienniki kompilacji.
- anulowano — kompilacja została anulowana przez akcję użytkownika lub upłynął limit czasu
W przypadku ukończonej kompilacji (zakończonej powodzeniem lub niepowodzeniem) pobierz dzienniki, aby dowiedzieć się więcej na temat sposobu działania kompilacji. Usługa App Center udostępnia archiwum z następującymi plikami:
|-- 1_build.txt (this is the general build log)
|-- build (this folder contains a separate log file for each build step)
|-- <build-step-1> (e.g. 2_Get Sources.txt)
|-- <build-step-2> (e.g. 3_Pod install.txt)
|--
|-- <build-step-n> (e.g. n_Post Job Cleanup.txt)
Dzienniki specyficzne dla kroków kompilacji (znajdujące się w build/
katalogu archiwum) są przydatne do rozwiązywania problemów i zrozumienia, w jakim kroku i dlaczego kompilacja nie powiodła się.
Plik .ipa
jest plikiem archiwum aplikacji urządzenia z systemem iOS zawierającym aplikację systemu iOS.
- Niepodpisane kompilacje nie będą tworzyć
.ipa
pliku. Artefaktem niepodpisanej kompilacji jest.xcarchive
plik, którego można użyć do wygenerowania.ipa
pliku za pomocą organizatora Xcode Archives. - Jeśli kompilacja jest poprawnie podpisana,
.ipa
plik można zainstalować na rzeczywistym urządzeniu odpowiadającym profilowi aprowizacji używanemu podczas podpisywania. Więcej szczegółowych informacji na temat podpisywania i dystrybucji kodu za pomocą centrum aplikacji można znaleźć w dokumentacji podpisywania kodu systemu iOS w Centrum aplikacji. - Jeśli kompilacja nie została podpisana,
.ipa
plik może zostać podpisany przez dewelopera (na przykład lokalnie przy użyciu codesign) lub użyty do innych celów (na przykład przekazać do usługi Test na potrzeby testowania interfejsu użytkownika na rzeczywistych urządzeniach lub uruchomić w symulatorze).
Pliki .dsym
zawierają symbole debugowania dla aplikacji.
- Jeśli wcześniej zintegrowano zestaw SDK centrum aplikacji w aplikacji z włączonym modułem raportowania awarii, usługa raportowania awarii wymaga tego
.dsym
pliku dla kompilacji w celu wyświetlenia raportów awarii możliwych do odczytania przez człowieka (symboliczne). - Jeśli wcześniej zintegrowano inny zestaw SDK na potrzeby raportowania awarii w aplikacji (na przykład zestaw SDK usługi HockeyApp), odpowiednia usługa wymaga
.dsym
pliku do wyświetlania raportów awarii możliwych do odczytania przez człowieka.
Należy pamiętać, że .dsym
pliki nie zmieniają się podczas podpisywania .ipa
kodu . Jeśli zdecydujesz się na podpisanie kodu kompilacji później, .dsym
wygenerowany przed podpisaniem kodu będzie nadal prawidłowy.
Szczegóły wersji programu Xcode kompilacji są aktualizowane za każdym razem, gdy jest dodawana nowa wersja programu Xcode. Sprawdzamy najnowsze wersje wydane przez firmę Apple i uwzględniamy je tak szybko, jak to możliwe na maszynach wirtualnych używanych do uruchamiania kompilacji.