WEBアプリの開発を行っているのですが、一度ログインしたときにcookieをUserDefaultsに保存しておいてその後ユーザーがログイン操作を行わなくても自動でログインできるようにしています。
iOS13.4になってからアプリを通信中に強制終了(タスクキル)させると次回起動時にUserDefaultsに保存しておいたcookieを使用するとabortしてしまいアプリが起動しなくなる現象が発生しました。何か回避する方法はありますでしょうか。
ご教示願います。
13.4にアップロードする前はこのようなことはありませんでした。
下記ソースコードでabortする。
returnCookie = try! (NSKeyedUnarchiver.unarchiveTopLevelObjectWithData((data as? Data)!) as? [HTTPCookie])!
iOS13.4
swift5
swift
1 2 func getParameterBy(type: BusinessParameter) -> Any? { 3 4 var returnCookie = [HTTPCookie]() 5 let data = UserDefaults.standard.object(forKey: type.rawValue) 6 7 if data != nil { 8 returnCookie = try! (NSKeyedUnarchiver.unarchiveTopLevelObjectWithData((data as? Data)!) as? [HTTPCookie])! 9 } 10 return returnCookie 11 12 } 13
試したこと
UserDefaultsを起動時に全部初期化すると起動するが、ログイン操作が必要になってしまう。
UserDefaultsではなくファイルに保存するようにしても同じ現象が発生した。
追記
原因はわかっていないのですが、Xcodeで動作させると本現象が発生しなくなりました。PCから接続を切り離すと今まで通り現象が発生いたします。
回答2件
あなたの回答
tips
プレビュー