Что означает CODE_SIGN_IDENTITY [sdk = iphoneos *] - PullRequest
4 голосов
/ 21 марта 2011

Я озадачен тем, что нужно ввести две записи для идентификатора кода.Не уверен, что это было то же самое в Xcode 3, но в Xcode 4 я вижу (в настройках сборки) что-то вроде этого:

Config

В project.pbxproj для "Распространение""это выглядит так

            CODE_SIGN_IDENTITY = "iPhone Distribution";
            "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Distribution";

Я не могу найти нигде никакой документации, в чем разница, но, возможно, я упускаю ее из виду (в документации).Я не понимаю, какой из них установить, и теперь я устанавливаю оба.Но мне не нравится чувство «я не знаю, что я делаю, но у меня все работает».Мне кажется, что первый (CODE_SIGN_IDENTITY) не нужен для разработки iPhone.Поскольку для «Отладка» и «Выпуск» я не изменил значение, так как я мигрировал из Xcode 3 в Xcode 4 и в project.pbxproj я вижу только «CODE_SIGN_IDENTITY [sdk = iphoneos *]».

Итак, возвращаясь к моему вопросу, кто-нибудь знает, что означает "CODE_SIGN_IDENTITY [sdk = iphoneos *]" и каковы различия с CODE_SIGN_IDENTITY и нужен ли CODE_SIGN_IDENTITY и есть ли у Apple что-нибудь задокументированное по этому поводу?

1 Ответ

3 голосов
/ 21 марта 2011

Это новый пользовательский интерфейс Xcode4, который на первый взгляд довольно сложный. Вы должны прочитать Руководство пользователя Xcode 4 и Руководство по переходу Xcode 4. Я постараюсь объяснить это ...

Давайте сосредоточимся только на строке распределения. Он содержит iPhone Распространение. Строка ниже (Any iOS SDK) содержит более конкретные настройки, которые перезаписывают настройки строки Distribution. Другими словами, вы можете установить идентификатор подписи по умолчанию для сборок Distribution, но вы можете перезаписать его для определенных SDK.

Вы можете сделать это для Debug, Release и т. Д. Это зависит только от ваших настроек / сложности проекта.

Эти вещи также могут быть установлены на разных уровнях - iOS по умолчанию, проект по умолчанию, целевой по умолчанию. Чтобы увидеть эти уровни, просто перейдите в «Настройки сборки» и переключитесь в режим просмотра «Объединенные уровни» (прямо под вкладкой «Настройки сборки»). Здесь вы можете найти значения для всех уровней. Столбец Resolved содержит значение, которое будет реально использоваться.

Это похоже на матрицу, в которой вы можете перезаписать настройки по умолчанию / проекта / цели в строке и построить настройки конфигурации для определенных SDK в столбце.

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