来自共享或操作扩展的网络请求 ios
Network request from share or action extension ios
我搜索过这个标题,但没有找到任何合适的信息。我已经找到方法来发出网络请求,将其结果发送到包含应用程序。但是,我想直接回复扩展并在那里显示信息。我遇到过一些使用 javascript 访问网页的方法,但是没有向后端发出请求。是否可以提出一些请求并在行动中获得 JSON 响应或在 iOS 中共享扩展(iPhone,如果重要的话)?任何信息或指南将不胜感激!
您可以直接从扩展中使用 URLSession。 https://www.raywenderlich.com/158106/urlsession-tutorial-getting-started
上有一个很好的教程
let url = URL(...)
let dataTask = defaultSession.dataTask(with: url) { data, response, error in
if let error = error {
// Handle error (error.localizedDescription)
// ...
} else if let data = data,
let response = response as? HTTPURLResponse,
response.statusCode == 200 {
// Handle resonse data
// ...
DispatchQueue.main.async {
// Close extension
// ...
}
}
}
JavaScript 在这种情况下无济于事。只需向您的 url 提出请求并处理响应。
我搜索过这个标题,但没有找到任何合适的信息。我已经找到方法来发出网络请求,将其结果发送到包含应用程序。但是,我想直接回复扩展并在那里显示信息。我遇到过一些使用 javascript 访问网页的方法,但是没有向后端发出请求。是否可以提出一些请求并在行动中获得 JSON 响应或在 iOS 中共享扩展(iPhone,如果重要的话)?任何信息或指南将不胜感激!
您可以直接从扩展中使用 URLSession。 https://www.raywenderlich.com/158106/urlsession-tutorial-getting-started
上有一个很好的教程let url = URL(...)
let dataTask = defaultSession.dataTask(with: url) { data, response, error in
if let error = error {
// Handle error (error.localizedDescription)
// ...
} else if let data = data,
let response = response as? HTTPURLResponse,
response.statusCode == 200 {
// Handle resonse data
// ...
DispatchQueue.main.async {
// Close extension
// ...
}
}
}
JavaScript 在这种情况下无济于事。只需向您的 url 提出请求并处理响应。