Przeczytaj w języku angielskim

Udostępnij za pośrednictwem


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:

  1. Nawiązywanie połączenia z kontem usługi repozytorium (GitHub, Bitbucket, VSTS, Azure DevOps)
  2. Wybierz repozytorium i gałąź, w której znajduje się aplikacja
  3. 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.

1. Łączenie repozytorium

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.

2. Wybieranie gałęzi

Po wybraniu repozytorium wybierz gałąź, którą chcesz skompilować. Domyślnie zostaną wyświetlone wszystkie aktywne gałęzie.

3. Konfigurowanie pierwszej kompilacji

Skonfiguruj projekt systemu iOS przed pierwszą kompilacją.

3.1 Projekt/obszar roboczy i schemat

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.

Oznaczanie schematu jako udostępnionego

3.2. Wersja programu Xcode

Wybierz wersję programu Xcode, aby uruchomić kompilację.

3.3. Wyzwalacze kompilacji

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.

3.4. Numer kompilacji przyrostowej

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.

3.5. Testy

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.

3.6. Podpisywanie kodu

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.

3.7. Uruchamianie udanej kompilacji na rzeczywistym urządzeniu

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.

3.8. CocoaPods

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 SaveSave and Build zastosowanie aktualizacji.

3.9. Dystrybuowanie do grupy dystrybucyjnej

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.

4. Wyniki kompilacji

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

4.1. Dzienniki kompilacji

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ę.

4.2. Aplikacja (ipa)

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).

4.3. Plik symboli (dsym)

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 .ipakodu . Jeśli zdecydujesz się na podpisanie kodu kompilacji później, .dsym wygenerowany przed podpisaniem kodu będzie nadal prawidłowy.

Obsługiwane wersje i wymagania

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.