Подпись кода требуется для типа продукта Unit Test Пакет в SDK iOS 8.0

Получение

Подпись кода требуется для типа продукта 'Unit Test Bundle' в SDK 'iOS 8.0'

Мой целевой объект - это подписание кода просто отлично, но мой тестовый объект - нет. Я купил новый компьютер, создал новый сертификат разработки с компьютера, обновил профиль подготовки соответственно, установил оба, но не могу пройти мимо этой ошибки подписи кода.

Любой способ очистки всех сертификатов/профилей локально, чтобы я мог переустановить?

Вероятно, какая-то ошибка.

Ответ 1

Проблема заключается в том, что проект находится под контролем источника, и каждый раз, когда я вытягиваю .xcodeproj, обновляется. И так как мой профиль подготовки отличается от того, который находится в контроле источника, цель Unit Test автоматически переключается на "Do not code sign". Поэтому я просто должен установить профиль там после каждого git pull.

По-видимому, при развертывании на устройстве, если есть цель Unit Test, она должна быть подписана кодом.

Шаги:

1) Измените цель на свою тестовую цель (AppnameTests)

enter image description here

2) Убедитесь, что "Идентификация подписи кода" НЕ "Не вводить код". Выберите профиль для подписания с помощью

enter image description here

Вот и все, что я должен был изменить, чтобы заставить его работать.

Ответ 2

Я исправил проблему (временно), перейдя в "Редактировать схему", а затем в разделе "Сборка", удалив мой целевой объект unit test из "Выполнить".

Ответ 3

Другой совет здесь мне не помог, но я исправил эту ошибку, перейдя в Product > Scheme > Edit Scheme. Затем я нажал Build с левой стороны и снял флажки рядом с AppNameTests. Я использую XCode 6.3

enter image description here

Ответ 4

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

Тестирование целевых настроек → Настройки сборки → Подписание кода → Идентификатор кода. Раньше он был настроен на "Do not code sign".

Ответ 5

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

Я изменил свою версию с "myIphone" на симулятор iPhone 6 Plus, и он решает проблему, пока я разрабатываю приложение.

Ответ 6

В моем случае проблема, с которой я столкнулся, заключалась в следующем:

Ошибка CodeSign: для типа продукта требуется подписание кода 'Unit TestBundle 'в SDK' iOS 8.4 '

Fortunatelly, цель ничего не реализовала, поэтому быстрое решение - удалить его.

введите описание изображения здесь

Ответ 7

Я получал эту ошибку при запуске xcodebuild из командной строки для тестов интеграции в моей работе CI. Мне удалось заставить его работать, установив параметр уровня проекта на кодовое обозначение. По какой-то причине целевая установка игнорировалась и возвращалась к настройке проекта.

Ответ 8

Я решу проблему, изменяя "Профиль Provisioning" в том же разделе ( "Подписание кода" ) от "Автоматически" до "Имя MyProvisioningProfile"

Ответ 9

Если ничего из вышеприведенных решений не выполняется, выполните следующие действия.

Из целевых объектов выберите appnameTests В разделе "Информация"

Изменить следующий

Идентификатор пакета: com.ProjectName. $(PRODUCT_NAME: rfc1034identifier) ​​

to com.ProjectName.appname

Имя пакета: $(PRODUCT_NAME)

Имя пакета: appname

Скомпилировать и выполнить

Ответ 10

Привет, сегодня я сталкиваюсь с той же проблемой. После прочтения ответа "Spentak" я попытался сделать код подписи моей цели, чтобы установить iOSDeveloper, и все еще не работал. Но после того, как я изменил профиль "Provisioning Profile" на "Automatic", проект был построен и работал без ошибок при подписи кода.

Ответ 11

Иногда это происходит, когда вы загружаете проект с сайтов github или других сторонних сайтов. Эти приложения обычно подписываются с другой личностью или компанией/именем. Когда это произойдет, если вы не можете решить решение, просто создайте новый проект xcode и скопируйте все файлы заголовка и реализации в ваш новый проект. Также не забывайте файлы зависимостей... так же, как файлы фреймов. Это работает для меня.