2015-10-14 100 views
1

我一直對我的頭撞這幾天 - 我想要做的就是共享一個圖像,這是在我的iOS應用程序在Facebook上創建的,並在一些方式記入應用程序。通過ios Facebook SDK中的共享對話框共享應用程序名稱

我不能放入任何內容,因爲他們不允許它 - 我可以在圖像的底部添加橫幅,但這會損壞體驗。我真正想要的只是說出我的應用程序的名稱以及共享 - 但我有一段時間讓它工作的魔鬼。

我能得到一個真正的份額容易的工作,通過包括相關的SDK文件,這樣做:

FBSDKSharePhoto *photo = [[FBSDKSharePhoto alloc] init]; 
photo.image =_imgMainImage.image; 
FBSDKSharePhotoContent *content=[[FBSDKSharePhotoContent alloc]init]; 
[email protected][photo]; 
[FBSDKShareDialog showFromViewController:self withContent:content delegate:nil]; 

但當分享在Facebook出現,它或者歸因於iOS或什麼都沒有。

我發現我可以真正得到它的屬性我的應用程序的唯一方法是在確保用戶登錄後使用FBSDKShareAPI。爲此,我需要讓用戶登錄並授予我發佈權限,爲此,我需要讓我的應用程序通過Facebook等批准 - 所有的東西,只要我可以告訴應該沒有必要。

我瘋了,以爲它應該屬性我的應用程序,如果我使用FBSDKShareDialog?還是設計它沒有,我需要以更加迂迴的方式使用登錄和FBSDKShareAPI或其他圖形方法來完成它?前者將是一個更簡單的實現和更好的用戶體驗,只要它能工作!

我已經在我的info.plist中得到了正確的東西(我認爲這是通過它在FBSDKShareAPI方法中的正確屬性應用程序這一事實證實的)。

謝謝! 丹

+0

離我最近的一個問題就是在facebook開發人員小組上看到一個人,他似乎認爲共享對話共享永遠不會歸因於應用程序,因爲* *是分享的用戶,而不是應用程序。有誰知道如果是這樣的話? – user3596462

+0

你是對的。只有使用API​​發佈帖子時,纔會顯示歸因。不使用共享對話框。 – Roemer

回答

0

爲了讓應用程序的名稱在Facebook上的帖子顯示你的分享它做這樣的事情:

FBSDKSharePhoto *sharePhoto = [[FBSDKSharePhoto alloc] init]; 
sharePhoto.caption = @"Some caption"; 
sharePhoto.image = [UIImage imageNamed:@"my_photo.jpg"]; 

FBSDKSharePhotoContent *content = [[FBSDKSharePhotoContent alloc] init]; 
content.photos = @[sharePhoto]; 

[FBSDKShareAPI shareWithContent:content delegate:self]; 

確保您設置了「public_actions」權限在用戶登錄時到您的應用程序。