/ / Aplikacja na iPhone'a w stanie zawieszenia, uruchomiona przez URL, pokazująca Default.png - iphone, ios

Aplikacja iPhone w stanie zawieszenia, uruchomiona przez URL, wyświetlająca Default.png - iphone, ios

Aplikacja odpowiada na niestandardowy URL i poprawnie uruchamia się w stanie zawieszenia. Pytanie brzmi, czy mogę wyłączyć wyświetlanie Default.png po uruchomieniu w ten sposób?

Przypadek użycia dla jasności:

  1. aplikacja uruchamia się normalnie
  2. Naciśnięcie przycisku Home przełącza aplikację w tryb gotowości
  3. adres URL schematu rozpoznanego przez aplikację jest wybierany w mobilnym safari
  4. użytkownicy widzą Default.png przed zakończeniem uruchamiania.

Jak zapewne wiesz, gdy szybkie przełączanie aplikacjiaktywuje się zwykle aplikacja jest ponownie wyświetlana ze zrzutem ekranu ostatniego stanu, a nie z Default.png. To, co wolałbym, aby się działo, gdy ma miejsce również uruchomienie adresu URL.

Odpowiedzi:

3 dla odpowiedzi № 1

Wygląda na to, że to, co się dzieje, polega na tym, że szybkie przełączanie aplikacji w rzeczywistości nie działa. Więc:

  1. Upewnij się, że tworzysz aplikację dla SDK dla OS 4.0. Jeśli tego nie zrobisz, aplikacja nie będzie obsługiwała szybkiego przełączania aplikacji.

  2. Sprawdź, czy szybkie przełączanie aplikacji normalnie (w przeciwnym razie) działa z Twoją aplikacją. TO ZNACZY. po przełączeniu się na safari, a następnie ponownym uruchomieniu aplikacji, czy otrzymujesz „default.png”?

  3. Uruchom aplikację w debugerze, ale na swoimrzeczywiste urządzenie. Rozwiąż problem, przejdź do Organizatora i przejrzyj dzienniki urządzeń. To pokaże Ci, czy wystąpił problem z małą ilością pamięci, który spowodował, że Twoja aplikacja została zakończony, kiedy Safari zostało uruchomione, co wymaga, aby było ponownie uruchomiony po wybraniu adresu URL.

  4. Wierzę, że były dwa mechanizmy. W mojej aplikacji nie wspieram "Uruchom z URL" - ale co ja what zrobić do obsługuje wywołanie Delegata Aplikacji:

-(BOOL) application:(UIApplication *) application handleOpenURL:(NSURL *) url {

To może być różnica - to jest połączenie, które można wykonać do aplikacji, która jest bieganie do dłoń to adres URL do przetworzenia. Jeśli używasz innej techniki, użyj tej zamiast. Używam tego i nie widzę "default.png" - tj. nie wywołuję "czystego ponownego uruchomienia", gdy jestem wywoływany.


3 dla odpowiedzi № 2

Oto możliwe obejście.To powodowało ból głowy przy próbie bezproblemowego powrotu z procesu pojedynczego logowania na Facebooku. Chciałem, aby pojawił się powrót do obszaru logowania mojej aplikacji, zamiast ponownego uruchamiania aplikacji, mimo że weryfikowałem w każdym możliwe, że aplikacja rzeczywiście wracała z szybkiego przełączania aplikacji i nie uruchamiała się ponownie.

Chociaż nie mogłem znaleźć żadnego sposobu, aby zmusić aplikację do wyświetlenia zrzutu ekranu poprzedniego stanu, odkryłem, że aplikacja wyświetli domyślny-schemat.png (na przykład Default-fb12345.png lub Default-appname.png) po wywołaniu z adresem URL. Jeśli więc zrzut ekranu przełączania po aplikacji jest dość przewidywalny, pobierz zrzut ekranu z symulatora iOS i skopiuj go do swojej aplikacji. Uznałbym to za błąd iOS. Aplikacja powinna zawsze wyświetlać ostatni zrzut ekranu podczas przełączania aplikacji, a nie Domyślny-schemat.png po prostu dlatego, że w grę wchodzi adres URL.

Inną możliwością, której nie testowałem, byłoby dowiązanie symboliczne domyślnego pakietuschemat.png (i domyślnie-schemat@2x.png) do pliku migawki w katalogu domowym aplikacji. W większości sytuacji będzie to Library/Caches/Snapshots/[Identyfikator pakietu]/UIApplicationAutomaticSnapshotDefault-Portrait@2x.jpg (chyba że jest to aplikacja pozioma lub iPad). Jeśli stan aplikacji jest nieprzewidywalny, ale orientacja jest stała, to może być dobra opcja do wypróbowania.


0 dla odpowiedzi № 3

Upewnij się, że masz ustawiony klucz „Wymagane tryby tła” w Info.plist do funkcji, której potrzebuje aplikacja. Jeśli nie ma jej na liście, po prostu używam „App Plays Audio”, aby utrzymać ją otwartą.