[英]Why is my iCloud Drive AppFolder visible on MacOS, but disabled in iCloud Drive App on iOS?
我為我的iOS應用程序開發了一個iCloud Drive Export功能,它可以工作。 我可以在Mac OS X 10.11上的iCloud Drive文件夾中的公共AppContainerFolder中看到導出的文檔。
但在iOS上,我只能在iCloud Drive應用程序中看到AppContainerFolder。 它被禁用,我無法打開該文件夾,或看到里面的文件。
從iCloud Drive設置中,我可以看到我導出的文件位於iCloud Drive中的AppContainerFolder中。
iCloud設置中的AppContainerFolder圖像
iCloud Drive有沒有人遇到過這樣的問題?
我在我的應用程序中使用了兩個app容器,一個用於導出的“iCloud.com ...”標識符,另一個用於Ensembles-CoreData同步的“TeamIdentifier.com ...”標識符。 我使用以下方法明確使用容器的URL:
[[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:@"iCloud.com..."]
我已經嘗試過只使用TeamIdentifier-Container,但AppContainerFolder的可見性沒有變化。
我試圖碰到BundleVersion,我玩了Info.plist NSUbiquitousContainers設置。 我還通過TestFlight向外部測試人員提供Build,以查看它是否與開發設備有關。
我還沒有做過唯一的事情,就是用一個新的BundleVersion向AppStore發布一個新版本,看它是否與高效的應用程序和開發中的應用程序有關。
任何提示和提示歡迎。
在與Apple Developer Technical Support澄清之后,我現在能夠解決這個問題。
我的應用程序聲明了兩個導出的UTI(自己的備份文件),因此當這些UTI以外的其他文件保存到該文件夾時,iCloud容器將默認為不啟用(或顯示為灰色)。 我們的應用程序能夠創建PDF和CSV,但這些文件類型未在info.plist中聲明為“文檔類型”,因為我們的應用程序無法顯示它們。
將PDF和CSV文檔類型添加到info.plist時,iCloud容器會立即顯示在iCloud Drive應用程序中。
供您參考,以下是info.plist的摘錄:
...
<key>CFBundleDocumentTypes</key>
<array>
<dict>
<key>CFBundleTypeIconFiles</key>
<array/>
<key>CFBundleTypeName</key>
<string>Adobe PDF</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSHandlerRank</key>
<string>Alternative</string>
<key>LSItemContentTypes</key>
<array>
<string>com.adobe.pdf</string>
</array>
</dict>
<dict>
<key>CFBundleTypeIconFiles</key>
<array/>
<key>CFBundleTypeName</key>
<string>CSV</string>
<key>CFBundleTypeRole</key>
<string>Viewer</string>
<key>LSHandlerRank</key>
<string>Alternative</string>
<key>LSItemContentTypes</key>
<array>
<string>public.comma-separated-values-text</string>
</array>
</dict>
</array>
...
帖子為什么我的應用程序未顯示在iCloud Drive Folder中似乎表明您的應用程序需要在公共iCloud文件夾完全運行之前獲得批准和發布。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.