Могу ли я узнать, было ли обновлено приложение iOS? - PullRequest
0 голосов
/ 22 января 2020

Я хочу спросить, есть ли у нас какие-либо типы уведомлений или флагов , если приложение обновляется из App Store?

Например, когда пользователь впервые открывает приложение после Обновление, у нас есть флаг для идентификации в didFinishLaunchingWithOptions в AppDelegate.

Ответы [ 2 ]

0 голосов
/ 23 января 2020

Вы можете сохранить версию приложения в пользовательских настройках по умолчанию и проверить, является ли текущая версия приложения выше той, которую вы сохранили в пользовательских настройках по умолчанию. если это так, обновите пользовательские настройки по умолчанию до новой версии.

0 голосов
/ 22 января 2020

Вы можете проверить версию магазина приложений. и ваша текущая версия приложения.

guard let info = Bundle.main.infoDictionary,
    let currentVersion = info["CFBundleShortVersionString"] as? String,
    let identifier = info["CFBundleIdentifier"] as? String,
    let url = URL(string: "http://itunes.apple.com/lookup?bundleId=\(identifier)") else {
    throw VersionError.invalidBundleInfo
}
let data = try Data(contentsOf: url)
guard let json = try JSONSerialization.jsonObject(with: data, options: [.allowFragments]) as? [String: Any] else {
    throw VersionError.invalidResponse
}
if let result = (json["results"] as? [Any])?.first as? [String: Any], let version = result["version"] as? String {
    return version != currentVersion
}
throw VersionError.invalidResponse
...