2

.plistドキュメント ディレクトリ内のファイルにアクセスする必要がある Today 拡張機能を作成しようとしています。アプリと拡張機能の両方にアプリ グループをセットアップしました。

の例を見てきましたがNSUserDefaults、ファイルにアクセスするためのものが見つかりませんでした。

このようにファイルにアクセスしてみました(アプリ自体で動作します)

let paths = NSSearchPathForDirectoriesInDomains(
        .DocumentDirectory, .UserDomainMask, true)
let documentsDirectory = paths[0] as String
let filePath = "\(documentsDirectory)/config.plist"

if NSFileManager.defaultManager().fileExistsAtPath(filePath) // false
{
… 
}

しかし、コンソールに次のエラー メッセージが表示されます。

Warning: CFFIXED_USER_HOME is not set!  It should be set to the simulated home directory.
Failed to inherit CoreMedia permissions from 59919: (null)

NSFileCoordinatorドキュメントには、 との使用について何かが書かれていNSFilePresenterます。私はそれらを使用する方法を見つけることができませんでした。どこかでアプリ グループ識別子を伝える必要があると確信していますが、どこにあるのかわかりません。

4

1 に答える 1

1

私はそれを働かせました。拡張子からファイルを書き込む必要がないので、使用する必要はないと思いますNSFileCoordinator。コンテナーの URL を取得するNSFileManagerメソッドがあることがわかりました。containerURLForSecurityApplicationGroupIdentifier()

let manager = NSFileManager()
let containerURL = manager.containerURLForSecurityApplicationGroupIdentifier("group.MyGroupIdentifier")

let filePath = "\(containerURL.path)/config.plist"
let settings = NSDictionary(contentsOfFile: filePath)
于 2014-09-15T09:07:39.873 に答える