Проблемы с CFBundleDocumentTypes и UIFileSharingEnabled

Кто-нибудь заставил работать UIFileSharingEnabled или CFBundleDocumentTypes? Я добавил UIFileSharingEnabled как true в свой plist и использовал пример Apple по приведенной ниже ссылке для CFBundleDocumentTypes, но, похоже, не могу заставить его работать.

Я не вижу свое приложение в разделе общего доступа к файлам в iTunes, и у меня нет возможности открывать документы, которые я зарегистрировал в своем приложении, когда я нажимаю на них в приложении mail.app.

http://developer.apple.com/iphone/library/documentation/General/Conceptual/iPadProgrammingGuide/CoreApplication/CoreApplication.html


person carloe    schedule 08.04.2010    source источник


Ответы (7)


Карло,

Откройте файл app-info.plist в виде текстового файла. Параметр UIFileSharingEnabled должен выглядеть следующим образом:

<key>UIFileSharingEnabled</key>
<true/>

Если вы сделали то же, что и я, и добавили UIFileSharingEnabled в plist и установили для него значение YES, ваш ключ будет выглядеть так:

<key>UIFileSharingEnabled</key>
<string>YES</string>

После того, как я исправил этот ключ, мое приложение появилось прямо в разделе «Общий доступ к файлам» на вкладке «Приложения» в iTunes.

Надеюсь, это решит и вашу проблему!

person LCombs74    schedule 09.04.2010
comment
У меня так было настроено. В итоге я создал новый проект для проверки флага, и это сработало. Все еще не повезло в моем другом проекте, хотя. - person carloe; 10.04.2010
comment
Установка логического типа значения вместо строки приведет к тому, что вывод из редактора списка свойств (или его встроенного варианта Xcode) будет выглядеть так же, как ваш первый вывод. - person Ivan Vučica; 28.12.2010

Общий доступ к файлам работает на 3.2, но есть небольшая ошибка, вы должны удалить приложение после добавления UIFileSharingEnabled в plist, чтобы обновить itunes и увидеть, что приложение теперь поддерживает общий доступ к файлам (перезагрузка/отключение этого не делает ).

person valexa    schedule 09.05.2010

Я могу подтвердить слова valexa: UIFileSharingEnabled начал работать, как только я удалил приложение с устройства. Создание и запуск его на устройстве впоследствии заставили iTunes распознать приложение в разделе обмена файлами iTunes. Таким образом, специальная или любая другая сборка «дистрибутива» определенно не нужна. ХТХ!

person Erik Abele    schedule 14.07.2010

Кажется, вам также нужно установить CFBundleDisplayName. Это то, что решило мою проблему. См. UIFileSharingEnabled не действует.

person Andrew    schedule 30.01.2011

Я также подтверждаю идею Валексы. Я использую .plist по умолчанию, который показывает

<key>UIFileSharingEnabled</key>
<true/>

После нескольких удалений/установок iTunes успешно распознала функцию общего доступа к файлам в моем приложении.

person TrungNL    schedule 22.09.2010

Я не знаю, работает ли UIFileSharingEnabled так, как вы думаете. Apple упоминает открытие документов из Mail как функцию 4.0. Установка этого параметра должна означать, что ваше приложение отображается в разделе файлов iTunes.

person David Dunham    schedule 12.04.2010
comment
UIFileSharingEnabled, да. Но CFBundleDocumentTypes регистрирует приложение как способное открывать указанные форматы файлов в системе. Единственная проблема в том, что никто не может заставить его работать. - person carloe; 12.04.2010
comment
Я не могу спросить, пробовали ли вы это в 4.0, потому что это под NDA. Но, учитывая то, что они публично сказали, я не ожидаю, что это сработает в 3.2 (хотя в документации подразумевается, что должно). - person David Dunham; 14.04.2010

UIFileSharingEnabled влияет только тогда, когда ваше приложение создано как «дистрибутив». Если вы создадите специальную версию и установите ее, вы можете проверить свою программу.

person KatokichiSoft    schedule 27.06.2010
comment
Отладочные сборки XCode также работают нормально. (не только специальные версии дистрибутива). - person Vladimir Grigorov; 03.08.2012
comment
Однако я не вижу свою отладочную сборку в iTunes, есть предложения? - person Mirko; 20.05.2015
comment
Кажется, это нигде не задокументировано, но это совпадает с моим опытом. UIFileSharingEnabled также не требуется в сборках TestFlight, только когда приложение развертывается через App Store или пользовательское бизнес-приложение. Однако не уверен в сборках Enterprise. Дополнительный отчет об этом поведении: stackoverflow.com/questions/32630874/ - person evan.bovie; 24.01.2020