"Ваш бинарный файл не оптимизирован для iPhone 5" после загрузки приложения с помощью xcode 6.0.1
Я получаю это электронное письмо после загрузки моего двоичного файла с помощью Xcode Version 6.0.1 (6A317)
Ваш бинарный файл не оптимизирован для iPhone 5 - - Новые приложения и приложения для iPhone представленные обновления должны поддерживать 4-дюймовый дисплей на iPhone 5 и должны включить изображение запуска, указанное в Info.plist в UILaunchImages с значением UILaunchImageSize, установленным на {320, 568}. Запуск изображений должен быть PNG файлами и расположен на верхнем уровне вашего пакет или предоставляется в каждой папке .lproj, если вы локализуете свою запускать изображения. Подробнее о поддержке iPhone 5 и изображениях запуска приложений... путем изучения "Руководства по человеческому интерфейсу iOS" на 'https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/IconsImages/IconsImages.html#//apple_ref/doc/uid/TP40006556-CH14-SW5' и "Руководство по программированию приложений для iOS" в 'https://developer.apple.com/library/ios/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/App-RelatedResources/App-RelatedResources.html#//apple_ref/doc/uid/TP40007072-CH6-SW12'.
Вот мой файл plist:
![enter image description here]()
Вот мое дерево Xcode:
![enter image description here]()
Вот мое корневое дерево связки:
![enter image description here]()
Вот единственный ресурс, который я могу найти по этой проблеме, но он остается без ответа (3 дня)... https://devforums.apple.com/message/1051948#1051948
Ответы
Ответ 1
Мы столкнулись с одной и той же проблемой и не смогли ее решить, попробовав много решений, мы считаем это своего рода ошибкой при подаче приложений.
Но мы нашли обходное решение, которое может поддерживать локальные изображения запуска и передавать проверку отправки.
Окружающая среда:
Xcode 6.1 (6A1052c) с iOS 8.1 SDK
Предпосылка:
В вашем файле "* -info.plist" есть следующие свойства.
![enter image description here]()
Шаги:
-
Перейдите к своим целевым настройкам и в нашем стандартном сценарии (локализовать
запускать изображения, которые используют "UILaunchImages" в "* -info.plist", но не
image), он должен выглядеть как изображение
![enter image description here]()
-
Измените настройку использования ресурсов изображения (Примечание: после этого шага Xcode автоматически удалит свойства "UILaunchImages" в вашем файле * -info.plist. Поэтому сначала нажмите BACKUP свойства.)
-
Перейдите в "Свойства LaunchImage" (нажмите кнопку со стрелкой справа) и заполните изображения из одной из ваших *.lproj-папок.
![enter image description here]()
-
Теперь перейдите в папку "LaunchImage", которая содержит изображения и файл "Contents.json" .
![enter image description here]()
-
Удалите ВСЕ добавленные ИЗОБРАЖЕНИЯ, но сохраните файл Content.json(и его содержимое).
-
Проверьте "Contents.json" , он должен содержать такие свойства, как изображение ниже
![enter image description here]()
Двойная проверка следующих элементов:
-
Локализованные изображения запуска в папках ресурсов (ru.lproj, ja.lproj и т.д.)
-
* - info.plist содержит свойства "UILaunchImages"
-
В настройке проекта используется ресурс изображения для изображений запуска
-
"Contents.json" в папке с активами LaunchImage, а папка НЕ имеет действительно имеет изображения запуска
Теперь вы можете попробовать локализованные изображения запуска и отправить двоичный файл в iTunes Connect. В нашем приложении обходной путь действительно работал для " локализованных изображений запуска" и " представление успешно".
Это должно быть трюк, чтобы избежать ошибки при проверке отправки.
Так как обходной путь выше не изменяет никакого ресурса, кроме того, что проверка проверяет, что мы используем имидж-ресурсы, мы более убеждены, что в проверке Apple есть некоторые ошибки.
Ура!
Ответ 2
Это случилось со мной. Поскольку iOS6 (я думаю), если вы локализируете свое приложение, вы должны быть согласованным до конца. У вас есть английский, голландский и французский языки, как я вижу на экране. Вы должны иметь эти языки в любом месте, где вы выполняете локализацию. Файлы вашей строки локализации должны иметь все эти языки, но не больше языков.
Я получил тот же ответ, когда я использовал библиотеку AppiRater для приложения. AppiRater имеет сообщения на многих языках, и мое приложение локализовано только для двух языков. Поэтому мне пришлось удалить все остальные строковые файлы из AppiRater, кроме 2, которые мне нужны.
Как только я это сделал, все прошло хорошо.
Итак, короткий ответ: удалите любые дополнительные файлы локализации, которые вам не нужны, и добавьте файлы локализации, отсутствующие в вашем приложении.
Ура!
Редактировать danielgindi
Это действительно работает, несмотря на некоторые утверждения, что этот ответ не имеет значения.
Это случилось со мной, когда я начал использовать базовую локализацию в приложении, и у нее все еще были некоторые ресурсы, локализованные в папке en.lproj
, включая Default.png
s.
Таким образом, вы можете либо убедиться, что у вас есть файл [email protected]
во всех папках локализации, которые вы используете, или удалить локализации, которые вы не используете.
Я только что переместил все, чтобы быть в Base.lproj
, так что это ясно, что он делает, и нет дубликатов.
Ответ 3
Быть более прозрачным:
- Измените исходный образ запуска на "Запуск изображения" (выполните шаги 1-3 в ответе @Charlie Hung).
![введите описание изображения здесь]()
- Щелкните правой кнопкой мыши на своем проекте и выберите "Показать в Finder"
- Найдите папку Assets.xcassets и откройте ее
- Откройте папку LaunchImage.launchimage и переместите два изображения в свою папку .Iproj, которую вы найдете в своем проекте. (Мой назывался Base.Iproj).
Наконец, добавьте это в свой info.plist(открыть в текстовом редакторе):
<key>UILaunchImages</key>
<array>
<dict>
<key>UILaunchImageMinimumOSVersion</key>
<string>7.0</string>
<key>UILaunchImageName</key>
<string>iOS7-Default </string>
<key>UILaunchImageOrientation</key>
<string>Portrait</string>
<key>UILaunchImageSize</key>
<string>{320, 480}</string>
</dict>
</array>
Это все, что я должен был сделать.
Ответ 4
В моем случае я обновлял более старое приложение. Оказалось, что мне не хватает файла значка с именем: [email protected] с размерами 320x568. Я нашел это, просмотрев предупреждения. Я создал файл, добавил его в свой проект с другими файлами значков, и он работал нормально.
Надеюсь, что кто-то помог: -)
Ответ 5
Сделайте то, что рекомендуют Чарли и Дан, и убедитесь, что имена ваших файлов изображений не имеют никаких тире в нем. Моя работа не работала, пока я не переименовал файлы как буквенно-цифровые.
Ответ 6
Я получил ту же ошибку, но в моем случае у меня не было файла раскадровки (xib) для изображения запуска, которое необходимо:
"Вы используете стартовый XIB или файл раскадровки , чтобы указать, что ваше приложение работает на iPhone 6 Plus или iPhone 6." (см. здесь)
Я выполнил этот учебник, чтобы создать его:
https://developer.xamarin.com/recipes/ios/general/templates/launchscreen-xib/
Для шага 9 туриона, в Info.plist, я установил:
<key>UILaunchImageFile~iphone</key>
<string>Launch Screen.storyboard</string>
![info.plist добавляет ключевой образ запуска и файл строки раскадровки]()
Просто чтобы убедиться, что при запуске приложения вы должны увидеть изображение своего запуска перед загрузкой. После этого я смог загрузить приложение в магазин приложений.
Шаги, показанные выше в других ответах, также важны: "Если вам также необходимо поддерживать более ранние версии iOS, вы можете продолжать статические изображения запуска в дополнение к файлу запуска". (см. здесь)
Надеюсь, что это поможет.
Ответ 7
Я получил ту же ошибку в среде развертывания 9.3 и swift 2.3, и в моем случае у меня не было файла раскадровки (xib) для образа запуска, который необходим, и моя конфигурация была неправильной в настройках проекта, см. изображение ниже:
Изображение настроек
Ответ 8
Может быть, это полезно для некоторых парней: просто измените iOS Deployment Target
с 7.0 до 8.1 или выше.
![введите описание изображения здесь]()
Я столкнулся с этой проблемой, когда хочу загрузить приложение в магазин приложений, созданный response-native 0.37, а его по умолчанию iOS Deployment Target
- 7.0.