2014-11-11 4 views
3

У меня есть приложение OSX, которое использует документы iCloud с более старым ключом идентификатора Team ID. Кто-нибудь знает, как заставить папку вездесущих появляться в папке диска iCloud?iCloud Drive Folder

Я уже пробовал использовать NSUbiquitousContainerIsDocumentScopePublic ключ, установленный в true в приложениях pList.

Папки, которые появляются в драйвере iCloud, включают приложение Apple и Pixelmator.

+0

Привет, Энди, смогли ли вы это решить? Я столкнулся с тем же вопросом. – Mark

+0

Нет, я еще не решил. :(У меня не было времени, чтобы выяснить, что я сделал не так. Вы пробовали все, что предложил Максимилиан ниже? – AndyTang

+0

Нам удалось наконец заставить его работать, делая все, что предложил Максимилиан, включая ключи и номер сборки. – AndyTang

ответ

8

Добавьте эти значения в файл info.plist и измените свой номер сборки.

<key>NSUbiquitousContainers</key> 
    <dict> 
     <key>iCloud.com.example.app</key> 
     <dict> 
      <key>NSUbiquitousContainerIsDocumentScopePublic</key> 
      <true/> 
      <key>NSUbiquitousContainerName</key> 
      <string>App name to display in iCloud Drive</string> 
      <key>NSUbiquitousContainerSupportedFolderLevels</key> 
      <string>None</string> 
     </dict> 
    </dict> 

и добавить эти ключи для ваших прав, вы увидите сообщение об ошибке в разделе ICloud возможностей, но работает отлично. Поэтому НЕ нажимайте кнопку «Исправить» или не меняйте ее из возможностей, иначе она больше не будет работать.

<key>com.apple.developer.ubiquity-container-identifiers</key> 
     <array> 
      <string>iCloud.$(CFBundleIdentifier)</string> 
     </array> 
     <key>com.apple.developer.icloud-services</key> 
     <array> 
      <string>CloudDocuments</string> 
     </array> 
     <key>com.apple.developer.ubiquity-kvstore-identifier</key> 
     <string>$(TeamIdentifierPrefix)$(CFBundleIdentifier)</string> 
+0

Спасибо за ответ! Я уже пробовал эти ключи, кроме NSUbiquitousDisplaySet. Я также использую префикс идентификатора команды вместо префикса iCloud, иначе существующие пользователи могли бы потерять свои файлы. Будет ли папка отображаться в процессе разработки? или это произойдет только при отправке в хранилище приложений? – AndyTang

+0

Как вы получаете контейнер ubiquity? – Maximilian

+0

Я просто использую NSOpenPanel для открытия файлов пользователю. [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier: nil]; вернет правильную папку внутри iCloud Drive, только папка не будет видна в основном iCloud driv e папка. – AndyTang

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