Недопустимая ошибка IPA на Testflight: среда APS в вашем Embedded.mobileprovision и в вашем двоичном файле не совпадают - PullRequest
7 голосов
/ 29 июня 2011

Прошу прощения за то, что написал так много вопросов, но заставить его работать было невероятно больно, даже если Testflight делает это намного проще

Invalid IPA error: The APS environment in your embedded.mobileprovision and your binary don't match

Я полагаю, что это связано с моими Apple Push-уведомлениями. Я использую свой профиль распространения во всех моих настройках. Мое приложение настроено как для разработки, так и для производства.

Какими могут быть причины этой ошибки?

В качестве дополнительного примечания, я работал над этим весь день, и я зацикливался на одном, за другим, особенно при использовании статических библиотек и xcode4. Я действительно плох в этом, или Apple действительно делает это так сложно?

Ответы [ 4 ]

4 голосов
/ 30 июня 2011

Я думаю, это была ошибка xcode.Вот как я решил это, и, возможно, это может быть полезно для некоторых пользователей в будущем.Включая мои шаги по решению проблем для справки:

  1. я изменил файл разрешений на aps-environment = production.Нет, все равно по-разному для двух файлов.
  2. я изменил ВСЕ мои настройки (отладка / нет) на профиль распределения, просто чтобы быть уверенным
  3. Я собрал его снова и проверилembedded.mob и двоичный файл, как вы предложили
  4. Больше не идтистало интересно - я не смог построить его на отладке (как и ожидалось), но у меня была та же проблема «профиль не найден», даже когда я был в режиме специального архивирования.Конечно, это означает, что остается ссылка на режим разработчика, даже когда я пытался заархивировать его (учитывая, что я уже изменил ВСЕ свои настройки и удалил все остальные свои профили)
  5. Итак, я выкопал project.pbxprojи обнаружил оскорбительную строку, которая все еще пыталась получить доступ к моему профилю разработки в специальной сборке.Я изменил его вручную, и в бинго все заработало, как и ожидалось

Конец дня, я удивлен, почему это произошло.Это похоже на ошибку xcode 4.Обычно это моя вина, когда такие вещи случаются, но это кажется довольно загадочным (плюс у меня было много проблем с xcode 4 для некоторых других вещей).

Решено с помощью потрясающей команды Testflight!

http://support.testflightapp.com/discussions/tools/17-invalid-ipa-the-aps-environment-in-your-embeddedmobileprovision-and-your-binary-dont-match

2 голосов
/ 27 октября 2011

Кроме того, особенно если цель, которую вы архивируете, была основана на другой цели, дважды проверьте, что схема «Архивации» вашей цели основана на правильной конфигурации сборки параметров сборки.

  • В Xcode4.2 рядом с меню «Пуск» нажмите -> Изменить схему
  • Нажмите кнопку «Архив» в левом ящике
  • Посмотрите на «Конфигурация сборки»

Для Testflight я копирую свою конфигурацию сборки выпуска и переименовываю ее «Ad Hoc» только для этой цели, указав свой профиль обеспечения Ad Hoc и все остальное, что там должно быть.Если вы зашли так далеко, я полагаю, что вы уже сделали это, но для потомков я подумал, что упомяну это.

0 голосов
/ 29 июля 2014

Ответьте на этот вопрос, если кто-то столкнется с этим при загрузке мобильного мобильного приложения.

Убедитесь, что вы проверяете элемент «Права» в файле app.xml.

<iPhone>
    <InfoAdditions>
        <![CDATA[
        <key>UIDeviceFamily</key>
        <array>
            <!-- iPhone and iPod touch devices -->
            <string>1</string>
            <!-- iPad devices -->
            <string>2</string>
        </array>
        ]]>
    </InfoAdditions>

    <!-- This part below.. -->
    <Entitlements>
        <![CDATA[
        ]]>
    </Entitlements>

Мои праваВыглядело так, когда я получил ошибку:

    <Entitlements>
        <![CDATA[
            <key>application-identifier</key>
                <string>QFY9MVY9K8.com.somethingHere.anAppName</string>
            <key>aps-environment</key>
                <string>development</string>
        ]]>
    </Entitlements>

Вот как это выглядит сейчас:

    <Entitlements>
        <![CDATA[
            <key>get-task-allow</key>
            <false/>
        ]]>
    </Entitlements>

Эта ошибка была вызвана, потому что

  1. Iиспользовал другой идентификатор в <key>application-identifier</key>, чем тот, что указан в моем профиле обеспечения.
  2. Я использовал development вместо production в части <key>aps-environment</key>.
0 голосов
/ 29 июня 2011

Я и раньше сталкивался с этой ошибкой, поэтому следуйте этим инструкциям, чтобы это работало:

  1. Создайте профиль обеспечения для своего приложения и добавьте в него устройства людей, которые должны его протестировать.
  2. Создайте приложение с использованием только что созданного профиля обеспечения и экспортируйте его как * ipa.
  3. Загрузите его в TestFlight и выберите устройства, на которых вы хотите протестировать приложение.

Многие люди пропускают шаг 2 (я тоже), и это важно для его работы. Так что попробуйте! :)

...