Znane problemy

Poniżej opisano zachowania, jakie mogą wystąpić podczas korzystania z aplikacji AppStudio oferującej rozwiązania zastępcze lub działania, które można podjąć w celu rozwiązania problemu.

W witrynie Wsparcie można zgłaszać błędy wykryte w aplikacji AppStudio oraz wyszukiwać informacje o tych, które są już znane.

Instalacja i konfiguracja

Konfigurowanie i rozszerzanie aplikacji

Tworzenie plików instalacyjnych

Przesyłanie do sklepu

Instalacja i konfiguracja

W systemie Linux po dwukrotnym kliknięciu pliku .run wczytuje się Centrum oprogramowania Ubuntu i wyświetlany jest komunikat o błędzie. Dlaczego?

Przy pobieraniu pliku .run z internetu jego uprawnienia wykonywania są zablokowane. Aby je włączyć, postępuj zgodnie z poniższymi czynnościami:

  1. Kliknij prawym przyciskiem myszy plik .run.
  2. Przejdź na kartę Uprawnienia.
  3. Zaznacz pole wyboru Zezwól na uruchamianie pliku jako program.
  4. Kliknij przycisk Zamknij.

Teraz po dwukrotnym kliknięciu pliku .run uruchomi się kreator instalacji.

Aplikacja ArcGIS AppStudio nie uruchamia się i został wyświetlony komunikat o błędzie informujący, że brakuje pliku api-ms-win-crt-runtime-l1-1-0.dll.

Ten komunikat oznacza, że w składnikach systemu Windows brak elementu Universal C Runtime wymaganego do uruchomienia aplikacji AppStudio. Składniki te zostały zawarte w aktualizacji systemu Windows, którą można pobrać z witryny Pomoc techniczna systemu Windows.

Aplikacja ArcGIS AppStudio nie działa w miejscu pracy użytkownika, tylko poza firmą.

Najbardziej prawdopodobną przyczyną jest to, że w miejscu pracy dostęp do internetu jest kontrolowany za pomocą automatycznego skryptu konfiguracyjnego opartego na regułach. Taka forma serwera proxy nie jest aktualnie wykrywana przez aplikację AppStudio, co oznacza, że może negatywnie wpływać na zdolność aplikacji do łączenia się z usługą ArcGIS Online. W takim przypadku konieczne może być wyłączenie automatycznego skryptu konfiguracyjnego i ręczne skonfigurowanie serwera proxy za pomocą kombinacji adresu i portu.

W systemie Windows opcje sterujące tym zachowaniem można znaleźć w oknie Ustawienia sieci lokalnej (LAN) dostępnym w oknie Opcje internetowe.

Konsola aplikacji AppStudio nie odbiera dzienników konsoli.

Jest tak prawdopodobnie dlatego, że komunikaty protokołu UDP (User Datagram Protocol) wyświetlane przez narzędzie Konsola zostały odfiltrowane lub zablokowane przez zaporę. Ten problem można rozwiązać, wyłączając zaporę lub zezwalając na wyjątki dotyczące pakietów UDP na czas korzystania z narzędzia Konsola. W przypadku bardziej zaufanych sieci można także zresetować zaporę i wybrać opcję zezwalania na pakiety UDP na żądanie.

Moja aplikacja ArcGIS Runtime ulega awarii w systemie Windows.

Prawdopodobną przyczyną tego jest fakt, że sterownik karty graficznej komputera z systemem Windows nie spełnia minimalnych wymagań. Dla widoków map 2D wyświetlanych w aplikacjach ArcGIS Runtime minimalnym wymaganiem jest biblioteka OpenGL w wersji 2.1, a dla widoków scen 3D — w wersji 3.2. Zaleca się używanie najnowszych dostępnych sterowników.

Nie mogę utworzyć urządzenia wirtualnego z systemem Android w celu przetestowania moich aplikacji.

Jeśli maszyny wirtualne są używane do testowania aplikacji na wielu platformach, nie można na nich uruchamiać emulatorów systemu Android. Jest tak, ponieważ emulatory systemu Android korzystają z technologii Hardware Accelerated Execution Manager (HAXM), mechanizmu wizualizacji, który nie obsługuje zagnieżdżonych maszyn wirtualnych. Emulator systemu Android można uruchamiać tylko na prawdziwych komputerach.

Mam zainstalowane oprogramowanie Android Studio, ale aplikacja AppStudio nie rozpoznaje go.

Aplikacja AppStudio najpierw szuka plików w domyślnym położeniu pakietu Android Studio. Jeśli lokalizacja pakietu SDK systemu Android została skonfigurowana w programie Qt Creator, aplikacja AppStudio użyje właśnie tej lokalizacji.

Domyślne ścieżki do pakietu SDK na poszczególnych platformach są następujące:

  • Windows: Users/YourName/AppData/Local/Android/sdk
  • macOS: ~/Library/Android/sdk
  • Linux: ~/Android/Sdk

Pliki używane do zapełniania listy urządzeń wirtualnych muszą znajdować się w następujących folderach:

  • Konfiguracja AVD jest odczytywana z podkatalogów znajdujących się w katalogu ~/.android.
  • Kod uwierzytelniania emulatora jest odczytywany z katalogu ~/.emulator_console_auth_token.
  • Ścieżka poleceń adb to <SDKPATH>/platform-tools/adb.
  • Ścieżka poleceń emulatora to <SDKPATH>/tools/emulator.

Tekst jest przekształcany na mowę w języku arabskim w systemie iOS 14.

Na urządzeniach z systemem iOS 14 lub nowszym nie wszystkie głosy przekształcania na mowę są domyślnie dostępne. W związku z tym, gdy alerty są odczytywane, może pojawić się nieoczekiwany język, zwykle arabski.

Pliki głosowe można pobrać na urządzenie ręcznie. Aby je pobrać, wybierz opcję Settings (Ustawienia) > Accessibility (Dostępność) > Voice Over (Lektor) > Speech (Mowa) > Voice (Głos) i pobierz jeden z głosów zgodny z językiem używanym na urządzeniu. Język urządzenia jest dostępny po dotknięciu opcji Settings (Ustawienia) > General (Ogólne) > Language & Region (Język i region) > iPhone Language (Język iPhone'a).

Przy następnym uruchomieniu aplikacji AppStudio Player lub zbudowanej aplikacji zostanie użyty pobrany głos.

Moja aplikacja AppStudio 5.0 nie uruchamia się w systemie Ubuntu.

Aplikacje zbudowane w aplikacji AppStudio 5.0 wymagają, aby w systemie Ubuntu zainstalowany był pakiet libxcb-xinerama0. Aby zainstalować ten pakiet, w oknie terminala uruchom polecenie sudo apt update, a po nim sudo apt install libxcb-xinerama0. Aby potwierdzić zainstalowanie tego pakietu, uruchom polecenie apt list libxcb-xinerama0.

Okno dialogowe logowania aplikacji AppStudio jest wyświetlane w postaci białego ekranu w systemie Ubuntu 22.04.

Aby zapewnić wyświetlanie okna dialogowego logowania w tej wersji systemu Ubuntu, zmienna środowiskowa QTWEBENGINE_DISABLE_SANDBOX musi być ustawiona na wartość 1. Aby ustawić tę zmienną środowiskową, w oknie terminalu uruchom polecenie export QTWEBENGINE_DISABLE_SANDBOX=1. Aby potwierdzić, że zmienna środowiskowa jest ustawiona, uruchom polecenie printenv | grep QTWEBENGINE_DISABLE_SANDBOX i sprawdź, czy zwracana jest wartość QTWEBENGINE_DISABLE_SANDBOX=1.

Konfigurowanie i rozszerzanie aplikacji

Moja istniejąca aplikacja Szybki raport nie daje się uruchomić i wyświetla komunikat o błędzie Cannot assign to non-existing property onComposeError (Nie można przypisać do nieistniejącej właściwości onComposeError).

Począwszy od wersji 4.3 aplikacji AppStudio, sposób sygnalizacji błędów przez aplikację do tworzenia wiadomości e-mail się zmienił.

Aby naprawić błąd, należy otworzyć aplikację w środowisku Qt Creator, odszukać plik LandingPage.qml i zmienić onComposeError na onErrorChanged (w okolicach wiersza nr 655).

Nie mogę zidentyfikować warstwy sceny w aplikacji szablonu przeglądarki scen 3D Scene Viewer.

Jest to znany problem, który najprawdopodobniej zostanie rozwiązany w przyszłej wersji.

Moje zapytania SQL kończą się niepowodzeniem i pojawia się informacja, że tabela bazy danych jest zablokowana lub że połączenie jest nadal w użyciu.

Są to dwa oddzielne błędy spowodowane tym, że uruchamiane jest drugie zapytanie wykorzystujące komponent AppFramework.SQLQuery, zanim pierwsze zapytanie zostanie zakończone. Błędów tych można uniknąć poprzez użycie metody finish do poinformowania aplikacji, że pozostałe wyniki pierwszego zapytania nie są wymagane, lub poprzez zapewnienie, że wszystkie wyniki są wymagane za pomocą iteracyjnych wywołań metody next.

Metody value i setValue modułu AppFramework.SecureStorage zwracają następujący błąd w mojej aplikacji w systemie macOS: The username or passphrase you entered is not correct (Wprowadzono niepoprawną nazwę użytkownika lub hasło).

Aplikacja zbudowana dla systemu macOS korzystająca z modułów SecureStorage i ArcGIS Runtime musi być podpisana, aby uzyskać dostęp do systemowego łańcucha znaków. Więcej informacji można znaleźć w temacie Podpisywanie aplikacji systemu macOS.

Moja aplikacja zachowuje się w nieoczekiwany sposób podczas używania klawiatury SwiftKey keyboard w systemie Android.

Jest to znany problem środowiska Qt, który najprawdopodobniej zostanie rozwiązany w przyszłej wersji. Jeśli w aplikacji używane jest przewidywanie tekstu, klawiatura SwiftKey może powodować nieprawidłowe wyświetlanie wprowadzonych danych i obliczeń. Klawiatury SwiftKey czasami nie można otworzyć ponownie, jeśli zostanie użyty klawisz Enter.

Jeśli do map typu TiledLayer lub VectorTiledLayer zostanie przekazana wartość false klucza apiKey, mapa zostanie wyświetlona, ale jej styl będzie nieoczekiwany.

Mapy TiledLayer lub VectorTiledLayer nadal będą wyświetlane po podaniu klucza apiKey z wartością false, ale zostanie wyświetlony styl domyślny. Styl niestandardowy wymaga poprawnego klucza apiKey.

Tworzenie plików instalacyjnych

Nie mogę utworzyć aplikacji dla systemu iOS bez określania certyfikatu.

W przeciwieństwie do innych platform aplikacje systemu iOS wymagają przed ich utworzeniem, nawet do celów testowych, obecności podpisanego certyfikatu produkcyjnego. Próba utworzenia aplikacji bez takiego certyfikatu kończy się niepowodzeniem. Informacje o sposobach uzyskiwania i obsługiwania tych certyfikatów można znaleźć w temacie Obsługa zasobów podpisujących w Przewodniku dystrybucji aplikacji firmy Apple. Należy także przypisać aplikacji odpowiedni identyfikator pakietu, co można wykonać, otwierając okno Ustawienia w panelu bocznym aplikacji AppStudio i przechodząc do karty iOS pod nagłówkiem Platformy. Więcej informacji można znaleźć w temacie Podpisywanie aplikacji systemu iOS.

Pojawił się następujący komunikat o błędzie: Profil alokacji „ABC” ma identyfikator aplikacji „com.abc.xyz”, który nie jest zgodny z identyfikatorem zbioru „com.xyz.abc”.

Ten błąd wskazuje, że nie ustawiono identyfikatora zbioru w systemie iOS. Wybierz opcję Ustawienia > Platforma > iOS > Identyfikator zbioru i zadbaj o to, aby identyfikator zbioru był zgodny z tym, który znajduje się w profilu alokacji.

Pojawił się następujący komunikat o błędzie dotyczący budowania: Profil alokacji nie jest profilem „ABC”.

Błąd ten wskazuje, że wybrana metoda dystrybucji nie odpowiada typowi profilu alokacji dostarczonemu wraz z żądaniem budowania. Przejdź do opcji Ustawienia > Platforma > iOS > Metoda dystrybucji i zadbaj o to, aby metoda dystrybucji była zgodna z typem profilu alokacji używanym w żądaniu budowania.

Pojawił się następujący komunikat o błędzie dotyczący budowania: Błąd podpisywania kodu: profil alokacji „ABC” nie zawiera certyfikatu podpisującego „DEF”.

Błąd ten wskazuje, że w profilu alokacji używanym do budowania aplikacji brakuje informacji. Upewnij się, że plik p12 używany do budowania aplikacji zawiera zarówno certyfikat, jak i klucz prywatny.

Pojawił się następujący komunikat o błędzie dotyczący budowania: Błąd podpisywania kodu: profil alokacji „ABC” nie obsługuje funkcji powiązanych domen.

Błąd ten wskazuje, że aplikacja definiuje łącze do Twojej aplikacji do użycia przez inne aplikacje, które nie jest zarejestrowane w developers.apple.com. Więcej informacji zawiera dokumentacja firmy Apple na stronie Allowing Apps and Websites to Link to Your Content (Zezwalanie aplikacjom i witrynom na łączenie się z Twoimi zasobami).

Pojawił się następujący komunikat o błędzie dotyczący budowania: Nieprawidłowe parametry podpisywania w systemie Android.

Ten błąd może pojawić się, jeśli próbujesz zbudować aplikację na innym komputerze niż poprzednio. Plik KeyStore nie jest zapisywany w elemencie aplikacji. W elemencie tym zapisywane jest tylko odwołanie do jego lokalizacji. Aby sprawdzić, czy masz dostęp do właściwego pliku KeyStore, wybierz opcję Ustawienia > Platforma > Android i upewnij się, że ścieżka do pliku KeyStore i alias Key są prawidłowe.

Przesyłanie do sklepu

Odrzucenie przez sklep z powodu następującego błędu Error ITM-90717: Invalid App Store Icon (Błąd ITM-90717: nieprawidłowa ikona App Store).

Błąd ten jest spowodowany albo obecnością przezroczystych pikseli, albo kanału alfa w ikonie aplikacji. Usuń te elementy z ikony, przebuduj pliki instalacyjne aplikacji i ponownie prześlij aplikację do sklepu. To ograniczenie dotyczy tylko sklepu iOS App Store. Przejrzystość w ikonach aplikacji jest dozwolona na innych platformach. Ikony aplikacji specyficzne dla danej platformy możesz określić, edytując plik appinfo.json swojego projektu. W aplikacji AppStudio wybierz swoją aplikację z galerii i kliknij opcję Edytuj. Wybierz plik appinfo.json i zmodyfikuj element resources w taki sposób, aby zawierał właściwości appIcon dla każdej platformy, podobnie jak w następującym przykładzie:

"resources": {

        "android": {
            "appIcon": "assets/android_appicon.png"
        },

        "ios": {
            "appIcon": "assets/ios_appicon.png"
        },

        "linux": {
            "appIcon": "linux_appicon.png"
        },

        "macos": {
            "appIcon": "mac_appicon.png"
        },

        "windows": {
            "appIcon": "windows_appicon.png"
        },

        "appIcon": "allNotSpecifiedOperatingSystems_appicon.png"

},

Podano nieprawidłowy identyfikator zbioru (iOS) lub nazwę pakietu (Android).

Podczas tworzenia pozycji w sklepie z aplikacjami należy zdefiniować unikalny identyfikator danej aplikacji. Ten identyfikator jest zazwyczaj w formacie com.TwojaDomena.NazwaAplikacji. Należy wprowadzić taki sam identyfikator w opcji Ustawienia > Platforma > Android lub Ustawienia > Platforma > iOS. Po wpisaniu unikalnego identyfikatora kliknij opcję Zastosuj i prześlij aplikację do instytucji ArcGIS przez zażądaniem budowania.

Komunikat ostrzegawczy dotyczący niezoptymalizowanego pakietu APK.

Przy przesyłaniu pakietu APK do sklepu Google Play może pojawić się komunikat ostrzegawczy z informacją, że pakiet APK nie jest zoptymalizowany i zaleceniem użycia pakietów aplikacji. Jest to ostrzeżenie, które nie wyklucza możliwości kontynuowania procesu publikowania aplikacji w sklepie Google Play. Aplikacja AppStudio będzie obsługiwała pakunki aplikacji w przyszłości.