iOS 9 Xcode 7 - додаток з’являється з чорними смужками вгорі та внизу


116

Встановив додаток на iPhone 6 iOS9 і ось що сталося. Помітьте чорні смуги зверху та знизу. Він працює чудово на iOS8. Як я можу це виправити?

Я намагався будувати з Xcode 6.4 та 7. Той самий результат.

(iPhone 5 використовується для запуску таких програм iPhone 4)

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


У мене така ж проблема в iPhone 6 одразу після оновлення до iOS 9
aledalgrande

Використовуєте контролер навігації чи панелі вкладок у своєму додатку?
Інж. Рон

@RonWood Обидва насправді.
Мойтаба

Спробуйте виправити тут: stackoverflow.com/questions/32312906 / ...
aledalgrande

Відповіді:


187

Ви перенесли ваш додаток із попередньої версії Xcode? Якщо так, то Xcode тепер робить припущення щодо розміру екрана, і вам потрібен спосіб вказувати фактичний розмір екрана під час виконання.

Є два способи:

а) Якщо ви використовуєте екран запуску.

Вам не вистачає файлу LaunchScreen.storyboard. Створіть файл LaunchScreen.storyboard та додайте його до свого проекту.

b) Якщо ви не використовуєте екран запуску.

Перейдіть до налаштувань Цілі та виберіть Загальні, потім Піктограми програм та Запуск зображень. Тепер встановіть "Запуск файлу екрана" на "main.storyboard" (або іншу дошку, якщо потрібно)


1
Яким має бути вміст LaunchScreen.storyboard? Я отримую помилку, кажучи, що OSX-розгортки не підтримують цільовий пристрій "iphone"
adamF

4
Вам не потрібен файл LaunchScreen. Іншим варіантом є надання необхідних стартових зображень для кожного підтримуваного розміру екрана.
rmaddy

У мене така ж проблема під час відкритого додатка в iOS 9.1, але мою проблему було вирішено, додавши зображення екрану запуску для всієї роздільної здатності, завдяки @rmaddy
g212gs

4
У моєму випадку мені потрібно змінити "Запустити екранний файл" на MainStoryBoard, якщо у вас немає Launch.screen.storyboard, щоб він працював
Еван Лін

Варіант b працював належним чином для мене! Це зводило мене з розуму, велике спасибі!
фрізіначо

29

Мій додаток не використовує зображення запуску. Встановлення "Файлу запуску екрана" на мій файл "main.storyboard" вирішило проблему для мене.

Цей параметр можна знайти у розділі "Ціль-> Загальне-> Піктограми додатків та запуску зображень"

Для отримання додаткової інформації скористайтеся наступним посиланням: http://oleb.net/blog/2014/08/replacing-launch-images-with-storyboards/


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

1
Якщо проект - швидкий початковий проект Parse IOS, перейдіть до Цільової-> Загальної-> Піктограми та запуску зображень, а спадне значення "Запуск файлу екрана" порожнє. Таким чином, вибір "Main.storyboard" вирішить проблему "чорних смуг вгорі та внизу".
sfbayman

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

17

Для мене проблема полягає в тому, що я переношу свій додаток із попередньої версії Xcode, і в проекті відсутній файл LaunchScreen.storyboard. Я тільки що створив LaunchScreen.storyboard і додав його до запуску Screen File. Це зробило трюк. Застосування з чорними смугами зверху та знизу


6

Я використовую xcode 7.2. Спочатку я створив файл LaunchScreen.storyboard, як запропонував Перманганат калію , і він працював! Однак я не хотів запускати екран, тому я спробував встановити Main.storyboard як запустити екранний файл, і це зробило трюк!

xcode 7.2


2

Перемістивши додаток із попередньої версії xCode на xCode 6 або xCode 7, ви зіткнетеся з цією проблемою.

Для iOS 7 і новіших версій розробникам необхідно надати окремі зображення запуску для всіх розмірів екрана, роздільної здатності та орієнтацій, які підтримує їх додаток.

У Xcode 6 або пізнішої версії є інший варіант. Ви можете вказати табло, чий початковий контролер подання буде використовуватися як екран запуску програми. Скористайтеся наведеними нижче кроками:

  • Створіть порожній файл розкадровки з назвою LaunchScreen.storyboard.

  • Перейдіть до своїх цільових налаштувань і на вкладці "Загальні" виберіть розкадровку як файл запуску екрана у розділі "Значки додатків та запуску зображень". Xcode додасть відповідний ключ UILaunchStoryboardName до Info.plist вашого додатка. Коли цей ключ присутній, Xcode надасть йому пріоритет перед будь-якими встановленими зображеннями запуску.

  • Додайте кілька підпрезентацій до новоствореного перегляду табло та розмістіть їх із обмеженнями. Під час запуску програми на пристрої ОС повинна використовувати сцену як екран запуску.

Видаліть старий додаток із симулятора та очистіть проект.

Ура :-)


2

У мене така ж проблема у моєму додатку. У моєму додатку до проекту додано кілька цілей. Якщо я використовую запуск розгортання розкадрівки, то я можу побачити весь екран, але в моєму випадку моє зображення на обід виглядає розмитим і розтягнутим на iPhone 4. Щоб вийти з цього питання, я використовував рішення активів LaunchImage. Після цього все-таки я стикаюся з тією ж проблемою. Я спробував усі вищевикладені рішення, врешті-решт я виявив, що мої зображення у форматі PNG не містять роздільної здатності ALPHA . Після додавання нових зображень я можу побачити зображення в повноекранному режимі.


2

Це, якщо ви взагалі не використовуєте розкадровку.

Це відбувається , коли ви видалите LaunchScreenз Launch Screen Fileв App icons and Launch Images. введіть тут опис зображення

Замість того, щоб видаляти його звідси, перейдіть до info.plist і знайдіть Launch screen interface file base nameта видаліть LaunchScreen, тобто залиште його порожнім. введіть тут опис зображення

Це звичай показувати в info.plist , якщо ви видалили LaunchScreenвже з Launch Screen File. Тоді ви можете ввести будь-яке ім'я, Launch Screen Fileі воно з’явиться, і ви можете його видалити.


1

Перейдіть до каталогу активів і створіть нове зображення запуску iOS. потім у пункті Ціль> Загальне> Піктограми додатків та запуску зображень> Запуск джерела зображення автоматично з’явиться нове зображення запуску, створене в каталозі активів.


1

У моєму випадку у мене є кілька цілей у проекті, і кожна з них має власні зображення екрану запуску. Дивна річ, одна з мішеней виглядає чудово, але в інших є ці чорні смуги. Річ полягала у назві папки "Запуск" всередині активів. Змінення імені на LaunchImage вирішує проблему.



0

У моєму випадку у мене є один актив із зображеннями запуску, проте він також відображав верхню та нижню темну смугу.

Я спробував рішення для запуску розкадрівки, і так, воно працює, але я не хотів додавати новий файл, тому я це вирішив, щоб виправити проблему:

  1. Скопіював мої запуски зображення в іншу папку
  2. Видалено існуючий актив LaunchImage
  3. Додано новий актив LaunchImage
  4. Додано зображення до нового LaunchImage

Це воно!


0

Перейдіть до цільових налаштувань у xcode у цьому розділі, перейдіть до піктограм програми та запустіть зображення зображень у цьому розділі, виберіть файл запуску екрана, ви знайдете спадне значення, виберіть значення CDVLaunchScreeen у порівнянні зі значенням файлу запуску екрана


0

У мене була подібна проблема на iPod. Щоб виправити це, я замінив

<key>UILaunchStoryboardName~ipad</key>
<string>LaunchScreenIpad</string>
<key>UILaunchStoryboardName~iphone</key>
<string>LaunchScreenIphone</string>

з

<key>UILaunchStoryboardName~ipad</key>
<string>LaunchScreenIpad</string>
<key>UILaunchStoryboardName~iphone</key>
<string>LaunchScreenIphone</string>
<key>UILaunchStoryboardName~ipod</key>
<string>LaunchScreenIphone</string>

в Info.plist.


-1

Не робіть нічого, що описано в попередніх відповідях ...

Щоб показати контролер перегляду, виконайте наступний крок

Step 1 : Add the splash Screen for iPhone and iPad.

Після цього ця помилка більше не з’явиться.

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