Erreur de compilation Xcode sur bool lorsque l'appareil n'est pas connecté

J'essaye de faire une animation simple en utilisant cet extrait:

[UIView animateWithDuration:2.0 delay:0.0 options: UIViewAnimationOptionCurveEaseInOut animations:^{ [self.view setAlpha:0.7f]; } completion:^(BOOL finished){ if(finished) NSLog(@"Finished !!!!!"); // do any stuff here if you want }]; 

Mais XCode me donne une erreur indiquant:

"Types de pointeurs de blocs incompatibles envoyant 'void (^) (uint_8t)' au paramètre de type 'void (^) (BOOL)'".

Si j'essaye de changer le 'BOOL' en 'bool', alors le code fonctionne bien en compilant sur un iPad Air, mais quand je déconnecte l'iPad et essaye le simulateur, j'ai la même erreur, mais avec des types différents:

"Types de pointeurs de blocs incompatibles envoyant 'void (^) (bool)' au paramètre de type 'void (^) (BOOL)'".

À mon avis, c'est bizarre, car il s'agit d'un extrait de code qui semble fonctionner pour beaucoup de gens, et c'est un morceau de code plutôt standard. Qu'est-ce qui pourrait causer ce comportement?

PS Je reçois également des avertissements de types incompatibles dans la méthode – (void) viewWillDisappear: (bool) animée. Ils disparaissent également lorsque je connecte l'iPad, et réapparaissent quand il est déconnecté.

EDIT: —- Ce code provoque même des erreurs:

 [searchArray enumerateObjectsUsingBlock:^(NSSsortingng *key, NSUInteger idx, BOOL *stop) { address = addresses[key]; if(address) *stop = YES; } ]; 

Aussi sur le champ BOOL. Et les erreurs sont les mêmes, les types de parameters contradictoires.

BOOL est un type différent, selon que vous comstackz pour 32 bits ou pour 64 bits. Il existe différents types utilisés comme Bool, Bool, Boolean et probablement d'autres – assurez-vous que vous utilisez le même type partout.

Brancher votre appareil signifie que le code sera compilé pour votre appareil, et non pour le simulateur, donc cela peut changer entre 32 et 64 bits et triggersr le problème.

Je vérifie également s'il y a un typedef ou un #define pour BOOL quelque part dans votre code. Double-click BOOL dans votre code, faites un clic droit et "Afficher la définition".