AppExtensionのToday Widgetで現在ロック画面なのかロック画面ではないのか?の判定
AppExtensionのToday Widgetで現在ロック画面なのかロック画面ではないのか?の判定がしたいです。
ロック画面では処理できないようにしたいため。
extensionContext?.open(url, completionHandler: nil)
で一旦アプリへ飛ばして認証させるっていう方法も思いついたのですが
実際にアプリへ飛ばないようにすることができず。
何か良い方法は無いでしょうか?
以下で解決しました。
返り値のDataのオプショナル判定で解決。257ってのが気持ち悪いのですが今回は致し方ないです。
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
}