Следуя инструкциям, я смог получить обратный вызов отчета в моем классе расширения, но когда я пытаюсь сделать запрос API к моему HTTPS-серверу, где-то в журнале консоли я получаю
Код: Выделить всё
nw_resolver_can_use_dns_xpc_block_invoke Sandbox does not allow access to com.apple.dnssd.service
Код: Выделить всё
Task . finished with error [-1003] Error Domain=NSURLErrorDomain Code=-1003 "A server with the specified hostname could not be found." UserInfo={_kCFStreamErrorCodeKey=-72000, NSUnderlyingError=0x282d5c600 {Error Domain=kCFErrorDomainCFNetwork Code=-1003 "(null)" UserInfo={_NSURLErrorNWPathKey=satisfied (Path is satisfied), interface: en0[802.11], ipv4, dns, _kCFStreamErrorCodeKey=-72000, _kCFStreamErrorDomainKey=10}}, _NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask ., _NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalDataTask ."), NSLocalizedDescription=A server with the specified hostname could not be found., NSErrorFailingURLStringKey=https://sub.domain.com/debug, NSErrorFailingURLKey=https://sub.domain.com/debug, _kCFStreamErrorDomainKey=10}
Вот пример кода, который отвечает за отчетность API:
Код: Выделить всё
func reportToAPI(for request: ILClassificationRequest) {
let payload: [String: AnyHashable] = [
"data": "OK",
"test": "payload"
]
guard let url = URL(string: "https://sub.domain.com/debug") else {
return
}
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.setValue("application/json", forHTTPHeaderField: "Content-Type")
request.httpBody = try? JSONSerialization.data(withJSONObject: payload, options: .fragmentsAllowed)
let task = URLSession.shared.dataTask(with: request) { data, _, error in
guard let data = data, error == nil else {
return
}
do {
let response = try JSONSerialization.jsonObject(with: data, options: .allowFragments)
print(response)
} catch {
}
}
task.resume()
}
Код: Выделить всё
{
"classificationreport": {
"apps": ["L***.com.b***.smsreporting.unwantedreporting","L***.com.b***.smsreporting"]
}
Изменить : Я тестирую это на своей учетной записи разработчика, которая является индивидуальным членством, а не организационным, если это имеет значение.
Подробнее здесь: https://stackoverflow.com/questions/765 ... rt-via-api
Мобильная версия