#xcode #ios #code-signing
#xcode #iOS #подписание кода
Вопрос:
Для одного из моих клиентов я разработал небольшое приложение для iOS. Я являюсь членом их команды разработчиков, поэтому я использую сертификат разработчика для подписи своих локальных тестовых сборок.
Теперь приложение почти готово, и оно должно пройти внутреннее тестирование на стороне клиентов. Я создал архивную сборку приложения, которую затем отправил своему клиенту. Они импортировали его в органайзер и попытались «Поделиться» им, чтобы иметь возможность повторно подписать его, используя специальный профиль.
Однако при создании .ipa происходит сбой с ошибкой «нет такого файла или каталога». В остальном архив выглядит нормально — органайзер отображает всю обычную информацию, значок, и это позволит им экспортировать его как другой архив. Создание .ipa без повторного подписания также завершается неудачей, что наводит меня на мысль, что это не проблема с сертификатами и профилем подготовки.
Если я попробую то же самое на своей стороне, записав .ipa из того же архива, используя мой сертификат разработки, операция завершится успешно.
Возможно, стоит упомянуть, что та же процедура работала нормально, когда мы все еще использовали XCode 3.x в более ранних проектах. Это первый раз, когда мы пытаемся это сделать, используя XCode 4.
Никакие дополнительные (статические) библиотеки не использовались.
Любая помощь приветствуется!!
Редактировать:
Кто-то на форумах разработчиков Apple предложил мне проверить системную консоль на наличие сообщений об ошибках xcode при попытке экспортировать .ipa — ни одно из них не было распечатано. Однако мы обнаружили некоторые другие, более старые сообщения, которые гласят следующее:
18.04.11 13:54:35 /Разработчик / Приложения/Xcode.app/Содержимое/macOS/Xcode[123] /Users/User/Library/Developer/Xcode/Archives/2011-04-15/Foobar.xcarchive/dSYMs/Foobar.app.dSYM/Contents/Info.plist : установленные флаги (было: 00200000): Операция не разрешена
Временная метка примерно соответствует тому времени, когда мой клиент впервые импортировал мой архив, но мы не можем быть уверены, поскольку тогда мы не смотрели консоль.
Сообщение было напечатано несколько раз, по одному разу для каждого файла ressource, содержащегося в пакете. Это вам о чем-то говорит, ребята?
Ответ №1:
Проблема решена.
Следуя другому предложению на форуме разработчиков Apple, мы восстановили разрешения в обеих системах. Кроме того, я снова собрал и заархивировал приложение и использовал другой способ передачи архива моему клиенту. Мы сделали все это с одной попытки, поэтому я не могу точно сказать, какие из этих мер действительно помогли. Если вы наткнетесь на это, потому что у вас такая же проблема, возможно, вы захотите попробовать все это тоже.
Спасибо, что выслушали!
Обновить:
Это произошло снова — и на этот раз мы попытались решить это шаг за шагом. Результат: все дело в том, как передается файл. Я просто прикрепил архивный пакет к письму моему клиенту, вот что его сломало, хотя я не знаю почему. Однако архивирование архива перед его передачей решило проблему.
Ответ №2:
После загрузки бета-версии XCode 4.3 с IOS 5 SDK функция Organizer для совместного использования и архивирования перестала работать с загадочной ошибкой «Такой файл или каталог не найден». Оказывается, это связано с наличием двух разных версий codesign_allocate . Чтобы устранить проблему, выполните следующие действия в окне терминала.
sudo ln -s /Developer /Platforms/iPhoneOS.platform/Developer/usr / bin/codesign_allocate /usr /bin
Еще один совет — попробуйте создать общий ipa вручную, поскольку это дает вам гораздо больше информации о том, что пошло не так. Смотрите http://blog.dmahajan.net
Можете ли вы посмотреть, связано ли это также с вашей проблемой?
Ответ №3:
Ответ EasyCoder устранил эту проблему для меня — у меня есть 5.0 beta SDK, и у меня была та же проблема.
Я запустил следующее, и это было исправлено:
ln -s /Developer /Platforms/iPhoneOS.platform/Developer/usr/bin/codesign_allocate /usr/bin/codesign_allocate