Updated for swift 1.2

This commit is contained in:
Nick O'Neill
2015-04-10 15:25:01 -07:00
parent 5948dcfbc2
commit 2c884c40f1
+32 -31
View File
@@ -586,20 +586,20 @@ public func shouldIncrementUseCountClosure(shouldIncrementUseCountClosure: Armch
public class StandardUserDefaults: ArmchairDefaultsObject { public class StandardUserDefaults: ArmchairDefaultsObject {
let defaults = NSUserDefaults.standardUserDefaults() let defaults = NSUserDefaults.standardUserDefaults()
public func objectForKey(defaultName: String) -> AnyObject? { return defaults.objectForKey(defaultName) } @objc public func objectForKey(defaultName: String) -> AnyObject? { return defaults.objectForKey(defaultName) }
public func setObject(value: AnyObject?, forKey defaultName: String) { defaults.setObject(value, forKey: defaultName) } @objc public func setObject(value: AnyObject?, forKey defaultName: String) { defaults.setObject(value, forKey: defaultName) }
public func removeObjectForKey(defaultName: String) { defaults.removeObjectForKey(defaultName) } @objc public func removeObjectForKey(defaultName: String) { defaults.removeObjectForKey(defaultName) }
public func stringForKey(defaultName: String) -> String? { return defaults.stringForKey(defaultName) } @objc public func stringForKey(defaultName: String) -> String? { return defaults.stringForKey(defaultName) }
public func integerForKey(defaultName: String) -> Int { return defaults.integerForKey(defaultName) } @objc public func integerForKey(defaultName: String) -> Int { return defaults.integerForKey(defaultName) }
public func doubleForKey(defaultName: String) -> Double { return defaults.doubleForKey(defaultName) } @objc public func doubleForKey(defaultName: String) -> Double { return defaults.doubleForKey(defaultName) }
public func boolForKey(defaultName: String) -> Bool { return defaults.boolForKey(defaultName) } @objc public func boolForKey(defaultName: String) -> Bool { return defaults.boolForKey(defaultName) }
public func setInteger(value: Int, forKey defaultName: String) { defaults.setInteger(value, forKey: defaultName) } @objc public func setInteger(value: Int, forKey defaultName: String) { defaults.setInteger(value, forKey: defaultName) }
public func setDouble(value: Double, forKey defaultName: String) { defaults.setDouble(value, forKey: defaultName) } @objc public func setDouble(value: Double, forKey defaultName: String) { defaults.setDouble(value, forKey: defaultName) }
public func setBool(value: Bool, forKey defaultName: String) { defaults.setBool(value, forKey: defaultName) } @objc public func setBool(value: Bool, forKey defaultName: String) { defaults.setBool(value, forKey: defaultName) }
public func synchronize() -> Bool { return defaults.synchronize() } @objc public func synchronize() -> Bool { return defaults.synchronize() }
} }
public enum ArmchairKey: String, Printable { public enum ArmchairKey: String, Printable {
@@ -691,8 +691,8 @@ public class Manager : ArmchairManager {
private func defaultAppName() -> String { private func defaultAppName() -> String {
let mainBundle = NSBundle.mainBundle() let mainBundle = NSBundle.mainBundle()
let displayName = mainBundle.objectForInfoDictionaryKey("CFBundleDisplayName") as? String let displayName = mainBundle.objectForInfoDictionaryKey("CFBundleDisplayName") as? String
let bundleNameKey = kCFBundleNameKey as NSString? let bundleNameKey = kCFBundleNameKey as String
let name = mainBundle.objectForInfoDictionaryKey(bundleNameKey as String) as? String let name = mainBundle.objectForInfoDictionaryKey(bundleNameKey) as? String
return displayName ?? name ?? "This App" return displayName ?? name ?? "This App"
} }
@@ -918,8 +918,9 @@ public class Manager : ArmchairManager {
private func _incrementCountForKeyType(incrementKeyType: ArmchairKey) { private func _incrementCountForKeyType(incrementKeyType: ArmchairKey) {
var incrementKey = keyForArmchairKeyType(incrementKeyType) var incrementKey = keyForArmchairKeyType(incrementKeyType)
let bundleVersionKey = kCFBundleVersionKey as String
// App's version. Not settable as the other ivars because that would be crazy. // App's version. Not settable as the other ivars because that would be crazy.
let currentVersion = NSBundle.mainBundle().objectForInfoDictionaryKey(kCFBundleVersionKey) as? NSString let currentVersion = NSBundle.mainBundle().objectForInfoDictionaryKey(bundleVersionKey) as? String
if currentVersion == nil { if currentVersion == nil {
assertionFailure("Could not read kCFBundleVersionKey from InfoDictionary") assertionFailure("Could not read kCFBundleVersionKey from InfoDictionary")
return return
@@ -1411,31 +1412,31 @@ public class Manager : ArmchairManager {
private func setKey(key: NSString, armchairKeyType: ArmchairKey) { private func setKey(key: NSString, armchairKeyType: ArmchairKey) {
switch armchairKeyType { switch armchairKeyType {
case .FirstUseDate: case .FirstUseDate:
armchairKeyFirstUseDate = key armchairKeyFirstUseDate = key as String
case .UseCount: case .UseCount:
armchairKeyUseCount = key armchairKeyUseCount = key as String
case .SignificantEventCount: case .SignificantEventCount:
armchairKeySignificantEventCount = key armchairKeySignificantEventCount = key as String
case .CurrentVersion: case .CurrentVersion:
armchairKeyCurrentVersion = key armchairKeyCurrentVersion = key as String
case .RatedCurrentVersion: case .RatedCurrentVersion:
armchairKeyRatedCurrentVersion = key armchairKeyRatedCurrentVersion = key as String
case .DeclinedToRate: case .DeclinedToRate:
armchairKeyDeclinedToRate = key armchairKeyDeclinedToRate = key as String
case .ReminderRequestDate: case .ReminderRequestDate:
armchairKeyReminderRequestDate = key armchairKeyReminderRequestDate = key as String
case .PreviousVersion: case .PreviousVersion:
armchairKeyPreviousVersion = key armchairKeyPreviousVersion = key as String
case .PreviousVersionRated: case .PreviousVersionRated:
armchairKeyPreviousVersionRated = key armchairKeyPreviousVersionRated = key as String
case .PreviousVersionDeclinedToRate: case .PreviousVersionDeclinedToRate:
armchairKeyPreviousVersionDeclinedToRate = key armchairKeyPreviousVersionDeclinedToRate = key as String
case .RatedAnyVersion: case .RatedAnyVersion:
armchairKeyRatedAnyVersion = key armchairKeyRatedAnyVersion = key as String
case .AppiraterMigrationCompleted: case .AppiraterMigrationCompleted:
armchairKeyAppiraterMigrationCompleted = key armchairKeyAppiraterMigrationCompleted = key as String
case .UAAppReviewManagerMigrationCompleted: case .UAAppReviewManagerMigrationCompleted:
armchairKeyUAAppReviewManagerMigrationCompleted = key armchairKeyUAAppReviewManagerMigrationCompleted = key as String
} }
} }
@@ -1465,7 +1466,7 @@ public class Manager : ArmchairManager {
private func migrateAppiraterKeysIfNecessary() { private func migrateAppiraterKeysIfNecessary() {
let appiraterAlreadyCompletedKey: NSString = keyForArmchairKeyType(.AppiraterMigrationCompleted) let appiraterAlreadyCompletedKey: NSString = keyForArmchairKeyType(.AppiraterMigrationCompleted)
var appiraterMigrationAlreadyCompleted = userDefaultsObject?.boolForKey(appiraterAlreadyCompletedKey) var appiraterMigrationAlreadyCompleted = userDefaultsObject?.boolForKey(appiraterAlreadyCompletedKey as String)
if let completed = appiraterMigrationAlreadyCompleted { if let completed = appiraterMigrationAlreadyCompleted {
if completed { if completed {
@@ -1490,14 +1491,14 @@ public class Manager : ArmchairManager {
} }
} }
userDefaultsObject?.setObject(NSNumber(bool: true), forKey: appiraterAlreadyCompletedKey) userDefaultsObject?.setObject(NSNumber(bool: true), forKey: appiraterAlreadyCompletedKey as String)
userDefaultsObject?.synchronize() userDefaultsObject?.synchronize()
} }
// This only supports the default UAAppReviewManager keys. If you customized them, you will have to manually migrate your values over. // This only supports the default UAAppReviewManager keys. If you customized them, you will have to manually migrate your values over.
private func migrateUAAppReviewManagerKeysIfNecessary() { private func migrateUAAppReviewManagerKeysIfNecessary() {
let appReviewManagerAlreadyCompletedKey: NSString = keyForArmchairKeyType(.UAAppReviewManagerMigrationCompleted) let appReviewManagerAlreadyCompletedKey: NSString = keyForArmchairKeyType(.UAAppReviewManagerMigrationCompleted)
var appReviewManagerMigrationAlreadyCompleted = userDefaultsObject?.boolForKey(appReviewManagerAlreadyCompletedKey) var appReviewManagerMigrationAlreadyCompleted = userDefaultsObject?.boolForKey(appReviewManagerAlreadyCompletedKey as String)
if let completed = appReviewManagerMigrationAlreadyCompleted { if let completed = appReviewManagerMigrationAlreadyCompleted {
if completed { if completed {
@@ -1525,7 +1526,7 @@ public class Manager : ArmchairManager {
} }
} }
userDefaultsObject?.setObject(NSNumber(bool: true), forKey: appReviewManagerAlreadyCompletedKey) userDefaultsObject?.setObject(NSNumber(bool: true), forKey: appReviewManagerAlreadyCompletedKey as String)
userDefaultsObject?.synchronize() userDefaultsObject?.synchronize()
} }