Файл libswiftCore.dylib не имеет правильной подписи кода - PullRequest
1 голос
/ 13 июня 2019

Я знаю, что этот вопрос задавали много раз, и люди предлагали много решений. В моем случае я перепробовал их все. что я пытался К вашему сведению: я не могу использовать xcode для сборки. Причина: Я работаю над Chromium IOS Code все сборки с использованием системы сборки GN.

  • Создал папку SwiftSupport и сделал ее частью файла ipa.
  • Также подписал Dylib под моей структурой и в папке SwiftSupport.
  • полное заявление подписано с той же идентификационной информацией, подтвержденной через терминал.

У кого-нибудь есть идеи, какое еще яблоко требуется для подписи? Дополнительные шаги по устранению неполадок приветствуются.

1 Ответ

1 голос
/ 14 июня 2019

Я исправил эту проблему, позвольте мне подвести итоги и сделать ее полезной для всех, кто столкнулся с этой проблемой. Вот несколько шагов по устранению неполадок.

  • Настройка сборки XCode в моем случае я изменил с помощью некоторого сценария, если вы используете какую-то систему сборки для создания проекта XCode, тогда всегда добавляйте библиотеку swift embed в YES, в противном случае вы можете перейти к настройке сборки XCode и установить флаг YES

  • Изменить IPAчтобы .zip, а затем распаковать, должна быть папка SwiftSupport, подобная этой библиотеке SwiftSupport / iphoneos / all dylib, которая требуется вашему проекту.

  • Если папка поддержки Swift не существует, то вам нужно создатьПапка поддержки swift и добавление с IPA с помощью некоторой команды через терминал, для моего случая я сделал это.zip -r selected_your_ipa_name.ipa Полезная нагрузка SwiftSupport, папка Payload будет содержать файл .app, а папка SwiftSupport - .dylib, подобный этой иерархии SwiftSupport / iphoneos / *. dylib

  • В библиотеке папок SwiftSupport должен быть кодподписать яблочным сертификатом, а не вашим сертификатом.Чтобы это работало. Просто скопируйте .dylib с этого пути "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/swift/iphoneos/"

  • Библиотека в вашей папке framework. Библиотека Payload / Framework / .dylib должна быть подписана вашим сертификатом.

Теперь очень важный момент, который нельзя пропустить

  • Проверьте информацию об архитектуре вашей библиотеки в Payload / Framework /* .dylib, используя lipo -info path_of_dylib, если он содержит фреймворк arm64e, удалите эту арку как-то, что это не работает, я также не знаю причину (если кто-нибудь знает, пожалуйста, дайте мне знать) После того, как этот код подписывает вашу библиотеку тем жекод личности.

    • Создайте файл .ipa, используя снова, используя терминал, как этот способ.zip -r your_app_name.ipa Полезная нагрузка SwiftSupport. Убедитесь, что эти каталоги не содержат скрытых файлов. Если они выходят, удалите их перед выполнением ipa.

Надеюсь, что эти шаги по устранению неполадок будутработа :) Если что-то я пропустил Извините за это :) Если вы хотите больше обсуждений, пожалуйста, дайте мне знать по электронной почте или комментарий здесь.mshauket.developer@gmail.com

...