Udostępnij za pośrednictwem


Rozwiązywanie problemów z powiązaniami platformy Blazor dla urządzeń przenośnych

Ważne

Ten projekt jest wersją eksperymentalną. Mamy nadzieję, że wypróbujesz eksperymentalne powiązania platformy Blazor dla urządzeń przenośnych i przekażesz opinię na stronie https://github.com/xamarin/MobileBlazorBindings.

Próba uruchomienia w systemie iOS z powodu błędu "brak klucza podpisywania kodu systemu iOS"

Jeśli zdecydujesz się uruchomić projekt systemu iOS, może zostać wyświetlony błąd wskazujący, że nie ma żadnych kluczy podpisywania kodu systemu iOS. Może to oznaczać, że próbujesz wdrożyć na fizycznym urządzeniu z systemem iOS (takim jak iPhone), ale bez odpowiedniej konfiguracji. Jeśli zamierzasz używać symulatora systemu iOS, wybrano platformę docelową iPhoneSimulator.

Wybór platformy docelowej iPhone i iPhoneSimulator

Aplikacja hybrydowa nie wyświetla zawartości internetowego interfejsu użytkownika HTML

Zawartość internetowego interfejsu użytkownika HTML, która nie jest wyświetlana, może być spowodowana kilkoma przyczynami. Sprawdź każdą z nich w aplikacji:

  1. Sprawdź niezgodność wersji przeglądarki. Internetowy interfejs użytkownika jest wyświetlany w składniku przeglądarki hostowanym w aplikacji natywnej. Składnik przeglądarki może być zależny od zainstalowanych przeglądarek internetowych na urządzeniu.

    W przypadku platformy WPF (Windows) sprawdź, czy masz kanał Kanary przeglądarki Microsoft Edge. Ta wersja przeglądarki Microsoft Edge jest instalowana obok innych instalacji przeglądarki Microsoft Edge.

  2. Sprawdź błędy skryptu w składniku przeglądarki. Zapoznaj się z tematem debugowania aplikacji hybrydowych , aby dowiedzieć się, jak sprawdzić błędy skryptu przeglądarki.

  3. Sprawdź, czy projekt specyficzny dla platformy wywołuje odpowiednią WebViewBlazorHybridInit metodę (niektóre odmiany mogą być oczekiwane):

    • Android: w wywołaniu MainActivity.csBlazorHybridAndroid.Init()metody pliku OnCreate :

         protected override void OnCreate(Bundle savedInstanceState)
         {
             Microsoft.MobileBlazorBindings.WebView.Android.BlazorHybridAndroid.Init();
         ...
           ```
      
      
    • iOS: w wywołaniu Main.csBlazorHybridIOS.Init()metody pliku Main :

         static void Main(string[] args)
         {
             Microsoft.MobileBlazorBindings.WebView.iOS.BlazorHybridIOS.Init();
             ...
      
    • Windows: w wywołaniu BlazorHybridWindows.Init()konstruktora App.cs pliku MainWindow :

         public MainWindow()
         {
             Microsoft.MobileBlazorBindings.WebView.Windows.BlazorHybridWindows.Init();
             ...
      
    • macOS: w wywołaniu Main.csBlazorHybridMacOS.Init()metody pliku Main :

         private static void Main(string[] args)
         {
             Microsoft.MobileBlazorBindings.WebView.macOS.BlazorHybridMacOS.Init();
             ...
      

Aplikacja hybrydowa nie ładuje statycznych zasobów, takich jak CSS i obrazy

Jeśli aplikacja hybrydowa wyświetla zawartość renderowaną w formacie HTML, ale bez arkuszy CSS i obrazów, może to oznaczać, że nie można odnaleźć zasobów statycznych.

Oto niektóre możliwe przyczyny i poprawki:

  • Upewnij się, że jest używana poprawna ścieżka. Do zasobów statycznych odwołuje się wzorzec ścieżki pliku statycznego blazor, czyli _content/<PROJECT_NAME>/path/to/the/file.css. Na przykład w projekcie o nazwie MySampleProject plik CSS znajdujący się w pliku wwwroot/css/bootstrap/bootstrap.min.css będzie przywoływał jako _content/MySampleProject/css/bootstrap/bootstrap.min.css.

  • W przypadku systemów Android, iOS i macOS upewnij się, że projekt specyficzny dla platformy ma bezpośrednie odwołanie do projektu lub pakietu zawierającego zasoby statyczne. Typ używanego pliku CSPROJ wymaga, aby odwołanie było bezpośrednie (projekt-projekt), a nie tylko przechodnie (czyli projekt-projekt-projekt-projekt). (Projekty systemu Windows nie wymagają tego).

Style CSS nie działają

Zapoznaj się z sekcją rozwiązywania problemów z arkuszami CSS.

Gdzie znaleźć więcej rozwiązań

Jeśli nadal jesteś zablokowany lub masz pytanie, skontaktuj się z repozytorium GitHub , rejestrując problem.