iOS 8, Yosemite, WatchKit – Apple vývojářům, vývojáři Applu

Nové systémy, nové produkty, nové funkce. A spousta nového pro nás – vývojáře. Je to dobře?

V červnu nám byl představen iOS 8. Pár řádků jsme si o něm řekli, na internetu je toho hodně, a systém vstupuje do finální plné verze. Mají toho vývojáři hodně na práci, aby vše fungovalo?

Ne.

Pokud je aplikace napsaná správně, tak nemají téměř nic. Ale přecijen – něco tam je. Tak například notifikace – ať už lokální, nebo push notifikace. Do iOS 7 bylo nutné aplikaci zaregistrovat pro příjem notifikací následujícím kódem:

[[UIApplication sharedApplication] registerForRemoteNotificationTypes: UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound];

Jednoduché, a snad jasné – aplikace se registrovala pro notifikace (při prvním spuštění požádá o povolení), a registrovala se pro určité typy notifikací.

Protože iOS 8 přichází s pokročilými notifikacemi, změnil se způsob jejich registrace a je nutné to ošetřovat pro případ, že aplikace má podporovat i iOS 7:

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 80000
     if ([application respondsToSelector:@selector(registerUserNotificationSettings:)]) {
           UIUserNotificationSettings *settings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeBadge|UIUserNotificationTypeAlert|UIUserNotificationTypeSound categories:nil];
           [[UIApplication sharedApplication] registerUserNotificationSettings:settings];
           [[UIApplication sharedApplication] registerForRemoteNotifications];
      } else {
             [[UIApplication sharedApplication] registerForRemoteNotificationTypes:UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound];
       }
#else
         [[UIApplication sharedApplication] registerForRemoteNotificationTypes: UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound];
#endif

Pokud je verze iOS vyšší nebo rovna iOS 8 (80000), registrujeme se novým způsobem, jinak starým. Vypadá to složitě, ale vzhledem k novému API je to poměrně jasné.

 

Další věc je přizpůsobení aplikace pro různé displeje. S iOS 7 přišel poměrně složitý systém Auto Layoutu a kontrastů, který bylo třeba se naučit. Nyní nám přibývá další velikost displejů – a to rovnou dvě. iOS 8 přichází s „unified storyboard“ a dokumentem, jak s ním pracovat. Je jen na vývojářích, zda aplikace upraví, nebo je nechají – správně napsané aplikace by se ovšem i bez updatu měly zobrazovat správně.

Unified storyboard

 

A pak jsou tu desítky nových možnost, né jen změn. HomeKit – už teď mám v hlavě myšlenku na aplikaci založenou na podobném principu, a těším se, až se do toho hlouběji ponořím. Bude využívat TouchID – a jsme u Touch ID Authentification – skvělé SDK pro ověření totožnosti uživatele. A mohli by jsme pokračovat, ale je toho tolik, že by to bylo na dlouho.

No a nakonec WatchKit a Apple Pay. WatchKit – SDK pro tvorbu aplikací a propojení vaší současné aplikace s Apple Watch, které se chystají na trh. Neměl jsem ještě tolik času na pročtení dokumentace, ale co vím, mě baví. iPhone 6 mám rezervovaný, snad se v pátek dočkám, a budu čekat na Watch. Nápadů na propojení, využití a funkce společně s novým iPhonem je spousta. Využití veliké. A věřím, že zákazníků a potencionálních uživatelů bude také spousta.

 

iOS 8, OS X Yosemite, Watch OS. Tři systémy, pro které je díky jejich propojování radost pracovat zase o něco víc. A i když je to malá změna pro uživatele, je obrovská pro nás vývojáře. Za mě jen díky – a těším se na to, s čím pro vás – uživatele – budu moct přijít!