I když aplikace funguje, Vám to stačí a nikdo si nestěžuje, přesto je třeba ji jednou za čas aktualizovat. Důvodem je tlak Apple a Google na podporu nových zařízení a zvyšování bezpečnostních standardů. Obě firmy totiž průběžně aktualizují „pravidla hry“ a aplikace je musí splňovat. Kontrola se zpravidla provádí při publikaci nové verze a tak na vývojáře tlačí, aby aplikace aktualizovali. V případě, že aplikaci delší dobu (několik let) neaktualizujete, obdržíte upozornění a pokud na něj nezareagujete, aplikace bude z obchodu stažena.
Takto může vypadat zpráva o odstranění aplikace a Apple App Store:
Dear Developer, On September 1, 2016, we announced that we will be implementing an ongoing process of evaluating and removing apps that no longer function as intended, don’t follow current review guidelines, or are outdated. We noticed that your app has not been updated in a significant amount of time. Next Steps To keep your app on the App Store, submit an updated version for review and make sure it follows the latest App Review Guidelines. If you are unable to submit an update within 30 days, your app will be removed from the App Store until you submit an update, and it is approved. If Your App is Removed Your app will remain fully functional for current users. They will experience no interruption to services, will still be able to buy in-app purchases, and can re-download the app while restoring from an iCloud or iTunes backup. However, we recommend that you update your app as soon as possible to reinstate it on the App Store and ensure that it remains functional and engaging for new and existing customers. You can continue to use your current app name, as your app has not been deleted from your account. However, please note that if your app name is longer than 50 characters, you will need to modify it to meet current naming guidelines. Additional Information Learn more about changes to the App Store and keeping your apps up-to-date. App Store Improvements App Review Resources Debugging Your Apps Best regards, App Store Review
Určitě vydáváním průběžných aktualizací alespoň 1x za rok. Uživatelé mají v obchodě možnost vidět datum poslední aktualizace i celkovou historii. Aplikace, na které je vidět, že bývá aktualizovaná, vzbuzuje také větší důvěryhodnost. Při pravidelných aktualizacích se nové požadavky obchodů, vyšší technologické a bezpečnostní standardy řeší průběžně.
Pokud už ke stažení aplikace z obchodu došlo, je třeba oprášit zdrojové kódy, udělat kompletní aktualizaci a aplikaci znovu vypublikovat. V těchto případech se může stát, že původní programátor již není k dispozici, nebo nejsou k sehnání zdrojové kódy. Také se může ukázat, že aktualizace by byla tak náročná, že je lepší aplikaci naprogramovat znovu. Bohužel, technologický pokrok je rychlý a nemilosrdný, v oblasti mobilních aplikací o to víc.
V prosinci 2020 jsme aktualizovali technologicky nenáročnou aplikaci, která pomáhá zákazníkům e-shopu opakovat poslední objednávku. Pro zákazníka aplikace přináší lepší uživatelský komfort a časovou úsporu. Pro prodejce zvýšenou loajalitu a udržení stávájících zákazníků, snížení rizika zachvácení konkurencí.
Aplikace byla vypublikována na konci léta 2014. V té době se horečnatě očekávalo vydání iPhone 6 a Samsung S5 byl na světě 6 měsíců. Pro 3 obrazovky, které aplikace obsahuje, jsme si tenkrát vystačili s jquery a cordovou, tvorba celé aplikaci zabrala pár desítek hodin včetně napojení na e-shop a publikci. Protože dlouhodobě fungovala dobře, nebyla potřeba něco měnit ani aktualizovat. Přesto ji Apple z obchodu odstranil pro neplnění aktuálních podmínek obchodu.
Je třeba zmínit, že protože se jednalo pro verzi pro platformu iOS, bylo vhodné provádět aktualizaci na Mac OS. S jiným operačním systémem, např. s Windows, je sice také možné pro iOS vyvíjet, ale na úkor komfortu a času.
Aktualizace obsahovala následující činnosti:
Aktualizovat verzi platformy
Nejprve proběhla aktualizace verzí platformy Cordova. Bylo třeba aktualizovat některé konfigurační soubory, některé doplnit. Také bylo třeba doplnit skripty pro automatickou kompilaci – CI.
Vygenerovat nový provisioning profile
Pro testování na fyzických zařízení bylo třeba vygenerovat nový provisioning profile. Poté se podařilo aplikaci prvně spustit a ověřit její funkčnost. Ukázalo se, že je třeba opravit několik drobností a funkce, které přestaly pracovat úplně.
Nahradit UIWebView novým WKWebVies
Od podzimu roku 2020 musí povinně všechny aplikace používat pro zobrazování HTML obsahu komponentu WKWebView. Použití UIWebView je zakázáno a
Nastavit na serveru hlavičky CORS
Hybridní mobilní aplikace, které interně používají webový prohlížeč, potřebují pro komunikaci se serverem správně nastavené hlavičky CORS. Ty slouží k zabezpečení přístupu k obsahu pouze oprávněným aplikacím. V době, kdy aplikace vznikala, byla tato bezpečnostní politika dobrovolná, dnes je nezbytná. V případě serveru, který používá PHP, stačilo přidat následující řádky:
if (isset($_SERVER["HTTP_ORIGIN"])) { header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}"); } header("Access-Control-Allow-Credentials: true"); if (isset($_SERVER["HTTP_ACCESS_CONTROL_REQUEST_HEADERS"])) { header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}"); } if (isset($_SERVER["HTTP_ACCESS_CONTROL_REQUEST_METHOD"])) { header("Access-Control-Allow-Methods: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']}"); }
Opravit otevírání odkazů v novém okně
Technika, která se v minulosti používala, již z bezpečnostních důvodů dál není možná a na nových verzích iOS nefunguje vůbec. Řešením bylo přidání pluginu cordova-plugin-inappbrowser a drobná úprava kódu.
Opravit status bar
IPhone X přišel nejen s oblými rohy obrazovky, ale také s jinou formou horní části displeje, hovorově nazývané „uši“ nebo správně „notch“. Aby aplikace hezky vypadala, byl přidán plugin cordova-plugin-statusbar a nastavena stejná barva pozadí, jako mělo logo.
Obrázek – notch původní a opravený:
Opravit tlačítko ukončení aplikace
Po odeslání objednávky již není kam v aplikaci pokračovat, a proto je zde tlačítko na její ukončení. V nové verzi přestalo pracovat a bylo třeba je opravit přidáním pluginu s nativním, kódem, který ukončení provedl.
Doplnit chybějící ikony
Ve světě mobilních aplikací je běžné, že aplikace obsahuje ikony aplikace v různých formátech a rozměrech. Byly tedy doplněny ikony chybějících rozměrů.
Doplnit chybějící splash screeny
Situace se splash screeny je podobná té s ikonami. Byly tedy doplněny ikony chybějících rozměrů. Protože se v případě platformy ios jedná o cca 10 bitmap velkých rozměrů a navíc ve formátu PNG,
je do budoucna preferovaný způsob použití story boardu.
Nafotit obrazovky aplikaci
Povinnou součástí popisu aplikace v obchodě jsou nafocené obrazovky aplikace. Ty je třeba pořídit v několika předepsaných rozměrech:
Obrazovky se ve většině případů fotí v emulátoru.
Aktualizovat zastaralý záznam v obchodě
Zejména:
Vložit do obchodu zkompilovanou aplikaci
Nejprve je třeba aktualizovat distribuční certifikát a distribuční provisioning profile. Poté provést kompilaci aplikace a vytvořený balíček nahrát do obchodu. Nahrávání se neprovádí způsobem, na který jsme běžně zvyklí – tlačítkem „Upload“, ale Apple pro to používá program Transporter, který lze spustit pouze na Mac OS. Pokud Mac OS není k dispozici nebo při použití CI je možné použít alternativní iTMS řešení.
Schvalovací proces
Schvalovací proces má několik částí: 1. probíhá v programu Transporter ještě před odesláním. 2. probíhá ihned po odeslání, automaticky. 3. probíhá po odeslání vyplněného záznamu v obchodě schvalovacím týmem. Schvalovací proces má za cíl zajistit uživatelům funkční a bezpečnou aplikaci. Po úspěšném schválení je aplikace k dispozici uživatelům.
Někdy by se mohlo zdát, že „oprášit a vložit aplikaci do obchodu“ je činnost na pár kliků myši a 30 minut času. Takové očekávání mají mnohdy klienti i programátoři a výsledkem bývá rozčarování, přestože vše probíhalo bez větších komplikací a obtíží. Není to složitý proces, ale vezme si svůj čas, se kterým je třeba od začátku počítat.
blablabl