Try this code for your didBeginContact:
- (void)didBeginContact:(SKPhysicsContact *)contact
{
NSLog(@"bodyA:%@ bodyB:%@",contact.bodyA.node.name, contact.bodyB.node.name); // <- this gives you who touched who by object name
uint32_t collision = (contact.bodyA.categoryBitMask | contact.bodyB.categoryBitMask);
if (collision == (towerCategory | creepCategory))
{
NSLog(@"we got contact...");
}
}
Remember that contact.bodyA.node.(property)
can give you any property of SKNode. Things like name, position, xScale, yScale, alpha, children, parent and so on. You can see them all listed at the SKNode Class Reference.