2017-02-10 56 views
1

Я пытаюсь разделить что-то через branch.io доля листа:Коммуникатор не появляется в долевой листе (UIActivityViewController) из 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 Messenger не показывает как вариант в общем листе. Ни в предлагаемых вариантах, ни в разделе «Больше». Что необходимо для достижения этого?

Я нашел следующий вопрос/ответ для UIActivityViewController по умолчанию. Как это работает с branch.io? Facebook Messenger not showing up with UIActivityViewController

+0

Почему вы не используете UIActivityViewController? а также Facebook и Facebook messenger не позволяют отправлять текст. Это политика Facebook, что никто не может отправить предварительный текст в общем листе .... Просто отправьте изображение в действие, и Messenger автоматически появится –

+0

, однако приложение facebook появляется. Я хочу, чтобы facebook messenger появился слишком, соответственно знаю, что заставляет его не появляться. Мне нужна дополнительная поддержка, которую подразделение предлагает для совместного использования/отслеживания. – 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 в филиале, который затем к расширению обмена. Хотя это, я думаю, проблема с кодировкой в ​​Branch, похоже, что расширение общего доступа Messenger не обрабатывает URL-адрес так же, как другие приложения. «Сломанный URL» работает с другими расширениями общего доступа. Надеюсь, это поможет кому-то еще! На данный момент я изменю имя моей функции на что-то без пробела.

2

Когда вы делитесь общими листами на iOS - используете ли вы общий ресурс филиала или UIActivityViewController - выбор параметров совместного доступа не зависит от вашего, он определяется пользователем.

Доступ к интерфейсу для настройки того, какие приложения будут отображаться в списке, можно открыть, открыв лист акций, а затем прокручивая список представленных приложений, пока не увидите параметр «...» (Дополнительно). Нажмите на эту кнопку, и вам будет представлен со списком приложений, которые могут быть совместно с по телефону:

enter image description here

Каждое приложение будет иметь ползунок - если ползунок включен для конкретного приложения, что приложение появится в списке.

enter image description here

Включение Facebook Messenger для обмена на телефон пользователя не то, что вы можете сделать из вашего приложения в качестве разработчика.

Вы упомянули, что приложение Messenger не доступно даже при нажатии кнопки «Дополнительно». Это кажется мне странным; у каждого устройства, которое я проверяю, есть Facebook Messenger в качестве опции, если он установлен. Возможно, попробуйте удалить и переустановить Facebook Messenger.

+0

спасибо @dwestgate. вышеизложенное я знал. Я использую ветку. поэтому я думаю, что это на самом деле проблема отрасли. – helkarli

+0

Извините, но я не понимаю. Вы указываете, что у вас есть какая-то проблема, но тогда вы описываете ожидаемое поведение. – dwestgate

+0

Кроме того, чтобы быть ясным: в ветке используются те же функции Apple, которые вы назовете самим собой, чтобы отобразить общий листок, поэтому используйте ли вы ветку или нет, поведение такое же. – dwestgate