iOS 8 beta - сегодня расширение не распознает встроенные рамки

Я пишу приложение, которое также имеет расширение Today (или виджет). Рекомендуемый Apple метод совместного использования кода между расширениями и содержащими приложениями заключается в размещении общего кода внутри встроенной платформы, которую могут использовать как приложение, так и расширение. Итак, насколько я понимаю, я должен написать общий код и сделать так, чтобы общий код предназначался для фреймворка, а затем приложение и расширение объявили фреймворк как зависимость. Однако на практике я обнаружил, что, хотя приложение распознает фреймворк просто отлично, расширение Today - нет.

Чтобы быть более конкретным: я помещаю простое табличное представление в контроллер внутри моего расширения Today (которое я назову «Виджет») и в качестве вкладки в моем приложении (которое я назову «App»), а затем фреймворк (я назову «Framework») с общим кодом. Виджет поставляется с TodayViewController, который содержит табличное представление. Это табличное представление имеет собственную ячейку, которую я называю CalendarCell. Итак, соответствующие общие классы / файлы:

TodayViewController.h / мCalendarCell.xibCalendarCell.h / м

И затем, конечно, у меня есть раскадровка Widget и раскадровка приложения, которые не являются общими.

Таким образом, на этапе сборки цели приложения у меня есть Framework как целевая зависимость, а также Widget в качестве целевой зависимости (так получилось, когда я создал цель, и удаление ее, похоже, ничего не помогло). Точно так же на этапе сборки цели Widget у меня в качестве целевой зависимости есть Framework. Framework перечисляет TodayViewController.m и CalendarCell.m в качестве источников компиляции и CalendarCell.xib в качестве ресурса пакета.

Итак, вот что пойдет не так: если виджет нетакже перечислите CalendarCell.m, TodayViewController.m и CalendarCell.xib в качестве источников компиляции и ресурсов пакета, тогда виджет просто не работает. В частности, если TodayViewController.m нет в списке, то приложение не запускается даже в симуляторе (я получаю ту же ошибкуэтот человек получил). Если TodayViewController.m указан в списке, а другие исходные файлы / ресурсы отсутствуют, тогда я получаю расширение без тела (такое же, какэтот другой человек получил). Обратите внимание, что приложение распознает фреймворк очень хорошо, и ему не нужно перечислять эти файлы как источники компиляции или ресурсы пакета - это просто сбой виджета.

Если у кого-то есть мысли по этому поводу, я буду признателен. Ошибка Xcode 6 / iOS 8? Или я что-то не так делаю?

Ответы на вопрос(2)

Ваш ответ на вопрос