WGPavell Asked:2020-04-13 00:07:05 +0000 UTC2020-04-13 00:07:05 +0000 UTC 2020-04-13 00:07:05 +0000 UTC Swift:如何获取另一个应用程序的图标? 772 我想向应用程序添加建立到坐标的路线的能力,以允许用户选择应用程序。我遇到了一个问题:我需要获取最新的应用程序图标,例如 Yandex.Maps,以便在窗口中显示它们。问题:如何获取另一个应用程序的当前图标? ios 2 个回答 Voted Best Answer schmidt9 2020-04-13T02:18:00Z2020-04-13T02:18:00Z 据我所知,不可能获得其他应用程序的图标,而且您很可能不需要它。如果你想在另一个应用程序中添加转发功能,那么先看一边UIActivityViewController,如果你需要在应用程序中显示地图,那么使用相应的库 添加 为了追查关于下载图标的评论,我写了一个从iTunes获取图标的例子 class ViewController: UIViewController { @IBOutlet var iconImageView: UIImageView! override func viewDidLoad() { super.viewDidLoad() getIconUrl { self.loadIcon(from: $0) } } let yandexMapsId = "313877526" /// https://affiliate.itunes.apple.com/resources/documentation/itunes-store-web-service-search-api/ func getIconUrl(_ completion: @escaping (URL) -> Void) { guard let url = URL(string: "http://itunes.apple.com/lookup?id=\(yandexMapsId)") else { return } let session = URLSession(configuration: .default) session.dataTask(with: url) { (data, response, error) in if let error = error { print(error.localizedDescription) return } guard let data = data else { return } guard let json = try? JSONSerialization.jsonObject(with: data, options: []) as? [String: Any] else { return } if json["results_count"] as? Int == 0 { return } print(json) guard let results = json["results"] as? Array<Any>, let result = results.first as? [String : Any] else { return } guard let urlString = result["artworkUrl100"] as? String, let url = URL(string: urlString) else { return } completion(url) }.resume() } func loadIcon(from url: URL) { let session = URLSession(configuration: .default) session.dataTask(with: url) { (data, response, error) in if let error = error { print(error.localizedDescription) return } guard let data = data else { return } DispatchQueue.main.async { self.iconImageView.image = UIImage(data: data) } }.resume() } } WGPavell 2020-04-13T22:22:01Z2020-04-13T22:22:01Z 在评论中,我得到了关于 Telegram 来源的提示。一般来说,它只是转到https://itunes.apple.com/lookup?id= id,其中id是应用程序在 App Store 中的 id。该链接返回 JSON,您可以在其中获取指向应用程序图标的链接(以及一些其他信息)。
据我所知,不可能获得其他应用程序的图标,而且您很可能不需要它。如果你想在另一个应用程序中添加转发功能,那么先看一边
UIActivityViewController,如果你需要在应用程序中显示地图,那么使用相应的库添加
为了追查关于下载图标的评论,我写了一个从iTunes获取图标的例子
在评论中,我得到了关于 Telegram 来源的提示。一般来说,它只是转到https://itunes.apple.com/lookup?id= id,其中id是应用程序在 App Store 中的 id。该链接返回 JSON,您可以在其中获取指向应用程序图标的链接(以及一些其他信息)。