Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ważne
Program Visual Studio App Center został wycofany 31 marca 2025 r. z wyjątkiem funkcji analizy i diagnostyki, które będą nadal obsługiwane do 30 czerwca 2026 r. Dowiedz się więcej.
Usługa App Center Distribute umożliwi użytkownikom zainstalowanie nowej wersji aplikacji podczas jej dystrybucji za pośrednictwem centrum aplikacji. Po udostępnieniu nowej wersji aplikacji zestaw SDK wyświetli użytkownikom okno dialogowe aktualizacji, aby pobrać lub odroczyć nową wersję. Po wybraniu aktualizacji zestaw SDK zacznie aktualizować aplikację.
Uwaga / Notatka
Istnieje kilka kwestii, które należy wziąć pod uwagę podczas korzystania z aktualizacji w aplikacji:
- Jeśli aplikacja została wydana w sklepie App Store, aktualizacje w aplikacji zostaną wyłączone.
- Jeśli uruchamiasz zautomatyzowane testy interfejsu użytkownika, włączone aktualizacje w aplikacji zablokują automatyczne testy interfejsu użytkownika, ponieważ będą one próbowały uwierzytelnić się w zapleczu Centrum aplikacji. Zalecamy, aby nie włączać usługi App Center Distribute dla docelowego testu interfejsu użytkownika.
Uwaga / Notatka
W wersji 4.0.0
App Center wprowadzono zmiany powodujące niezgodność. Postępuj zgodnie z sekcją Migrate to App Center SDK 4.0.0 and higher (Migrowanie do zestawu APP Center SDK 4.0.0 i nowszych ), aby przeprowadzić migrację centrum aplikacji z poprzednich wersji.
Ważne
Zestaw SDK usługi App Center nie obsługuje wielu aplikacji okien, które zostały wprowadzone w systemie iOS 13.
Dodaj aktualizacje wewnątrz aplikacji
Postępuj zgodnie z sekcją Wprowadzenie , jeśli zestaw SDK nie został skonfigurowany w aplikacji.
1. Dodaj moduł dystrybucji App Center
Zestaw SDK centrum aplikacji został zaprojektowany z modułowym podejściem — wystarczy zintegrować moduły usług, które Cię interesują.
Integracja za pośrednictwem platformy Cocoapods
Jeśli integrujesz aplikację App Center z aplikacją za pomocą narzędzia Cocoapods, dodaj następującą zależność do pliku podfile i uruchom polecenie pod install
.
pod 'AppCenter/Distribute'
Integracja za pośrednictwem Carthage
Dodaj następującą zależność do elementu
Cartfile
aby uwzględnić dystrybucję aplikacji za pomocą App Center Distribute.# Use the following line to get the latest version of App Center github "microsoft/appcenter-sdk-apple"
# Use the following line to get the specific version of App Center github "microsoft/appcenter-sdk-apple" ~> X.X.X
Uruchom program
carthage update
.Otwórz kartę Ustawienia ogólne aplikacji docelowej. Przeciągnij i upuść plik AppCenterDistribute.framework z folderu Carthage/Build/iOS do sekcji Połączone struktury i biblioteki w programie XCode.
Przeciągnij i upuść AppCenterDistributeResources.bundle z struktury AppCenterDistribute.framework do nawigatora projektu XCode.
Zostanie wyświetlone okno dialogowe, upewnij się, że docelowa aplikacja jest zaznaczona. Następnie kliknij przycisk Zakończ.
Integracja za pośrednictwem menedżera pakietów Swift
- Z menu Xcode kliknij pozycję File > Swift Packages > Dodaj zależność pakietu.
- W wyświetlonym oknie dialogowym wprowadź adres URL repozytorium:
https://github.com/microsoft/appcenter-sdk-apple.git
. - W obszarze Wersja wybierz pozycję Do kolejnej wersji głównej, a następnie opcję domyślną.
- Wybierz pozycję AppCenterDistribute w kolumnie Produkt pakietowy.
Integracja przez skopiowanie plików binarnych do projektu
Jeśli nie chcesz używać narzędzia Cocoapods, możesz zintegrować moduły, kopiując pliki binarne do projektu. Wykonaj poniższe kroki:
Uwaga / Notatka
Zestaw SDK usługi App Center obsługuje korzystanie z programu XCframework
. Jeśli chcesz zintegrować element XCframeworks z projektem, pobierz AppCenter-SDK-Apple-XCFramework.zip ze strony wydania i rozpakuj go. Wynikowa zawartość folderu nie jest specyficzna dla platformy, a zamiast tego zawiera element XCframeworks dla każdego modułu. Można je zintegrować w taki sam sposób, jak w przypadku zwykłych struktur, jak opisano poniżej.
Pobierz struktury zestawu SDK centrum aplikacji udostępnione jako plik zip.
Rozpakuj plik i zobaczysz folder o nazwie AppCenter-SDK-Apple/iOS zawierający różne struktury dla każdej usługi App Center. Struktura o nazwie
AppCenter
jest wymagana w projekcie, ponieważ zawiera kod współużytkowany między różnymi modułami.[Opcjonalnie] Utwórz podkatalog dla bibliotek innych firm.
- Najlepszą praktyką jest to, że biblioteki innych firm zwykle znajdują się w podkatalogu, często nazywanym Vendor. Jeśli projekt nie jest zorganizowany przy użyciu podkatalogu dla bibliotek, utwórz teraz podkatalog Vendor .
- Utwórz grupę o nazwie Vendor wewnątrz projektu Xcode, aby naśladować strukturę plików na dysku.
Otwórz program Finder i skopiuj rozpakowany folder AppCenter-SDK-Apple/iOS do folderu projektu w lokalizacji, w której chcesz.
Dodaj strukturę ZESTAWU SDK do projektu w środowisku Xcode:
- Upewnij się, że nawigator projektu jest widoczny (⌘+1).
- Teraz przeciągnij i upuść plik AppCenter.framework, AppCenterDistribute.framework i AppCenterDistributeResources.bundle z narzędzia Finder (tych w folderze Vendor ) do nawigatora projektu Xcode. Do uruchomienia zestawu SDK jest wymagany program AppCenter.framework. Upewnij się, że został dodany do projektu, w przeciwnym razie inne moduły nie będą działać, a projekt nie zostanie pomyślnie skompilowany.
- Zostanie wyświetlone okno dialogowe, upewnij się, że docelowa aplikacja jest zaznaczona. Następnie kliknij przycisk Zakończ.
2. Rozpocznij dystrybucję przez App Center
Usługa App Center używa tylko określonych modułów wywoływanych w aplikacji. Podczas uruchamiania zestawu SDK należy jawnie wywołać każdą z nich.
2.1. Dodawanie importu dla dystrybucji centrum aplikacji
Otwórz plik AppDelegate.m projektu w pliku Objective-C lub AppDelegate.swift w języku Swift i dodaj następujące instrukcje importowania:
@import AppCenter;
@import AppCenterDistribute;
import AppCenter
import AppCenterDistribute
2.2. Dodawanie start:withServices:
metody
Dodaj Distribute
do metody start:withServices:
, aby uruchomić usługę dystrybucji App Center.
Wstaw następujący wiersz, aby uruchomić zestaw SDK w klasie projektu AppDelegate.m dla Objective-C lub w klasie AppDelegate.swift dla Swift w metodzie didFinishLaunchingWithOptions
.
[MSACAppCenter start:@"{Your App Secret}" withServices:@[[MSACDistribute class]]];
AppCenter.start(withAppSecret: "{Your App Secret}", services: [Distribute.self])
Upewnij się, że w powyższym przykładzie kodu zastąpiono {Your App Secret}
sekretem aplikacji. Zapoznaj się również z sekcją Wprowadzenie , jeśli zestaw SDK nie został skonfigurowany w aplikacji.
2.3 Modyfikowanie pliku Info.plist projektu
- W pliku Info.plist projektu dodaj nowy klucz
URL types
, klikając przycisk "+" obok pozycji "Lista właściwości informacji" u góry. Jeśli program Xcode wyświetli plik Info.plist jako kod źródłowy, zapoznaj się z poniższą poradą. - Zmień typ klucza na Tablica.
- Dodaj nowy wpis do tablicy (
Item 0
) i zmień typ na Słownik. - W obszarze
Item 0
dodajURL Schemes
klucz i zmień typ na Array. - Pod kluczem
URL Schemes
dodaj nowy wpis (Item 0
). - Pod
URL Schemes
>Item 0
, zmień wartość naappcenter-{APP_SECRET}
i zastąp{APP_SECRET}
kluczem tajnym aplikacji.
Wskazówka
Jeśli chcesz sprawdzić, czy zmodyfikowano plik Info.plist poprawnie, otwórz go jako kod źródłowy. Powinien on zawierać następujący wpis z wpisem tajnym aplikacji zamiast {APP_SECRET}
:
<key>CFBundleURLTypes</key>
<array>
<dict>
<key>CFBundleURLSchemes</key>
<array>
<string>appcenter-{APP_SECRET}</string>
</array>
</dict>
</array>
Korzystanie z prywatnej grupy dystrybucyjnej
Domyślnie usługa Distribute używa publicznej grupy dystrybucyjnej. Jeśli chcesz użyć prywatnej grupy dystrybucyjnej, musisz jawnie ustawić ją za pomocą updateTrack
właściwości.
MSACDistribute.updateTrack = MSACUpdateTrackPrivate;
Distribute.updateTrack = .private
Uwaga / Notatka
Wartość domyślna to UpdateTrack.public
. Tę właściwość można zaktualizować tylko przed wywołaniem AppCenter.start
metody. Zmiany ścieżki aktualizacji nie są utrwalane po ponownym uruchomieniu procesu aplikacji, dlatego jeśli właściwość nie jest zawsze aktualizowana przed AppCenter.start
wywołaniem, będzie ona domyślnie publiczna.
Po wywołaniu zostanie otwarte okno przeglądarki w celu uwierzytelnienia użytkownika. Wszystkie kolejne kontrole aktualizacji będą otrzymywać najnowszą wersję na ścieżce prywatnej.
Jeśli użytkownik znajduje się na ścieżce prywatnej, oznacza to, że po pomyślnym uwierzytelnieniu otrzymają najnowszą wersję z dowolnych prywatnych grup dystrybucyjnych, do których należy. Jeśli użytkownik znajduje się na ścieżce publicznej, oznacza to, że uzyska najnowszą wersję z dowolnej publicznej grupy dystrybucyjnej.
Wyłączanie automatycznego sprawdzania aktualizacji
Domyślnie zestaw SDK automatycznie sprawdza nowe wersje:
- Po uruchomieniu aplikacji.
- Gdy aplikacja przejdzie w tło, a następnie ponownie na pierwszy plan.
- Włączenie modułu Distribute, jeśli był wcześniej wyłączony.
Jeśli chcesz ręcznie sprawdzić dostępność nowych wersji, możesz wyłączyć automatyczne sprawdzanie aktualizacji. W tym celu przed uruchomieniem zestawu SDK wywołaj następującą metodę:
[MSACDistribute disableAutomaticCheckForUpdate];
Distribute.disableAutomaticCheckForUpdate()
Uwaga / Notatka
Ta metoda musi być wywoływana przed wywołaniem AppCenter.start
metody.
Następnie możesz użyć interfejsu checkForUpdate
API opisanego w poniższej sekcji.
Ręczne sprawdzanie pod kątem aktualizacji
[MSACDistribute checkForUpdate];
Distribute.checkForUpdate()
Spowoduje to wysłanie żądania do Centrum aplikacji i wyświetlenie okna dialogowego aktualizacji na wypadek dostępności nowej wersji.
Uwaga / Notatka
Ręczne sprawdzanie wywołania aktualizacji działa nawet wtedy, gdy są włączone aktualizacje automatyczne. Ręczne sprawdzanie aktualizacji jest ignorowane, jeśli jest już wykonywane inne sprawdzanie. Ręczna kontrola aktualizacji nie zostanie przetworzona, jeśli użytkownik odroczył aktualizacje (chyba że najnowsza wersja jest obowiązkową aktualizacją).
Dostosowywanie lub lokalizowanie okna dialogowego aktualizacji w aplikacji
1. Dostosowywanie lub lokalizowanie tekstu
Możesz łatwo podać własne ciągi zasobów, jeśli chcesz zlokalizować tekst wyświetlany w oknie dialogowym aktualizacji. Przyjrzyj się temu plikowi ciągów. Użyj tej samej nazwy lub klucza ciągu i określ zlokalizowaną wartość, która będzie widoczna w oknie dialogowym w plikach ciągów Twojej aplikacji.
2. Dostosowywanie okna dialogowego aktualizacji
Domyślny wygląd okna dialogowego aktualizacji można dostosować, implementując DistributeDelegate
protokół. Musisz zarejestrować pełnomocnika przed uruchomieniem zestawu SDK, jak pokazano w poniższym przykładzie:
[MSACDistribute setDelegate:self];
Distribute.delegate = self;
Oto przykład implementacji delegata, która zastępuje okno dialogowe zestawu SDK niestandardowym:
- (BOOL)distribute:(MSACDistribute *)distribute releaseAvailableWithDetails:(MSACReleaseDetails *)details {
// Your code to present your UI to the user, e.g. an UIAlertController.
UIAlertController *alertController = [UIAlertController
alertControllerWithTitle:@"Update available."
message:@"Do you want to update?"
preferredStyle:UIAlertControllerStyleAlert];
[alertController
addAction:[UIAlertAction actionWithTitle:@"Update"
style:UIAlertActionStyleCancel
handler:^(UIAlertAction *action) {
[MSACDistribute notifyUpdateAction:MSACUpdateActionUpdate];
}]];
[alertController
addAction:[UIAlertAction actionWithTitle:@"Postpone"
style:UIAlertActionStyleDefault
handler:^(UIAlertAction *action) {
[MSACDistribute notifyUpdateAction:MSACUpdateActionPostpone];
}]];
// Show the alert controller.
[self.window.rootViewController presentViewController:alertController animated:YES completion:nil];
return YES;
}
func distribute(_ distribute: Distribute, releaseAvailableWith details: ReleaseDetails) -> Bool {
// Your code to present your UI to the user, e.g. an UIAlertController.
let alertController = UIAlertController(title: "Update available.",
message: "Do you want to update?",
preferredStyle:.alert)
alertController.addAction(UIAlertAction(title: "Update", style: .cancel) {_ in
Distribute.notify(.update)
})
alertController.addAction(UIAlertAction(title: "Postpone", style: .default) {_ in
Distribute.notify(.postpone)
})
// Show the alert controller.
self.window?.rootViewController?.present(alertController, animated: true)
return true;
}
W przypadku, gdy w powyższej metodzie zwrócisz YES
/true
, aplikacja powinna uzyskać wybór użytkownika i wysłać komunikat do zestawu SDK z wynikiem, używając następującego interfejsu API.
// Depending on the user's choice, call notifyUpdateAction: with the right value.
[MSACDistribute notifyUpdateAction:MSACUpdateActionUpdate];
[MSACDistribute notifyUpdateAction:MSACUpdateActionPostpone];
// Depending on the user's choice, call notify() with the right value.
Distribute.notify(.update);
Distribute.notify(.postpone);
Jeśli nie wywołasz powyższej metody, metoda releaseAvailableWithDetails:
będzie powtarzana za każdym razem, gdy aplikacja wchodzi na pierwszy plan.
3. Wykonaj kod, jeśli nie znaleziono aktualizacji
W przypadkach, gdy zestaw SDK sprawdza dostępność aktualizacji i nie znajduje żadnych nowszych dostępnych niż aktualnie używana, jest wywoływana funkcja zwrotna delegata MSACDistributeDelegate
. Umożliwia to wykonywanie niestandardowego kodu w takich scenariuszach.
Poniżej przedstawiono przykłady pokazujące sposób wyświetlania interfejsu użytkownika alertu w przypadku braku znalezionych aktualizacji:
- (void)distributeNoReleaseAvailable:(MSACDistribute *)distribute {
UIAlertController *alert = [UIAlertController alertControllerWithTitle:nil
message:NSLocalizedString(@"No updates available", nil)
preferredStyle:UIAlertControllerStyleAlert];
[alert addAction:[UIAlertAction actionWithTitle:NSLocalizedString(@"OK", nil) style:UIAlertActionStyleDefault handler:nil]];
[self.window.rootViewController presentViewController:alert animated:YES completion:nil];
}
func distributeNoReleaseAvailable(_ distribute: Distribute) {
let alert = UIAlertController(title: nil, message: "No updates available", preferredStyle: .alert)
alert.addAction(UIAlertAction(title: "OK", style: .default, handler: nil))
self.window?.rootViewController?.present(alert, animated: true)
}
Włączanie lub wyłączanie funkcji App Center Distribute w czasie wykonywania
Możesz włączyć i wyłączyć dystrybucję usługi App Center w czasie działania aplikacji. Jeśli wyłączysz zestaw SDK, nie udostępni żadnych funkcji aktualizacji w aplikacji, ale nadal możesz korzystać z usługi Distribute w portalu App Center.
[MSACDistribute setEnabled:NO];
Distribute.enabled = false
Aby ponownie włączyć dystrybucję usługi App Center, użyj tego samego interfejsu API, ale przekaż YES
/true
je jako parametr.
[MSACDistribute setEnabled:YES];
Distribute.enabled = true
Stan jest utrwalany w magazynie urządzenia w ramach uruchamiania aplikacji.
Uwaga / Notatka
Ta metoda musi być używana tylko po uruchomieniu Distribute
.
Sprawdzanie, czy usługa App Center Distribute jest włączona
Możesz również sprawdzić, czy usługa App Center Distribute jest włączona, czy nie:
BOOL enabled = [MSACDistribute isEnabled];
var enabled = Distribute.enabled
Uwaga / Notatka
Ta metoda musi być używana tylko po uruchomieniu Distribute
. Zawsze zwróci false
przed rozpoczęciem.
Nie inicjuj App Center Distribute podczas rozwoju
Jeśli w trybie prywatnym, usługa App Center Distribute otworzy swój interfejs użytkownika lub przeglądarkę przy uruchamianiu aplikacji. Chociaż jest to oczekiwane zachowanie dla użytkowników końcowych, może to być destrukcyjne dla Ciebie na etapie programowania aplikacji. Nie zalecamy inicjowania Distribute
dla konfiguracji DEBUG
.
#if DEBUG
[MSACAppCenter start:@"{Your App Secret}" withServices:@[[MSACAnalytics class], [MSACCrashes class]]];
#else
[MSACAppCenter start:@"{Your App Secret}" withServices:@[[MSACAnalytics class], [MSACCrashes class], [MSACDistribute class]]];
#endif
#if DEBUG
AppCenter.start(withAppSecret: "{Your App Secret}", services: [Analytics.self, Crashes.self])
#else
AppCenter.start(withAppSecret: "{Your App Secret}", services: [Analytics.self, Crashes.self, Distribute.self])
#endif
Wykonaj czyszczenie bezpośrednio przed zamknięciem aplikacji na potrzeby aktualizacji
Zaimplementuj DistributeDelegate
protokół i zarejestruj delegata, jak pokazano w poniższym przykładzie:
[MSACDistribute setDelegate:self];
Distribute.delegate = self;
Metoda distributeWillExitApp:
delegata zostanie wywołana bezpośrednio przed zakończeniem działania aplikacji na potrzeby instalacji aktualizacji:
- (void)distributeWillExitApp:(MSACDistribute *)distribute {
// Perform the required clean up here.
}
func distributeWillExitApp(_ distribute: Distribute) {
// Perform the required clean up here.
}
Jak działają aktualizacje w aplikacji?
Uwaga / Notatka
Aby aktualizacje w aplikacji działały, należy pobrać kompilację aplikacji z linku. Nie będzie działać, jeśli zainstalowano je ze środowiska IDE lub ręcznie.
Funkcja aktualizacji w aplikacji działa w następujący sposób:
Ta funkcja będzie działać tylko z kompilacjami, które są dystrybuowane przy użyciu usługi App Center Distribute. Nie będzie działać, gdy debuger jest dołączony lub gdy funkcja Dostępu Prowadzonego systemu iOS jest włączona.
Po zintegrowaniu zestawu SDK utwórz wersję wydania aplikacji i przekaż ją do Centrum aplikacji, użytkownicy w tej grupie dystrybucyjnej będą powiadamiani o nowej wersji za pośrednictwem poczty e-mail.
Gdy każdy użytkownik otworzy link w wiadomości e-mail, aplikacja zostanie zainstalowana na swoim urządzeniu. Ważne jest, aby instalować aplikację za pomocą linku poczty e-mail — Usługa App Center Distribute nie obsługuje aktualizacji w aplikacji dla aplikacji zainstalowanych z innych źródeł (np. pobierania aplikacji z załącznika wiadomości e-mail). Po pobraniu aplikacji z linku zestaw SDK zapisuje ważne informacje z plików cookie w celu późniejszego sprawdzania dostępności aktualizacji. W przeciwnym razie zestaw SDK nie zawiera tych kluczowych informacji.
Jeśli aplikacja ustawia ścieżkę na prywatną, przeglądarka otworzy się w celu uwierzytelnienia użytkownika i włączenia aktualizacji w aplikacji. Przeglądarka nie będzie ponownie otwierana, o ile informacje o uwierzytelnieniu pozostają prawidłowe, nawet gdy przełączasz się z powrotem na kanał publiczny, a następnie ponownie na kanał prywatny. Jeśli uwierzytelnianie przeglądarki zakończy się pomyślnie, użytkownik zostanie automatycznie przekierowany z powrotem do aplikacji. Jeśli utwór jest publiczny (co jest ustawieniem domyślnym), następny krok odbywa się bezpośrednio.
- W systemach iOS 9 i 10, instancja
SFSafariViewController
zostanie otwarta w aplikacji, aby uwierzytelnić użytkownika. Zostanie ona zamknięta automatycznie po pomyślnych uwierzytelnieniach. - W systemie iOS 11 środowisko użytkownika jest podobne do systemów iOS 9 i 10, ale system iOS 11 poprosi użytkownika o pozwolenie na dostęp do informacji logowania. Jest to okno dialogowe na poziomie systemu i nie można go dostosować. Jeśli użytkownik anuluje okno dialogowe, może nadal używać testowej wersji, ale nie uzyska aktualizacji w aplikacji. Po następnym uruchomieniu aplikacji zostanie wyświetlony monit o uzyskanie dostępu do informacji logowania.
- W systemach iOS 9 i 10, instancja
W nowej wersji aplikacji jest wyświetlane okno dialogowe aktualizacji w aplikacji z prośbą użytkowników o zaktualizowanie aplikacji w następujących przypadkach:
- wyższa wartość
CFBundleShortVersionString
lub - równą wartość
CFBundleShortVersionString
, ale wyższą wartośćCFBundleVersion
. - wersje są takie same, ale unikatowy identyfikator kompilacji jest inny.
- wyższa wartość
Wskazówka
Jeśli prześlesz ten sam plik IPA po raz drugi, okno dialogowe NIE pojawi się, ponieważ pliki binarne są identyczne. Jeśli przekażesz nową kompilację z tymi samymi właściwościami wersji, zostanie wyświetlone okno dialogowe aktualizacji. Przyczyną tego jest to, że jest to inny plik binarny.
Jak przetestować aktualizacje w aplikacji?
Należy przekazać wersje produkcyjne, które używają modułu Distribute Zestawu SDK Centrum Aplikacji, do portalu Centrum Aplikacji w celu testowania aktualizacji aplikacji, zwiększając numer wersji za każdym razem.
- Utwórz aplikację w portalu Centrum aplikacji, jeśli jeszcze tego nie zrobiono.
- Utwórz nową grupę dystrybucyjną i nadaj jej nazwę, aby można było ją rozpoznać do testowania funkcji aktualizacji w aplikacji.
- Dodaj siebie (lub wszystkie osoby, które chcesz dołączyć do testu funkcji aktualizacji w aplikacji). Użyj nowego lub odrzuconego adresu e-mail, który nie był używany dla tej aplikacji w Centrum aplikacji. Dzięki temu twoje doświadczenie jest bliskie doświadczeniu rzeczywistych testerów.
- Utwórz nową kompilację aplikacji, która obejmuje dystrybucję usługi App Center i zawiera logikę konfiguracji zgodnie z poniższym opisem. Jeśli grupa jest prywatna, nie zapomnij ustawić prywatnej ścieżki aktualizacji w aplikacji przed rozpoczęciem korzystania z właściwości updateTrack.
- Kliknij przycisk Dystrybuuj nową wersję w portalu i przekaż kompilację aplikacji.
- Po zakończeniu przekazywania kliknij Dalej i wybierz Grupę dystrybucyjną, którą utworzyłeś jako Miejsce docelowe dystrybucji aplikacji.
- Przejrzyj dystrybucję i przekaż kompilację do grupy testowej w aplikacji.
- Osoby w tej grupie otrzymają zaproszenie do testerów aplikacji. Po zaakceptowaniu zaproszenia mogą pobrać aplikację z portalu Centrum aplikacji z urządzenia przenośnego. Po zainstalowaniu aktualizacji w aplikacji możesz przystąpić do testowania aktualizacji w aplikacji.
- Zaktualizuj nazwę wersji (
CFBundleShortVersionString
) aplikacji. - Skompiluj wersję wydania swojej aplikacji, przekaż nową kompilację aplikacji, podobnie jak w poprzednim kroku, a następnie rozpowszechnij ją w grupie dystrybucyjnej, którą wcześniej utworzyłeś. Członkowie grupy dystrybucyjnej będą monitowani o nową wersję przy następnym uruchomieniu aplikacji.
Wskazówka
Zapoznaj się z informacjami na temat sposobu korzystania z usługi App Center Distribute , aby uzyskać bardziej szczegółowe informacje na temat grup dystrybucyjnych itp. Chociaż można użyć usługi App Center Distribute do dystrybucji nowej wersji aplikacji bez dodawania jakiegokolwiek kodu, dodanie usługi App Center Distribute do kodu aplikacji spowoduje bardziej bezproblemowe środowisko dla testerów i użytkowników w miarę uzyskiwania środowiska aktualizacji w aplikacji.
Wyłącz przekazywanie wywołań metod delegata aplikacji do usług App Center
SDK App Center używa swizzlingu, aby poprawić integrację, przekazując sobie niektóre z wywołań metod delegata aplikacji. Modyfikowanie metody to sposób zmiany implementacji metod w czasie wykonywania programu. Jeśli z jakiegokolwiek powodu nie chcesz używać wizzlingu (np. z powodu określonej polityki), możesz wyłączyć tę funkcję we wszystkich usługach App Center, wykonując poniższe kroki:
- Otwórz plik Info.plist projektu.
- Dodaj
AppCenterAppDelegateForwarderEnabled
klucz i ustaw wartość na0
. Czynność wyłącza przekazywanie delegata aplikacji dla wszystkich usług App Center. - Dodaj wywołanie
openURL
w pliku projektuAppDelegate
.
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
// Pass the url to MSACDistribute.
return [MSACDistribute openURL:url];
}
func application(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {
// Pass the URL to App Center Distribute.
return Distribute.open(url)
}