Check for availability of blocks at runtime on iOS

2019-02-09 10:25发布

问题:

I need to test for the availability of blocks at runtime, so I can handle backwards compatibility with iOS 3. Any tips?

edit: So far I'm doing if (!NSClassFromString(@"NSBlockOperation")) {...} Seems to be working...

回答1:

You will also need to make sure to weak link the libSystem.B.dylib, set your base SDK to 4.0 and deployment target to 3.1.3, as described here.

A good overview on how to deal with iOS versioning issues can also be found in this this Cocoa with Love article: Tips & Tricks for conditional iOS3, iOS3.2 and iOS4 code