菜鸟教程小白 发表于 2022-12-13 16:38:20

ios - Facebook 分享 iOS Swift


                                            <p><p>我正在尝试在我的 iOS 应用中使用 Facebook 分享 SDK。</p>

<p>我按照 Facebook 开发者网站中的步骤进行操作。但我有一个问题,问题是 Facebook 没有在我的应用发布的帖子上显示应用名称,如下面的屏幕截图所示。</p>

<p> <a href="/image/VWd0V.png" rel="noreferrer noopener nofollow"><img src="/image/VWd0V.png" alt="enter image description here"/></a> </p>

<p>我在日志中有一些错误:</p>

<blockquote>
<p>-canOpenURL: failed for URL: &#34;fbapi20150629:/&#34; - error: &#34;This app is not allowed to query for scheme fbapi20150629&#34;</p>

<p>plugin com.apple.share.Facebook.post invalidated</p>
</blockquote>

<p>但是照片分享没有任何问题,唯一的问题是分享的帖子上没有应用名称。</p>

<p>但在分享 ContentLink 时,我在帖子上看到了应用名称,但它不适用于照片!!</p>

<p>这是我在 iOS 中分享的代码:</p>

<pre><code>let image = UIImage(data:imageData!)
let content: FBSDKSharePhotoContent = FBSDKSharePhotoContent()
let photo: FBSDKSharePhoto = FBSDKSharePhoto()
photo.image = image
photo.userGenerated = true
content.photos =
FBSDKShareDialog.showFromViewController(self, withContent: content, delegate: nil)
</code></pre>

<p>info.plist:</p>

<pre><code>&lt;?xml version=&#34;1.0&#34; encoding=&#34;UTF-8&#34;?&gt;
&lt;!DOCTYPE plist PUBLIC &#34;-//Apple//DTD PLIST 1.0//EN&#34; &#34;http://www.apple.com/DTDs/PropertyList-1.0.dtd&#34;&gt;
&lt;plist version=&#34;1.0&#34;&gt;
&lt;dict&gt;
    &lt;key&gt;CFBundleDevelopmentRegion&lt;/key&gt;
    &lt;string&gt;fr_FR&lt;/string&gt;
    &lt;key&gt;CFBundleExecutable&lt;/key&gt;
    &lt;string&gt;$(EXECUTABLE_NAME)&lt;/string&gt;
    &lt;key&gt;CFBundleIdentifier&lt;/key&gt;
    &lt;string&gt;$(PRODUCT_BUNDLE_IDENTIFIER)&lt;/string&gt;
    &lt;key&gt;CFBundleInfoDictionaryVersion&lt;/key&gt;
    &lt;string&gt;6.0&lt;/string&gt;
    &lt;key&gt;CFBundleName&lt;/key&gt;
    &lt;string&gt;$(PRODUCT_NAME)&lt;/string&gt;
    &lt;key&gt;CFBundlePackageType&lt;/key&gt;
    &lt;string&gt;APPL&lt;/string&gt;
    &lt;key&gt;CFBundleShortVersionString&lt;/key&gt;
    &lt;string&gt;1.3.0&lt;/string&gt;
    &lt;key&gt;CFBundleSignature&lt;/key&gt;
    &lt;string&gt;????&lt;/string&gt;
    &lt;key&gt;CFBundleVersion&lt;/key&gt;
    &lt;string&gt;1&lt;/string&gt;
    &lt;key&gt;LSApplicationCategoryType&lt;/key&gt;
    &lt;string&gt;&lt;/string&gt;
    &lt;key&gt;NSAppTransportSecurity&lt;/key&gt;

    &lt;dict&gt;
      &lt;key&gt;NSAllowsArbitraryLoads&lt;/key&gt;
      &lt;true/&gt;
    &lt;/dict&gt;
    &lt;key&gt;UIAppFonts&lt;/key&gt;
    &lt;array&gt;
      &lt;string&gt;master_of_break.otf&lt;/string&gt;
    &lt;/array&gt;
    &lt;key&gt;UIBackgroundModes&lt;/key&gt;
    &lt;array&gt;
      &lt;string&gt;remote-notification&lt;/string&gt;
    &lt;/array&gt;
    &lt;key&gt;UILaunchStoryboardName&lt;/key&gt;
    &lt;string&gt;LaunchScreen&lt;/string&gt;
    &lt;key&gt;UIMainStoryboardFile&lt;/key&gt;
    &lt;string&gt;Main&lt;/string&gt;
    &lt;key&gt;UIRequiredDeviceCapabilities&lt;/key&gt;
    &lt;array&gt;
      &lt;string&gt;armv7&lt;/string&gt;
    &lt;/array&gt;
    &lt;key&gt;UIStatusBarStyle&lt;/key&gt;
    &lt;string&gt;UIStatusBarStyleLightContent&lt;/string&gt;
    &lt;key&gt;UISupportedInterfaceOrientations&lt;/key&gt;
    &lt;array&gt;
      &lt;string&gt;UIInterfaceOrientationPortrait&lt;/string&gt;
    &lt;/array&gt;
    &lt;key&gt;UISupportedInterfaceOrientations~ipad&lt;/key&gt;
    &lt;array&gt;
      &lt;string&gt;UIInterfaceOrientationPortrait&lt;/string&gt;
      &lt;string&gt;UIInterfaceOrientationPortraitUpsideDown&lt;/string&gt;
      &lt;string&gt;UIInterfaceOrientationLandscapeLeft&lt;/string&gt;
      &lt;string&gt;UIInterfaceOrientationLandscapeRight&lt;/string&gt;
    &lt;/array&gt;
    &lt;key&gt;CFBundleURLTypes&lt;/key&gt;
    &lt;array&gt;
      &lt;dict&gt;
            &lt;key&gt;CFBundleURLSchemes&lt;/key&gt;
            &lt;array&gt;
                &lt;string&gt;fb100967589******&lt;/string&gt;
            &lt;/array&gt;
      &lt;/dict&gt;
    &lt;/array&gt;
    &lt;key&gt;FacebookAppID&lt;/key&gt;
    &lt;string&gt;100967589******&lt;/string&gt;
    &lt;key&gt;FacebookDisplayName&lt;/key&gt;
    &lt;string&gt;Athéna&lt;/string&gt;
    &lt;key&gt;LSApplicationQueriesSchemes&lt;/key&gt;
    &lt;array&gt;
      &lt;string&gt;fbapi&lt;/string&gt;
      &lt;string&gt;fb-messenger-api&lt;/string&gt;
      &lt;string&gt;fbauth2&lt;/string&gt;
      &lt;string&gt;fbshareextension&lt;/string&gt;
    &lt;/array&gt;
&lt;/dict&gt;
&lt;/plist&gt;
</code></pre>

<p>帖子与应用名称共享(适用于 Android)</p>

<p> <a href="/image/2eqbJ.png" rel="noreferrer noopener nofollow"><img src="/image/2eqbJ.png" alt="enter image description here"/></a> </p></p>
                                    <br><hr><h1><strong>Best Answer-推荐答案</ strong></h1><br>
                                            <p><p>为什么不使用 Social Framework 来实现呢?它很容易实现和显示文本、url、照片。 </p>

<p>您只需按照以下步骤操作:-
1) 转到您的应用程序 -> 构建阶段 </p>

<p>2) 点击 Link Binary with Libraries 并添加 Social framework </p>

<p>3) 在您的 ViewController 中导入 <code><Social/Social.h></code></p>

<p>4) 在您的分享操作中编写以下代码:-</p>

<pre><code>ifSLComposeViewController.isAvailableForServiceType(SLServiceTypeFacebook)
{
    let fbShare = SLComposeViewController(forServiceType: SLServiceTypeFacebook)
    fbShare.setInitialText(&#34;Swift programming&#34;)
    fbShare.addURL(NSURL(string: filePath))
    fbShare.addImage(UIImage(named:&#34;ImageName&#34;))

    self.presentViewController(fbShare, animated: true, completion: nil)
}
</code></pre>

<p>否则,您可以按照以下链接进行集成:-</p>

<p> <a href="http://www.theappguruz.com/blog/facebook-integration-using-swift" rel="noreferrer noopener nofollow">http://www.theappguruz.com/blog/facebook-integration-using-swift</a> </p>

<p>要显示您的应用链接,请引用:-</p>

<p> <a href="https://developers.facebook.com/docs/applinks/ios" rel="noreferrer noopener nofollow">https://developers.facebook.com/docs/applinks/ios</a> </p></p>
                                   
                                                <p style="font-size: 20px;">关于ios - Facebook 分享 iOS Swift,我们在Stack Overflow上找到一个类似的问题:
                                                        <a href="https://stackoverflow.com/questions/37376556/" rel="noreferrer noopener nofollow" style="color: red;">
                                                                https://stackoverflow.com/questions/37376556/
                                                        </a>
                                                </p>
                                       
页: [1]
查看完整版本: ios - Facebook 分享 iOS Swift