【发布时间】:2019-03-19 06:31:22
【问题描述】:
当用户终止应用程序(强制关闭)时,我需要进行 API 调用。我所做的直接实现如下。
在应用委托中,我添加了以下代码。
func applicationWillTerminate(_ application: UIApplication) {
print("________TERMINATED___________")
testAPICall()
}
func testAPICall(){
let url = getURL()
let contentHeader = ["Content-Type": "application/json"]
Alamofire.request(url,
method: .put,
parameters: ["username": "abc@xyz.com"],
encoding: JSONEncoding.default,
headers: contentHeader).responseJSON { (response) -> Void in
print("-----")
}
}
但是,没有进行呼叫。在通过documentation 时,我发现在此方法中完成任务只有 5 秒,最重要的是,调用 api 不是在这里完成的任务。所以我想知道,这样做的方法是什么。
【问题讨论】:
-
要不要等回复,就不能“开枪就忘了”吗?
-
您可以在应用程序终止时在用户默认值中保留一个标志,并在用户返回时通过检查标志调用
didBecomeActive中的API。 -
@Joakim Danielson 我不需要等待响应,但没有触发 api 调用。我有解决办法。谢谢。
-
@Ankit Jayaswal 我需要在用户终止时拨打电话。我可以使用下面的解决方案来做到这一点。谢谢。
标签: ios swift appdelegate applicationwillterminate