FBSessionDelegate не несет ответственности за эту проблему.IOS SDK имеет запасной вариант для Safari, если не может запустить приложение FB.В Facebook.m в этом методе:
- (void)authorizeWithFBAppAuth:(BOOL)tryFBAppAuth
safariAuth:(BOOL)trySafariAuth
... есть этот комментарий:
// If the device is running a version of iOS that supports multitasking,
// try to obtain the access token from the Facebook app installed
// on the device.
// If the Facebook app isn't installed or it doesn't support
// the fbauth:// URL scheme, fall back on Safari for obtaining the access token.
// This minimizes the chance that the user will have to enter his or
// her credentials in order to authorize the application.
Этот комментарий объясняет причины, по которым Safari будет использоваться вместо приложения FB.
Является ли ваш симулятор устройством, поддерживающим многозадачность?
Установлено ли на вашем симуляторе приложение FB?
Является ли приложение FB последней версией?(чтобы убедиться, что он поддерживает схему fbauth: //)
FBSessionDelegate, как объяснил dfrdmn, реализует 3 метода, которые все будут вызываться после того, как перенаправление в FB или Safari уже произошлои, следовательно, не вносит свой вклад в вашу проблему.
Чтобы избавиться от этого предупреждения, есть несколько вещей, которые вы должны обязательно сделать.
- В вашем файле .h убедитесь, чтоВы реализуете FBSessionDelegate.
@interface AppDelegate : NSObject <FBSessionDelegate>
- В своем файле .h убедитесь, что вы #import "Facebook.h".Использование @class Facebook не будет работать.