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