Отправка в Apple Store завершается с ошибкой ITMS-90046, но связанных доменов нет среди прав

Когда я впервые создал свое приложение и приложение Watchkit, у меня была включена возможность «Связанные домены». Я отключил его на панели «Возможности» расширения watchkit и сопутствующего приложения и подтвердил, что ключ отсутствует в каждом info.plist.

Я перешел на страницу «Сертификаты, идентификаторы и профили» Apple, выбрал идентификатор приложения для каждого приложения Watchkit, расширения и приложения, снял флажок «Связанные домены», повторно создал профили подготовки для каждого, загрузил и установил их.

Я сделал Ctrl-Shift-Command-K полную очистку, перезагрузку и восстановление. При отправке в магазин приложений я получаю сообщение об ошибке ниже.

Я выполнил поиск проекта в xcode и не могу найти ключ com.apple.developer.associated-domains. Я искал каталог сборки, нада. Я не верю, что этот ключ действительно существует в моем коде, и все же iTunesConnect, кажется, думает, что он там и установлен на «*».

Снимок экрана с сообщением об ошибке itms-90046 из Xcode Organizer


person brianfit    schedule 26.04.2015    source источник


Ответы (6)


Чтобы решить эту проблему:

  • войти в Apple Developer Center
  • Перейдите в раздел Сертификаты, идентификаторы и профили.
  • Перейдите в раздел Идентификаторы/Идентификаторы приложений.
  • Выберите идентификатор приложения и отредактируйте
  • Снимите флажок Связанные домены
  • Сохранять

Вам придется повторно создать все файлы подготовки, связанные с идентификатором приложения. По какой-то причине для моего приложения были проверены «Связанные домены». Отменив выбор, отправка в AppStore заработала.

введите здесь описание изображения

введите здесь описание изображения

person Ciprian Rarau    schedule 07.05.2015
comment
да, это была и моя проблема, хорошие фотографии и описание, я не знаю, почему кто-то проголосовал против этого .... - person nsij22; 08.06.2015
comment
удалите и обновите свои профили обеспечения, если проблема не устранена - person jwswart; 30.09.2015
comment
Я тоже мог бы проголосовать против, но я хороший человек, поэтому причина такова: это решение типа: если у функции есть проблема, просто удалите эту функцию - это вообще не решение! - person Евгений Шевченк&; 02.10.2015
comment
В моем случае он был включен автоматически, без запроса. Не всегда вам нужны связанные домены. Чтобы узнать, нужно ли вам это, проверьте здесь: (выполните поиск связанных доменов) developer.apple.com/library/ios/documentation/IDEs/Conceptual/ Apple сообщает: включите связанные домены, если вы хотите, чтобы ваше приложение было связано с доменом для доступа к определенным службам, например Safari сохранил пароли и продолжение активности. - person Ciprian Rarau; 02.10.2015
comment
В моем случае я действительно хочу использовать связанный домен, и я намеренно включил его, но получаю ту же ошибку. Этот ответ мне не помогает. - person Mike C.; 10.12.2015

Я думаю, это ошибка.

Мне удалось найти обходной путь, просто вставив новый элемент Array в Entitlements.plist как сопутствующего приложения, так и расширения Watchkit: «com.developer.apple.associated-domains» и допустимый домен для webcredentials: string. Хотя это не будет иметь никакого практического эффекта, поскольку ни мои файлы подготовки, ни вкладка «Возможности» приложения или расширения не включены для связанных доменов, это остановило любой сканер кода в itunesconnect, который срабатывал из-за недопустимого значения «*» для несуществующий ключ .

Скриншот файла Entitlements.plist

person brianfit    schedule 26.04.2015
comment
Для тех, у кого такая же проблема: сегодня Apple одобрила мое приложение с этим обходным путем. - person brianfit; 29.04.2015
comment
Привет, Брайан! Возможно, я нашел, почему нужны связанные домены и как их удалить. Смотрите мой ответ ниже. - person Ciprian Rarau; 07.05.2015
comment
Спасибо Ciprian, но я уже отключил его, заново сгенерировал и переустановил свои файлы обеспечения. Пару раз точно! - person brianfit; 07.05.2015
comment
Странно, потому что снятие флажка со связанными доменами помогло мне. Я мог бы также обновить свои профили подготовки из XCode/Preferences/Accounts. - person Ciprian Rarau; 07.05.2015
comment
Это действительно полезное решение, если ваше основное приложение использует функцию associated-domains. - person Valentin Shergin; 05.11.2015

Если вы хотите использовать связанные домены, убедитесь, что каждая запись в Entitlements.plist > com.developer.apple.associated-domains использует следующий формат:

<service>:<fully qualified domain>[:port number]

eg.

webcredentials:www.example.com
applinks:www.example.com
activitycontinuation:www.example.com

Имейте в виду, что [:port number] указывать необязательно, а <service> и <fully qualified domain> обязательны!

person Blank    schedule 02.12.2015
comment
Какой сервис следует использовать для реализации диплинкинга в iOS-приложении? - person Amit Singh; 11.08.2016
comment
Только ссылки на приложения: www.example.com - person Blank; 11.08.2016
comment
Мне не хватало ссылок на приложения: в начале каждого из моих связанных доменов. - person David Ben Ari; 05.01.2017
comment
Это правильный ответ для тех, кто действительно хочет использовать диплинкинг и пытается отправить свое приложение. В документации Apple не указано, что нужно включать эту службу. - person isaac; 05.07.2017
comment
Это был намек, который мне нужен, чтобы исправить мою проблему. (Я ошибочно вставил схему https:// перед доменом. Исправив ее, указав только домен.) - person Dirk van Oosterbosch; 30.04.2018

Из ошибок при отправке приложения я понимаю, что, возможно, в вашем профиле подготовки все еще включены «связанные домены», и он отсутствует в файле «прав» вашего приложения.

Так что, очевидно, будет два сценария.

Сценарий 1. Хотите ли вы поддерживать связанные домены? Это должно быть включено для таких функций, как «Универсальные ссылки».

Пожалуйста, перейдите по следующей ссылке:

https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/AddingCapabilities/AddingCapabilities.html

В этом случае, пожалуйста, не редактируйте файл «права» вручную. Вместо этого следуйте инструкциям.

1. Выберите файл проекта в Xcode.

2. Выберите соответствующую цель в разделе «Цели».

3. Выберите «Возможности», который находится рядом с «Общие».

4. Вы можете увидеть опцию «Связанные домены», как показано ниже.

введите здесь описание изображения

5. Включите «Связанные домены». Если вы включите «Associated Domains», Xcode попросит вас войти в учетную запись разработчика, и она будет синхронизирована с вашим AppId и профилем подготовки.

Как упоминалось на снимке экрана выше, при включении «Associated Domains» будут выполняться две функции.

  • Добавьте право на связанный домен в свой файл прав.
  • Добавьте связанную функцию домена в свой идентификатор приложения.

Если есть какие-либо проблемы с синхронизацией настроек из Xcode и учетной записи разработчика, установите следующий флажок.

введите здесь описание изображения

Также убедитесь, что ваши профили обеспечения , In House и App Distributions правильно обновлены и синхронизированы.

Большую часть работы сделает сам Xcode, нам просто нужно слушать и понимать.

Сценарий 2. Вашему приложению не нужна возможность "Associated-Domain". В этом случае, пожалуйста, следуйте ответу, данному @Ciprian Rarau. Это хорошо объяснено.

person arango_86    schedule 30.09.2016

Как указано в ОШИБКА ITMS-90164/90046: Недопустимые права на подпись кода Мне удалось решить проблему, выполнив чистую сборку. Для протокола: я получал код ошибки ITMS-90164.

введите здесь описание изображения

person Andrej    schedule 24.05.2016

  • Получал сообщения: «Исполняемый файл был подписан с недопустимыми правами».
  • Поиск в Google дал несколько полезных советов, но сообщение ^ не остановило
  • Пошел: Xcode> Окно> Устройства
  • Затем: в левом нижнем углу окна «Устройства» я нажал кнопку «Показать консоль устройства».
  • Начиная с кнопки лог я просмотрел информацию и нашел проблему и устранил ее за короткое время
  • В моем случае это включало права com.apple.developer.associated-domains, и мне нужно было сохранить связанные домены
  • Я буду использовать консоль устройства в будущем всякий раз, когда появляются сообщения об ошибках устройства, какая экономия времени
  • Решил проблему в короткие сроки
  • КСТАТИ, СПАСИБО всем за помощь
person B. Wason    schedule 29.04.2016