iCloudドキュメントストレージからファイルを読み込むためのwatchkit拡張機能を探しています。私はそれを読むことができるiOSアプリからファイルを書きました。私は共有クラスを利用しているので、コードは同じです。問題は、時計では、クラウドコンテナのURLがnilを返すことです。Watchkit ExtensionがiCloudから読み取れない
static func readFromFile(fileName:String) -> String?
{
let fileManager = FileManager.default
var cloudURL = fileManager.url(forUbiquityContainerIdentifier: nil)
cloudURL = cloudURL?.appendingPathComponent("Documents/\(fileName)")
do
{
return try String(contentsOf: cloudURL!)
} catch {
print (error)
return nil
}
上記のケースでは、cloudURLは時計ではなく、電話ではありません。 については、同じ識別子が時計と電話の両方に使用されていることを確認しました。私は、名前を直接入力するのではなく、nilを使用してエンタイトルメントから取得させようとしました。コンテナのフォーマット:
iCloud.com.company.app
Watch OS 3はiCloudを使用できるはずです。
更新:
私はlet token = fileManager.ubiquityIdentityToken
をプリントアウトし、私は次を得る:
WatchKit拡張[390:687462]:エラードメイン= NSCocoaErrorDomainコード[デフォルト] [ERROR]エラー ubiquityIdentityTokenを取得中= 4099 " com.apple.bird.tokenという名前のサービスへの接続が無効になりました。 のUserInfo = {NSDebugDescriptionが com.apple.bird.tokenが無効化された名前のサービスへの接続を=。}