Целевое членство недоступно (отключено) - PullRequest
3 голосов
/ 19 января 2010

Я пытаюсь создать новую цель сборки модульного теста для моего приложения для iphone.Проблема, с которой я сталкиваюсь, заключается в том, что параметры целевого членства моего исходного кода группы выделены серым цветом.

Я действительно удалил исходную папку «Classes» и создал новую папку «SourceCode» с действительнымструктура диска (спасибо xcode).Я импортировал это как группу, а не папку.Он автоматически добавлялся к исходным объектам компиляции моей стандартной сборки, но я не могу добавить его или перетащить в новую цель.

Есть мысли?

альтернативный текст http://img.skitch.com/20100118-mhurmqc33ecaq4xq3y2e5k3hs4.jpg

Ответы [ 2 ]

1 голос
/ 19 января 2010

Ответ cdespinosa на верном пути, но не совсем правильный. Источники на самом деле do входят в цель модульных тестов, но вам нужно только включить те, которые охвачены тестами.

Я понял это, и проблема в том, что если в группе есть какой-либо файл, который нельзя включить (например, заголовочные файлы), диалоговое окно «Информация» недостаточно умен, чтобы иметь дело только с этими файлами, и просто блокирует вас. Вы должны вручную выбрать каждый файл .m, даже если вы хотите включить все в группу. Если у вас огромный проект, я бы предложил создать «умную группу» (в отличие от обычной «тупой группы» в xcode), которая позволит вам фильтровать только файлы .m.

Почему ты спрашиваешь? Почему xcode способен выяснить это, когда вы импортируете несколько файлов, некоторые из которых не могут быть включены в сборку, но не могут сделать то же различие для существующих файлов? Хороший вопрос. Par для курса xcode, imo.

1 голос
/ 19 января 2010

Во-первых, ваши источники не попадают в цель юнит-теста. В эту цель должны входить только сами источники модульных тестов. Во-вторых, фаза сборки источников компиляции не может создать группу, только отдельные файлы. Поэтому я бы не поверил, что даже если ваша группа находится в цели, что она находится в правильной фазе сборки или что ее источники будут скомпилированы.

Снимите флажок с цели, чтобы удалить группу из нее, затем выберите исходные файлы и перетащите их на цель.

...