在ios8工作期间,Spritekit SKPhysicsBody在ios7上发生碰撞

在ios8工作期间,Spritekit SKPhysicsBody在ios7上发生碰撞,ios,objective-c,sprite-kit,skphysicsbody,Ios,Objective C,Sprite Kit,Skphysicsbody,我对SKPhysicsBody提出了一个奇怪的问题,我用ios8 sdk制作了一个游戏,但与旧的ios7完全兼容。当我试图在ios7上执行此操作时,出现了错误导致崩溃 pathToDraw = CGPathCreateMutable(); CGPathMoveToPoint(pathToDraw, NULL, positionInScene.x, positionInScene.y); lineNode = [SKShapeNode node]; lineNode.path = pathToDr

我对SKPhysicsBody提出了一个奇怪的问题,我用ios8 sdk制作了一个游戏,但与旧的ios7完全兼容。当我试图在ios7上执行此操作时,出现了错误导致崩溃

pathToDraw = CGPathCreateMutable();
CGPathMoveToPoint(pathToDraw, NULL, positionInScene.x, positionInScene.y);
lineNode = [SKShapeNode node];
lineNode.path = pathToDraw;
lineNode.physicsBody = [SKPhysicsBody bodyWithEdgeChainFromPath:pathToDraw]; <<crashes here

在iOS8应用程序上运行得很好。问题仅在iOS 7上出现

您的路径仅包含一个点。由于这仅在iOS 7中才会崩溃,我假设iOS 8将此视为一种特殊情况,并假定通过使用节点的位置作为另一点来完成路径。不管怎样,如果你想让它与iOS 7兼容,你必须始终创建带有两点的路径

Assertion failed: (count >= 2), function CreateChain, file /SourceCache/PhysicsKit_Sim/PhysicsKit-6.5.4/PhysicsKit/Box2D/Collision/Shapes/b2ChainShape.cpp, line 45.