在我的iPhone應用程序中,我有兩個兩個按鈕,標記爲「Facebook」和「Twitter」。 我想使用Sharekit框架,這使我的共享非常簡單。但正如ShareKit的示例代碼所示,我只能顯示許多共享服務,我不想包括這些服務。我希望我的「Facebook」按鈕僅顯示Facebook共享服務,並且與Twitter相同。我怎樣才能修改ShareKit的工作?iPhone/iOS - 如何使用「ShareKit」僅發佈到Facebook或僅發佈到Twitter
回答
更新:
因爲這個答案仍然是受歡迎的,我只是想補充一點,與iOS 5 & iOS 6中,對於Sharekit
更需要。操作系統中內置了許多流行的共享選項。這就是說,這個答案仍然適用於沒有內置到設備中的共享服務,或者如果你更喜歡使用Sharekit。
我會告訴你如何做到這一點對於Facebook,Twitter是完全一樣的,只是改變的Facebook的所有實例給Twitter
首先,#import "SHKFacebook.h"
然後在按鈕的目標方法,把以下內容:
SHKItem *item; //This creates the Sharekit Item
NSURL *url = [NSURL URLWithString:@"http://itunes.apple.com/us/app/...?mt=8"];
的NSURL
應該是你的應用程序的鏈接的應用程序商店。這樣,如果有人看到你的應用在Facebook上發佈的帖子,並且他們點擊它,他們將被引導到商店,以便他們可以下載它。嚴格來說,這是可選的,但爲什麼你不試圖通過這一額外的一行獲得新的下載。
現在,我們需要建立SHKItem
如下:
item = [SHKItem URL:url title:[NSString stringWithFormat:@"I'm playing someGame on my iPhone! My Highscore is %i, think you can beat it?", highScoreInt]];
然後設置後是這樣的:
item = [SHKItem URL:url title:@"Share Me!"];
標題參數是不用戶定製的。無論你在這裏設置的用戶將無法更改。除了你放置的任何東西之外,他們還有機會添加他們自己的文本。
最後顯示的項目:
[SHKFacebook shareItem:item];
我希望這有助於。正如我所說的,只需將這篇文章中的Facebook改爲Twitter即可。如果您需要更多幫助,請在評論中告訴我。
Sharekit提供了一個通用的共享機制,但也暴露了個別服務。舉例來說,如果你在Twitter上分享的網址,你可以寫下面的代碼:
#import "ShareKit/Core/SHK.h"
#import "ShareKit/Sharers/Services/Twitter/SHKTwitter.h"
...
SHKItem *item = [SHKItem URL:url title:@"A title"];
[SHKTwitter shareItem:item];
這是all explained in the documentation,但不要害怕探索各個服務的頭文件。
我的應用程序中也有同樣的問題,並試圖強制sharekit來做到這一點。 012KD不知道是不是真的爲它做了,它的意思是提供大量的共享選項 - 所以即使在修改之後,我發現它並不是一個非常優雅或有效的解決方案。
它會節省一些時間,當然 - 但如果你想要一個漂亮,優雅的解決方案,我建議你自己整合twitter和facebook。這需要一點時間,但您可以根據自己的需要來定義行爲,並將界面主題更好地融入到您的應用中。
- 1. MISSING_ARG_APIKEY當通過Sharekit發佈到twitter時
- 2. 使用Django發佈到Facebook/Twitter?
- 3. 僅發佈到代碼?
- 4. 如何使用iOS中的Sharekit直接在Facebook或Twitter上發佈
- 5. 使用ShareKit發佈圖片至Facebook
- 6. 無法在iPhone上使用ShareKit發佈到Twitter
- 7. 如何使用PHP發佈到twitter?
- 8. 如何僅發佈文字到牆上的Facebook SDK?
- 9. 如何發佈或分享到Facebook,Twitter和LinkedIn
- 10. 發佈到Facebook頁面和Twitter帳戶
- 11. 當鏈接發佈到twitter,facebook
- 12. Visual Studio 2012 - 僅顯示發佈到Azure
- 13. 發佈到Facebook Wall?
- 14. 使用OAUTH發佈到twitter用戶牆
- 15. Sharekit API:無法發佈在Facebook牆上
- 16. 如何使用facebook-sdk登錄facebook,發佈後應用發佈
- 17. 使用輸入框發佈到Twitter的
- 18. 發佈到twitter使用OAuth在iPhone ..?
- 19. 使用Flash/Flex發佈到twitter
- 20. Facebook access_tokens?如何發佈到用戶牆?
- 21. 通過curl發佈到twitter
- 22. 發佈一個URL到Twitter?
- 23. 從AS3發佈到Twitter
- 24. 將視頻發佈到twitter
- 25. NodaTime TypeInitializationException僅限設備,僅發佈
- 26. 僅使用iPA文件發佈版本
- 27. 使用ASP.Net從FaceBook發佈推文到Twitter#
- 28. 僅發佈依賴關係
- 29. Android AWS LambdaFunctionException僅發佈
- 30. 發佈Wordpress帖子時,如何將照片發佈到Facebook?
這很好,除非:Facebook的彈出窗口不是全屏。後面的觀點仍然可以通過(通過點擊Facebook外部彈出邊框)進行交互,這不是用戶期望的(而不是我們想要的)。我是否錯過了強制ShareKit覆蓋現有視圖的技巧,直到共享請求完成? – 2011-04-22 02:28:13
您的背景視圖仍處於活動狀態的權利。在我的應用程序中,我總是讓它保持活動狀態,但現在你提到了它,你禁用觸摸的方式就在'[SHKFacebook shareItem:item];'後面,放這行:'self.view.userInteractionEnabled = NO;'問題在於用戶完成後必須重新啓用共享。我還沒有弄清楚。我會和它一起玩,當我弄明白時,我會在上面更新我的答案。 – Andrew 2011-04-22 14:33:44
謝謝。我們真正需要的是完成時的共享包回調。但是,sharekit體系結構不會使這個微不足道的增加。如果你找出一個好的解決方案。 – 2011-04-26 04:34:04