0

私のアプリでファイル共有が有効になっているので、iTunesでドキュメントフォルダを表示すると、待っているコアデータsqliteファイルがありますユーザーが手を出すことがあります。SQLite dbファイルをiTunesファイル共有に表示されないように非表示にする方法

私はこれについていくつかの議論を見つけましたが、驚くべきことに、誰も私の懸念に対処していないようです。

カスタムサブディレクトリのライブラリフォルダに移動すると言う言葉があります。また、それぞれの前にピリオドを付けるファイルの名前を変更するともいえます。

どちらのオプションも素敵ですが、これらは必須のOSファイルです! 私の最初の質問は、これらのことのいずれかを行うと(NSFileManager.defaultManager() - 私は推測します)、アプリケーションは自動的にそれらを後で見つけますか? ...またはあなたが(どちらかの)あなたが行う特定の「方法」はあるのですか?アプリケーションが後でそれを見つけるようにしますか?

どのような反応でも、Objective CではなくSwiftを使用することができれば、それは分かります!おかげで、:)

+0

これらはライブラリフォルダに保管してください。アプリケーションは、iTunesを介してドキュメントフォルダ内のファイルにのみアクセスできます。 –

+0

ありがとうございましたが、質問したとおり、これらのファイルを移動するだけで、他の設定を行わずにアプリケーションが自動的にファイルを検索しますか? ...いつあなたはそれらを動かすのですか?最初の打ち上げで一度だけ? – Aroniousness

+0

アプリはそれを自分では見つけられません。あなたはどこにそれらを見つけるか教えてください。 NSLibraryDirectoryはライブラリを指します。 NSDocumentDirectoryはドキュメントフォルダを指します。 –

答えて

2

はそれを考え出した: を(私がやって多くのを見てきました)同じことを思って誰にも、私のアプリデリゲートで

を>「persistentStoreCoordinator」怠惰な変数で、 を私は次のように変更しましたコードの行:次の2つのコード行に

let url = self.applicationDocumentsDirectory.URLByAppendingPathComponent("MyAppName.sqlite") 

let library = NSFileManager.defaultManager().URLsForDirectory(.LibraryDirectory, inDomains: .UserDomainMask)[0] as NSURL 
let url = libary.URLByAppendingPathComponent("MyAppName.sqlite") 
+0

@ RoNiT、フォーマットを修正してくれてありがとう:) – Aroniousness

1

これはシンだろうSwift 3/4の税金:

let library = FileManager.default.urls(for: .libraryDirectory, in: .userDomainMask)[0] as NSURL 
    let url = library.appendingPathComponent("MyAppName.sqlite") 
関連する問題