私のアプリケーションでバックグラウンドフェッチ機能を実装しました。スウィフト - バックグラウンドフェッチと遅延
background fetchによって呼び出される関数には、遅延関数が含まれています。
ただし、この機能はトリガーしていないようです:しかし、すぐに私はアプリを覚ますようトリガするようだ
let when = DispatchTime.now() + 2
DispatchQueue.main.asyncAfter(deadline: when) {
MyFunction()
}
。
バックグラウンドフェッチでこれが発生しないのはなぜですか?私はあなたがメインキューにバックグラウンドで実行することができるとは思わない
DispatchQueue.global().async {
let timer = Timer.scheduledTimer(timeInterval: 2, target: self, selector: #selector(self.MyFunction), userInfo: nil, repeats: false)
RunLoop.current.add(timer, forMode: .defaultRunLoopMode)
RunLoop.current.run()
}
を、それをしません。 – vadian
期待される結果は何ですか? (遅延)を待ってから、 'MyFunction()'を実行するか、その逆ですか? –
ああ私はそれが泥棒の練習であることを知っていたと述べていたはずですが、それでも私のケースでは十分です:) – lapin