While the easiest task is to try, I think that they will not harm if they are present but not used (for example, you use the runtime if statement to bypass blocks using code on devices up to 4.0), but they will of course , do not work on devices up to 4.0, and all Apple APIs ensure that the use of blocks will not be available in any case. In general, if you have a way to do something without blocks, there is no reason to have another way to do it with blocks - it just increases redundancy and duplicate code, so if you want to target devices to 4.0, you should not use blocks, but if you want / need to use blocks, do not target the OS below 4.0
source share