2010-04-04 1 views
22

У меня есть мое приложение утвержден некоторое время назад и использовал * профиль обеспечения, так что я создал somehting как:Могу ли я изменить идентификатор Bundle в своем приложении после его утверждения?

com.mydomain.MyApp

, но теперь у меня есть необходимость добавлять уведомления толчка, и я могу 't из-за того, что я использую профиль * подготовки, и у него должен быть свой собственный идентификатор и профиль приложения.

Как следует действовать, чтобы достичь обновления приложения, не нарушая ничего

ответ

11

Вы не можете изменить CFBundleIdentifier из освобожденного приложения, если вы хотите, чтобы выпустить обновления для этого, App Store будет автоматически отклонять его, когда вы загружаете. Итак ...

Мне нужно было включить iAds в приложение, ранее разработанное с помощью идентификатора приложения с подстановочным знаком. Вот что я сделал:

У меня есть идентификатор приложения <AlphaNumeric>.*, который в настоящее время используется моим приложением, а мое приложение имеет CFBundleIdentifier из com.companyname.mygame.

Создал новый идентификатор приложения <AlphaNumeric>.com.companyname.mygame.

Созданы новые профили обеспечения разработки и распределения, которые включают новый идентификатор приложения.

Загрузите новые профили подготовки к Xcode и моим устройствам.

Тогда я смог скомпилировать приложение с новым профилем распределения без подстановки, что означало при загрузке, что я мог бы включить iAds (или нажать для вас). CFBundleIdentifier не изменился, поэтому новая компиляция отображается как обновление существующего приложения.

Я могу подтвердить, что этот процесс работал без проблем.

+0

, другими словами, вы не можете изменить идентификатор пакета приложения, но вы можете выпускать обновления под новым AppID и профилем подготовки, используя этот новый AppID? –

+0

Пока новый AppID содержит такое же буквенное числовое пространство имен, как и исходный идентификатор подстановочного знака. Поэтому, если компания («BenCollins») создала приложение («TheApp») в шаблоне ID приложения 1234abcd. *, Вам нужно будет создать новый идентификатор приложения 1234abcd.com.BenCollins.TheApp и использовать его. – hjd

+0

Итак, вы в основном создаете новые профили обеспечения и используете их, и вы не изменяете идентификатор пакета. Ничего другого не меняется. Итак ... в какой момент приложение переключилось на уважение нового идентификатора приложения? Моя проблема заключается в том, что я хочу добавить покупки в приложение в приложение с уникальным идентификатором приложения. Спасибо за понимание! –

23

Идентификатор пакета для приложения должен всегда оставаться неизменным между обновлениями, но AppID может быть другим. Итак, все, что вам нужно сделать, это создать новый AppID, который использовал тот же идентификатор пакета, что и исходное приложение, а не wild card.

Приложениям, использующим подстановочный знак, по-прежнему нужен нормальный идентификатор пакета. Подстановочный код AppID позволяет вам использовать любой идентификатор пакета, который вам нравится, но он все еще нуждается в нем.

не Там раньше было Apple article об этом: , но это больше не доступны в Интернете Однако an archive доступен.

+0

неработающая ссылка, dag it –

+0

Ссылка была связана с Техническим Q & A QA1680, «Обновление с подстановочного идентификатора приложения на явный идентификатор приложения», однако либо что-то не так с сайтом Apple, либо они намеренно взяли эту статью сейчас. – bovine

+0

Этот ответ должен быть одобрен – Martin

1

Под Часто задаваемых вопросами в документе, озаглавленный «Техническое примечание TN2259», которая является «Добавление In-App Purchase для вашей прошивки и приложений Mac» есть этот бит

Вопрос: Мое приложение IOS в настоящее время подписанный профилем Provisioning Profile , который использует идентификатор приложения подстановочного знака. Как включить мой идентификатор приложения для поддержки In-App Purchase?

Ответ: прочитайте раздел «Создание и настройка идентификаторов приложений» Руководство по администрированию группы iOS, чтобы узнать, как вы можете включить свое приложение. ID для поддержки покупки в приложении.

Точка here ссылки, и есть раздел под названием "Обновление App Включить APNs, ICloud, In-App Purchase, или центр игры требует явного идентификатор приложения"

То есть, я дон Не знаю (пока), в какой момент приложение принимает новый идентификатор приложения. Это когда вы загружаете для просмотра, до этого или когда оно было одобрено? Сейчас я работаю над этой проблемой, поэтому я мог бы добавить этот ответ в ближайшее время.

Редактировать: Явный идентификатор приложения влияет только на часть программного обеспечения, которое вы тестируете, и, по существу, не имеет ничего общего с iTunes Connect. Это означает, что если вы тестируете покупки в приложениях, часть программного обеспечения, на котором работает (ваше приложение), должна иметь профиль предоставления на основе сертификата, специфичного для приложения. Что происходит в iTunes Connect, совершенно не имеет значения.