2017-02-10 4 views
1

のシェアシート(UIActivityViewController)に表示されない:メッセンジャーは私がbranch.ioシェアのシートを介して何かを共有しようとしていますbranch.io

let shareText = "Some Share Text" 

let linkProperties = BranchLinkProperties() 
linkProperties.feature = "Some" 
linkProperties.addControlParam("$desktop_url", withValue: desktopURLString) 
linkProperties.addControlParam("$android_url", withValue: androidURLString) 

let object = BranchUniversalObject(canonicalIdentifier: "some.cannonical.identifier") 
object.title = "Some Title" 
object.imageUrl = someImageURL 
object.contentDescription = "Some Content Description" 
object.addMetadataKey("some_id", value: identifier) 

object.showShareSheet(with: linkProperties, 
       andShareText: shareText, 
         from: self, 
       completion: completion) 

すべてのFacebookメッセンジャーアプリが表示されていないことを除いて、素晴らしい作品シェアシートのオプションとして。提案されたオプションや「その他」のいずれにも該当しません。それを達成するために何が必要ですか?

デフォルトのUIActivityViewControllerについて、次の質問/回答が見つかりました。しかし、それはbranch.ioでどのように動作するのですか? Facebook Messenger not showing up with UIActivityViewController

+0

なぜUIActivityViewControllerを使用していないのですか? FacebookやFacebookのメッセンジャーではテキストを送信することはできません。誰も誰も共有シートにプレテキストを送ることができないということは、Facebookのポリシーです。単にアクティビティで画像を送信するとメッセンジャーが自動的に表示されます –

+0

しかし、Facebookのアプリが表示されます。私はFacebookのメッセンジャーも出現して欲しい、それぞれ出現しない原因を知っている。ブランチが共有/追跡のために提供している追加のサポートが必要です。 – helkarli

答えて

0

もう一度問題に夢中になり、ついにトラブルメーカーが見つかりました。ブランチリンクプロパティのfeatureの空白文字を含む文字列値に設定すると、共有シートでMessengerが消えます。例:

let properties = BranchLinkProperties() 
    properties.feature = "Share News" //does not work, messenger does not appear in the share sheet 
    //properties.feature = "Share_News" //works, messenger appears in share sheet 
    object.showShareSheet(with: properties, andShareText: "Some Share Text", from: viewController, anchor: UIBarButtonItem()) { (activityType, completed) in 
     if (completed) { 
      print(String(format: "Branch TestBed: Completed sharing to %@", activityType!)) 
     } else { 
      print("Branch TestBed: Link Sharing Cancelled\n") 
     } 
    } 

featureは、その後共有拡張に与えられるブランチのURLのパラメータとして使用されます。これはブランチでのエンコードの問題だと思いますが、メッセンジャー共有拡張機能は他のアプリと同じ方法でURLを処理していないようです。 「破損したURL」は他の共有拡張機能と連携します。これが他の人に役立つことを願っています私は、私の特徴の名前を今のところスペースなしのものに変更するつもりです。

2

iOS上の共有シートを介して共有する場合 - 支店共有シートまたはUIActivityViewControllerを使用するかどうか - 共有オプションの選択肢はあなたが定義するものではなく、ユーザーによって定義されます。

どのアプリをリストに表示するか設定するためのインターフェースは、共有シートを開いて「...」(その他)オプションが表示されるまで表示されたアプリのリストをスクロールすることでアクセスできます。ことを、スライダが特定のアプリのために有効になっている場合 - 各アプリは、スライダーを持っています

enter image description here

:このボタンをタップすると、あなたは携帯電話上に共有することができるアプリケーションの一覧が表示されますアプリがリストに表示されます。ユーザーの携帯電話に共有するためのFacebookのメッセンジャーを有効にする

enter image description here

あなたが開発者として、あなたのアプリの中から行うことができますものではありません。

[その他]ボタンをタップしても、メッセンジャーアプリが使用できないということがあります。これは私を奇妙に感じさせる。私がチェックするすべてのデバイスには、インストールされている場合、オプションとしてFacebook Messengerがあります。おそらくFacebook Messengerを削除して再インストールしてみてください。

+0

ありがとう@dwestgate。上記の私は知っていた。私は支店を使用しています。だから私はこれが実際に支店の問題だと思う。 – helkarli

+0

申し訳ありませんが、分かりません。あなたは何らかの問題があることを示していますが、次に予想される動作を記述します。 – dwestgate

+0

また、明確にするために、ブランチは共有シートを表示するために自分と呼ぶのと同じApple関数を使用します。行動は同じです。 – dwestgate

関連する問題