What does CODE_SIGN_IDENTITY mean [sdk = iphoneos *]

I am puzzled that there are two entries for entering the code identifier. Not sure if this was the same in Xcode 3, but in Xcode 4 I see (in the build settings) something like this:

Config

In project.pbxproj for Distribution, it looks like

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

I can’t find any documentation anywhere, what’s the difference, but maybe I don’t notice it (in the documentation). I am confused which one to install about, and now I installed both. But I do not like that "I do not know what I am doing, but it works." It seems to me that the first (CODE_SIGN_IDENTITY) is not needed for iPhone development. Because for "Debug" and "Release" I have not changed the value since the transition from Xcode 3 to Xcode 4 and in project.pbxproj. I see only "CODE_SIGN_IDENTITY [sdk = iphoneos *]".

So, back to my question, does anyone know what CODE_SIGN_IDENTITY [sdk = iphoneos *] means, and what are the differences with CODE_SIGN_IDENTITY and is CODE_SIGN_IDENTITY needed and does Apple have something documented about this somewhere?

+4
source share
1 answer

This is the new Xcode4 interface, which at first glance is quite complicated. You should read the Xcode 4 User Guide and the Xcode 4 Transition Guide. I will try to explain this ...

Let me focus only on the Distribution line. It contains iPhone Distribution. The line below (Any IOS SDK) contains more specific settings that overwrite the parameters of the distribution line. In other words, you can set the default signature ID for the Distribution assembly, but you can overwrite it for specific SDKs.

You can do this for Debug, Release, etc. It only depends on your settings / project complexity.

These things can also be installed at different levels - the default is iOS, the default is the default, the default is the default. To see these levels, simply go to the "Parameter Settings" section and select "Combine into Levels" (only on the "Assembly Settings" tab). Here you can find the values ​​for all levels. The allowed column contains the value that will actually be used.

It looks like a matrix in which you can overwrite the default / project / goal parameters in a row and create configuration parameters for a specific SDK in a column.

+3
source

Source: https://habr.com/ru/post/1344658/


All Articles