Примечание. Я разрабатываю с использованием Xamarin. Подобный вопрос размещен на форуме Xamarin здесь
Я создаю приложение, называемое CompanyApp. Затем я создал идентификатор приложения для него com.Company.CompanyApp, а также профиль распределения, в котором используется соответствующий идентификатор приложения. Я загрузил двоичный файл, и он отлично работал.
Затем я продолжил создание демонстрационной версии приложения (в основном то же приложение с небольшой модификацией, так что это одно и то же решение и проект, просто разные настройки подписки), CompanyAppDemo с новым приложением ID com.Company.CompanyAppDemo, а также новый профиль распределения, в котором используется новый идентификатор приложения. Я обновил параметры подписи iOS Bundle, чтобы использовать новый профиль Provisioning Profile и сгенерировал IPA. Но когда я загрузил его в Application Loader, я получил следующую ошибку:
[2015-01-23 16:08:21 SGT] ОШИБКА: ОШИБКА ITMS-90164: "Недействительный код Подписание прав. Права в вашей сигнатуре пакета приложений не соответствуют тем, которые содержатся в профиле обеспечения. В соответствии с профилем инициализации пакет содержит ключевое значение это не разрешено:" TEAMID.com.Company.CompanyApp "для ключа 'application-identifier' в 'Payload/CompanyApp.app/CompanyApp'"
[2015-01-23 16:08:21 SGT] ОШИБКА: ERROR ITMS-90046: "Недействительный код Подписание прав. Ваша подпись пакета приложений содержит которые не поддерживаются в iOS. В частности, value 'TEAMID.com.Company.CompanyApp' для ключевого 'application-identifier' в 'Payload/CompanyApp.app/CompanyApp' не поддерживается. Это значение должна быть строка, начинающаяся с вашего TEAMID, а затем точка".", за которым следует идентификатор пакета.
Я отлаживал дни, чтобы разобраться безрезультатно.
Мне интересно, почему, когда я подписал контракт с новым профиль, ошибка, с которой загружается Application Loader, ссылается на идентификатор исходного TEAMID.com.Company.CompanyApp вместо TEAMID.com.Company.CompanyAppDemo? Это ошибка в Xamarin, которая забирает неправильный профиль подготовки или я что-то упускаю? Вам не нужен другой сертификат для другого приложения?
Обратите внимание, что я всегда обновлял список профилей Provisioning Profile в XCode > Предпочтение перед изменением параметра подписи iOS Build в Xamarin.