タイトルにはAlamofireでbackgroundURLを設定しました。それはシミュレータの魅力のように動作しますが、私のデバイスではそうではありません。私はURLで経験したことがないので、私はここで何かが欠けていると確信しています。私のViewControllerでAlamofireのバックグラウンドはシミュレータでは動作しますが、デバイスでは動作しません
class NetworkManager {
static let shared = NetworkManager()
private lazy var backgroundManager: Alamofire.SessionManager = {
let bundleIdentifier = MyStruct.identifier
return Alamofire.SessionManager(configuration: URLSessionConfiguration.background(withIdentifier: bundleIdentifier))
}()
var backgroundCompletionHandler: (() -> Void)? {
get{
return backgroundManager.backgroundCompletionHandler
}
set{
backgroundManager.backgroundCompletionHandler = newValue
}
}
}
func application(_ application: UIApplication, handleEventsForBackgroundURLSession identifier: String, completionHandler: @escaping() -> Void) {
NetworkManager.shared.backgroundCompletionHandler = completionHandler
}
: は、ここで私がこれまで持っているコードです
func populateArrays(){
Alamofire.request("http://www.aps.anl.gov/Accelerator_Systems_Division/Accelerator_Operations_Physics/sddsStatus/mainStatus.sdds.gz").responseData { response in
switch response.result{
case .success:
print("Validation Successful")
case .failure(let error):
print(error.localizedDescription)
}
if let data = response.result.value{
携帯電話で実行中にコンソールからエラーログが表示されますか? –
エラーはありません。それは単にURLとの通信を停止します。 – oblagon
そこにブレークポイントを設定して、httpコールが携帯電話から実行されていることを確認できますか? –