Jan Holešínský

Vývojářský blog Jana Holešínského

Podle kategorie

Xamarin.Forms vydání aplikace na iOS 11

Jan Holešínský       7. 11. 2017             551 zobrazení

Po delší době (zhruba půl roku) jsme ve firmě potřebovali vydat aplikaci na iOS, která je postavena na technologii Xamarin.Forms. Od posledního vydání aplikace Apple vpustil do světa nový iOS, konkrétně verzi 11, která s sebou bohužel nese nové požadavky pro vývojáře. Zástupci firmy Apple se totiž rozhodli, že “starý” způsob poskytování ikon a lounch screenů, který byl založen na pojmenování a velikostech, už není vyhovující, a tak zavedli asset catalog.

Nově tedy aplikace musí využívat asset catalog, konkrétně soubor XYZ.xcassets. V případě, že se pokusíte vydat aplikaci bez použití tohoto catalogu, nahrávní aplikace přes Application Loader na macbooku projde a může se zdát, že má člověk vyhráno, bohužel je ale během několika minut odměněn emailem ve kterém stojí:

 

Dear developer,

We have discovered one or more issues with your recent delivery for "XYZ". To process your delivery, the following issues must be corrected:

Missing Info.plist value - A value for the Info.plist key 'CFBundleIconName' is missing in the bundle 'XYZ'. Apps built with iOS 11 or later SDK must supply app icons in an asset catalog and must also provide a value for this Info.plist key. For more information see http://help.apple.com/xcode/mac/current/#/dev10510b1f7.

Once these issues have been corrected, you can then redeliver the corrected binary.

Regards,

The App Store team

 

Snadné řešení

Myslím, že se shodneme, že popis problému je jednoznačný, chybí asset catalog. Na fórech píší, že v případě založení nového projektu Xamarin.iOS je asset catalog používán by default. Doufám, že v tomto případě budete mít víc štěstí než já, protože v mém případě nenastala žádná změna. Po delší době strávené vyhledáváním podobných problémů jsem zjistil, že je potřeba nejen založit asset catalog a přidat všechny potřebné ikony a lounch screeny, ale i začlenit ho do Info.plist. Catalog se přidá velmi snadno, jak vidíte na obrázku níže.

image

By default je catalog pojmenován Media a skládá se z LaunchImages a AppIcons. Formát catalogu je přehledný, takže je snadné doplnit chybějící Lounch screeny a ikony, zde se jedná jednoznačně o krok dobrým směrem. Navíc přibyla akorát ikona ve formátu 1024x1024, která už je stejně potřeba nahrát na portál. Dále je potřeba smazat všechny staré záznamy spojené s ikonami ze souboru Info.plist a manuálně přidat tuto sekci, kód se skládá z názvu catalogu a cesty k jendotlivým zdrojům. Poté je možné aplikaci standadnrím způsobem vydat.

XSLaunchImageAssets
Resources/Media.xcassets/LaunchImages.launchimage
XSAppIconAssets
Resources/Media.xcassets/AppIcons.appiconset

Závěr

Použití asset catalogu je jednoduché a přehledné, pouze je mrzuté, že není nikdo pořadně řečeno, že je asset catalog potřeba manuálně přidat do Info.plist.

 

hodnocení článku

0       Hodnotit mohou jen registrované uživatelé.

 

Nový příspěvek

 

Příspěvky zaslané pod tento článek se neobjeví hned, ale až po schválení administrátorem.

                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.

Nyní zakládáte pod článkem nové diskusní vlákno.
Pokud chcete reagovat na jiný příspěvek, klikněte na tlačítko "Odpovědět" u některého diskusního příspěvku.

Nyní odpovídáte na příspěvek pod článkem. Nebo chcete raději založit nové vlákno?

 

  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

Příspěvky zaslané pod tento článek se neobjeví hned, ale až po schválení administrátorem.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:  
Heslo:  

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback