Quartz Core Import n'est pas requirejs dans Xcode 5?

Je suis juste tombé dessus aujourd'hui. CALayer avertissements dans Xcode 4.6 si j'essaie d'accéder au CALayer sans importer <QuartzCore/QuartzCore.h> . La même chose fonctionne cependant bien dans Xcode 5.

Oui, <QuartzCore/QuartzCore.h> est automatiquement inclus, mais cela semble être plus un effet secondaire que prévu, car il est inclus uniquement indirectement:

  • <UIKit/UIKit.h> inclut <UIKit/UISlider.h> ,
  • Dans le SDK iOS 7, <UIKit/UISlider.h> inclut <QuartzCore/QuartzCore.h> , en raison de nouvelles variables d'instance dans la class UISlider (du type CAShapeLayer ).

En outre, Xcode 5 dispose d'un nouveau paramètre de construction «Lier les frameworks automatiquement», qui est activé par défaut (et nécessite la nouvelle fonctionnalité «modules»), de sorte que l'infrastructure QuartzCore est également ajoutée aux bibliothèques de liens.