После небольшого количества проб и ошибок я обнаружил, что изменение элементов-заполнителей изменяет заголовок, отображаемый в UIActivityViewController, и что заголовок, по-видимому, используется только для файлов / URL-адресов.
I предоставляют различные элементы-заполнители, большинство из которых фактически являются пустыми объектами различных типов данных (ie, массив, словарь, данные и средство визуализации страницы печати). Поскольку все они пусты, UIActivityViewController вообще не отображает заголовок для них.
Однако я также предоставляю URL для файла, который будет создан позже. Первоначально я предоставлял заполнитель для этого URL-адреса как URL(fileURLWithPath: "")
. Поэтому я предполагаю, что начальный символ "/", показанный в заголовке, действительно означает каталог файловой системы root. Я понятия не имею, что означает отображаемое впоследствии «System@snap-...»!
Но я обнаружил, что если я изменю этот конкретный элемент-заполнитель на что-то вроде URL(fileURLWithPath: "Some Text")
, то любой текст, который я предоставлю как URL (или фактически как часть имени файла в URL - ie, все после последнего символа "/", если он есть) - это то, что отображается как заголовок UIActivityViewController.
Итак, теперь в по крайней мере, для этого случая я нашел способ контролировать, какой заголовок отображается там. И что еще более важно, чтобы избавиться от gibberi sh, который отображался в этом случае.
Я ценю, что URL в заполнителе, вероятно, должен совпадать с URL в фактическом элементе, и будет поэтому имейте осмысленное имя. Но бывают случаи, когда у меня нет окончательного имени файла до тех пор, пока данные не будут обработаны, и поэтому оно не может быть известно во время первоначального предоставления заполнителя.
Мне все равно было бы интересно найти Узнайте, как UIActivityViewController выбирает заголовок, если есть несколько элементов-заполнителей, которые можно использовать для создания полезного заголовка. Как один будет выбран над другим? Почему заголовок для строкового элемента или атрибутного строкового элемента не предоставляется, а только для элементов файла / URL?