[英]iOS facebook SDK - dialog - moving buttons
在我的應用程序中,用戶可以發布指向他的 facebook 牆的鏈接。 但是,我不能使用 SDK 中的“授權”方法來登錄用戶,因為對於我的客戶來說,facebook 明確要求所有權限,這不是 go。 因此我立即使用 facebook 對話框。
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:@" http://www.google.at ",@"link", nil];
[self.facebook 對話框:@"feed" andParams:params andDelegate:self];
這工作正常,但登錄后,當用戶可以發布到他的牆上時,發布和取消按鈕總是移出屏幕(見截圖)。 當我向下滾動時,按鈕立即再次移出屏幕。 成功登錄后不會發生這種情況。 有人知道我怎樣才能將按鈕保留在屏幕上嗎? 否則用戶無法發布鏈接。
我找到了這個解決方案,但至少對我來說它不起作用: https://github.com/facebook/facebook-ios-sdk/issues/329
我遇到了同樣的問題,並且浪費了很多時間,沒有找到解決方案,而是找到了一種解決方法。
我有三種方法
- (void) openMyFacebook
- (void) fbDidLogin
- (void) dialogFacebook
我打電話給 openMyFacebook
在- (void) openMyFacebook,
我分配 Facebook 並查看 NSUserDefaults 中是否已經存儲了密鑰,如果沒有我調用[facebook authorize:nil delegate:self];
在委托中- (void) fbDidLogin
我存儲密鑰(在 facbook 示例中相同)。 然后就是訣竅了。
發布 facebook
[facebook release];
facebook = nil;
並使用存儲的密鑰再次啟動- (void) openMyFacebook
。
完美運行。
- (void) openMyFacebook {
if (facebook == nil) {
facebook = [[Facebook alloc] initWithAppId:@"xxxxxxxxxx"];
}
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
if ([defaults objectForKey:@"FBAccessTokenKey"]
&& [defaults objectForKey:@"FBExpirationDateKey"]) {
facebook.accessToken = [defaults objectForKey:@"FBAccessTokenKey"];
facebook.expirationDate = [defaults objectForKey:@"FBExpirationDateKey"];
}
if (![facebook isSessionValid]) {
[facebook authorize:nil delegate:self];
}
else {
[self dialogFacebook];
}
}
- (void)fbDidLogin {
NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults];
[defaults setObject:[facebook accessToken] forKey:@"FBAccessTokenKey"];
[defaults setObject:[facebook expirationDate] forKey:@"FBExpirationDateKey"];
[defaults synchronize];
//release!!!!
[facebook release];
facebook = nil;
//and start again
[self openMyFacebook];
}
- (void) dialogFacebook {
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
kAppId, @"app_id",
linkextern, @"link",
facebookImageUrlString, @"picture",
name, @"name",
@" ", @"message",
nil];
[facebook dialog:@"feed" andParams:params andDelegate:self];
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.