NOPE: SEE CẬP NHẬT # 3 DƯỚI ĐÂY: Yếu tố còn thiếu rất quan trọng: bạn phải thiết lập waitsForConnectivity
cờ trên cấu hình phiên của bạn để true
.
let config = URLSessionConfiguration.ephemeral
config.waitsForConnectivity = true
let sesh = URLSession(configuration: config)
let url = URL(string: "https://google.com")!
sesh.dataTask(with: request) { (_, _, error) in
print(error)
}.resume()
Nếu bạn không đặt cờ đó, yêu cầu không thành công ngay lập tức vì truy cập LTE không khả dụng ngay lập tức nhưng chỉ sau thời gian chậm trễ nhất. Đặt cờ này thành true làm cho các yêu cầu hoạt động. Trong thử nghiệm của tôi, thậm chí dường như không có sự khác biệt đáng kể về thời gian giữa việc bật waitsForConnectivity
qua LTE và thực hiện cùng một yêu cầu mà không cần bật waitsForConnectivity
nhưng được thực hiện qua WiFi, giống như thời gian chờ đợi được bật bởi waitsForConnectivity
trong một số trường hợp. loại tình huống.
Update # 1
tôi không thể thực hiện bất kỳ yêu cầu trên LTE. Khi waitsForConnectivity
được đặt thành true
, các yêu cầu chỉ hết thời gian chờ theo thuộc tính thời gian chờ của cấu hình phiên. Khi waitsForConnectivity
là false
, yêu cầu không thành công ngay lập tức. Tôi sẽ cập nhật câu hỏi và câu trả lời của mình khi có thêm thông tin. Tôi đang chờ đợi một phản ứng từ một yêu cầu TSI của Apple thường mất vài ngày.
Update # 2
Thêm vào mầu, mẫu mã cùng chạy tốt trên di động trên phần cứng khác hai nhà phát triển. Tôi biết rằng phần cứng của tôi là tốt bởi vì các ứng dụng của Apple vui vẻ hơn LTE trên đó (cuộc gọi điện thoại lăn xuống đường cao tốc mà không có gì ngoài đồng hồ của tôi trong ô tô). Vì vậy, có một cái gì đó thực sự fishy đang xảy ra. Tôi đã yêu cầu Apple DTS xem xét vấn đề này và họ cũng không thể tái tạo vấn đề này. Tôi sẽ theo dõi chúng ngay khi có thể.
Update # 3
Đôi khi trong những tuần can thiệp sau khi tôi cập nhật lần cuối bài này, yêu cầu di động bắt đầu làm việc trong các ứng dụng của tôi. Tôi đã không thay đổi bất cứ điều gì về đồng hồ của tôi, không có cập nhật phần mềm, không reset, không có gì. Tôi thậm chí không biên dịch lại mã; cùng một bản dựng vẫn còn trên đồng hồ của tôi như trước đây. Nó chỉ bắt đầu hoạt động như mong đợi, giống như trên các thiết bị của các nhà phát triển khác.
Điều duy nhất lạ mà tôi nhận thấy là tôi nhận được ba tin nhắn SMS giống nhau, quay lại từ AT & T thông báo cho tôi rằng Apple Watch của tôi hiện đã được liên kết với số iPhone của tôi. Điều đó thật kỳ lạ, bởi vì mối liên kết đó được cho là xảy ra vào đêm tôi unboxed điện thoại của tôi, không phải hai tháng sau đó. Tôi không biết liệu điều này có liên quan đến vấn đề của tôi hay không. Tất cả những gì tôi biết là các yêu cầu di động hiện đang hoạt động.
¯ \ _ (ツ) _/¯