Các kiểm tra sau hoạt động tốt trên iOS 11. Nó loại bỏ cảnh báo yêu cầu quyền sử dụng dịch vụ vị trí và sau đó phóng to trên bản đồ. Trên iOS 10 hoặc 9, không có thao tác nào trong số này và thử nghiệm vẫn thành côngaddUIInterruptionMonitor (withDescription: handler :) không hoạt động trên iOS 10 hoặc 9
func testExample() {
let app = XCUIApplication()
var handled = false
var appeared = false
let token = addUIInterruptionMonitor(withDescription: "Location") { (alert) -> Bool in
appeared = true
let allow = alert.buttons["Allow"]
if allow.exists {
allow.tap()
handled = true
return true
}
return false
}
// Interruption won't happen without some kind of action.
app.tap()
removeUIInterruptionMonitor(token)
XCTAssertTrue(appeared && handled)
}
Có ai biết tại sao và/hoặc cách giải quyết khác không?
Dưới đây là một dự án nơi bạn có thể tạo lại vấn đề: https://github.com/TitouanVanBelle/Map
Cập nhật
Xcode 9,3 changelogs Beta của hiển thị như sau
XCTest UI interruption monitors now work correctly on devices and simulators running iOS 10. (33278282)
Tôi không thể tin điều này hoạt động được :) thx! Tuy nhiên, tôi muốn truy cập nút bằng chỉ mục, nếu không nó sẽ không hoạt động trong các phiên bản iOS khác nhau (tiêu đề nút thay đổi trong iOS 11) – Daniel
Sử dụng 'addUIInteruptionMonitor()' không hoạt động để loại bỏ cảnh báo 'SFAuthenticationSession', nhưng kỹ thuật này làm việc cho chúng tôi. –