2014-09-24 21 views
7

Jestem w trakcie budowania aplikacji internetowej i wystąpił problem z iOS 8. Należy pamiętać, że jest to specyficzne dla iOS 8, ponieważ działa dobrze w poprzednich wersjach.Ekran aplikacji internetowej iOS 8 kurczy się po załadowaniu aplikacji aparatu

Mam stronę, która ładuje zdjęcia zrobione bezpośrednio z telefonu lub tabletu. Używam następującego linku, aby zadzwonić do aplikacji aparatu:

<input type="file" accept="image/*" capture="camera" name="files[]"> 

Aplikacja aparatu otwiera się zgodnie z oczekiwaniami i robi zdjęcie bez problemu. Jednak po zamknięciu aplikacji aparatu i powrocie do aplikacji internetowej wysokość ekranu zmniejsza się o ponad połowę. Nie ma sposobu, aby poprawić oczekiwanie na zamknięcie i ponowne uruchomienie aplikacji.

można zobaczyć jak to wygląda po zrobieniu zdjęcia tutaj: Screencast

Wydaje się, jakby ekran pozostaje w krajobrazie. Jednak obracanie urządzenia tylko go pogarsza.

Zakładam, że jest to błąd systemu iOS 8, ale zastanawia się, czy ktoś ma jakieś pomysły na poprawienie lub obejście problemu.

Ostatnia uwaga, problem pojawia się tylko podczas działania jako aplikacja internetowa. Podczas korzystania z safari to działa.

FYI - oto meta tagi używam:

 <!-- Run in full-screen mode. --> 
     <meta name="apple-mobile-web-app-capable" content="yes"> 
     <meta name="mobile-web-app-capable" content="yes"> 

     <!-- Make the status bar black with white text. --> 
     <meta name="apple-mobile-web-app-status-bar-style" content="black"> 

     <!-- Customize home screen title. --> 
     <meta name="apple-mobile-web-app-title" content="DigiSite"> 

     <!-- Disable phone number detection. --> 
     <meta name="format-detection" content="telephone=no"> 

     <!-- Set viewport. --> 
     <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> 

     <!-- Startup images --> 

     <!-- iOS 6 & 7 iPad (retina, portrait) --> 
     <link href="http://img.digisite.us/splash.png?w=1536&h=2008&c=<br /> 
<b>Notice</b>: Undefined index: background in <b>/home5/digisite/public_html/mobile/mobileHeader.php</b> on line <b>22</b><br /> 
&n=lumentum" 
     media="(device-width: 768px) and (device-height: 1024px) 
     and (orientation: portrait) 
     and (-webkit-device-pixel-ratio: 2)" 
     rel="apple-touch-startup-image"> 

     <!-- iOS 6 & 7 iPad (retina, landscape) --> 
     <link href="http://img.digisite.us/splash.png?w=1496&h=2048&c=&n=lumentum" 
     media="(device-width: 768px) and (device-height: 1024px) 
     and (orientation: landscape) 
     and (-webkit-device-pixel-ratio: 2)" 
     rel="apple-touch-startup-image"> 

     <!-- iOS 6 iPad (portrait) --> 
     <link href="http://img.digisite.us/splash.png?w=768&h=1004&c=&n=lumentum" 
     media="(device-width: 768px) and (device-height: 1024px) 
     and (orientation: portrait) 
     and (-webkit-device-pixel-ratio: 1)" 
     rel="apple-touch-startup-image"> 

     <!-- iOS 6 iPad (landscape) --> 
     <link href="http://img.digisite.us/splash.png?w=748&h=1024&c=&n=lumentum" 
     media="(device-width: 768px) and (device-height: 1024px) 
     and (orientation: landscape) 
     and (-webkit-device-pixel-ratio: 1)" 
     rel="apple-touch-startup-image"> 

     <!-- iOS 6 & 7 iPhone 5 --> 
     <link href="http://img.digisite.us/splash.png?w=640&h=1096&c=&n=lumentum" 
     media="(device-width: 320px) and (device-height: 568px) 
     and (-webkit-device-pixel-ratio: 2)" 
     rel="apple-touch-startup-image"> 

     <!-- iOS 6 & 7 iPhone (retina) --> 
     <link href="http://img.digisite.us/splash.png?w=640&h=920&c=&n=lumentum" 
     media="(device-width: 320px) and (device-height: 480px) 
     and (-webkit-device-pixel-ratio: 2)" 
     rel="apple-touch-startup-image"> 

Dziękuję w zaawansowany.

+0

Otwarty problem na jabłko bug reportera. Identyfikator problemu: 19599472 –

+0

Widziałem ten problem również na ios8. –

Odpowiedz

1

Widzę ten sam problem na iPadzie 2 z systemem iOS8. Wydaje się, że ma to związek z orientacją, w której otwierasz swoją aplikację. Jeśli otwieramy aplikację w trybie pionowym, a następnie przełączymy się na poziomą (poziomą), działa ona prawidłowo. Dopiero gdy aplikacja zostanie otwarta w orientacji poziomej, zmniejszy się obszar wyświetlania.

Nie udało się odtworzyć tego problemu na iOS7.

Przed zarejestrowaniem zdjęcia: iPad before photo capture

Po zdobyciu zdjęć: iPad after photo capture

+0

Interesujące, czy wiesz, czy istnieje sposób na odświeżenie widoku, kiedy to nastąpi ?. Tak naprawdę nie ma sposobu, aby uniemożliwić użytkownikowi uruchomienie aplikacji aparatu w określonej orientacji. –

+0

Nie jestem pewien David. Próbuję wymusić przeładowanie ekranu bez powodzenia. Zgłosiłem błąd do Apple # 18444627, jeśli masz konto Apple dev, myślę, że możesz je zobaczyć na https://bugreport.apple.com. –

+0

Dzięki Ben !!! Oto kroki, które należy ręcznie poprawić podczas korzystania z aplikacji internetowej. Mam nadzieję, że to pomoże komuś. [ScreenCast z Manual Fix] (http://screencast.com/t/1mwIur5Z8) –

1

Ben, jesteś absolutnie poprawne jest to iOS 8 błędów. Nie mogę ustalić, jak programowo obejść go. Jeśli ktoś ma jakieś pomysły, podziel się z nami. Ale jest sposób, aby ręcznie poprawić.

Problem zdaje się wynikać z tego, że aplikacja aparatu nieprawidłowo identyfikuje właściwą pozycję. Na moim iPhonie aplikacja aparatu zawsze otwiera się w trybie portretowym, nawet jeśli jest trzymana w pozycji poziomej. Jeśli to wykryjesz, po prostu obracaj urządzenie, aż automatycznie poprawi pozycję. Zajęło mi dwie próby, zanim się poprawiła. Po wybraniu odpowiedniego trybu kliknij "Użyj zdjęcia" i wszystko jest w porządku. Tak jak powiedział Ben, tak długo, jak aplikacja internetowa i aplikacja aparatu są w tej samej orientacji, wszystko jest w porządku. Jeśli nie są one portem widokowym Twojej aplikacji internetowej, port będzie pomieszany. Gdy to nastąpi, jedynym wyjściem jest zamknięcie aplikacji i ponowienie próby. Jeszcze jeden interesujący węzeł, zdarza się tylko przy uruchomieniu aplikacji pełnoekranowej. Jeśli przebiegniesz przez safari jak normalna strona internetowa, nie ma problemu.

Udokumentowałem tutaj kroki, aby upewnić się, że powyższe stwierdzenie jest jasne. http://screencast.com/t/1mwIur5Z8.

Mam nadzieję, że pomoże to innym. Mamy nadzieję, że Apple to poprawi.

Dziękuję Ben za zgłoszenie usterki firmie Apple!

1

Mam dokładnie ten sam problem. Otworzyłem wypełnienie i wysłanie w bugtracker Apple na sie-6, ale nikogo to nie obchodzi: -/
Wydaje się mieć coś wspólnego z

<meta name="apple-mobile-web-app-status-bar-style" content="black"> 

Jeśli nie korzystać z tego tagu masz nakładających się pasek stanu , ale robienie zdjęć nie zmienia już rozmiaru ekranu.

Edit:
Pełny przykład:

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="utf-8"> 
    <meta name="apple-mobile-web-app-capable" content="yes"> 
    <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> 
    <meta name="apple-touch-fullscreen" content="yes"> 
    </head> 
    <body><h1>Test</h1> 
    <p>Capture a photo using camera</p> 
     <input type="file" capture="camera" accept="image/*"> 
    </body> 
</html> 
+0

Próbowałem usunąć ten metatag, ale osobiście nie widziałem żadnych zmian. Wygląda na to, że iOS 8 jest gorszy niż w poprzednich wersjach. Dzięki za komentarz może to komuś pomóc. Dziękuję również za otwarcie kolejnego zgłoszenia błędu. Być może, jeśli wystarczająco dużo osób podniesie ten problem, zostanie rozwiązany. –

+0

Po dodaniu strony do ekranu głównego może być konieczne ponowne jej dodanie po zmianie kodu. Dodałem trochę więcej kodu do mojej odpowiedzi. Pracował na iPadzie 3 z iOS 8.0.2 bez zmiany rozmiaru ekranu po zrobieniu zdjęcia – aLiEnHeAd