I connect an iOS device (central) to a non iOS device (peripheral). Peripheral can run 2 different programs, so that it can advertises 2 different kind of services and characteristics.
I think iOS central caches some data such as peripheral name and services. Is it possible to clear that cached data?
I had a similar issue with Android that I solved with this: How to programmatically force bluetooth low energy service discovery on Android without using cache