Симулятор не запускает Today-View для отладки расширения Today в устаревшем проекте Xcode

(Отвечая на собственный вопрос; см. мой ответ ниже.)

Когда я пытался запустить расширение Today в симуляторе iOS, Xcode 6 предлагал мне выбрать приложение для подключения отладчика. После того, как я выбрал приложение «Сегодня», Xcode сообщит «Выполняется сегодняшнее представление на iPhone», но сегодняшнее представление никогда не появится. Если я вручную вытащу представление «Сегодня», моего расширения «Сегодня» там не будет.

Самое смешное, что даже если я добавлю совершенно новую цель приложения и новую цель расширения Today в свой проект Xcode, я все равно не смогу заставить Xcode запускать и отлаживать совершенно новое расширение Today в симуляторе iOS.

Я сравнил параметры сборки моего устаревшего проекта Xcode с параметрами нового проекта Xcode. Кажется, что между ними нет существенных различий.

Почему Xcode не может запустить мое расширение Today в симуляторе iOS для моего устаревшего проекта Xcode?


person user444731    schedule 20.10.2014    source источник


Ответы (1)


Каталог сборки моего устаревшего проекта Xcode был относительно местоположения проекта Xcode. То есть продукты сборки не были помещены в каталог «производных данных» в ~/Library/Developer/Xcode/DerivedData/... Я предположил, что Xcode не может найти расширение «Сегодня», если оно находится относительно проекта Xcode. Следовательно, Xcode не мог запустить его с приложением Today-View для отладки в симуляторе.

Затем, как переместить каталог сборки из устаревшего местоположения в местоположение «производных данных»?

  1. Открыв устаревший проект Xcode, перейдите в «Файл > Настройки проекта...».
  2. Нажмите «Дополнительно…».
  3. Измените местоположение сборки с "Legacy" на "Xcode Default" (который, вероятно, является вашим каталогом "производных данных").

(Благодаря этому вопросу: Почему Xcode 4 не создает никаких продуктов?)

После этого изменения я наконец-то смог отлаживать свое расширение Today через симулятор iOS!

person user444731    schedule 20.10.2014