3

アプリのグループで共有されているファイルを読み取る必要がある Safari のアクション拡張機能があります。コードは次のようになります。

func doneWithResults(resultsForJavaScriptFinalizeArg: [NSObject: AnyObject]?) {
    let fileManager = NSFileManager()
    let groupUrl = NSFileManager.defaultManager().containerURLForSecurityApplicationGroupIdentifier("group.App")
    let sharedContainerPathLocation = groupUrl?.path

    var text = ""
    let textPath = sharedContainerPathLocation! + "/test.txt"
    if let content = fileManager.contentsAtPath(textPath) {
        text = String(data: content, encoding: NSUTF8StringEncoding)!
    }
    // Code to tell that we're complete here, not important for showing the bug.
}

これをシミュレーターで実行すると、完全に機能します。ただし、探しているファイルもある実際のデバイスで実行すると、アクション拡張機能をクリックしても何も起こらず、次のログが返されます。

Sep  1 13:29:29 iPhone ReportCrash[16049] <Notice>: Formulating report for process[16048] Action
Sep  1 13:29:29 iPhone MobileSafari[15761] <Warning>: plugin App.Action interrupted
Sep  1 13:29:29 iPhone MobileSafari[15761] <Warning>: plugin App.Action invalidated
Sep  1 13:29:29 iPhone ReportCrash[16049] <Warning>: report not saved because it is non-actionable

これは既知のバグですか? すでにAppleに報告しましたが、回避策があれば喜んで使用します。

4

1 に答える 1