NSString *identifier = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
The code above gives two different identifiers on the same phon
Its because you have 2 different bundle id's.
A vendor is identified by the first two dot separated fields. So com.a.app1 and com.a.app2 have same vendor (com.a) but com.b.app3 has a different vendor (com.b)