我使用此代碼呈現共享對話框:的Facebook的iOS SDK 3.5模態對話框飼料載荷iPhone
if (![[FBSession activeSession] isOpen]) {[self login]; return;}
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
@"name", @"name",
@"caption", @"caption",
@"description", @"description",
@"http://cnn.com", @"link",
@"http://cnn.com/.png", @"picture",
nil];
[FBWebDialogs presentFeedDialogModallyWithSession:nil
parameters:params
handler:
^(FBWebDialogResult result, NSURL *resultURL, NSError *error) {
if (error) {
NSLog(@"Error publishing story.");
} else {
if (result == FBWebDialogResultDialogNotCompleted) {
NSLog(@"User canceled story publishing (clicked the 'x' icon)");
} else {
// Handle the publish feed callback
NSLog(@"Handle the publish feed callback");
}
}
}];
我已經(根據SDK文檔需要)加入適當的條目到的Info.plist:
和AppDelegate的方法處理Facebook的重定向,以及:
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation {
// attempt to extract a token from the url
return [FBAppCall handleOpenURL:url
sourceApplication:sourceApplication
fallbackHandler:^(FBAppCall *call) {
NSLog(@"In fallback handler");
}];
}
-(void)applicationWillTerminate:(UIApplication *)application{
[FBSession.activeSession close];
}
個
通過Facebook的iOS版SDK 3.5.1要求我還添加了框架:
它給空對話框(兩個 - 真實設備和仿真器)與負載指示燈紡永遠:
日誌中沒有顯示錯誤等,我可以很容易地解僱它(使用正確的處理程序日誌)。
我asume FBSession啓動並正確打開(我可以通過重定向到Safari瀏覽器成功授權並回到應用程序 - 這讓我覺得重定向工作正常)。
這是爲什麼發生?我錯過了什麼?順便說一句:爲什麼沒有錯誤日誌?
這是如此令人沮喪,因爲我之前已經但是在這個程序,我想嘗試它做廣告作爲最新的SDK實現facebook集成很多次:「要容易,因爲以前從未」。
您是否已將FacebookDisplayName參數添加到您的plist文件中? 請查看此處的升級文檔:https://developers.facebook.com/docs/tutorial/iossdk/upgrading-from-3.2-to-3.5/ 另外,您可以將您的代碼與我們的任何樣本進行比較嗎?一樣的東西。有幾個樣本是SDK的一部分,然後您可以在這裏查看單獨的操作方法(https://github.com/fbsamples)。 – 2013-04-26 20:38:01
是的。我已將FacebookDisplayName以及FacebookAppID添加到info.plist。我使用基於iOS SDK示例的代碼片段。 – Lukasz 2013-04-26 20:50:59
我明白了。如果您有有效的會話,它會重現嗎?另外,如果你傳遞了一個零會話,你必須在web視圖上進行身份驗證,對嗎?在webview登錄後,你會看到這個空白的屏幕? – 2013-04-29 22:31:16