簡體   English   中英

隱藏 iCloud 文檔

[英]Hide iCloud Documents

我已經使用 iCloud 文檔成功地將文檔保存到用戶的 iCloud Drive 以及從用戶的 iCloud Drive 加載文檔,但是該文檔在用戶的 iCloud Drive 中是可見的,如下所示:

iCloud 文檔屏幕 應用文檔

我不想要這個,因為這是從我的應用程序中保存的數據。 有什么辦法可以隱藏這些文件嗎?

這是我的代碼:

var containerUrl: URL? {
    return FileManager.default.url(forUbiquityContainerIdentifier: nil)?.appendingPathComponent("Documents")
}

func read() -> String {
    let documentUrl = self.containerUrl!.appendingPathComponent("test.txt")
    print("url: \(documentUrl)")
    
    do {
        return try String(contentsOf: documentUrl)
    }
    catch {
        alert(text: error.localizedDescription)
        return "Error"
    }
}


func save(text:String) {
    if let url = self.containerUrl, !FileManager.default.fileExists(atPath: url.path, isDirectory: nil) {
        do {
            try FileManager.default.createDirectory(at: url, withIntermediateDirectories: true, attributes: nil)
        }
        catch {
            alert(text: error.localizedDescription)
        }
    }
    
    let documentUrl = self.containerUrl!.appendingPathComponent("test.txt")
    print("url: \(documentUrl)")
    
    do {
        try text.write(to: documentUrl, atomically: true, encoding: .utf8)
    }
    catch {
        alert(text: error.localizedDescription)
    }
}

以及我添加到我的 Info.plist 中的內容:

<key>NSUbiquitousContainers</key>
<dict>
    <key>iCloud.testCloudStorage</key>
    <dict>
        <key>NSUbiquitousContainerIsDocumentScopePublic</key>
        <true/>
        <key>NSUbiquitousContainerName</key>
        <string>testCloudStorage</string>
        <key>NSUbiquitousContainerSupportedFolderLevels</key>
        <string>Any</string>
    </dict>
</dict>

任何幫助,將不勝感激。

如果您不想將此數據公開給用戶,您需要將其保存到庫目錄中。 請花一些時間閱讀文件系統基礎知識

將 Library 子目錄用於您不想向用戶公開的任何文件。

Library 目錄的內容(Caches 子目錄除外)由 iTunes 和 iCloud 備份。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM