Попытка передать мое первое приложение для iPhone в Subversion, обнаружила, что в моем файле xcode project.pbxproj есть раздел «идентификация подписи кода».
CODE_SIGN_IDENTITY = "iPhone Developer: my username here...;
"CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer: above...";
Проблема в том, что в нашей команде мы используем различную подготовку, привязанную к нашему устройству. Поэтому, когда другие хотят запустить код на устройстве, они должны изменить эту строку. Мы можем использовать одну подготовку для всего этого, но у этого способа есть несколько недостатков. Есть ли другой способ решить эту проблему? т.е. включить раздел подписи кода в другой файл, который не фиксируется в SVN?





Очевидным выбором было бы создание других конфигураций сборки.
Почему вы напрямую «меняете эту строчку»? Практически никогда не следует напрямую редактировать что-либо в пакете файлов .xcodeproj.
Вместо этого вам следует изменить это в настройках сборки. Чтобы быть более конкретным в вашем случае, вам нужно добавить еще несколько конфигураций сборки, по одной для каждого члена команды. Затем этот участник может выполнить сборку, используя свой собственный файл подготовки, не вмешиваясь в какие-либо другие параметры сборки.
Вы можете использовать $(USER) в определении параметров сборки, чтобы включить ваше короткое имя пользователя.
Например:
CODE_SIGN_IDENTITY = "iPhone Developer: $(USER)";
Это будет использовать содержимое переменной среды USER в определении параметра сборки CODE_SIGN_IDENTITY.
Вы можете основать проект или целевую конфигурацию на содержимом файла xcconfig, который не зарегистрирован в Subversion или иным образом настроен для каждого разработчика. Добавьте соответствующий файл xcconfig в свой проект, а затем выберите файл из всплывающего окна «На основе» в нижней части вкладки «Сборка» в окне «Информация о проекте» или «Информация о цели».
Например, у вас может быть файл DeveloperSettings.xcconfig в проекте, содержимое которого в вашей системе:
CODE_SIGN_IDENTITY = "iPhone Developer: favoyang"
в то время как его содержимое в моей системе:
CODE_SIGN_IDENTITY = "iPhone Developer: cmh"
Эти параметры будут унаследованы либо проектом, либо целевой конфигурацией, которая будет основана на этом файле.
Пока у вас есть только одно удостоверение для подписи, вы можете просто использовать «iPhone Developer» в качестве удостоверения для кодовой подписи. Codesign выполнит поиск идентификатора, содержащего «iPhone Developer», и использует его.
Я думаю, что это новинка версии 2.2, поэтому не все инструкции отражают это.