Мне нужно сделать приложение, используемое для поиска через iTunes API.
Но я не могу использовать какую-либо библиотеку, поэтому она отличается от той, к которой я привык.
С этим URL я должен получить первый результат поиска в Instagram через программное обеспечение: "https://itunes.apple.com/search?entity=software&country=fr&limit=1&term=instagram"
Я пытаюсь получить результаты с помощью этой части кода:
let url = URL(string: "https://itunes.apple.com/search?entity=software&country=fr&limit=1&term=instagram")!
URLSession.shared.dataTask(with: url) { (data, response, error) in
guard let data = data else { return }
do {
let decodedResponse = try JSONDecoder().decode(iTunesResponse.self, from: data)
} catch let error {
print("Failed to load: \(error.localizedDescription)")
}
}.resume()
но это не работает и всегда ловит ошибку.
Вот JSON, который я могу получить:
{
"resultCount": 1,
"results": [{
"screenshotUrls": ["https://is2-ssl.mzstatic.com/image/thumb/Purple123/v4/e9/d2/bf/e9d2bf85-7c32-0ac3-cc1f-e7160abbb8d6/source/392x696bb.jpg"],
...
"userRatingCount": 1697595
}]
}
И модели, которые я использую:
struct iTunesResponse: Decodable {
let resultCount: Int?
let results: [App]?
}
struct App: Decodable {
let isGameCenterEnabled: Bool?
let screenshotUrls: [String]?
...
let userRatingCount: Int?
}
Я пытался решить свою проблему с помощью других тем об этой функции, но не могу ее исправить.