2015-06-04 36 views
2

在我的iOS應用程序中,我使用結構框架TWTRComposer」集成了twitter登錄。 它在第一次登錄並在twitter上發佈twit時工作正常。 但我不能在我的應用程序中從twitter註銷。 和第二次當我嘗試登錄。 twitterlogin視圖控制器無法打開。 所以請任何一個可以給我的解決方案成功地登錄和使用註銷從我的應用程序 TWTRComposer我怎樣才能從我的應用程序使用在我的應用程序中使用結構框架在iOS中註銷

+0

Twitter.sharedInstance()退出()是註銷的方法。 –

+0

我曾試過這個「Twitter.sharedInstance().logOut()」。但它不起作用 –

+0

所以......它不工作? –

回答

0

使用此代碼:

[[Twitter sharedInstance] logOut]; 
+0

對不起,但這個解決方案也不起作用。 –

+0

此方法不起作用。小心解釋如何使用它?我們都知道這是Twitter建議在dev.twitter網站上使用的方法... –

+0

對我來說不起作用... –

2

[Twitter sharedInstance]對象有兩種方法來註銷:註銷和logOutGuest 。

這裏是鏈接到文檔:Twitter object iOS reference

僅供參考,你可以檢查,如果用戶登錄使用會話參數如下圖所示

[[Twitter sharedInstance] session]

如果會議是零,然後他們未登錄。

如果上面的東西不起作用,請嘗試下面的東西,可能cookie可能仍然存在。

NSHTTPCookieStorage *cookieStorage = [NSHTTPCookieStorage sharedHTTPCookieStorage]; 
    for (NSHTTPCookie *each in cookieStorage.cookies) { 
     // put a check here to clear cookie url which starts with twitter and then delete it 
     [cookieStorage deleteCookie:each]; 
    } 
+0

雖然你怎麼稱呼這個方法?我試圖設置一個檢查,如果TW會話處於活動狀態的IBAction爲,如果是的話,[微博sharedInstance]註銷] ;,但沒有任何反應,它直接踢給我,上面寫着用戶已經登錄 –

+0

我已經更新了else語句我的答案。希望它可以幫助你.. –

+0

你將如何把檢查清除cookie的網址和刪除它? –

1
[[Twitter sharedInstance] logOut] 

[[Twitter sharedInstance] logOutGuest] 

將無法​​正常工作,每次的文檔,因爲爲:

從這個程序刪除本地的Twitter用戶會話。這不會 刪除系統Twitter帳戶,也不會向 發出網絡請求使會話無效。

因此,您還需要使由oauth返回的令牌無效。您可以從twitter's文檔獲得幫助。使用此REST Web服務爲了使令牌失效。將access_token傳遞給發佈請求。

作爲每鏈路,

允許已註冊的應用通過呈現它的客戶端憑證,以撤銷發出的OAuth 2承載 令牌。一旦無記號令牌 失效,新的創建嘗試將產生不同的承載 令牌,並且不再允許使用該失效的令牌。

希望它有幫助!

+0

你可以更新你的答案工作,有可能表明究竟如何令牌無效的清除Twitter的會議?一直在推動我瘋狂的大聲笑 –

0

刪除cookies - 沒有幫助。

我創造我自己的流爲重新登錄:

我需要用戶的電子郵件,進一步登錄,這樣只有WebBasedLogin

// Get first twitter acc (check if it exists etc...) 
..... 

// This method will be used if user the same 
TWTRLoginMethod loginMethod = TWTRLoginMethodSystemAccounts; 

// Check if it is the Previous twitter user (whom was stored in userDefaults) 
if (![[STLUserDataManager lastTwitterUser] isEqualToString:[firstTwitterAccount username]]) 
{ 
// if user is new - ForceLogin 
    loginMethod = TWTRLoginMethodWebBasedForceLogin; 
} 

// inside completion 
{ 
... 
// Store userName in userDefaults 
[STLUserDataManager storeTwitterUser:[firstTwitterAccount username]]; 
} 
相關問題