簡體   English   中英

插件com.apple.share.Facebook.post無效

[英]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共享擴展程序有關。 案例觸發如下:

  1. 加載應用並分享到Facebook(注意:目前已安裝Facebook應用)
  2. 退出應用
  3. 從設備中刪除Facebook應用程序
  4. 再次打開應用程序(仍然在內存中活動)並分享到Facebook ...失敗! 該應用程序正在尋找與Facebook應用程序一起卸載的共享擴展程序

殺死並重啟應用,分享到Facebook。 瞧! 該應用已加載默認的iOS Facebook共享擴展程序,它再次工作。

關於為什么Apple讓Facebook采用這種方法,而不是強迫他們取代默認的Facebook共享擴展,或者只是在他們的應用程序安裝時不允許他們注入自己的方法。

這也發生時ü嘗試設置的URL使用addURL:方法SLServiceTypeTwitterSLComposeViewController 刪除它可以解決問題。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM