Ошибка кодового знака: действительный профиль подготовки, соответствующий приложению Идентификатор... не удалось найти

Я борюсь с этой проблемой в течение нескольких дней и собираюсь биться головой о стену и выставлять себя из моей подписи кода/при подаче заявления.

У меня есть приложение, которое было отправлено в магазин приложений и не было проблем (ver 1.0.0). Я смог опубликовать первое обновление (версия 1.0.1) с небольшим количеством пробной ошибки с использованием XCode 3.2.4 и iOS 4.1 через Application Loader. Теперь я на XCode 3.2.5 и iOS 4.2 и пытаюсь опубликовать обновление (версия 1.0.2) через XCode Organizer.

Я могу успешно создать свое приложение в соответствии с предоставлением AppStore Distribution, когда я установил свой идентификатор Bundle в info.plist на "com.myCompany.myApp". Но когда я пытаюсь проверить/отправить сборку через Organizer, я получаю сообщение об ошибке "Bundle Identifier: com.myCompany.myApp отличается от предыдущего идентификатора пакета ABC123XYZ1.com.myCompany.myApp". Видимо, когда я впервые отправил свое приложение через iTunes connect, я использовал полный (AppId) синтаксис .BundleIdentifer. Я проверил это, просмотрев идентификатор Bundle в iTunes connect.

Итак, логически, я добавил в префикс AppId идентификатор пакета в файле Info.plist. Когда я это сделаю и попытаюсь построить снова, я получаю сообщение "Ошибка кодового знака: не удалось найти действительный профиль подготовки, соответствующий идентификатору приложения...". и сборка не выполняется.

Я пробовал все, что я прочитал все в Интернете, касающееся этих двух ошибок без разрешения проблемы. Я вхожу в ситуацию 22. Я не могу создать приложение с префиксом AppID в идентификаторе пакета, и я не могу отправить его в iTunesConnect без него. Кроме того, при попытке использовать Application Loader для загрузки приложения возникает ошибка iTunesConnect.

Я готов предложить свой первый рожденный всем, кто может помочь мне выйти из этого подписи кода/приложения, подающего ад!

Ответ 1

Итак, после ожидания ответа на 2 месяца ответа от команды iTunes, которая никогда не появлялась, я выяснил путь этой проблемы и получил приложение для загрузки. Ключ должен сделать идентификатор пакета совпадающим с идентификатором пакета, зарегистрированным в iTunesConnect. В этом случае идентификатор пакета в iTunesConnect был в форме 1234567890.com.companyname.appname. Некоторые из них: когда я впервые создал свое приложение, я включил идентификатор семени пакета, который из моих исследований не должен был быть включен, когда приложение было создано в iTunesConnect.

Чтобы устранить эту проблему, я создал новый идентификатор приложения на портале обеспечения в форме 1234567890.1234567890.com.companyname.appname, а затем создал новое мобильное предложение для распространения на основе этого нового AppID. Я загрузил и установил мобильное обеспечение в xCode Organizer. В info.plist моего проекта xCode я установил идентификатор пакета 1234567890.com.companyname.appname. Это позволило xCode сопоставить мобильное обеспечение с указанным идентификатором пакета в файле info.plist и успешно построить и подписать мое приложение с идентификатором пакета, который соответствует идентификатору пакета в iTunesConnect. В организаторе я смог проверить и загрузить приложение успешно.

Ответ 2

В моем случае я должен был сначала СОЗДАТЬ приложение с помощью Cmd-B.

Это открыло доступ к окну с ключом, в котором мне было позволено "Разрешить" (или "Всегда разрешать" ) Xcode для доступа к цепочке ключей.

Только THEN я мог запустить программу для запуска на моем iPhone.

Видимо, удар только с запуском не сделал трюк.

(Btw, не забудьте сначала подписать ваше приложение с помощью "iPhone Developer: Your Name()".

Ответ 3

Даже странно, что ваш идентификатор пакета изменился, есть одна вещь, которая приходит мне на ум, чтобы вы могли попробовать.

Создайте новый профиль подготовки, который соответствует идентификатору, который вы использовали для отправки первой версии вашего приложения.

Ответ 4

У меня была такая же проблема, и с советами codeySmurf выше я смог повторно использовать один и тот же идентификатор и удалил эту ошибку.