Я тестирую свое приложение в iOS9 Beta 4 и нахожу много кода, который раньше работал в iOS8, но больше не работает должным образом. Другой пример — свойство «particleAction» SKEmitterNode в SpriteKit. Следующий код работал в iOS8, но не работает в iOS9:
// create the particle movement action
SKAction *move = [SKAction moveByX:100 y:100 duration:5]; // also, I've tested several other SKActions, such as scaleBy, fade, rotate, to no effect here
// create a target node and add to the SKScene
SKNode *targetNode = [SKNode node];
targetNode.position = origin;
[mySKSceneNode addChild:targetNode];
// add an emitter node that has a target and an SKAction
SKEmitterNode *flameTrail = [NSKeyedUnarchiver unarchiveObjectWithFile:[[NSBundle mainBundle]pathForResource:@"FlameAttack" ofType:@"sks"]];
flameTrail.position = origin;
flameTrail.particleAction = move; // TODO iOS9 compatibility issues!
flameTrail.targetNode = targetNode;
[mySKSceneNode addChild:flameTrail];
В iOS8 приведенный выше код давал бы SKEmitterNode, который выглядел бы как летящие искры. В iOS9 SKEmitterNode полностью невидим (вообще не отображается в SKScene). Если я закомментирую следующую строку:
flameTrail.particleAction = move; // TODO iOS9 compatibility issues!
тогда я увижу в сцене SKEmitterNode, но не увижу никакого движения, связанного с частицами.
Я также проверил это с несколькими другими SKActions и не увидел никаких изменений в результатах. Я отправил сообщение об ошибке в Apple; тем временем кто-нибудь может подтвердить/опровергнуть эту проблему или увидеть проблему в коде?
SKEmitterNode
также исчезает в OS X El Capitan (GM), когда установлено свойствоparticleAction
. - person Milos   schedule 22.09.2015