API Facebook - где создать экземпляр и как правильно реализовать handleOpenURL

Я работаю через API Facebook для моего приложения для iPhone, и у меня есть два вопроса:

Вся документация / примеры, похоже, помещают все в appDelegate: создание экземпляра объекта Facebook и авторизация в appDidFinishLaunching, а также переопределение метода application: handleOpenURL.

В моем приложении я не хочу, чтобы что-либо происходило, если пользователь не перейдет к определенному представлению и нажимает кнопку. Я понимаю, что в этом представлении я создам экземпляр объекта Facebook и начну авторизацию в методе обработчика кнопок, но как насчет обработки переопределения application: handleOpenURL? Мне пришлось бы использовать другой объект FB (экземпляр которого был создан в моем делегате приложения), чем тот, который используется в моем конкретном контроллере представления.

  1. Требуется ли в этой ситуации синглтон? Или это хорошее дизайнерское решение, позволяющее моему appDelegate создавать экземпляр объекта FB и получать к нему доступ из любого места, где он мне нужен в моей программе?

    В документации FB вам предлагается переопределить метод application: handleOpenURL:

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
    return [facebook handleOpenURL:url]; 
}
  1. Как написано, разве это не означает, что ваше приложение сможет открывать только один тип URL? Если ваше приложение должно отвечать более чем на одно, вам нужно будет проанализировать параметр url, чтобы выяснить, какое действие следует предпринять, правильно?

Спасибо!

8
задан mohacs 18 August 2014 в 21:12
поделиться