Съвети за пренасяне на приложения от iPhone към iPad
Първи съвет: nib файлове.
Следвайте съвета на Apple и започнете да пренасяте приложението си от елемента от менюто „Надстройка на текущата цел за iPad.“, който можете лесно да намерите в контекстното меню (десен бутон на мишката, ако някой не е запознат) на текущата цел (Цел) в XCode. Така всичките ви файлове с потребителски интерфейс на пера ще бъдат дублирани в папката "Resources-iPad" и постфиксът "-iPad" ще бъде добавен към името на всеки файл.
Следващата стъпка е да обработите вашите новоизсечени nib файлове по такъв начин, че да изглеждат страхотно на просторния XGA екран на таблет на Apple. На този етап имате, така да се каже, две възможности. Първата опция е да отворите всеки nib файл в "Interface Builder" и да изберете "Create iPad Version" от менюто "File". Лично аз направих точно това и като цяло постигнах желания резултат. Интернет обаче препоръчва друг начин: задайте атрибути във всеки от писците, както следва:
Тук ви моля да обърнете внимание на полето за отметка „Autoresize Subviews“, което, както подсказва името, е отговорно за този конкретен UI елемент (View) за автоматично преоразмеряване на всички негови дъщерни елементи. Тази опция ще ви позволи да промените размера на цялата, така да се каже, йерархия от елементи само чрез промяна на размера на елемента (Изглед) на най-горното ниво.
Освен това се препоръчва незабавно да проверите настройките за размер и местоположение на вашите изгледи (Изглед), защото ако досега сте се фокусирали само върху екрани 320x480, най-вероятно тези настройки ще бъдат зададени неправилно.
Съвет втори: класове на контролери.
Във вашите класове на контролери вероятно ще трябва динамично да преоразмерите персонализираните си елементи.интерфейс. Тук е полезна следната конструкция за условна компилация:
#if __IPHONE_OS_VERSION_MAX_ALLOWED >= __IPHONE_3_2 //Поставете специфичен код за iPad тук #else //И тук за версии на iPhone OS под 3.2 #endif
В допълнение, SDK 3.2 въведе хубаво свойство в класаUIDevice - userInterfaceIdiom(от типUIUserInterfaceIdiom). Дефиницията на типа изглежда така:
typedef enum UIUserInterfaceIdiomPhone, UIUserInterfaceIdiomPad, > UIUserInterfaceIdiom;
Може да се види с невъоръжено око, че като проверим стойността на това свойство (свойство), можем лесно да разберем дали трябва да използваме типа интерфейс на iPad или iPhone на определено устройство.
Съвет три: Цели.
В същия интернет се препоръчва да решите предварително на кои устройства трябва да работи вашето приложение: iPhone, iPad или и двете. Тази настройка може да бъде изрично указана във файла Info.plist, но се препоръчва да информирате компилатора за вашия избор по-малко изрично, като изберете раздела "Build" и елемента "Targeted Device Family" в свойствата на проекта.
„Base SDK“ трябва да бъде „iPhone Device 3.2“ дори ако искате да поддържате само iPad. Звучи, разбира се, малко странно (iPhone все още е на 3.1.3), но това е точно елементът, от който се нуждаете. Във всеки случай има и такава прекрасна опция „iPhone OS Deployment Target“, която просто ви позволява да разграничите устройствата, на които приложението трябва да работи: за да поддържате само таблета iPad, посочете версията на операционната система „3.2“, а за поддръжка на iPhoneиiPad - версия „3.1.3“.
Съвет четири: изпратете се.
Както и да е, почти сигурно ще срещнете някои типичнигрешки при опит за добавяне на вашето приложение към AppStore. Ето ги и тях!
Двоичният файл, който качихте, беше невалиден. Пакетът не съдържаше икона за iPhone и iPod с точно 57x57 пиксела във формат .png.
Като алтернативаiTunes Connectможе също да ви сигнализира, че нямате икона 72x72 специално за iPad. Въпросът е, че сега трябва да предоставите и двете икони за двата типа устройства. И тъй като XCode копира всички пакетни ресурси в един корен, така да се каже, „пространство от имена“, имената на тези два ресурса (икони на iPhone и икони на iPad) трябва да са различни. Лично аз препоръчвам да именувате иконата за таблета по аналогия с останалите ресурси „icon-iPad.png“. След това във файла Info.plist трябва да посочите името на файла на по-голямата икона, тоест в нашия случай "icon-iPad.png".
Двоичният файл, който качихте, беше невалиден. Идентификаторът на пакета вече се използва от друг софтуерен пакет.
Не забравяйте, че дори ако вашето пренесено приложение за iPhone е проектирано да работи само на iPad, трябва да промените идентификатора на пакета (идентификатор на пакета), за да избегнете конфликти на име с текущото приложение за iPhone.
Освен това срещнах описанието на такава грешка:
Вашият двоичен файл показва поддръжка за iPhone/iPod touch. Трябва да предоставите екранна снимка на iPhone/iPod touch.
Освен това грешката възниква и за тези, които са изтеглили приложение, маркирано като „само за iPad“. Може би отговорът се крие във факта, че настройката "Target device" във файла Info.plist не е правилно проверена. Най-вероятно грешката вече е коригирана.
Съвет пети: Екранни снимки
И разбира се, не забравяйте да добавите екранни снимки към новата версия на вашето приложение, което поддържа таблети на Apple, за това за вас,като цяло веднага след успешно изтегляне iTunes Connect ще издаде звуков сигнал. Не забравяйте, че екранните снимки трябва да се добавят за всяка локализация!
Съвет шести: Ориентация
Тук разбира се имаме предвид ориентацията на UI в зависимост от позицията на устройството – портретна и пейзажна. Факт е, че с пускането на таблета Apple донякъде затегна изискванията за съответствие с неговите препоръки (IPad Human Interface Guidelines) и сега, например, ако искате да актуализирате приложението си, без да се грижите за работата му във всички възможни ориентации, Apple силно препоръчва да добавите такава възможност.
И тук можете да получите грант за тестов период на Yandex.Cloud. Необходимо е само да въведете "Habr" в полето "секретна парола".