2016-10-09 3 views
0

Мой тестовый проект успешно работает на моем физическом устройстве (iPhone). Но после того, как я установил модуль в свой проект. Я получаю сообщение об ошибке NO NO CODE SIGNATURE FOUND.I нашел некоторые статья, связанная с этим вопросом. https://michiganlabs.com/ios/development/2015/11/30/code-sign-error-building-cocoapods-framework-targets/ В статье предполагают, что нужно быть включать некоторые подписи кода шунтирование в файл стручок нижеОтсутствует подпись кода после установки pod в Xcode 8

post_install do |installer| 
    installer.pods_project.targets.each do |target| 
    target.build_configurations.each do |config| 
     config.build_settings['EXPANDED_CODE_SIGN_IDENTITY'] = "" 
     config.build_settings['CODE_SIGNING_REQUIRED'] = "NO" 
     config.build_settings['CODE_SIGNING_ALLOWED'] = "NO" 
    end 
    end 
end 

код не исправить issue.Thanks заранее ....

ответ

2

От Rashwan L ответ. Я пробовал эти 3 шага. Но, это не решило мою проблему. Может быть, это может работать для разных сценариев. Я читал одну и ту же ссылку статьи в сообщении. В статье упоминается, что ошибка может быть решена либо с помощью кода, подпадающего под проект модуля, либо путем обхода кода изменить файл подкачки.

Как только я подписал код стручок project.Everything начать работать на первой идти ...

Статья Info, как показано ниже:

Swift Framework библиотеки Требовать подписывания кода, но НЕ Objective-C

Копаем в проблему немного дальше, мы обнаружили, что новая структура Swift была построена правильно, и только ранее существовавшие объекты Objective-C (ранее статические библиотеки) терпели неудачу с ошибкой кода. Время попасть в Google! После долгих исследований на странице CocoaPods GitHub Issue и просмотре некоторых похожих проблем с последним менеджером зависимостей iOS/OS X Carthage, я понял, что библиотеки Objective-C НЕ должны получать код подписи. Структуры Swift требуют подписи кода, поскольку они встраивают стандартную библиотеку Swift и среду выполнения, позволяя использовать более старый код Swift в более новом проекте. Apple требует подписи кода для проверки кода выполнения, который копируется в приложение iOS (помогает обеспечить безопасность изолированной программной среды iOS). Старая школа Objective-C статические библиотеки не нужно это и на самом деле даже не поддерживают его, следовательно, странные ошибки сборки о «Нет подписи идентичностей соответствие ID команды (NULL).»

Решение - Отключить код не Подписывая Одним из решений было бы вручную отредактировать каждую целевую библиотеку Pod и отключить подписание кода. Не очень хороший вариант, так как эти параметры сборки будут воссозданы каждый раз, когда pod install повторно запускается. После изучения документации CocoaPods мы нашли решение. Сценарий «Post Install», который изменяет целевые объекты Pod до их сохранения на диске (и интегрируется в рабочую область Xcode). Мы вручную отключили подписание кода с помощью соответствующих настроек сборки для каждой из зависимостей Pod. Добавьте это в нижнюю часть вашего подфайла, и ваша ошибка подписи кода будет решена!

post_install do |installer| 
    installer.pods_project.targets.each do |target| 
     target.build_configurations.each do |config| 
     config.build_settings['EXPANDED_CODE_SIGN_IDENTITY'] = "" 
     config.build_settings['CODE_SIGNING_REQUIRED'] = "NO" 
     config.build_settings['CODE_SIGNING_ALLOWED'] = "NO" 
     end 
    end 
    end 

Я надеюсь, этот ответ будет помогает кто-то ...

Смежные вопросы