Нотариальное заверение приложения MacOS застряло во время загрузки

У меня есть простое MacOS-приложение на основе Swift, написанное и поддерживаемое в XCode, которое теперь я хочу запустить для распространения через службу Apple "ID-удостоверение" Developer-ID. Однако всякий раз, когда я пытаюсь загрузить архивную сборку приложения, Xcode застревает на "Uploading package to Apple Services..." шаг процесса.

Мой процесс выглядит следующим образом:
- В Xcode "Построить -> Архив"
- В Организаторе XCode: Распространение Приложения -> Идентификатор разработчика -> Загрузка -> Автоматическая подпись кода - проблема теперь возникает во время загрузки.

Я уже пытался нотариально заверять простое примерное приложение без кода, кроме того, что входит в стандартный шаблон проекта Swift macOS, и это приложение также застревает на этом шаге. (Так что это должно устранить проблемы с кодом / бинарным кодом самого моего проекта.)

Я также пытался использовать xcrun altool чтобы загрузить мой двоичный файл в службу нотаризации с помощью команды: xcrun altool --notarize-app --primary-bundle-id "com.me.myapp" --username "myuser@memyselfandi" --password "mypasswd" --file myfile.zip,
Результат здесь аналогичен: команда не выводит и зависает.

Каждый раз, когда я пытаюсь загрузить в Apple Services, я также замечаю, что процесс называется ascp загружает довольно большие объемы данных, многократно превышающие размер архива, который я пытаюсь загрузить в Apple. Я не уверен на 100%, как это может быть связано, но процесс всегда появляется при загрузке через Организатор или xcrun altool команда.

Я использую Xcode 10.2.1 и macOS Mojave 10.14.4.

2 ответа

Решение

Если @Tochiji указал в правильном направлении, вот решение для моей проблемы:

Похоже, что у моей сети или интернет-провайдера возникли проблемы с выбором протокола передачи Apple для загрузки в службу нотариуса. Я пришел к такому выводу, посмотрев на ascpтрафик с помощью Little Snitch. Программа загружает и скачивает пакеты через порт 33001 от и до нескольких .apple.com домены. Тем не менее, он никогда не "никуда не денется", и загрузка остается застрявшей, что наводит меня на мысль, что есть проблема с моим провайдером, не поддерживающим "Aspera" протокол, который работает на порту 33001,

Следуя предыдущим ответам на похожие вопросы, я протестировал загрузку в Mac App Store с помощью Application Loader с отключенным протоколом Aspera и, конечно же, что загрузка прошла.

Проблема в том, что Application Loader не поддерживает загрузку в нотариальную систему Developer-ID, а встроенный загрузчик XCode не имеет тех же опций, что и Application Loader.

Мой обходной путь заключается в следующем:
Используя Little Snitch (или любой другой компетентный брандмауэр macOS), я теперь блокирую все соединения через порт 33001.

Таким образом, Xcode может обнаружить, что Aspera не является опцией, и выбрать резервный протокол, который работает просто отлично. Используя этот обходной путь, загрузка в службу нотариального удостоверения Developer-ID возможна даже за ограничительным межсетевым экраном / с интернет-провайдером, который принимает интересные решения.

Если ваш брандмауэр блокирует порт для передачи, кроме HTTPS, вам могут помочь следующие ответы.

itunesconnect с помощью загрузчика приложений за брандмауэром

Загрузите iOS-приложение в AppStore, используя порт 443

Другие вопросы по тегам