Просто обновился до Xcode 6.1 сегодня, и угадайте, что: теперь у меня проблемы с отправкой сборок с помощью настольного приложения TestFlight. Вот ошибка, которую я получаю, когда приложение начинает создавать IPA:
ошибка: / usr / bin / codeign --force --preserve-metadata = идентификатор, права, правила ресурсов --sign 854059d45eed724593debef577a562e1ba96ab55 --resource-rules = / tmp / QYFSJIvu7W / Payload / XX.app / ResourceRules.plist / tmp /QYFSJIvu7W/Payload/XX.app завершился ошибкой 1. Вывод: Предупреждение: использование --preserve-metadata с опцией «resource-rules» (не рекомендуется в Mac OS X> = 10.10)! Предупреждение: --resource-rules устарело в Mac OS X> = 10.10! /tmp/QYFSJIvu7W/Payload/XX.app/ResourceRules.plist: невозможно прочитать ресурсы
«Статья в поддержку» не знает, что происходит.
Это не похоже на проблему TestFlight, потому что то же самое происходит в среде CI, такой как Jenkins, с использованием xcrun или аналогичных инструментов.
Приложение не обновлялось несколько месяцев, поэтому я знаю, что не стоит ожидать каких-либо обновлений, которые исправят это в ближайшее время. Раньше это очень хорошо работало для меня и моих клиентов, поэтому я не очень-то хочу отказываться от этого ради чего-то другого.
Мы будем очень признательны за любые идеи относительно того, о чем эта ошибка, и как ее исправить.
источник
xcrun -sdk iphoneos PackageApplication -v <Path_to_App> -o <Path_to_IPA> --sign <Distribution_certificate> --embed <Provisioning_profile>
. С Xcode 6.0.1 все работало нормально.Ответы:
Хотел бы я знать, почему это работает, но вот исправление, которое сработало для меня:
источник
Code Signing Resource Rules Path
в настройках сборки. Любая идея?Следующий патч для PackageApplications исправил это для меня, я удалил правила ресурсов, так как в нем говорится, что они устарели с 10.10.
Сборки Testflight работают и без него. Appstore тоже строит.
источник
Я написал в службу поддержки TestFlight и получил такой ответ:
Предлагаемый обходной путь действительно сработал.
источник
Не ответ Тима Gostony больше не работает с выпуском Xcode 7. Теперь процесс представления App Store терпит неудачу , когда правила ресурса присутствуют. Решение состоит в том, чтобы очистить путь к правилам ресурса для подписи кода и заменить xcrun инструментом xcodebuild:
Простейший вариант Options.plist для экспорта ipa-файлов ad-hoc-рассылки выглядит так:
Для этого plist-файла доступны другие параметры, касающиеся битового кода, прореживания приложения и т. Д. Вот почему я считаю, что инструмент xcodebuild - правильный инструмент для экспорта файлов ipa для iOS 9 и выше.
Дополнительные сведения о plist параметров доступны с помощью команды xcodebuild -help.
источник
На Yosemite с XCode 6.4 даже при использовании патча SDKROOT кодовая сигнатура не выполняется. В следующей статье объясняется, как исправить этот сценарий XCode. Обратите внимание, что это исправление XCode, поэтому оно зависит от версии, но устраняет проблему.
http://www.jayway.com/2015/05/21/fixing-your-ios-build-scripts
источник
Ответ от Алистра работы для меня , но я не хочу , чтобы изменить скрипт , который не мой (будущий Xcode релиз может изменить этот файл , и коррекция будет потеряна).
Я думаю, что ответ Владимира Григорова будет лучшим, если у вас есть архив с использованием:
В моем случае у меня нет архива, потому что я изменяю приложение после его сборки, и мне нужно изменить идентификатор пакета и сертификат подписи.
Решение, которое я нашел, - позвонить
codesign
себе перед использованиемPackageApplication
и попроситьPackageApplication
не подписывать. Как это :Не забудьте встроить
.mobileprovision
файл, используя для подписиcp
.источник
Как указано в другом ответе , вы также можете просто не указывать сертификат распространения для подписи, и он будет правильно упакован. Для этого TestFlight необходимо обновить свое приложение.
источник