2008-12-01 2 views
8

Попробуйте перенести мое первое приложение iPhone в Subversion, обнаружив, что в моем файле xcode project.pbxproj есть раздел «Подпись кода».iPhone Xcode project.pbxproj + Subversion = проблема с подделкой кода?

CODE_SIGN_IDENTITY = "iPhone Developer: my username here...; 
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: above..."; 

Проблема заключается в том, что в нашей команде мы используем различные настройки, связанные с нашим устройством. Поэтому, когда другие хотят запустить код на устройстве, они должны изменить эту строку. Мы можем разделить одно обеспечение на все это, но у этого есть несколько недостатков. Есть ли другой способ его решения? то есть включить раздел подписи кода в другой файл, который не связывается с SVN?

ответ

0

Очевидным выбором было бы создание других конфигураций сборки.

0

Почему вы "меняете эту строку" напрямую? Вы почти никогда не должны напрямую редактировать что-либо в файле .xcodeproj.

Вместо этого вы должны изменить это в своих настройках сборки. Чтобы быть более конкретным в вашем случае, вам нужно добавить еще несколько конфигураций сборки, по одному для каждого члена команды. Затем этот член может быть создан с использованием собственного файла инициализации с беспорядочным использованием любых других параметров сборки.

1

Вы можете использовать $(USER) в определении определения сборки, чтобы включить короткое имя пользователя.

Например:

CODE_SIGN_IDENTITY = "iPhone Developer: $(USER)"; 

Это будет использовать содержимое переменной в USER среды в определении параметра CODE_SIGN_IDENTITY сборки.

11

Вы можете создать проектную или целевую конфигурацию в содержимом файла xcconfig, который не установлен в Subversion или иначе настроен для каждого разработчика. Добавьте в проект соответствующий файл xcconfig, а затем выберите файл из всплывающего окна «На основании» внизу вкладки «Сборка» в окне «Информация о проекте» или «Информация о цели».

Например, вы могли бы иметь DeveloperSettings.xcconfig файл в проекте, содержание которого в вашей системе являются:

CODE_SIGN_IDENTITY = "iPhone Developer: favoyang" 

в то время как его содержание на моей системе:

CODE_SIGN_IDENTITY = "iPhone Developer: cmh" 

Эти настройки будут наследоваться либо проектной, либо целевой конфигурацией, которая настроена на этот файл.

12

До тех пор, пока у вас есть только один идентификатор подписки, вы можете просто использовать «Разработчик iPhone» как свою идентификационную информацию. Codesign будет искать идентификатор, содержащий «iPhone Developer», и использовать его.

+0

Я думаю, что это ново, начиная с 2.2, поэтому не все направления там отражают это. – 2009-01-15 19:04:26

Смежные вопросы