проблема с потоками и единым входом в facebook

Я использую Facebook iOS SDK для единого входа. Теперь, когда приложение запускается впервые, у меня есть контроллер модального представления, показывающий страницу входа с двумя кнопками, вход через Twitter и Facebook. Когда я нажимаю на вход в систему, появляется диалоговое окно Facebook ... и в нем говорится, что я аутентифицировал приложение. Поэтому я нажимаю ОК. Затем он возвращается к контроллеру входа в систему, и при его отклонении я получил следующее:

*** Terminating app due to uncaught exception 'NSRangeException', reason: '<MKMapView: 0x2d1720; frame = (1.2941e-09 0; 4.70638e-36 1.66881e-07); transform = [1.6714e-07, 4.70638e-36, 1.67031e-07, 4.70647e-36, 0, 0]; alpha = 0; opaque = NO; layer = (null)> initWithCoder:: MKMapView must be initialized on the main thread.'
*** Call stack at first throw:

Этого не происходит, если я сначала выхожу из Facebook, поэтому мне нужно ввести свое имя пользователя и пароль, а затем войти в систему. Как это возможно?


person adit    schedule 23.09.2011    source источник
comment
Может быть, ваш код о том, как вы делаете все, что вы говорите, был бы полезен   -  person Herz Rod    schedule 23.09.2011
comment
У меня есть одноэлементный объект длиной около 1000 строк, должен ли я опубликовать его здесь?   -  person adit    schedule 23.09.2011
comment
Неважно, может быть, ваш viewDidLoad: метод MKMapView, где вы вызываете логин Facebook, методы обратного вызова делегата входа или что-то полезное   -  person Herz Rod    schedule 23.09.2011
comment
Я раскомментирую все в моем viewDidLoad на MKMapView, так что больше ничего не будет. MKMapView инициализируется через IB, и это одно из представлений в UITabBarController, которое у меня есть.   -  person adit    schedule 23.09.2011


Ответы (1)


U отсутствует строка mapView = [[MKMapView alloc]init];

Когда дело дойдет до вашего представления после входа в facebook, поместите это туда, где сначала вызывается функция вашего приложения, т.е. ViewDidLoad.

person Hardik Soni    schedule 23.09.2011
comment
мой mapView инициализируется через IB - person adit; 23.09.2011
comment
Попробуйте, как я говорю, поскольку ваша ошибка говорит, что только и .. на IB может быть, что вы это сделали, но когда вы звоните в facebook, новое представление инициализируется, приятель. таким образом, ваш mapView является разыменованием, как я думаю. По крайней мере, вы можете попробовать, если это не так, попробуем что-нибудь еще. - person Hardik Soni; 26.09.2011