Ответы:
Я боролся с этой проблемой в течение часа и наконец нашел решение. Оказалось, что команда разработчиков была разной в ProjectTarget и ProjectTests.
У меня сработал перезапуск Xcode .
Я обнаружил проблему. Приложение, которое я создал на developer.apple.com, не включает аудио между приложениями. Для файла plist с правами проекта в Xcode установлено значение «ДА» для звука между приложениями (по умолчанию). Как только я изменил настройку конфигурации своего приложения на сайте developer.apple.com, чтобы включить аудио между приложениями. Затем мое приложение запускается на моих устройствах. Я предполагаю, что это новое правило Apple, позволяющее согласовать настройки вашего приложения как на сайте developer.apple.com, так и в настройках проекта xcode.
Я смог исправить это, включив / выключив право «Game Center» в Xcode 5 :-)
Никакое решение не помогло мне, пока я не проверил и не установил цель тестирования приложения на тот же профиль подготовки, что и основное приложение. Или, если вы используете автоматическое пение, убедитесь, что вы выбрали ту же команду в тестах.
Для XCode 10 может потребоваться использовать устаревшую систему сборки
Изменения можно внести в настройках файла / проекта. ОШИБКА ITMS-90174: «Отсутствует профиль обеспечения - приложения iOS должны содержать профиль обеспечения в файле с именем embedded.mobileprovision».
Кордова / ионное сообщение: https://github.com/apache/cordova-ios/issues/407
Решение для последней версии Xcode :
Сначала вы должны проверить, что включено в вашем Центре участников для вашего конкретного AppID :
Затем в соответствующей цели в Xcode , вы должны быть включена той же возможность: В этом случае: App Group
, Game Center
, In-App Purchase
. Все они должны быть включены в вашей цели в Xcode.
Однако для режима DEBUG это не имеет значения :
это очень важно для вашего режима RELEASE :
Обратите внимание, что Game Center
и In-App Purchase
включены по умолчанию в Центре участников, но отключены в цели Xcode.
Я думаю, что ваша проблема заключается в профиле, который вы использовали xCode4.6, а теперь вы используете xCode5.
Вам необходимо обновить сертификаты / профили обеспечения через XCode> Preferences> Accounts
XCode> Настройки> Учетные записи> Щелкните свою УЧЕТНУЮ ЗАПИСЬ ДЛЯ РАЗРАБОТЧИКА> кнопку «Просмотреть подробности» (внизу справа)> появится экран «Подписание идентификаторов / PPs»> нажмите «Обновить».
Затем снова выберите в настройках сборки правильный профиль, очистите и соберите свой проект.
Надеюсь, это тебе поможет.
Мне пришлось сопоставить возможности приложения в Xcode5 под
Capabilities ->
In-App purchase -> ON
Game Center -> ON
с этим в профиле провизирования.
xcode 6.1 (образец HealthKit)
Я получал эту ошибку из-за интеграции HealthKit: я включил In-App Purchase, Game Center и Healkit решил мою проблему .. То же самое, что я включил в профиле Provision.
(Xcode 6.1)
Проблема для меня была в моих настройках сборки; При попытке развертывания на устройстве у меня был установлен профиль Provisioning Profile на рабочий профиль App Store. Я переключил его на «Автоматический», и это решило мою проблему. Вы также можете установить его в свой профиль Dev Provision Profile.
У меня также есть 2 сертификата, поэтому я добавил свой второй сертификат в мое положение для разработчиков. У других, вероятно, не будет этой проблемы.
У меня была аналогичная проблема, когда я обновился до Xcode 10, я решил проблему, перейдя в File> Project Setting, в опции «New Build System» выберите «Legacy Build System». Это помогло мне, надеюсь, это кому-то поможет.
Если перезапуск xcode не работает, создайте новый профиль обеспечения и обязательно включите свои тестовые устройства.
В моем случае устройство не было добавлено. Поэтому мне пришлось добавить устройство и создать новый профиль обеспечения.
Еще одна вещь, которую нужно проверить - убедитесь, что вы выбрали правильные объекты в обоих
Цели -> Ваша цель -> Настройки сборки -> Подписание
и
Проект -> Ваш проект -> Настройки сборки -> Объект подписи кода
Я получил это сообщение, когда у меня был выбран полный профиль разработчика в одном и другой (не являющийся разработчиком) Apple ID, выбранный в другом, даже если в приложении не запрашивались права.
Кажется, это небольшая ошибка внутри Xcode. Все равно попробуйте заархивировать , даже если есть проблема с entitlements
. Если с вашими правами все в порядке, он будет загружен без проблем. Apple примет его, и ваше приложение будет опубликовано в AppStore.
Я сделал это, и это сработало :)
Это также может быть связано с неправильной схемой.
У меня была такая же проблема в XCode 5. Это все равно помогло мне.
XCode > Preferences > Location tab > DerivedData
Нажмите небольшую стрелку влево, чтобы открыть DerivedData в Finder. Переместите в корзину вашего проекта и перестройте.
Была проблема. Решение: перейдите к правильной цели -> возможности -> у меня возникла проблема с «Покупкой в приложении» и кнопкой, чтобы исправить это. Исправлена проблема с отключенной работой.
В моем случае: мне нужно включить Inter-App Audio в
Capabilities -> Inter-App Audio
Думаю, поскольку я использую уведомление Parse.com, ему нужна ссылка на AudioToolbox.framework
Ответы здесь кажутся немного неадекватными, поэтому я добавляю свои два цента:
Реальное решение заключается в том, что обычно существует несоответствие между тем, что хранится в вашем профиле обеспечения (проверьте на developer.apple.com -> members -> Certificates -> сертификат, который вы используете [обязательно проверьте, есть ли dev / production) и что включено в вашем приложении (дважды щелкните имя проекта), в горизонтальном меню выберите «Возможности» (рядом с «Общие»).
Если вы недавно изменили один из них, обязательно обновите свои сертификаты в XCode -> Preferences -> Accounts -> Details -> Refresh Icon и перезапустите XCode.
В моем случае мне пришлось принять лицензионное соглашение разработчика Apple.
Войдите в учетную запись разработчика Apple и просмотрите сообщение, подобное приведенному ниже.
«Лицензионное соглашение программы Apple Developer было обновлено. Для доступа к определенным ресурсам членства **** необходимо принять последнее лицензионное соглашение до 28 июня 2016 года».
Раньше мне не удавалось добавлять / редактировать контейнеры iCloud в идентификатор приложения, хотя я изменил / проверил возможности, профили обеспечения, сертификаты и т. Д. После принятия контракта все стало работать гладко.
Надеюсь, это сэкономит чье-то драгоценное время.
Совсем недавно я столкнулся с точно такой же проблемой. Прочитав множество разных советов, ни один из которых не помог мне, я наконец пошел под капот и нашел основную причину проблемы.
Файл мобильной подготовки на самом деле НЕ совпадает с файлом прав, созданным Xcode.
Хотя все файлы автоматически обрабатываются программой Apple, они неверны.
Если вы загрузите файл подготовки с портала Apple и откроете его (вы можете открыть его, потому что это просто файл plist, подписанный вашим сертификатом, поэтому он доступен для чтения текстовым редактором) и сравните его с вашим файлом прав (автоматически сгенерированным Xcode и находящимся в файлах проекта) (так что это снова файл plist XML, доступный для чтения текстовым редактором.) Тогда вы увидите разницу.
В моем случае это было право на Game Center. Он был отображен на портале как отмеченный (отмечен по умолчанию), но на самом деле это право не было включено в файл мобильной подготовки. Итак, нужно было удалить его из файла Entitlements.
Таким образом, в результате содержимое профиля подготовки мобильных устройств иногда не совпадает с тем, что отображается на странице конфигурации идентификатора приложения.
Для тех, у кого такая же проблема с автоматической настройкой профиля в целевых параметрах сборки:
Будьте очень осторожны при редактировании файла разрешений для целей! Это может нарушить соответствие автоматически сгенерированному профилю подготовки, и вы получите эту ошибку.
В моем случае мне пришлось временно использовать производственные контейнеры iCloud с отладочными сборками. Для этого я вставил
<key>com.apple.developer.icloud-container-environment</key>
<string>Production</string>
в файле прав, и это сработало!
Чтобы напомнить мне, что позже мне пришлось удалить эти строки, я добавил просто следующий комментарий:
<key>TODO</key>
<string>The entry below must be out commented or deleted to use the iCloud development environment.</string>
И это нарушило переписку и породило ошибку .
Я использую push-уведомление в своем приложении, и после завершения разработки я попытался протестировать push-уведомление для конфигурации выпуска . В то время я получил эту ошибку.
Я использую производство Provisioning Профиль для запуска для выпуска . Так что я смог решить эту ошибку, используя профиль Adhoc Provisioning Profile.