У меня есть приложение, которое будет использовать API Facebook и Instagram, оба из которых требуют, чтобы я использовал этот метод делегата:
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return [PFFacebookUtils handleOpenURL:url];
}
и это код, предоставленный instagram:
-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation {
return [self.instagram handleOpenURL:url];
}
Как видите, это проблема, потому что я могу вернуть только один обработчик URL, но мне нужно решить, какой из них.
В моем делегате приложения я закомментировал опцию Instagram выше и оставил только Facebook. Как и ожидалось, Facebook будет работать нормально, но я получаю эту ошибку, когда нажимаю авторизоваться в Instagram:
Очевидно, что Facebook пытается обработать возвращаемый URL из Instagram, поэтому произойдет ошибка.
Можно ли проверить URL-адрес, чтобы узнать, содержит ли он идентификатор приложения для каждой службы, которую я пытаюсь использовать? Итак, если URL-адрес содержит идентификатор Instagram, верните обработчик instagram, если он содержит идентификатор Facebook, верните обработчик Facebook.
Любая помощь будет здорово, спасибо!