Is there a way to make the BL600 only detectable to an iPhone with a specific app installed?
No. This is not possible because you cannot hide ADV prior to a connection and you can only advertise with ADV_IND (connectable undirected advertising event) before a connection is made. Once connected, you can advertise with ADV_DIRECT_IND (connectable directed advertising event).