+420 603 755 610
info@inited.cz
flagEnglish (Angličtina)
flagČeština
Vývoj mobilních aplikací - firma INITED Solutions s.r.o.
  • Domů
  • Pro agentury
  • Pro firmy
  • Ukázky naší práce
  • Blog
  • Náš tým
  • Kontakt
Aktualizace iOS aplikace

Aplikaci odstranili z App Store – Proč? A co teď?

20.1.2021Jaroslav Pavlíček

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

 

Jak takové situaci předcházet

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ž se to stane

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.

Praktický příklad – aktualizace aplikace Čas krmení

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í.

Situace

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.

Řešení

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ý:

Čas krmení - notch - blbě Čas krmení - notch - správně

 

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ů.

Čas krmení - chybějící ikony

Čas krmení – chybějící ikony

 

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.

Čas krmení - chybějící splashe

Čas krmení – chybějící splashe

 

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:

  • iPhone Xs Max
  • iPhone 8 Plus
  • iPad Pro (12.9-inch) (4th generation)

Obrazovky se ve většině případů fotí v emulátoru.

Čas krmení - nafocené obrazovky do obchodu

Čas krmení – nafocené obrazovky do obchodu

Aktualizovat zastaralý záznam v obchodě
Zejména:

  • podmínky zpracování osobních údajů
  • vyfocené obrazovky aplikace (staré byly naprosto nepoužitelné)
  • další popisy, které se v té době nepřidávaly
  • možnost přidat další odkazy

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.

Na závěr

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.

Jaroslav Pavlíček
Jaroslav je certifikovaný architekt (TOGAF) s 25+ lety praxe v IT. Díky tomu mají naše mobilní aplikace vysokou technickou úroveň a jsou postavené na spolehlivých technologiích. Své zkušenosti získával na projektech v zahraničí (Velká Británie, Malta) a vedle INITED působí jako konzultant Adobe Experience Manager, AEM.
Předchozí článek Co to jsou widgety a jak umí vylepšit Vaši aplikaci? Další článek Proč firmy mění IT dodavatele?

Kategorie článků

  • Marketing a prodej (18)
  • Mobilní aplikace (28)
  • Mobilní telefony a HW/Ostatní (8)
  • Ostatní (9)
  • Top (6)
  • Trendy (20)
  • Z naší dílny (12)

Přečtěte si také

  • Jak pracuje… Projektový manažer II
  • 5 způsobů, jak využít rozšířenou realitu v mobilní aplikaci (a proč se vám to vyplatí)
  • Jak oslovit klienty? 61 % firem preferuje push notifikace
  • Co přinese Android 13? Méně notifikací i omezené instalace aplikací
  • Vývoj mobilních aplikací pro WordPress
  • Jak pracuje… Projektový manažer I
  • Povinnost požádat o zrušení účtu na iOS
  • 3 důvody, proč bude méně telefonů (a co to znamená pro mobilní aplikace)
  • Jak tvoříme vaše aplikace aneb 6 etap vývoje mobilních aplikací: bonus č. 2
  • Zájem o mobilní aplikace roste. Lidé v nich tráví stále víc času
  • Příležitost pro agentury: kvalitní aplikace potřebuje průzkum trhu i PR
  • Digitální peněženky zaplavily smartphony. Jakou příležitost nabízí běžným firmám?
  • Jak tvoříme vaše aplikace aneb 6 etap vývoje mobilních aplikací: bonus č. 1
  • Statistiky mobilních zařízení v ČR – jaro 2022
  • Gamifikace je zlatý grál pro zvýšení engagementu uživatelů
  • ASO je obdoba SEO ve světě mobilních aplikací
  • Jak tvoříme vaše aplikace aneb 6 etap vývoje mobilních aplikací VI
  • Jak tvoříme vaše aplikace aneb 6 etap vývoje mobilních aplikací V
  • Je třeba řešit „Declare your Ad ID permission“ ?
  • Jak tvoříme vaše aplikace aneb 6 etap vývoje mobilních aplikací IV

Ahoj 123

blablabl

  • Domů
  • Pro agentury
  • Pro firmy
  • Ukázky naší práce
  • Blog
  • Náš tým
  • Kontakt
© 2020 Created by Provocado
Užíváme cookies, abychom vám zajistili co možná nejsnadnější použití našich webových stránek. Pokud budete nadále prohlížet naše stránky předpokládáme, že s použitím cookies souhlasíte.OkPrivacy policy