Os pools SKSpriteNode no iOS 8 parecem estar alocados à sobreposição de memória

Eu posso estar perdendo alguma coisa. Mas meu aplicativo atual na appstore funciona no iOS 7, mas no iOS 8 falha completamente porque não cria um pool de sprites pré-alocado. Eles parecem estar gravados no mesmo endereço, a menos que os sprites tenham propriedades especificamente diferentes.

No iOS 7, o código a seguir produz um conjunto com 4 objetos exclusivos. No iOS 8, o mesmo código produz um conjunto com apenas 1 objeto:

  NSMutableSet *aSet = [NSMutableSet set];
  SKColor *sameColor = [SKColor redColor];
  CGSize sameSize = CGSizeMake(10, 10);

  for (int i = 0; i < 4; i++) {

      //allocate a brand new sprite
      SKSpriteNode *thisSprite1 = [[SKSpriteNode alloc] initWithColor:sameColor size:sameSize];

      [aSet addObject:thisSprite1];

  }

NSLog(@"aSet Count: %i", aSet.count);

Resultado iOS8:

2014-09-09 15: 06: 43.065 MSM [383: 27490] aContagem de conjunto: 1

Eu estou ficando louco? Surpreendentemente, praticamente todo o meu aplicativo é baseado nesse conceito de código repetido várias vezes. Se eu fizer a mesma coisa, mas usar algo comoNSObject, o problema desaparece e, portanto, parece haver uma nova alteração noSKSprite. Eu sei que posso contornar isso com algumas coisas loucas, mas é uma dor enorme, já que eu não deveria fazer isso, e esperava evitar o envio de outra versão.

questionAnswers(1)

yourAnswerToTheQuestion