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.
Problemy podczas instalacji
- W konsoli wyszukaj dziennik Assert z komunikatem "SDK App Center został pomyślnie skonfigurowany". Komunikat oznacza, że zestaw SDK został pomyślnie skonfigurowany.
- Jeśli używasz narzędzia Cocoapods do integracji centrum aplikacji w aplikacji systemu iOS i napotkasz błąd z komunikatem —
CocoaPods - Unable to find a specification for AppCenter
uruchom poleceniepod repo update
, aby zaktualizować lokalne repozytorium Cocoapods, a następnie uruchompod install
ponownie. - Jeśli używasz CocoaPods do integracji App Center w aplikacji iOS i podczas kompilacji projektu wystąpi błąd z komunikatem —
framework not found AppCenter.xcframework
, musisz zaktualizować (ponownie zainstalować) CocoaPods do najnowszej wersji, uruchamiając polecenie[sudo] gem install cocoapods
. - Jeśli integrujesz pliki binarne zestawu SDK ręcznie, upewnij się, że masz włączone moduły dla projektu.
Dane analizy nie są wyświetlane w portalu
Upewnij się, że moduły zestawu SDK zostały poprawnie zintegrowane.
Upewnij się, że prawidłowy tajny klucz aplikacji został dołączony wraz z wywołaniem metody
start:withServices:
. Możesz skopiować dokładnystart:withServices:
kod, otwierając aplikację w portalu i przechodząc do strony Wprowadzenie .Jeśli chcesz zobaczyć dzienniki wysyłane do zaplecza, zmień poziom dziennika na Pełne w aplikacji. Następnie SDK wyświetli dzienniki w konsoli. Wstaw następujące wywołanie przed uruchomieniem zestawu SDK:
[MSACAppCenter setLogLevel:MSACLogLevelVerbose]
AppCenter.logLevel = .verbose
Upewnij się, że komunikat "Zestaw SDK centrum aplikacji został pomyślnie skonfigurowany" w dziennikach (na poziomie dziennika INFO ), a następnie sprawdź, czy widzisz dzienniki żądań HTTPS.
Upewnij się, że urządzenie jest w trybie online.
Czasami może zająć kilka minut, zanim dzienniki pojawią się w portalu. Poczekaj chwilę, jeśli tak jest.
Aby sprawdzić, czy zaplecze usługi App Center odebrało dane, przejdź do sekcji Przepływ dzienników w usłudze Analytics . Twoje zdarzenia powinny pojawić się, gdy zostaną wysłane.
Awarie nie są wyświetlane w portalu
Upewnij się, że moduły zestawu SDK zostały poprawnie zintegrowane.
Upewnij się, że prawidłowa tajemnica aplikacji jest dołączona przy wywołaniu metody
start:withServices:
. Możesz skopiować dokładnystart:withServices:
kod, otwierając aplikację w portalu i przechodząc do strony Wprowadzenie .Awarie usługi App Center będą przekazywać dziennik awarii dopiero po ponownym uruchomieniu aplikacji. Ponadto zestaw SDK nie będzie przekazywać żadnych dzienników awarii, jeśli jesteś dołączony do debugera. Upewnij się, że debuger nie jest dołączony podczas awarii aplikacji.
Jeśli chcesz zobaczyć dzienniki wysyłane do zaplecza, zmień poziom dziennika na Pełne w aplikacji. Następnie SDK wyświetli dzienniki w konsoli. Wstaw następujące wywołanie przed uruchomieniem zestawu SDK:
[MSACAppCenter setLogLevel:MSACLogLevelVerbose]
AppCenter.logLevel = .verbose
Upewnij się, że komunikat "Zestaw SDK centrum aplikacji został pomyślnie skonfigurowany" w dziennikach (na poziomie dziennika INFO ), a następnie sprawdź, czy widzisz dzienniki żądań HTTPS.
Nie używaj żadnych innych bibliotek, które zapewniają funkcje raportowania awarii. W aplikacji można zintegrować tylko jeden zestaw SDK raportowania awarii.
Upewnij się, że urządzenie jest w trybie online.
Czasami dzienniki mogą pojawić się w portalu po kilku minutach. Poczekaj chwilę, jeśli tak jest.
Sprawdź, czy zestaw SDK wykrył awarię podczas następnego uruchomienia aplikacji. Możesz wywołać interfejs API, aby sprawdzić, czy aplikacja uległa awarii w ostatniej sesji i wyświetli alert. Możesz też rozszerzyć wywołanie zwrotne awarii
didSucceedSendingErrorReport
, aby sprawdzić, czy został pomyślnie wysłany na serwer.Aby sprawdzić, czy backend App Center odebrał awarię, przejdź do sekcji Przepływ logów w usłudze Analytics. Awarie powinny się tam pojawić, gdy tylko zostaną wysłane.
Alert informujący użytkowników o aktualizacji nie zawiera ciągów, a jedynie odpowiadające im klucze
Oznacza to, że AppCenterDistributeResources.bundle
element nie został dodany do projektu. Upewnij się, że plik został umieszczony w projekcie Xcode i jest widoczny w fazie kompilacji celu twojej aplikacji Copy Bundle Resources
. Powinno się tam pojawić, jeśli plik został dodany przez przeciąganie i upuszczanie — program Xcode wykonuje go automatycznie. Jeśli w fazie kompilacji brakuje pliku, dodaj go, aby został skompilowany w pakiecie aplikacji.
Jeśli używasz narzędzia Cocoapods, automatycznie zajmuje się zasobami. Spróbuj ponownie zainstalować pod.
W konsoli są wyświetlane komunikaty wskazujące, że nie można otworzyć bazy danych
Począwszy od wersji 0.11.0 zestawu SDK systemu iOS, usługa App Center używa biblioteki SQLite do utrwalania dzienników przed wysłaniem ich do zaplecza. Jeśli do swojej aplikacji dołączasz własną bibliotekę SQLite zamiast korzystać z tej udostępnianej przez system operacyjny, w konsoli mogą pojawić się błędy, takie jak [AppCenter] ERROR: -[MSACDBStorage executeSelectionQuery:]/147 Failed to open database
, i nie będą widoczne żadne dane analityczne ani dotyczące awarii w backendzie. Zaktualizuj zestaw SDK do wersji 0.13.0 lub nowszej.
Aktualizacje dystrybucji i aplikacji blokują automatyczne testy interfejsu użytkownika
Jeśli aktualizacje w aplikacji są włączone, będą blokować automatyczne testy interfejsu użytkownika. Proces aktualizacji podejmie próbę uwierzytelnienia w zapleczu Centrum Aplikacji. Zalecamy, aby nie włączać usługi App Center Distribute dla docelowego testu interfejsu użytkownika.
Dlaczego zestaw SDK jest dystrybuowany jako "biblioteka statyczna"
Podstawowymi celami projektowymi zestawu SDK App Center są minimalny wpływ na aplikację korzystającą z App Center oraz zapewnienie modułowego zestawu SDK. Spowodowałoby to dystrybuowanie zestawu SDK jako kilku dynamicznych połączonych bibliotek udostępnionych.
Jednak App Center jest dystrybuowany jako biblioteka statycznie połączona udostępniana, która jest owinięta w 'fat' sztuczny framework. Oznacza to, że zestaw SDK jest połączony w czasie kompilacji , a nie w czasie uruchamiania, aby uzyskać lepszą wydajność. Ładowanie wielu dynamicznych połączonych bibliotek udostępnionych zajmuje trochę czasu.
Firma Apple zaleca optymalizację uruchamiania aplikacji, aby nie przekraczała 400 ms w sesji WWDC. W szczególności zalecają stosowanie statycznych bibliotek współdzielonych zamiast dynamicznych, aby osiągnąć ten cel. Rozpowszechnianie zestawu SDK centrum aplikacji dla systemu iOS jako statycznie połączonej biblioteki udostępnionej jest zgodne z zaleceniem firmy Apple, aby zapewnić najlepszą wydajność i minimalny wpływ na aplikację, która zawiera zestaw SDK.
Aby dowiedzieć się więcej o bibliotekach współdzielonych z linkowaniem statycznym a bibliotekach współdzielonych z linkowaniem dynamicznym, zalecamy ogólną dokumentację Apple na ten temat.
Dlaczego pliki binarne zestawu SDK są tak duże? Martwię się o rozmiar aplikacji
Pliki binarne AppCenter są dystrybuowane jako struktury "fat", które zawierają wycinki dla wszystkich architektur iPhone'a i symulatora iPhone'a. Dlatego na przykład plik AppCenter.framework to 10,5 MB do pobrania.
Skompilowany rozmiar plików binarnych zestawu SDK będzie znacznie mniejszy niż ten, który dodajesz do aplikacji w środowisku Xcode. Należy również pamiętać, że kompilacje wydania również będą mniejsze niż kompilacje debugowania.
Aby zilustrować to, utworzyliśmy pustą aplikację Objective-C przy użyciu Xcode 9.2, dodaliśmy pliki binarne usługi App Center do aplikacji i dystrybuowaliśmy kompilacje wydania do iPhone'a 7 z systemem iOS 11.3.
Uruchomiliśmy testy bez włączonego kodu bitowego i nie używaliśmy funkcji rozrzedzania aplikacji. Możesz użyć tych technik, aby jeszcze bardziej zmniejszyć rozmiar binarny aplikacji.
Poniższe liczby mogą się różnić i zależeć od ustawień kompilacji, więc traktuj je jako orientacyjną wskazówkę. Oznacza to, że dodanie zestawu SDK App Center do aplikacji ma minimalny wpływ na wielkość pliku binarnego aplikacji.
Używane moduły usługi App Center | Wyeksportowany rozmiar IPA | Rozmiar instalacji |
---|---|---|
Brak (pusta aplikacja) | 24 KB | 132 KB |
Analiza usługi App Center | 120 KB | 377 KB |
Awaria usługi App Center | 239 KB | 705 KB |
Dystrybucja w Centrum aplikacji | 163 KB | 528 KB |
Wszystkie moduły usługi App Center | 314 KB | 930 KB |
Chroń tajną wartość centrum aplikacji
app_secret
jest identyfikatorem aplikacji, który jest wymagany, aby wiedzieć, do której aplikacji odnosi się ruch sieciowy, ale nie może być używany do pobierania ani edytowania istniejących danych. Jeśli twoje app_secret
jest narażone, największym ryzykiem jest wysłanie złych danych do aplikacji, ale nie wpłynie to na bezpieczeństwo danych.
Aby pobrać wszelkie poufne dane, należy podać token aplikacji/użytkownika, który jest generowany po stronie klienta. Nie ma możliwości całkowitego zabezpieczenia danych po stronie klienta.
Zabezpieczenie aplikacji można poprawić, używając zmiennej środowiskowej do wstrzykiwania tajnych danych aplikacji do kodu. W ten sposób sekret nie jest widoczny w kodzie.