Раньше был способ создать IPA из пакета .APP с помощью xcrun, но Apple по какой-то причине не рекомендовала PackageApplication. У меня остался только xcodebuild, для которого требуется файл рабочей области Xcode. Мой .APP не был создан через xcode. Это было сделано с помощью Visual Studio для Mac с Xamarin. Я могу создать IPA, экспортировав архив из IDE, но я пытаюсь создать IPA из командной строки и подписать его. Часть подписи очень проста, но я не знаю, как создать IPA, не заархивируя его вручную, не добавляя embedded.mobileprovision и т. д.
Есть ли альтернатива xcbuild PackageApplication, которую я могу использовать?





I'm trying to do is build the IPA from the command line...
Вы можете использовать msbuild для сборки / упаковки .ipa
/Library/Frameworks/Mono.framework/Commands/msbuild \
AStackOverflowSolution.sln \
/p:Configuration=Ad-Hoc \
/p:Platform=iPhone \
/p:BuildIpa=true
re: Сборка через командную строку (на Mac)
Для Windows включите ServerAddress и ServerUser вашей системы сборки macOS.
/p:ServerAddress = "192.168.40.40"
/p:ServerUser = "YourmacRemoteSSHuser"
re: Поддержка IPA в Xamarin.iOS
@iPaul По ссылке в моем ответе есть полный список всех реквизитов msbuild ;-)
Спасибо. Мне удалось заставить это работать, но без Configuration = Ad-Hoc. Это вызвало ошибку о том, что выходной каталог не указан. Я попробовал только BuildIpa и платформу, и это сработало. Что ж, еще не совсем то, у меня есть «В связке ключей не найдено действительных ключей подписи кода iOS». Ошибка, которую мне нужно проработать, но я знаю, что теперь, когда я ее исправлю, он создаст IPA.
@iPaul в терминах /p:Configuration=Ad-Hoc, у вас может быть, а может и не быть, что этот Configuration определен в вашем решении / проекте, это может быть конфигурация «Release» или пользовательская конфигурация, которая определяет директивы компилятора, другой info.plist для тестирования и т. д. ..
Ха-ха, я чувствую себя глупо. Я знал, что это должен быть Release (и я всегда выбираю это в IDE), но я не понимал, что этот аргумент указывает. Это сработало отлично. Полагаю, у меня были права на сертификат и профиль, потому что теперь у меня есть IPA. Еще раз спасибо!
Ух ты!! большое спасибо! На самом деле я уже использую msbuild для создания проекта. Однако я передавал только свой .csproj и не передавал никаких аргументов. Я вижу, что у вас есть BuildIpa = true и еще кое-что. Мне нужно это сделать. Я попробую это сейчас.