Подпись кода требуется для типа продукта 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 и скопируйте все файлы заголовка и реализации в ваш новый проект. Также не забывайте файлы зависимостей... так же, как файлы фреймов. Это работает для меня.