2017-01-01 4 views
1

ユーザーが新しい購入をインストールしているかどうか、またはSwiftでアップデートをダウンロードしているかどうかを知ることはできますか?ユーザーがアプリを更新するかどうか、または新しい購入があるかどうかを知る(スウィフト3)

私はAndroidとObj Cでこの質問を見ましたが、Swiftでは見ていません。

私はSQLiteデータベースを使用しています。

答えて

2

UserDefaultsにアプリケーションのバージョンを記録してください。私は確信していません、あなたはObjective Cが見つかりましたが、私は確信しています、それはちょっと同じアイデアを持っています。

あなたのアプリのバージョンをappVersionUserDefaultsに保存しているとします。それを読んで、現在のアプリケーションのバージョンと比較し、比較結果を確認してください。
あなたはAppDelegate

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { 

中にアプリが起動し、現在のアプリのバージョンがUserDefaultsで更新されますので、毎回これを行うことができます。

スウィフト3

let defaults = UserDefaults.standard  
guard let currentAppVersion = Bundle.main.object(forInfoDictionaryKey: "CFBundleShortVersionString") as? String, let previousVersion = defaults.string(forKey: "appVersion") else { 
     // Key does not exist in UserDefaults, must be a fresh install 
     print("fresh install") 
     // Writing version to UserDefaults for the first time 
     defaults.set(currentAppVersion, forKey: "appVersion") 
     return 
} 

let comparisonResult = currentAppVersion.compare(previousVersion, options: .numeric, range: nil, locale: nil) 
switch comparisonResult { 
    case .orderedSame: 
     print("same version is running like before") 
    case .orderedAscending: 
     print("earlier version is running like before") 
    case .orderedDescending: 
     print("older version is running like before") 
} 

// Updating new version to UserDefaults 
defaults.set(currentAppVersion, forKey: "appVersion") 
+0

のための例は、おそらくばかな質問が、前者UserDefaultsを更新した後、デバイス上で維持されていますか? –

+0

はい、更新後はデバイス上に保持されます。削除後ではなく、それに対してあまりにも多くのことをすることはできません。 – dirtydanee

+0

ありがとうございました!これは素晴らしいです –

関連する問題