2015-12-01 4 views
0

Наше приложение на основе UIDocument имеет собственный тип документа, определенный в info.plist в разделе «Экспортированные типы UTI» и «Типы документов». Мы создаем UIDocuments в контейнере iCloud ubiquity согласно документации Apple. Документы не регистрируются как пакет до перезапуска устройства. Это происходит только при первом запуске приложения. После перезагрузки любые новые созданные документы будут рассматриваться как пакеты нашего пользовательского типа (как и должно быть).iCloud не распознает пакеты до перезагрузки устройства

Info.plist имеет следующие данные:

<key>CFBundleDocumentTypes</key> 
    <array> 
     <dict> 
      <key>CFBundleTypeIconFiles</key> 
      <array/> 
      <key>CFBundleTypeName</key> 
      <string>Sample Doc</string> 
      <key>LSHandlerRank</key> 
      <string>Owner</string> 
      <key>LSItemContentTypes</key> 
      <array> 
       <string>com.sampledoc.tst</string> 
      </array> 
      <key>LSTypeIsPackage</key> 
      <true/> 
     </dict> 
    </array> 
<key>UTExportedTypeDeclarations</key> 
    <array> 
     <dict> 
      <key>UTTypeConformsTo</key> 
      <array> 
       <string>com.apple.package</string> 
      </array> 
      <key>UTTypeDescription</key> 
      <string>Sample Doc</string> 
      <key>UTTypeIdentifier</key> 
      <string>com.sampledoc.tst</string> 
      <key>UTTypeTagSpecification</key> 
      <dict> 
       <key>public.filename-extension</key> 
       <array> 
        <string>tst</string> 
       </array> 
      </dict> 
     </dict> 
    </array> 

Когда запрос метаданных возвращает результаты, то CONTENTTYPE будет (это проблема) «динам.». После перезапуска устройства contentType для новых документов будет com.sampledoc.tst (который является ожидаемым значением).

Неужели кто-нибудь еще сталкивается с этой проблемой? Любая помощь будет оценена.

ответ

0

я также отправил тот же самый вопрос в форуме яблочного, ниже ответ от компании Apple

Благодарим Вас за запрос к компании Apple Worldwide Developer технической поддержки. Я отвечаю, чтобы сообщить, что я получил ваш запрос на техническую помощь.

Я просмотрел ваш образец проекта и не нашел запись для «CFBundleTypeExtensions».

Ваши «UTExportedTypeDeclarations» определены правильно, но для «CFBundleDocumentTypes» вам не хватает записи для «CFBundleTypeExtensions».

<key>CFBundleTypeExtensions</key> 
<array> 
    <string>tst</string> 
</array> 

Добавить эту запись, и вы должны увидеть, что ваш пакет распознан.

 Смежные вопросы

  • Нет связанных вопросов^_^