Каким должен быть мой идентификатор приложения iOS для работы с моим профилем подготовки?

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

Недопустимый IPA: группа доступа к цепочке ключей в файле embedded.mobileprovision и ваш двоичный файл не совпадают.

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

Вот мои настройки:

  • Идентификатор моего приложения, который я создал на портале подготовки, — com.bubblefoundry.Clear. Естественно, перед ним стоит числовой идентификатор, который назначает Apple.
  • Я создал специальный профиль обеспечения распространения с идентификатором приложения и нужными устройствами. Я скачал его в Xcode.
  • Название продукта Clear в Xcode.
  • Имя пакета на вкладке «Сводка» цели — com.bubblefoundry.Clear, где «Очистить» выделено светло-серым цветом и автоматически заполняется Xcode. Хотя я могу добавить текст до или после Clear, я не могу его удалить. Имя на вкладке «Информация» — com.bubblefoundry.${PRODUCT_NAME:rfc1034identifier}.
  • В настройках сборки подписи кода как для проекта, так и для целевого объекта для параметра «Отладка» и «Выпуск» установлено значение «Разработчик iPhone» в разделе «Автоматический выбор профиля». Я подумал, что мне, возможно, придется установить Release для моего профиля распространения, но я не сделал этого в другом рабочем проекте.

Я могу просто архивировать свое приложение. Затем в органайзере я могу сказать ему распространять его для специальной разработки, а затем повторно подписать его с профилем обеспечения распространения, который я создал ранее. Об ошибках не сообщается. Точно так же я могу без проблем подключить свой iPhone и запустить приложение на телефоне. Только когда я пытаюсь загрузить IPA с помощью Testflight.app, мне говорят, что файл недействителен.

Поскольку там упоминается embedded.mobileprovision, я решил заглянуть в IPA и изучить файл. Вот соответствующие данные (минус уникальная информация):

<plist version="1.0">
<dict>
    <key>AppIDName</key>
    <string>Project Clear</string>
    <key>ApplicationIdentifierPrefix</key>
    <array>
        <string>app-id</string>
    </array>
    <key>CreationDate</key>
    <date>2013-01-11T17:44:51Z</date>
    <key>DeveloperCertificates</key>
    <array>
        <data>
      my-certificate
        </data>
    </array>
    <key>Entitlements</key>
    <dict>
        <key>application-identifier</key>
        <string>app-id.com.bubblefoundry.Clear</string>
        <key>get-task-allow</key>
        <false/>
        <key>keychain-access-groups</key>
        <array>
            <string>app-id.*</string>
        </array>
    </dict>
    <key>ExpirationDate</key>
    <date>2013-10-07T17:44:51Z</date>
    <key>Name</key>
    <string>Project Clear Testers</string>
    <key>ProvisionedDevices</key>
    <array>
        <string>device1</string>
        <string>device2</string>
        <string>device3</string>
        <string>device4</string>
        <string>device5</string>
    </array>
    <key>TeamIdentifier</key>
    <array>
        <string>app-id</string>
    </array>
    <key>TeamName</key>
    <string>Bubble Foundry</string>
    <key>TimeToLive</key>
    <integer>269</integer>
    <key>UUID</key>
    <string>uuid</string>
    <key>Version</key>
    <integer>1</integer>
</dict>
</plist>

Глядя на это, почти все выглядит согласующимся с тем, что я установил ранее. Единственная мысль, что AppIDName это Project Clear, а не Clear. Является ли это источником проблемы? Или, может быть, keychain-access-groups должно быть app-id.com.bubblefoundry.Clear, а не app-id.*?


person pr1001    schedule 14.01.2013    source источник


Ответы (1)


В этом случае идентификатор вашего приложения должен быть com.bubblefoundry.Clear.

Если вы создали свой профиль обеспечения, например:

com.bubblefoundry.*

Вы можете использовать этот профиль обеспечения с различными идентификаторами.

com.bubblefoundry.Clear
com.bubblefoundry.my
com.bubblefoundry.Clear.newApp
com.bubblefoundry.testApp
com.bubblefoundry.yoyo

Вы можете изменить идентификатор приложения в indo.plist

замените com.bubblefoundry.${PRODUCT_NAME:rfc1034identifier}. требуемым идентификатором, например: com.bubblefoundry.myTestApp.

person Midhun MP    schedule 14.01.2013
comment
Спасибо, но, к сожалению, изменение идентификатора пакета на com.bubblefoundry.Clear не помогло. - person pr1001; 14.01.2013
comment
Что касается моего профиля обеспечения, то он не является шаблонным: он связан с идентификатором приложения com.bubblefoundry.Clear. - person pr1001; 14.01.2013
comment
Пожалуйста, удалите сертификат связки ключей и профиль подготовки --› добавьте его снова --› сделайте очистку и сборку - person Midhun MP; 14.01.2013
comment
Боюсь, это не помогло. - person pr1001; 14.01.2013