![](/img/trans.png)
[英]Facebook image post works despite “plugin com.apple.share.Facebook.post invalidated”
[英]plugin com.apple.share.Facebook.post invalidated
在我的應用程序中,我使用以下代碼,允許與文本共享圖像:
- (IBAction)sharePressed:(id)sender {
UIImage *postingImage = [UIImage imageWithContentsOfFile:self.filepath];
UIActivityViewController *activityViewController = [[UIActivityViewController alloc] initWithActivityItems:@[@"Lorem ipsum", postingImage] applicationActivities:nil;
[self presentViewController:activityViewController animated:YES completion:nil];
}
將圖像發布到Facebook工作正常,它出現在我的FB牆上,但是在我的控制台中我收到以下消息:
plugin com.apple.share.Facebook.post invalidated
我已經在幾台設備上進行了測試,據我所知,它只發生在安裝了iOS 8.1的iPhone 6上。
任何人都知道該消息的含義以及如何防止它顯示?
這是正確的答案ios插件com.apple.share.Facebook.post不顯示提供的文本 。 這真是太糟糕了。
我不敢告訴你,你不能以編程方式將文字發布到Facebook。 這是Facebook禁止“預先填充”Facebook共享的新禁令。 這就是為什么較新版本的iOS不顯示您的文本,甚至是正確提供的強硬版本(並且可以在Twitter和其他共享選項中使用)。
有關詳細信息,請參閱https://developers.facebook.com/docs/apps/review/prefill
這是Apple的一個可怕的錯誤消息。 轉到設置並檢查您的Facebook / Twitter帳戶。 您會注意到他們沒有設置密碼(更新到8.1后可能會發生這種情況)。 只需更新帳戶信息,消息就會消失,您的帖子/推文也會有效。
就我而言,這與Facebook應用程序用自定義版本取代iOS系統級Facebook共享擴展程序有關。 案例觸發如下:
殺死並重啟應用,分享到Facebook。 瞧! 該應用已加載默認的iOS Facebook共享擴展程序,它再次工作。
關於為什么Apple讓Facebook采用這種方法,而不是強迫他們取代默認的Facebook共享擴展,或者只是在他們的應用程序安裝時不允許他們注入自己的方法。
這也發生時ü嘗試設置的URL
使用addURL:
方法SLServiceTypeTwitter
在SLComposeViewController
。 刪除它可以解決問題。
Facebook已更新其政策。 它不再適用於此。 你需要整合Facebook sdk才能這樣做。 這里是那些想要分享圖片或從您的應用發布到Facebook的人的相關參考
https://developers.facebook.com/docs/sharing/opengraph/ios#sharedialog
我遇到了同樣的問題。 我正在使用活動控制器和SLComposeViewController ,並且在兩種情況下都得到了相同的錯誤,即使我沒有以編程方式為fb設置任何text / url等。 所以根據我的說法,就我而言,這不是上面評論中提到的新Facebook政策的問題。
為了避免將來出現任何不便,我使用facebook share SDK (現在不使用SLComposeViewController或activityViewController)修復它。 FBSdk集成在我的iOS項目和代碼中,我用於共享目的如下:
@IBAction func shareOnFaceBook(sender: AnyObject) {
var content = FBSDKShareLinkContent()
content.contentURL = urlToShare() //method returning the url
content.contentDescription = textToShare() //method returning text(string) to share
var dialog = FBSDKShareDialog()
dialog.mode = FBSDKShareDialogMode.Automatic
dialog.shareContent = content
dialog.delegate = self
dialog.fromViewController = self
dialog.show()
}
它將打開fb應用程序(如果已安裝),否則將打開Safari(fb web應用程序)。希望它能幫到你
最好,
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.