Как включить собственное разрешение для приложений на iPhone 6 и 6 Plus?
Xcode 6 GM теперь включает симуляторы для iPhone 6 и 6 Plus, и по умолчанию они запускают приложения в масштабированном режиме.
Чтобы включить новый размер экрана, я попытался добавить Default-667h@2x.png
которая, кажется, делает часть уловки, так как приложение теперь вообще не запускается, с ошибкой "Невозможно запустить приложение в симуляторе - обнаружена ошибка во время работы (Domain = LaunchServicesError, Code = 0)".
Кто-нибудь разобрался, как заставить приложение на самом деле работать в разрешении 6/6+?
8 ответов
Вы можете добавить файл экрана запуска, который будет работать для экранов разных размеров. Я просто добавил MainStoryboard в качестве файла экрана запуска, и это остановило приложение от масштабирования. Я думаю, что мне нужно будет добавить постоянный экран запуска позже, но это заставило нативное разрешение работать и работать быстро. В XCode, перейдите к своей цели, общие и добавьте файл экрана запуска там.
Если вы используете каталоги ресурсов, перейдите в каталог ресурсов LaunchImages и добавьте новые образы запуска для двух новых iPhone. Возможно, вам придется щелкнуть правой кнопкой мыши и выбрать "Добавить новое изображение запуска", чтобы увидеть место для добавления новых изображений.
Для iPhone 6 (Retina HD 4.7) требуется стартовое изображение в портретной ориентации 750 x 1334.
Для iPhone 6 Plus (Retina HD 5.5) требуются портретные и альбомные изображения размером 1242 x 2208 и 2208 x 1242 соответственно.
Я сделал базовые черные стартовые экраны, которые будут правильно масштабировать приложение на iPhone 6 и iPhone 6+:
Если у вас уже есть LaunchImage в вашем.xcassett, откройте его, переключитесь на третью вкладку в правом меню в Xcode и отметьте изображения iPhone 8.0 для iOS, чтобы добавить их в существующий набор. Затем перетащите изображения поверх:
Я не хотел вводить каталог активов.
В соответствии с ответом от seahorseseaeo здесь, добавление следующего к info.plist сработало для меня. (Я отредактировал его как "исходный код".) Затем я назвал изображения Default-667h@2x.png и Default-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>
Обратите внимание, что iPhone 6 будет использовать разрешение 320pt (640px), если вы включили "Масштаб отображения" в iPhone > "Настройки"> "Экран и яркость"> "Просмотр".
Сделайте следующее (см. На фото)
- Перейти к каталогу активов
щелкните правой кнопкой мыши и выберите "Добавить новое изображение запуска"
- iPhone 6 -> 750 x 1334
- iPhone 6 Plus -> 1242 x 2208 и 2208 x 1242
Произошла ошибка во время работы (Domain = LaunchServicesError, Code = 0)
Обычно это означает, что installd возвратил ошибку во время процесса установки (неверные ресурсы или аналогичные).
К сожалению, XCode не отображает фактическую основную ошибку (не стесняйтесь подавать дубликаты этой известной ошибки).
Вы должны проверить ~/Library/Logs/CoreSimulator/CoreSimulator.log, который будет регистрировать основную ошибку для вас.
Если вы используете каталог активов, и у вас есть несколько целей, использующих один и тот же файл каталога активов, убедитесь, что этот файл проверил обе цели на правой панели в xcode.
Это была моя проблема.