Виджет Today Extension не загружается на iphone 6 plus

У меня есть приложение, содержащее виджет (Today Extension). Моя заявка была одобрена Apple, но у нее все еще есть проблема с iPhone6+, которую мне удалось найти.

При запуске моего приложения на этом устройстве из xCode оно работает нормально, и виджет отображается, но при попытке открыть приложение, которое устанавливается из testfly или из экспортированного adHoc .ipa< /strong> не удается открыть виджет.

Я ищу в сети, но у меня есть рекомендуемые настройки:

.. в допустимых архитектурах:

arm64 armv7 armv7s armv64

..и в архитектуре

он имеет значения по умолчанию как Стандартные архитектуры, которые включают arm64 и armv7s.

Любые идеи о том, что может заставить это произойти?


person Hugo Alonso    schedule 03.03.2015    source источник
comment
Вы нашли какие-нибудь улики на нем?   -  person jeeeyul    schedule 29.04.2015
comment
Привет @jeeeyul. Я решил эту проблему, приняв во внимание и проверив проблемы с памятью и ее использование. Но после уменьшения приложения до минимума (устройство для того, которое я тестировал, всегда присылало мне предупреждения о памяти), я понимаю, что проблема заключалась в ошибке, которая появляется только при отладке приложения. Основная проблема в том, что отладчик для Today Extensions не справляется с этой ошибкой и не останавливается на строке. Ошибка памяти - это все, что он говорит ..   -  person Hugo Alonso    schedule 29.04.2015
comment
Итак, ваш вывод заключается в том, что iPhone6+ может требовать больше памяти для корректного отображения виджета? У меня такая же проблема, только пользователи iPhone6+ не видят виджет должным образом. Мой виджет использует гораздо меньше памяти от 6 до 30 МБ.   -  person jeeeyul    schedule 30.04.2015
comment
Какая-то, я не утверждаю, что это основная причина, я не отбрасываю какую-то ошибку новичка в моем коде, но так получилось, поскольку iPhone 6+ загружает 3-кратные изображения, ему нужно больше памяти для запуска виджетов, и , если лимит памяти одинаков для всех виджетов, независимо от устройства, ... тогда это реальная проблема ... У меня позже была такая же проблема с iPad. Но все же моя проблема несколько более странная... Может быть, мне стоит обновить свой вопрос или задать другой с более подробным объяснением.   -  person Hugo Alonso    schedule 04.05.2015
comment
какие-либо решения найдены по этому поводу? Я действительно вижу эту проблему сейчас. Я не получаю никаких данных, просто загружаю табличное представление с двумя фиктивными ячейками в качестве виджета сегодняшнего дня.   -  person JAManfredi    schedule 11.01.2016
comment
Привет @JAManfredi, возможно, вы захотите взглянуть на размер шрифта, который вы используете, это тоже странно, но в моем случае каждый раз, когда я устанавливал размер шрифта 16 в метку, это приводило к сбою. .   -  person Hugo Alonso    schedule 12.01.2016
comment
@HugoAlonso спасибо за ответ, я действительно понял. Я использовал собственный шрифт, и как только я переключил его на System, проблемы с памятью прекратились.   -  person JAManfredi    schedule 12.01.2016


Ответы (1)


Итак, я пойду вперед и отвечу на этот вопрос. Пожалуйста, имейте в виду, что это советы, а не решение для всех сценариев.

Основные причины сбоя приложения связаны с проблемами недостаточно памяти:

  • Помните, что в iPhone 6+ отображаются изображения в формате 3X. Поэтому держите их в минимальном количестве и размере.
  • Избегайте пользовательских шрифтов.
  • Избегайте размеров шрифта больше 14 пунктов. (Этот предел может быть ниже, если вы используете другие элементы, потребляющие память)
  • UIViewControllers, встроенные в UIContainersView, загружаются при запуске. Это вызывает всплеск использования памяти.

  • Предпочтительно использовать NavigationController в качестве InitialView (если вы собираетесь представить более одного представления)

  • Если есть вторичный или третичный UIViewController, который, возможно, не может быть показан пользователю, если только пользователю действительно не нужно его видеть или он не хочет (например, представление конфигурации), или просто не нужно загружать его ранее, поместите этот UIViewController в другом Storyboard и загружайте его программно при необходимости.
person Hugo Alonso    schedule 08.04.2016