Як увімкнути нативну роздільну здатність для додатків на iPhone 6 та 6 Plus?


194

Xcode 6 GM тепер включає тренажери для iPhone 6 та 6 Plus, і вони за замовчуванням запускають програми в масштабованому режимі.

Щоб увімкнути новий розмір екрана, я спробував додати, Default-667h@2x.pngякий, здається, є частиною хитрості, оскільки додаток зараз не запускається, з помилкою "Не вдається запустити додаток у Симуляторі - під час запуску сталася помилка (Domain = LaunchServicesError, Код = 0) ".

Хтось придумав, як змусити програму насправді працювати у роздільній здатності 6/6 +?


16
Як говорили інші, хитрість полягає в тому, щоб додати в проект стартовий образ потрібного розміру. Я написав короткий посібник про те, як додати зображення для запуску, щоб ви могли відобразити роздільну здатність iPhone 6 тут.
matthewpalmer

1
це працювало для мене stackoverflow.com/questions/25755443 / ...
johndpope

2
Названня зображень для iphone 6/6 + відрізняється. Для мене просто додавання стартового зображення для 6 та 6+ працювало чудово. Подивіться на цей відповідь для правильного іменування: stackoverflow.com/a/27473877/1568532
fellowworldcitizen

Чи є альтернатива замість використання LaunchScreen?
Вайбхав Джавери

Відповіді:


220

Ви можете додати файл запуску, який, здається, працює для кількох розмірів екрана. Щойно я додав MainStoryboard як файл екранного запуску, і це зупинило додаток від масштабування. Думаю, мені потрібно буде додати постійний екран запуску пізніше, але це отримало початкове дозвіл і працює швидко. У Xcode перейдіть до своєї цілі, загально і додайте туди файл екранного запуску.

Запуск файлу екрана


2
Це, мабуть, найкраще рішення, якщо ви використовуєте єдину розкадровку, яка обробляє всі пристрої. Моя відповідь доречна, якщо ви не використовуєте єдину розкадровку або вам потрібні окремі, явні зображення запуску.
rmaddy

Мені потрібно встановити явні зображення запуску для iPhone 6 та 6 Plus, чи існує умова іменування, якщо я не хочу використовувати каталог активів?
Радиф Шарафуллін

@Radif Sharafullin Тут є кілька вказівок щодо того, як назвати зображення для запуску: developer.apple.com/library/prerelease/ios/documentation/iPhone/… . Прокрутіть до кінця, щоб запустити шаблон іменування зображення.
Девід Л

6
Майте на увазі, що після переходу на LaunchImageiOS більше не буде розтягувати додаток iPhone-5 на iPhone-6 (і на 6+). Що може порушити користувальницький інтерфейс програми, якщо ви переглядаєте абсолютний розмір, наприклад, 320 пікселів у ширину та не використовуєте відносний розмір за допомогою автоматичних макетів.
atulkhatri

1
@ bobo2000 дизайн відповідально.
маттсвен

116

Якщо ви використовуєте каталоги активів, перейдіть до каталогу активів LaunchImages та додайте нові зображення запуску для двох нових iPhone. Можливо, вам потрібно буде клацнути правою кнопкою миші та вибрати "Додати нове стартове зображення", щоб побачити місце для додавання нових зображень.

Для iPhone 6 (Retina HD 4.7) потрібне зображення для запуску портрета розміром 750 x 1334.

Для iPhone 6 Plus (Retina HD 5.5) потрібні як портретні, так і пейзажні зображення розміром 1242 x 2208 і 2208 x 1242 відповідно.


2
Хочеться, щоб я міг вибрати дві правильні відповіді, оскільки це здається дуже правильним. Ще не почали використовувати каталоги активів (ну просто намагалися невдало прийняти один - чомусь програма не знайшла там запущених зображень), але призначати файл екранного запуску тут було легко виправити.
villapossu

Повинно бути можливість додавати потрібні зображення запуску без використання каталогів активів. Але я не знаю напевно, як посилатися на них у Info.plist.
rmaddy

Чи потрібно насправді додати зображення? Я ввімкнув їх, і це все ще масштабує.
Епічний байт

Так, ви дійсно повинні додати зображення (або використовувати новий "Запуск екранного файлу" (але це лише для iOS 8).
rmaddy,

1
@trumpetlicks Плюс перетворюється на більшу ціль, а потім зменшує візуалізацію до фактичного розміру екрана, та сама техніка, що і у сітківки MacBook Pro. Крім того, Plus може насправді запускати програми в пейзажному режимі, жоден інший iPhone не може
hokiewalrus

104

Я створив основні чорні екрани запуску, які дозволять правильно змінити масштаб програми на iPhone 6 та iPhone 6+:

iPhone 6 Портрет

iPhone 6 плюс портрет

Якщо у вас вже є LaunchImage у вашому .xcassett, відкрийте його, перейдіть на третю вкладку правого меню в Xcode та поставте галочку на зображеннях iOS 8.0 iPhone, щоб додати їх до наявного набору. Потім перетягніть зображення на:

введіть тут опис зображення


52

Я не хотів запроваджувати каталог активів.

На відповідь від Seahorseseaeo тут , додавши наступне до info.plist працював на мене. (Я відредагував це як "вихідний код".) Потім я назвав зображення за замовчуванням-667h@2x.png та за замовчуванням-736h@3x.png

<key>UILaunchImages</key>
<array>
    <dict>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>8.0</string>
        <key>UILaunchImageName</key>
        <string>Default-667h</string>
        <key>UILaunchImageOrientation</key>
        <string>Portrait</string>
        <key>UILaunchImageSize</key>
        <string>{375, 667}</string>
    </dict>
    <dict>
        <key>UILaunchImageMinimumOSVersion</key>
        <string>8.0</string>
        <key>UILaunchImageName</key>
        <string>Default-736h</string>
        <key>UILaunchImageOrientation</key>
        <string>Portrait</string>
        <key>UILaunchImageSize</key>
        <string>{414, 736}</string>
    </dict>
</array>

Ця відповідь чудова. Це дозволяє легко використовувати зображення для переходу з екрану заставки до програми. Жодне інше рішення (каталог активів або дошка) не дозволяє це зробити так просто.
jjxtra

7
Працював для мене (спасибі!), Але він перестав розпізнавати запуск зображення 568h @ 2x, відключаючи підтримку розміру iphone 5. Я просто повинен був додати ще один елемент, подібний до двох вище, але вказавши 568h. (Специфічні поля: Default-568h, {320, 568})
Steph Thirion

Те саме стосується iPhone 4S.
Джош Бернфельд

1
щойно створив досвід (на тренажері), що вказані файли зображень навіть не потребують існування.
glasz

У мене проблема з цією технікою на iPhone 6: вона спочатку показує екран запуску за замовчуванням-667h@2x.png, а потім коротко показує Default-Por Portrait@2x~iphone.png. Будь-яка ідея?
Самуїл

21

Зауважте, що iPhone 6 використовуватиме роздільну здатність 320пт (640px), якщо ви ввімкнули "Збільшити показ" в iPhone> Налаштування> Дисплей і яскравість> Вид.


Я б хотів, щоб це було краще задокументовано!
bobo2000

Ти щойно врятував мені день. Я спробував усі інші рішення, але моя проблема полягала лише в тому, що пристрій знаходився в режимі збільшення.
MessuKilkain

8

Виконайте наступне (див. На фото)

  1. Каталог активів Goto
  2. клацніть правою кнопкою миші та виберіть "Додати нове стартове зображення"

    • iPhone 6 -> 750 x 1334
    • iPhone 6 Plus -> 1242 x 2208 та 2208 x 1242

введіть тут опис зображення


3

Під час запуску виникла помилка (Domain = LaunchServicesError, Code = 0)

Зазвичай це вказує на те, що installd повернув помилку під час процесу встановлення (погані ресурси або подібне).

На жаль, Xcode не відображає фактичної основної помилки (сміливо надсилайте дупи цієї відомої помилки).

Ви повинні перевірити ~ / Бібліотека / Журнали / CoreSimulator / CoreSimulator.log, яка запише основну помилку для вас.


Дякую! Не знали про це додаткове розуміння першопричини помилки. Докладний журнал не говорить про мене так багато, але принаймні я маю щось долучити до моєї подачі на радари.
villapossu

0

Якщо ви використовуєте каталог активів і маєте кілька цілей, використовуючи один і той же файл каталогу каталогу активів, переконайтеся, що цей файл перевірив обидві цілі на правій панелі в xcode.

Це була моя проблема.

введіть тут опис зображення

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.