Откуда xcode берет идентификатор приложения? - PullRequest
14 голосов
/ 16 сентября 2010

Я думаю, моя голова скоро взорвется.Я работал над своим приложением в течение некоторого времени и, наконец, получил iPhone для тестирования на устройстве, теперь я пытаюсь запустить свое приложение на iphone, но не могу этого сделать.Я сделал все необходимые шаги, но получил сообщение об ошибке [BEROR]Code Sign error: a valid provisioning profile matching the application's Identifier 'com.yourcompany.MyProject' could not be found

Мой предварительный профиль называется XXXXXXXXX.com.myname.*

в info.plist. Я изменил идентификатор пакета на com.myname.myapplication

мой проект называется MyProject, потому что я не могу его изменить, но моя цель и исполняемые файлы называются myapplication

Я проверил все настройки и даже не могу найти yourcompany в любом месте

но все равно получаю эту ошибку

где мне искать?

спасибо

Ответы [ 3 ]

23 голосов
/ 16 сентября 2010

Xcode использует идентификатор пакета, найденный в целевом файле Info.plist для подписи кода.

Какой файл Info.plist выбран на самом деле является настройкой сборки (обычно в цели) и обычно корректно устанавливается Xcode. Если вы вручную отредактировали значение идентификатора пакета Info.plist для своего идентификатора, Xcode должен использовать этот идентификатор, и подписание кода должно работать.

Файл Info.plist по умолчанию содержит идентификатор пакета, который содержит настройки сборки Xcode и обрабатывается до окончательного идентификатора при создании цели.

12 голосов
/ 21 ноября 2012

В ответе Николая Рухе говорилось: «Если вы вручную отредактировали значение идентификатора пакета Info.plist для своего идентификатора, Xcode должен использовать этот идентификатор, и подписание кода должно работать».Это правда.Однако в наши дни (я не уверен, как это было в сентябре 2010 года), xcode использует идентификатор пакета по умолчанию, который является функцией переменной $ {PRODUCT_NAME}.Эта же переменная используется в других местах, например, в качестве имени пакета, отображаемого имени пакета и т. Д. Таким образом, я бы рекомендовал вместо этого изменить $ {PRODUCT_NAME}, и это изменение затем распространится на идентификатор пакета Info.plist и т. Д.

Как изменить $ {PRODUCT_NAME}?Выберите подходящую цель, перейдите в «настройки сборки», разверните раздел «упаковка» и отредактируйте значение «Название продукта».

1 голос
/ 27 мая 2014

Выберите цель, перейдите к сводке.Измените идентификатор пакета на com.myname.myapplication из com.yourcompany.MyProject.Он должен работать!Я использовал это, как это, и он прекрасно работает каждый раз.Вы можете сделать то же самое из файла info.plist.

...