2012-12-05 23 views
5

En son Facebook iOS SDK, 3.1.1 sürümünü kullanıyorum. Kullanıcılara, uygulamanızı Facebook'tan "bağlantıyı kesme" seçeneği sunmak istiyorum.Facebook'u iOS6'dan uygulamadan çıkarma

[[FBSession activeSession] closeAndClearTokenInformation]; 

iyi iş gibi görünüyor Yani, ama bir dahaki sefere yeniden giriş yapmak kullanıcıyı sormadan,

[FBSession openActiveSessionWithReadPermissions:allowLoginUI:completionHandler:handler]; 

hemen bana jeton veriyor diyoruz: Ben arıyorum. Kullanıcının kimliğini tekrar sormasını beklerdim. Cihazda bir Facebook hesabı kurulmamışsa, iyi çalışır, çünkü kullanıcının uygulamayı zaten doğruladıklarını ve 'Tamam' düğmesini gösterdiği web tarayıcısını açar. Ancak, eğer ayarlanmışsa, sessizce tekrar söyler ve kullanıcının "bağlantıyı kesmesi" nin hiçbir etkisi yoktur.

Bu sorunu başka biri var mı ve nasıl ele alıyorsunuz?

cevap

2

iOS SDK'sı Facebook SDK'ya geçerli bir erişim belirteci verdiğinden bu bir daha sormuyor. Bu, Apple'ın Facebook (ve Twitter) çerçevelerini nasıl tasarladığı. Bununla ilgili yapabileceğin bir şey yok. Şahsen bence harika. Kullanıcı sadece bir uygulamayı kabul ettiklerini telefonlarına söylemelidir.

Ayrıca, önbelleğe alınmış belirtecin süresinin dolmuş olabileceğini de unutmayın. Şu anda Facebook SDK'sı iOS SDK'nın sona eren bir belirteç verdiği durumu tam olarak ele almıyor.

Test etmek isterseniz, cihazınızdaki Facebook hesabını silebilir ve yeniden ekleyebilirsiniz. Bu önbelleğe alınmış belirteci temizlemelidir.

+0

Teşekkürler, bu bizim uygulamalarımızda bazı şeyleri ayarlama şeklimizin tersine gider ama sanırım mantıklı. – igalic

+0

İlginiz yok, neden her zaman sormayı umursuyorsunuz? Neden fark eder? – mattjgalloway

+0

Üzgünüm mattjgalloway, yorumunuzu görmedim. Bunun nedeni, kullanıcıların yeni kullanmaya başladıkları zaman uygulamaya izin vermekten kaçınmaları olabilir. Belki de bir şeyler deniyorlar, Facebook eylemini tetikliyorlar, ancak sonra erişimi reddediyorlar. Daha sonra uygulamayı daha fazla kullanıp ona güvenmeye başladıklarında belki de Facebook hesaplarına erişmelerine izin verirlerdi, ancak bir daha sormayacaklar. – igalic

0

kullanma:

- (void)openWithBehavior:(FBSessionLoginBehavior)behavior completionHandler:(FBSessionStateHandler)handler; 

ile FBSessionLoginBehaviorForcingWebView davranış benim sorun çözüldü olarak. Giriş modal kutusunu açar ve kullanıcı çerezlerini unutur.

+0

Teşekkürler, ama maalesef, kaçınmak istediğim yerleşik Facebook hesabını tamamen atlamanız gerektiği anlamına geliyor. Bu arada, sadece 'çıkış' düğmesini bırakmaya karar verdik. İsterseniz, her zaman sistem ayarlarından yapabilirsiniz. – igalic