

AppExtensionのToday Widgetで現在ロック画面なのかロック画面ではないのか？の判定がしたいです。  
ロック画面では処理できないようにしたいため。

[code]

    extensionContext?.open(url, completionHandler: nil)
    
[/code]

で一旦アプリへ飛ばして認証させるっていう方法も思いついたのですが  
実際にアプリへ飛ばないようにすることができず。

何か良い方法は無いでしょうか？

以下で解決しました。  
返り値のDataのオプショナル判定で解決。257ってのが気持ち悪いのですが今回は致し方ないです。

[code]

    func exampleData() -> Data? {
            let fileManager = FileManager.default
            let userDefaults = UserDefaults(suiteName:"group.yourapp")!
            let lock = userDefaults.value(forKey: "lock") as? String ?? ""
            var data: Data?
            if fileManager.fileExists(atPath: lock) {
                do {
                    data = try Data(contentsOf: URL(string: lock)!,options: Data.ReadingOptions.mappedIfSafe)
                } catch let error {
                    let er = error as NSError
                    if er.code == 257 {
                        data = nil
                    }
                }
            }
            return data
        }
    
[/code]


CC BY-SA 3.0
2017-10-13T00:27:01.023
38652
2017-10-13T11:03:16.987
2017-10-13T11:03:16.987
13496
13496
question
swift ios xcode swift3
AppExtensionのToday Widgetで現在ロック画面なのかロック画面ではないのか？の判定