From e56fd1aff14426aabafc073aacf498377592a96a Mon Sep 17 00:00:00 2001 From: Dan Trenz Date: Fri, 26 Feb 2016 16:53:48 -0500 Subject: [PATCH 01/20] Added setting observing --- CHANGELOG.md | 6 +- Example/Source/AppDelegate.swift | 16 +- README.md | 42 ++++- SettingsKit.podspec | 4 + Sources/SettingsKit.swift | 44 +++-- Tests/SettingsKitSpec.swift | 281 ++++++++++++++++++++++++++++++- 6 files changed, 359 insertions(+), 34 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6cfc855..5dee3f6 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,9 +7,9 @@ Released on 2016-02-26. #### Added - Core feature set for initial release: - - Creates version string using Major.Minor.Build - - Displays version string in Settings screen -- Documentation & Screenshots + - Store & Retrieve settings + - Observe settings to be able to respond to changes +- Documentation - Example iOS project --- diff --git a/Example/Source/AppDelegate.swift b/Example/Source/AppDelegate.swift index ddb422b..a7d756e 100644 --- a/Example/Source/AppDelegate.swift +++ b/Example/Source/AppDelegate.swift @@ -20,20 +20,20 @@ class AppDelegate: UIResponder, UIApplicationDelegate { Settings.set(.AppVersion, "1.0.1") // set values/state for custom preference items - - // Method A Settings.set(.ApiEnvironment, "Staging") Settings.set(.Contrast, 80) Settings.set(.EnableAnalytics, true) Settings.set(.FavoriteColor, "#00FF00") Settings.set(.FirstName, "Han") - // Method B - Settings.ApiEnvironment.set("Staging") - Settings.Contrast.set(80) - Settings.EnableAnalytics.set(true) - Settings.FavoriteColor.set("#00FF00") - Settings.FirstName.set("Han") + // retrieve the current setting values + let name = Settings.get(.FirstName) + print("Hello, \(name).") + + // observe and respond to changes to any settings + Settings.subscribe(.FavoriteColor) { (newValue) -> Void in + print("Favorite color was changed to \(newValue)") + } return true } diff --git a/README.md b/README.md index 10a29ac..d47c7db 100644 --- a/README.md +++ b/README.md @@ -11,15 +11,52 @@ your app. +## Installation + +`SettingsKit` is available through [CocoaPods](http://cocoapods.org). To install +it, simply add the following line to your Podfile: + +```ruby +pod "SettingsKit" +``` + ## Setup + In order to add custom items to Settings your app must have a Settings bundle -with a `Root.plist`. +with a `Root.plist`. To fetch, update, and/or observe settings you will need to +add the settings you would like to use to the "Preference Items" array in your +`Settings.bundle/Root.plist`. + +Once you have added one or more preference items, build your project to have +`SettingsKit` generate a `Settings.swift` file from your `Root.plist`. + +> **Important** — Anytime you change the preference items in your `Root.plist` +you will need build your project to generate an updated `Settings.swift` file. ## Usage +Any preference items in your `Settings.bundle` will be available in a `Settings` +enum: + +```swift +// set values/state for custom preference items +Settings.set(.AppVersion, "1.0.1") +Settings.set(.ApiEnvironment, "Staging") +Settings.set(.Contrast, 80) +Settings.set(.EnableAnalytics, true) +Settings.set(.FavoriteColor, "#00FF00") +Settings.set(.FirstName, "Han") -### Custom Settings Items +// retrieve the current setting values +let name = Settings.get(.FirstName) +print("Hello, \(name).") + +// observe and respond to any changes made to a given setting +Settings.subscribe(.FavoriteColor) { (newValue) -> Void in + print("Favorite color was changed to \(newValue)") +} +``` ## Author @@ -30,4 +67,3 @@ Dan Trenz ([@dtrenz](http://www.twitter.com/dtrenz)) c/o [Detroit Labs](http://w ## License SettingsKit is available under the Apache License, Version 2.0. See the LICENSE file for more info. - diff --git a/SettingsKit.podspec b/SettingsKit.podspec index 33ff33d..5f12392 100644 --- a/SettingsKit.podspec +++ b/SettingsKit.podspec @@ -2,8 +2,12 @@ Pod::Spec.new do |s| s.name = "SettingsKit" s.version = "0.1.0" s.summary = <<-SUMMARY + SettingsKit provides an elegant wrapper for iOS app settings. SUMMARY s.description = <<-DESC + SettingsKit makes working with app settings easier & safer + by providing a tidy API for retrieving, updating, and + observing preference items in your app's Settings bundle. DESC s.homepage = "https://github.com/dtrenz/SettingsKit" s.license = 'Apache 2.0' diff --git a/Sources/SettingsKit.swift b/Sources/SettingsKit.swift index 9cb9fef..94878a2 100644 --- a/Sources/SettingsKit.swift +++ b/Sources/SettingsKit.swift @@ -12,33 +12,53 @@ public protocol SettingsKit: CustomStringConvertible { public extension SettingsKit { + typealias SettingChangeHandler = (newValue: AnyObject?) -> Void + var description: String { guard let value = Self.get(self) else { return "nil" } return "\(value)" } - func get() -> AnyObject? { - return Self.get(self) - } + private var defaults: NSUserDefaults { return NSUserDefaults.standardUserDefaults() } - func set(value: T) { - Self.set(self, value) - } + // MARK: - Static Convenience Methods static func get(setting: Self) -> AnyObject? { - return NSUserDefaults.standardUserDefaults().objectForKey(setting.identifier) + return setting.get() } static func set(setting: Self, _ value: T) { - let defaults = NSUserDefaults.standardUserDefaults() - + setting.set(value) + } + + static func subscribe(setting: Self, onChange: SettingChangeHandler) { + setting.subscribe(onChange) + } + + // MARK: - Instance Methods + + private func get() -> AnyObject? { + return defaults.objectForKey(identifier) + } + + private func set(value: T) { if let boolVal = value as? Bool { - defaults.setBool(boolVal, forKey: setting.identifier) + defaults.setBool(boolVal, forKey: identifier) } else if let intVal = value as? Int { - defaults.setInteger(intVal, forKey: setting.identifier) + defaults.setInteger(intVal, forKey: identifier) } else if let objectVal = value as? AnyObject { - defaults.setObject(objectVal, forKey: setting.identifier) + defaults.setObject(objectVal, forKey: identifier) + } + } + + private func subscribe(onChange: SettingChangeHandler) { + let center = NSNotificationCenter.defaultCenter() + + center.addObserverForName(NSUserDefaultsDidChangeNotification, object: defaults, queue: nil) { (notif) -> Void in + if let defaults = notif.object as? NSUserDefaults { + onChange(newValue: defaults.objectForKey(self.identifier)) + } } } diff --git a/Tests/SettingsKitSpec.swift b/Tests/SettingsKitSpec.swift index 7864500..72528b8 100644 --- a/Tests/SettingsKitSpec.swift +++ b/Tests/SettingsKitSpec.swift @@ -1,7 +1,7 @@ import Quick import Nimble -import SettingsKit +@testable import SettingsKit enum Settings: SettingsKit { @@ -29,11 +29,130 @@ enum Settings: SettingsKit { class SettingsKitSpec: QuickSpec { override func spec() { + + describe("description") { + + it("returns a string representation of the setting value") { + Settings.set(.LuckyNumber, 23) + + expect(Settings.LuckyNumber.description) == "23" + } + + it("returns a string representation of a nil setting value") { + NSUserDefaults.standardUserDefaults().removeObjectForKey(Settings.LuckyNumber.identifier) + + expect(Settings.LuckyNumber.description) == "nil" + } + + } + describe("set()") { context("when storing any supported Settings.bundle preference item value type") { + it("can store an array") { + let identifier = Settings.SocialNetworks.identifier + let value = [ "facebook", "twitter", "instagram" ] + + NSUserDefaults.standardUserDefaults().removeObjectForKey(identifier) + + Settings.SocialNetworks.set(value) + + let result = NSUserDefaults.standardUserDefaults().arrayForKey(identifier) as! [String] + + expect(result) == value + } + + it("can store a bool") { + let identifier = Settings.EnableAnalytics.identifier + let value = true + + NSUserDefaults.standardUserDefaults().removeObjectForKey(identifier) + + Settings.EnableAnalytics.set(value) + + let result = NSUserDefaults.standardUserDefaults().boolForKey(identifier) + + expect(result) == value + } + + it("can store data") { + let identifier = Settings.EncodedString.identifier + let value = NSData(base64EncodedString: "SGVsbG8gV29ybGQ=", options: []) as NSData! + + NSUserDefaults.standardUserDefaults().removeObjectForKey(identifier) + + Settings.EncodedString.set(value) + + let result = NSUserDefaults.standardUserDefaults().objectForKey(identifier) as! NSData + + expect(result) == value + } + + it("can store a date") { + let identifier = Settings.DateOfBirth.identifier + let formatter = NSDateFormatter() + formatter.dateFormat = "yyyy-MM-dd"; + let value = formatter.dateFromString("1969-02-26") as NSDate! + + NSUserDefaults.standardUserDefaults().removeObjectForKey(identifier) + + Settings.DateOfBirth.set(value) + + let result = NSUserDefaults.standardUserDefaults().objectForKey(identifier) as! NSDate + + expect(result) == value + } + + it("can store a dictionary") { + let identifier = Settings.CityState.identifier + let value = [ "Detroit": "Michigan", "Austin": "Texas", "Chicago": "Illinois" ] + + NSUserDefaults.standardUserDefaults().removeObjectForKey(identifier) + + Settings.CityState.set(value) + + let result = NSUserDefaults.standardUserDefaults().dictionaryForKey(identifier) as! [String: String] + + expect(result) == value + } + + it("can store an integer") { + let identifier = Settings.LuckyNumber.identifier + let value = 23 + + NSUserDefaults.standardUserDefaults().removeObjectForKey(identifier) + + Settings.LuckyNumber.set(value) + + let result = NSUserDefaults.standardUserDefaults().integerForKey(identifier) + + expect(result) == value + } + + it("can store a string") { + let identifier = Settings.ApiEnvironment.identifier + let value = "Staging" + + NSUserDefaults.standardUserDefaults().removeObjectForKey(identifier) + + Settings.ApiEnvironment.set(value) + + let result = NSUserDefaults.standardUserDefaults().stringForKey(identifier) + + expect(result) == value + } + + } + + } + + + describe("set() — convenience method") { + + context("when storing any supported Settings.bundle preference item value type") { + it("can store an array") { let identifier = Settings.SocialNetworks.identifier let value = [ "facebook", "twitter", "instagram" ] @@ -134,6 +253,94 @@ class SettingsKitSpec: QuickSpec { describe("get()") { + context("when fetching any supported Settings.bundle preference item value type") { + + it("can fetch an array") { + let identifier = Settings.SocialNetworks.identifier + let value = [ "facebook", "twitter", "instagram" ] + + NSUserDefaults.standardUserDefaults().setObject(value, forKey: identifier) + + let result = Settings.SocialNetworks.get() as! [String] + + expect(result) == value + } + + it("can fetch a bool") { + let identifier = Settings.EnableAnalytics.identifier + let value = true + + NSUserDefaults.standardUserDefaults().setBool(value, forKey: identifier) + + let result = Settings.EnableAnalytics.get() as! Bool + + expect(result) == value + } + + it("can fetch data") { + let identifier = Settings.EncodedString.identifier + let value = NSData(base64EncodedString: "SGVsbG8gV29ybGQ=", options: []) as NSData! + + NSUserDefaults.standardUserDefaults().setObject(value, forKey: identifier) + + let result = Settings.EncodedString.get() as! NSData + + expect(result) == value + } + + it("can fetch a date") { + let identifier = Settings.DateOfBirth.identifier + let formatter = NSDateFormatter() + formatter.dateFormat = "yyyy-MM-dd"; + let value = formatter.dateFromString("1969-02-26") as NSDate! + + NSUserDefaults.standardUserDefaults().setObject(value, forKey: identifier) + + let result = Settings.DateOfBirth.get() as! NSDate + + expect(result) == value + } + + it("can fetch a dictionary") { + let identifier = Settings.CityState.identifier + let value = [ "Detroit": "Michigan", "Austin": "Texas", "Chicago": "Illinois" ] + + NSUserDefaults.standardUserDefaults().setObject(value, forKey: identifier) + + let result = Settings.CityState.get() as! [ String: String ] + + expect(result) == value + } + + it("can fetch an integer") { + let identifier = Settings.LuckyNumber.identifier + let value = 23 + + NSUserDefaults.standardUserDefaults().setInteger(value, forKey: identifier) + + let result = Settings.LuckyNumber.get() as! Int + + expect(result) == value + } + + it("can fetch a string") { + let identifier = Settings.ApiEnvironment.identifier + let value = "Staging" + + NSUserDefaults.standardUserDefaults().setObject(value, forKey: identifier) + + let result = Settings.ApiEnvironment.get() as! String + + expect(result) == value + } + + } + + } + + + describe("get() — convenience method") { + context("when fetching any supported Settings.bundle preference item value type") { it("can fetch an array") { @@ -219,18 +426,76 @@ class SettingsKitSpec: QuickSpec { } - describe("description") { + describe("subscribe()") { - it("returns a string representation of the setting value") { - Settings.set(.LuckyNumber, 23) + context("when the observed setting changes") { - expect(Settings.LuckyNumber.description) == "23" + it("the onChange closure is called") { + var handlerWasCalled = false + + NSUserDefaults.standardUserDefaults().setBool(false, forKey: Settings.EnableAnalytics.identifier) + + Settings.EnableAnalytics.subscribe { (newValue) -> Void in + handlerWasCalled = true + } + + NSUserDefaults.standardUserDefaults().setBool(true, forKey: Settings.EnableAnalytics.identifier) + + expect(handlerWasCalled).toEventually(beTrue()) + } + + it("the new value of the observed setting is passed to the onChange closure") { + var result = false + + NSUserDefaults.standardUserDefaults().setBool(false, forKey: Settings.EnableAnalytics.identifier) + + Settings.EnableAnalytics.subscribe { (newValue) -> Void in + if let newValue = newValue as? Bool { + result = newValue + } + } + + NSUserDefaults.standardUserDefaults().setBool(true, forKey: Settings.EnableAnalytics.identifier) + + expect(result).toEventually(beTrue()) + } } - it("returns a string representation of a nil setting value") { - NSUserDefaults.standardUserDefaults().removeObjectForKey(Settings.LuckyNumber.identifier) + } + + describe("subscribe() — convenience method") { + + context("when the observed setting changes") { - expect(Settings.LuckyNumber.description) == "nil" + it("the onChange closure is called") { + var handlerWasCalled = false + + NSUserDefaults.standardUserDefaults().setBool(false, forKey: Settings.EnableAnalytics.identifier) + + Settings.subscribe(.EnableAnalytics) { (newValue) -> Void in + handlerWasCalled = true + } + + NSUserDefaults.standardUserDefaults().setBool(true, forKey: Settings.EnableAnalytics.identifier) + + expect(handlerWasCalled).toEventually(beTrue()) + } + + it("the new value of the observed setting is passed to the onChange closure") { + var result = false + + NSUserDefaults.standardUserDefaults().setBool(false, forKey: Settings.EnableAnalytics.identifier) + + Settings.subscribe(.EnableAnalytics) { (newValue) -> Void in + if let newValue = newValue as? Bool { + result = newValue + } + } + + NSUserDefaults.standardUserDefaults().setBool(true, forKey: Settings.EnableAnalytics.identifier) + + expect(result).toEventually(beTrue()) + } } } From c010823ec8fd3cb2e50c8b56d704160e6e204df1 Mon Sep 17 00:00:00 2001 From: Dan Trenz Date: Mon, 29 Feb 2016 13:59:10 -0500 Subject: [PATCH 02/20] Created build script for generating Settings.swift file. --- Example/Example.xcodeproj/project.pbxproj | 12 +-- .../xcshareddata/xcschemes/Example.xcscheme | 91 +++++++++++++++++++ Example/Source/Settings.swift | 28 ------ Podfile | 2 +- Project/Project_base.xcconfig | 31 +++++++ Project/Project_debug.xcconfig | 9 ++ Project/Project_release.xcconfig | 5 + SettingsKit.xcodeproj/project.pbxproj | 49 ++-------- .../xcschemes/SettingsKit.xcscheme | 0 .../xcschemes/SettingsKitTests.xcscheme | 56 ++++++++++++ .../xcschemes/xcschememanagement.plist | 9 +- SettingsKit/SettingsKit_base.xcconfig | 11 +++ SettingsKit/SettingsKit_debug.xcconfig | 2 + SettingsKit/SettingsKit_release.xcconfig | 1 + .../SettingsKitTests_base.xcconfig | 4 + .../SettingsKitTests_debug.xcconfig | 1 + .../SettingsKitTests_release.xcconfig | 1 + cli/bin/build | 48 ++++++++++ cli/lib/integrator.rb | 24 +++++ cli/lib/parser.rb | 14 +++ cli/lib/renderer.rb | 53 +++++++++++ cli/lib/settingskit.rb | 7 ++ cli/lib/xcodeproj+settingskit.rb | 25 +++++ 23 files changed, 404 insertions(+), 79 deletions(-) create mode 100644 Example/Example.xcodeproj/xcshareddata/xcschemes/Example.xcscheme delete mode 100644 Example/Source/Settings.swift create mode 100644 Project/Project_base.xcconfig create mode 100644 Project/Project_debug.xcconfig create mode 100644 Project/Project_release.xcconfig rename SettingsKit.xcodeproj/{xcuserdata/dtrenz.xcuserdatad => xcshareddata}/xcschemes/SettingsKit.xcscheme (100%) create mode 100644 SettingsKit.xcodeproj/xcshareddata/xcschemes/SettingsKitTests.xcscheme create mode 100644 SettingsKit/SettingsKit_base.xcconfig create mode 100644 SettingsKit/SettingsKit_debug.xcconfig create mode 100644 SettingsKit/SettingsKit_release.xcconfig create mode 100644 SettingsKitTests/SettingsKitTests_base.xcconfig create mode 100644 SettingsKitTests/SettingsKitTests_debug.xcconfig create mode 100644 SettingsKitTests/SettingsKitTests_release.xcconfig create mode 100755 cli/bin/build create mode 100644 cli/lib/integrator.rb create mode 100644 cli/lib/parser.rb create mode 100644 cli/lib/renderer.rb create mode 100644 cli/lib/settingskit.rb create mode 100644 cli/lib/xcodeproj+settingskit.rb diff --git a/Example/Example.xcodeproj/project.pbxproj b/Example/Example.xcodeproj/project.pbxproj index b3420fb..de0f3c1 100644 --- a/Example/Example.xcodeproj/project.pbxproj +++ b/Example/Example.xcodeproj/project.pbxproj @@ -11,7 +11,6 @@ C5C8ED441C80C3BE001BC3F7 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C5C8ED431C80C3BE001BC3F7 /* Main.storyboard */; }; C5D7BDB01C80B9640061D9DD /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5D7BDA61C80B9640061D9DD /* AppDelegate.swift */; }; C5D7BDB51C80B9640061D9DD /* Settings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = C5D7BDAE1C80B9640061D9DD /* Settings.bundle */; }; - C5D7BDB61C80B9640061D9DD /* Settings.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5D7BDAF1C80B9640061D9DD /* Settings.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -38,7 +37,6 @@ C5D7BDA61C80B9640061D9DD /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = Source/AppDelegate.swift; sourceTree = SOURCE_ROOT; }; C5D7BDAD1C80B9640061D9DD /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Source/Info.plist; sourceTree = SOURCE_ROOT; }; C5D7BDAE1C80B9640061D9DD /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = Settings.bundle; path = Source/Settings.bundle; sourceTree = SOURCE_ROOT; }; - C5D7BDAF1C80B9640061D9DD /* Settings.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = Settings.swift; path = Source/Settings.swift; sourceTree = SOURCE_ROOT; }; C5D7BDCC1C80BE9F0061D9DD /* SettingsKit.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SettingsKit.xcodeproj; path = ../SettingsKit.xcodeproj; sourceTree = ""; }; /* End PBXFileReference section */ @@ -75,7 +73,6 @@ children = ( C5D7BDAE1C80B9640061D9DD /* Settings.bundle */, C5D7BDA61C80B9640061D9DD /* AppDelegate.swift */, - C5D7BDAF1C80B9640061D9DD /* Settings.swift */, C5C8ED451C80C3C3001BC3F7 /* Interface */, C5D7BDB71C80B9990061D9DD /* Supporting Files */, ); @@ -115,10 +112,10 @@ isa = PBXNativeTarget; buildConfigurationList = C56921D81C765DB200CC8F56 /* Build configuration list for PBXNativeTarget "Example" */; buildPhases = ( + C5D7BD821C7F92700061D9DD /* SettingsKit */, C56921C21C765DB200CC8F56 /* Sources */, C56921C31C765DB200CC8F56 /* Frameworks */, C56921C41C765DB200CC8F56 /* Resources */, - C5D7BD821C7F92700061D9DD /* SettingsKit */, ); buildRules = ( ); @@ -205,15 +202,15 @@ files = ( ); inputPaths = ( - "$(SRCROOT)/Example/Example/Settings.swift", + "$(SRCROOT)/Source/Settings.bundle/Root.plist", ); name = SettingsKit; outputPaths = ( - "$(DERIVED_FILE_DIR)/SettingsKit/configure", + "$(SRCROOT)/Source/Settings.swift", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "echo \"SettingsKit: Configuring Settings.bundle\"\n#cat ~/Dev/src/About/Sources/About.swift $(SCRIPT_INPUT_FILE_0) ~/Dev/src/About/Sources/generate.swift | swiftc - -o $(DERIVED_FILE_DIR)/SettingsKit/configure && ./!!$"; + shellScript = "echo \"SettingsKit\"\n${SRCROOT}/../cli/bin/build -s ${SCRIPT_INPUT_FILE_0} -p ${PROJECT_FILE_PATH} -o ${SCRIPT_OUTPUT_FILE_0}\n"; }; /* End PBXShellScriptBuildPhase section */ @@ -222,7 +219,6 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - C5D7BDB61C80B9640061D9DD /* Settings.swift in Sources */, C5D7BDB01C80B9640061D9DD /* AppDelegate.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/Example/Example.xcodeproj/xcshareddata/xcschemes/Example.xcscheme b/Example/Example.xcodeproj/xcshareddata/xcschemes/Example.xcscheme new file mode 100644 index 0000000..9cb856a --- /dev/null +++ b/Example/Example.xcodeproj/xcshareddata/xcschemes/Example.xcscheme @@ -0,0 +1,91 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Example/Source/Settings.swift b/Example/Source/Settings.swift deleted file mode 100644 index 25d23ca..0000000 --- a/Example/Source/Settings.swift +++ /dev/null @@ -1,28 +0,0 @@ -import SettingsKit - - -enum Settings: SettingsKit { - case ApiEnvironment - case AppVersion - case Contrast - case EnableAnalytics - case FavoriteColor - case FirstName - - var identifier: String { - switch self { - case .ApiEnvironment: - return "api_environment" - case .AppVersion: - return "app_version" - case .Contrast: - return "contrast" - case .EnableAnalytics: - return "enable_analytics" - case .FavoriteColor: - return "favorite_color" - case .FirstName: - return "first_name" - } - } -} diff --git a/Podfile b/Podfile index be83231..2d1cab6 100644 --- a/Podfile +++ b/Podfile @@ -4,4 +4,4 @@ use_frameworks! target 'SettingsKitTests', :exclusive => true do pod 'Quick', '~> 0.8.0' pod 'Nimble', '3.0.0' -end \ No newline at end of file +end diff --git a/Project/Project_base.xcconfig b/Project/Project_base.xcconfig new file mode 100644 index 0000000..c53551e --- /dev/null +++ b/Project/Project_base.xcconfig @@ -0,0 +1,31 @@ +ALWAYS_SEARCH_USER_PATHS = NO +CLANG_CXX_LANGUAGE_STANDARD = gnu++0x +CLANG_CXX_LIBRARY = libc++ +CLANG_ENABLE_MODULES = YES +CLANG_ENABLE_OBJC_ARC = YES +CLANG_WARN_BOOL_CONVERSION = YES +CLANG_WARN_CONSTANT_CONVERSION = YES +CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR +CLANG_WARN_EMPTY_BODY = YES +CLANG_WARN_ENUM_CONVERSION = YES +CLANG_WARN_INT_CONVERSION = YES +CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR +CLANG_WARN_UNREACHABLE_CODE = YES +CLANG_WARN__DUPLICATE_METHOD_MATCH = YES +CODE_SIGN_IDENTITY[sdk=iphoneos*] = iPhone Developer +COPY_PHASE_STRIP = NO +CURRENT_PROJECT_VERSION = 1 +ENABLE_STRICT_OBJC_MSGSEND = YES +GCC_C_LANGUAGE_STANDARD = gnu99 +GCC_NO_COMMON_BLOCKS = YES +GCC_WARN_64_TO_32_BIT_CONVERSION = YES +GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR +GCC_WARN_UNDECLARED_SELECTOR = YES +GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE +GCC_WARN_UNUSED_FUNCTION = YES +GCC_WARN_UNUSED_VARIABLE = YES +IPHONEOS_DEPLOYMENT_TARGET = 9.2 +SDKROOT = iphoneos +TARGETED_DEVICE_FAMILY = 1,2 +VERSIONING_SYSTEM = apple-generic +VERSION_INFO_PREFIX = \ No newline at end of file diff --git a/Project/Project_debug.xcconfig b/Project/Project_debug.xcconfig new file mode 100644 index 0000000..668b7da --- /dev/null +++ b/Project/Project_debug.xcconfig @@ -0,0 +1,9 @@ +#include "Project/Project_base.xcconfig" +DEBUG_INFORMATION_FORMAT = dwarf +ENABLE_TESTABILITY = YES +GCC_DYNAMIC_NO_PIC = NO +GCC_OPTIMIZATION_LEVEL = 0 +GCC_PREPROCESSOR_DEFINITIONS = ["DEBUG=1", "$(inherited)"] +MTL_ENABLE_DEBUG_INFO = YES +ONLY_ACTIVE_ARCH = YES +SWIFT_OPTIMIZATION_LEVEL = -Onone \ No newline at end of file diff --git a/Project/Project_release.xcconfig b/Project/Project_release.xcconfig new file mode 100644 index 0000000..9a94329 --- /dev/null +++ b/Project/Project_release.xcconfig @@ -0,0 +1,5 @@ +#include "Project/Project_base.xcconfig" +DEBUG_INFORMATION_FORMAT = dwarf-with-dsym +ENABLE_NS_ASSERTIONS = NO +MTL_ENABLE_DEBUG_INFO = NO +VALIDATE_PRODUCT = YES \ No newline at end of file diff --git a/SettingsKit.xcodeproj/project.pbxproj b/SettingsKit.xcodeproj/project.pbxproj index f26ea98..75410e8 100644 --- a/SettingsKit.xcodeproj/project.pbxproj +++ b/SettingsKit.xcodeproj/project.pbxproj @@ -7,11 +7,11 @@ objects = { /* Begin PBXBuildFile section */ + 11632309D98671B6F6CB12C4 /* Pods_SettingsKitTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A2BAC4EBCA0CC0DB3C4DB824 /* Pods_SettingsKitTests.framework */; }; C5D7BDA21C80B75B0061D9DD /* SettingsKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5D7BD9F1C80B75B0061D9DD /* SettingsKit.swift */; }; C5D7BDA41C80B75B0061D9DD /* SettingsKit.h in Headers */ = {isa = PBXBuildFile; fileRef = C5D7BDA11C80B75B0061D9DD /* SettingsKit.h */; settings = {ATTRIBUTES = (Public, ); }; }; C5D7BDC11C80BA040061D9DD /* SettingsKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C5D7BD931C80B5FD0061D9DD /* SettingsKit.framework */; }; C5D7BDCB1C80BC220061D9DD /* SettingsKitSpec.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5D7BDC71C80BA510061D9DD /* SettingsKitSpec.swift */; }; - EAA4ECE80C4B859338E363F5 /* Pods_SettingsKitTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 87381E81F8199BE1A377CA61 /* Pods_SettingsKitTests.framework */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -27,7 +27,7 @@ /* Begin PBXFileReference section */ 29E698A8BD2666F3874BE529 /* Pods-SettingsKitTests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SettingsKitTests.release.xcconfig"; path = "Pods/Target Support Files/Pods-SettingsKitTests/Pods-SettingsKitTests.release.xcconfig"; sourceTree = ""; }; 4412B3D0A0055F6A6A496486 /* Pods-SettingsKitTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-SettingsKitTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-SettingsKitTests/Pods-SettingsKitTests.debug.xcconfig"; sourceTree = ""; }; - 87381E81F8199BE1A377CA61 /* Pods_SettingsKitTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SettingsKitTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + A2BAC4EBCA0CC0DB3C4DB824 /* Pods_SettingsKitTests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_SettingsKitTests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C5D7BD931C80B5FD0061D9DD /* SettingsKit.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SettingsKit.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C5D7BD9F1C80B75B0061D9DD /* SettingsKit.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = SettingsKit.swift; path = Sources/SettingsKit.swift; sourceTree = SOURCE_ROOT; }; C5D7BDA01C80B75B0061D9DD /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Sources/Info.plist; sourceTree = SOURCE_ROOT; }; @@ -50,7 +50,7 @@ buildActionMask = 2147483647; files = ( C5D7BDC11C80BA040061D9DD /* SettingsKit.framework in Frameworks */, - EAA4ECE80C4B859338E363F5 /* Pods_SettingsKitTests.framework in Frameworks */, + 11632309D98671B6F6CB12C4 /* Pods_SettingsKitTests.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -60,7 +60,7 @@ 5BCBCA55AFC06C317DF97761 /* Frameworks */ = { isa = PBXGroup; children = ( - 87381E81F8199BE1A377CA61 /* Pods_SettingsKitTests.framework */, + A2BAC4EBCA0CC0DB3C4DB824 /* Pods_SettingsKitTests.framework */, ); name = Frameworks; sourceTree = ""; @@ -68,7 +68,7 @@ C5D7BD891C80B5FD0061D9DD = { isa = PBXGroup; children = ( - C5D7BD951C80B5FD0061D9DD /* SettingsKit */, + C5D7BD951C80B5FD0061D9DD /* Sources */, C5D7BDBD1C80BA040061D9DD /* Tests */, C5D7BD941C80B5FD0061D9DD /* Products */, CF3538BCE9D95A7D40B0B97E /* Pods */, @@ -85,12 +85,13 @@ name = Products; sourceTree = ""; }; - C5D7BD951C80B5FD0061D9DD /* SettingsKit */ = { + C5D7BD951C80B5FD0061D9DD /* Sources */ = { isa = PBXGroup; children = ( C5D7BD9F1C80B75B0061D9DD /* SettingsKit.swift */, C5D7BDA51C80B7620061D9DD /* Supporting Files */, ); + name = Sources; path = SettingsKit; sourceTree = ""; }; @@ -158,12 +159,10 @@ isa = PBXNativeTarget; buildConfigurationList = C5D7BDC61C80BA040061D9DD /* Build configuration list for PBXNativeTarget "SettingsKitTests" */; buildPhases = ( - C03216C3FDDE57B4FF66CB57 /* Check Pods Manifest.lock */, C5D7BDB81C80BA040061D9DD /* Sources */, C5D7BDB91C80BA040061D9DD /* Frameworks */, C5D7BDBA1C80BA040061D9DD /* Resources */, - CA76C5286B7C6ADDFE5A3638 /* Embed Pods Frameworks */, - 7AA9D4C150D516C8DC4E73E6 /* Copy Pods Resources */, + 73474DF3A596BE1328F9F3D3 /* Embed Pods Frameworks */, ); buildRules = ( ); @@ -229,37 +228,7 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ - 7AA9D4C150D516C8DC4E73E6 /* Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SettingsKitTests/Pods-SettingsKitTests-resources.sh\"\n"; - showEnvVarsInLog = 0; - }; - C03216C3FDDE57B4FF66CB57 /* Check Pods Manifest.lock */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Check Pods Manifest.lock"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; - showEnvVarsInLog = 0; - }; - CA76C5286B7C6ADDFE5A3638 /* Embed Pods Frameworks */ = { + 73474DF3A596BE1328F9F3D3 /* Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( diff --git a/SettingsKit.xcodeproj/xcuserdata/dtrenz.xcuserdatad/xcschemes/SettingsKit.xcscheme b/SettingsKit.xcodeproj/xcshareddata/xcschemes/SettingsKit.xcscheme similarity index 100% rename from SettingsKit.xcodeproj/xcuserdata/dtrenz.xcuserdatad/xcschemes/SettingsKit.xcscheme rename to SettingsKit.xcodeproj/xcshareddata/xcschemes/SettingsKit.xcscheme diff --git a/SettingsKit.xcodeproj/xcshareddata/xcschemes/SettingsKitTests.xcscheme b/SettingsKit.xcodeproj/xcshareddata/xcschemes/SettingsKitTests.xcscheme new file mode 100644 index 0000000..e89ecda --- /dev/null +++ b/SettingsKit.xcodeproj/xcshareddata/xcschemes/SettingsKitTests.xcscheme @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/SettingsKit.xcodeproj/xcuserdata/dtrenz.xcuserdatad/xcschemes/xcschememanagement.plist b/SettingsKit.xcodeproj/xcuserdata/dtrenz.xcuserdatad/xcschemes/xcschememanagement.plist index 613f3db..8c62454 100644 --- a/SettingsKit.xcodeproj/xcuserdata/dtrenz.xcuserdatad/xcschemes/xcschememanagement.plist +++ b/SettingsKit.xcodeproj/xcuserdata/dtrenz.xcuserdatad/xcschemes/xcschememanagement.plist @@ -4,12 +4,12 @@ SchemeUserState - SettingsKit.xcscheme + SettingsKit.xcscheme_^#shared#^_ orderHint 0 - SettingsKitTests.xcscheme + SettingsKitTests.xcscheme_^#shared#^_ orderHint 2 @@ -17,6 +17,11 @@ SuppressBuildableAutocreation + C51AEF471C8241270060E1B9 + + primary + + C5D7BD921C80B5FD0061D9DD primary diff --git a/SettingsKit/SettingsKit_base.xcconfig b/SettingsKit/SettingsKit_base.xcconfig new file mode 100644 index 0000000..a64f020 --- /dev/null +++ b/SettingsKit/SettingsKit_base.xcconfig @@ -0,0 +1,11 @@ +CLANG_ENABLE_MODULES = YES +DEFINES_MODULE = YES +DYLIB_COMPATIBILITY_VERSION = 1 +DYLIB_CURRENT_VERSION = 1 +DYLIB_INSTALL_NAME_BASE = @rpath +INFOPLIST_FILE = Sources/Info.plist +INSTALL_PATH = $(LOCAL_LIBRARY_DIR)/Frameworks +LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks +PRODUCT_BUNDLE_IDENTIFIER = com.dtrenz.SettingsKit +PRODUCT_NAME = $(TARGET_NAME) +SKIP_INSTALL = YES \ No newline at end of file diff --git a/SettingsKit/SettingsKit_debug.xcconfig b/SettingsKit/SettingsKit_debug.xcconfig new file mode 100644 index 0000000..b61b4d3 --- /dev/null +++ b/SettingsKit/SettingsKit_debug.xcconfig @@ -0,0 +1,2 @@ +#include "SettingsKit/SettingsKit_base.xcconfig" +SWIFT_OPTIMIZATION_LEVEL = -Onone \ No newline at end of file diff --git a/SettingsKit/SettingsKit_release.xcconfig b/SettingsKit/SettingsKit_release.xcconfig new file mode 100644 index 0000000..232f689 --- /dev/null +++ b/SettingsKit/SettingsKit_release.xcconfig @@ -0,0 +1 @@ +#include "SettingsKit/SettingsKit_base.xcconfig" \ No newline at end of file diff --git a/SettingsKitTests/SettingsKitTests_base.xcconfig b/SettingsKitTests/SettingsKitTests_base.xcconfig new file mode 100644 index 0000000..b275653 --- /dev/null +++ b/SettingsKitTests/SettingsKitTests_base.xcconfig @@ -0,0 +1,4 @@ +INFOPLIST_FILE = Tests/Info.plist +LD_RUNPATH_SEARCH_PATHS = $(inherited) @executable_path/Frameworks @loader_path/Frameworks +PRODUCT_BUNDLE_IDENTIFIER = com.dtrenz.SettingsKitTests +PRODUCT_NAME = $(TARGET_NAME) \ No newline at end of file diff --git a/SettingsKitTests/SettingsKitTests_debug.xcconfig b/SettingsKitTests/SettingsKitTests_debug.xcconfig new file mode 100644 index 0000000..e5ef641 --- /dev/null +++ b/SettingsKitTests/SettingsKitTests_debug.xcconfig @@ -0,0 +1 @@ +#include "SettingsKitTests/SettingsKitTests_base.xcconfig" \ No newline at end of file diff --git a/SettingsKitTests/SettingsKitTests_release.xcconfig b/SettingsKitTests/SettingsKitTests_release.xcconfig new file mode 100644 index 0000000..e5ef641 --- /dev/null +++ b/SettingsKitTests/SettingsKitTests_release.xcconfig @@ -0,0 +1 @@ +#include "SettingsKitTests/SettingsKitTests_base.xcconfig" \ No newline at end of file diff --git a/cli/bin/build b/cli/bin/build new file mode 100755 index 0000000..fa692c9 --- /dev/null +++ b/cli/bin/build @@ -0,0 +1,48 @@ +#!/usr/bin/env ruby + +require "optparse" +require_relative '../lib/settingskit.rb' + + +options = {} + +OptionParser.new do |opts| + opts.banner = "Run script build phase tool for rendering a Settings swift file for use with SettingsKit.\n" + opts.banner += "\n" + opts.banner += "Usage: build [options]" + opts.separator "" + opts.separator "Options:" + + opts.on("-o", "--outfile PATH", "Output location for the generated Settings swift file, relative to the .xcodeproj") do |path| + options[:outfile] = path + end + + opts.on("-p", "--project PATH", "Path to .xcodeproj") do |path| + options[:project] = path + end + + opts.on("-s", "--settings PATH", "Settings.bundle directory") do |path| + options[:settings] = File.join(path, "Settings.bundle/Root.plist") + end + + opts.on("-h", "--help", "Prints this help") do + puts opts + exit + end +end.parse! + +def verify(options, option) + unless options[option] + puts "Missing required option: --#{option}" + exit + end +end + +# check for required options +verify(options, :outfile) +verify(options, :project) +verify(options, :settings) + +SettingsKit::Parser.parse(options[:settings]) + .render(options[:outfile]) + .integrate(options[:project]) diff --git a/cli/lib/integrator.rb b/cli/lib/integrator.rb new file mode 100644 index 0000000..f5aed87 --- /dev/null +++ b/cli/lib/integrator.rb @@ -0,0 +1,24 @@ +require "pathname" +require "xcodeproj" + +module SettingsKit + class Integrator + + def initialize(output_filepath) + @output_filepath = Pathname(output_filepath) + end + + def integrate(project_path) + project = Xcodeproj::Project.open(project_path) + + filename = @output_filepath.basename.to_s + + unless project.contains_file(filename) + project_name = Pathname(project_path).basename + puts "SettingsKit: Adding #{filename} to #{project_name}..." + project.add_file_to_main_target(@output_filepath) + end + end + + end +end diff --git a/cli/lib/parser.rb b/cli/lib/parser.rb new file mode 100644 index 0000000..0d15b54 --- /dev/null +++ b/cli/lib/parser.rb @@ -0,0 +1,14 @@ +require "xcodeproj" + +module SettingsKit + class Parser + + def self.parse(plist_path) + puts "SettingsKit: Parsing Settings.bundle/Root.plist..." + plist = Xcodeproj::PlistHelper.read(plist_path) + keys = plist["PreferenceSpecifiers"].map { |i| i["Key"] }.compact.sort + Renderer.new(keys) + end + + end +end diff --git a/cli/lib/renderer.rb b/cli/lib/renderer.rb new file mode 100644 index 0000000..dbb91b8 --- /dev/null +++ b/cli/lib/renderer.rb @@ -0,0 +1,53 @@ +module SettingsKit + class Renderer + + def initialize(settings) + @settings = settings + end + + def render(output_path) + puts "SettingsKit: Rendering Settings.swift..." + swift = generate() + + outfile = File.open(output_path, "w") + outfile.write(swift) + outfile.close + + Integrator.new(output_path) + end + + def generate + enums = @settings.map { |key| " case " + snake_to_studly(key) }.join("\n") + + identifiers = @settings.map { |key| + " case .#{snake_to_studly(key)}:\n return \"#{key}\"" + }.join("\n") + +<<-swift +// +// Settings.swift +// Auto-generated Settings.bundle prefence manifest file, +// for use with SettingsKit. +// +// Generated by the SettingsKit build tool on 2/29/16. +// +import SettingsKit + +enum Settings: SettingsKit { +#{enums} + + var identifier: String { + switch self { +#{identifiers} + } + } +} +swift + end + + def snake_to_studly(string) + string.split("_").map { |i| i.capitalize }.join + end + + end +end diff --git a/cli/lib/settingskit.rb b/cli/lib/settingskit.rb new file mode 100644 index 0000000..a7c0f1f --- /dev/null +++ b/cli/lib/settingskit.rb @@ -0,0 +1,7 @@ +# SettingsKit build tool component manifest +module SettingsKit + require_relative "xcodeproj+settingskit.rb" + require_relative "integrator.rb" + require_relative "parser.rb" + require_relative "renderer.rb" +end diff --git a/cli/lib/xcodeproj+settingskit.rb b/cli/lib/xcodeproj+settingskit.rb new file mode 100644 index 0000000..94424a0 --- /dev/null +++ b/cli/lib/xcodeproj+settingskit.rb @@ -0,0 +1,25 @@ +require "pathname" +require "xcodeproj" + +class Xcodeproj::Project + + def contains_file(filename) + files.each do |file| + if file.name == filename + return true + end + end + + return false + end + + def add_file_to_main_target(filepath) + file_ref = new_file(filepath, "SOURCE_ROOT") + + main_target = targets.first + main_target.add_file_references([file_ref]) + + save + end + +end From 2a257ac2d54b43de35fcfc2907d8f711577a34fb Mon Sep 17 00:00:00 2001 From: Dan Trenz Date: Mon, 29 Feb 2016 14:52:35 -0500 Subject: [PATCH 03/20] Example project build phase is working. --- Example/Example.xcodeproj/project.pbxproj | 131 +++++++++++------- .../contents.xcworkspacedata | 10 ++ Example/Podfile | 6 + Example/Podfile.lock | 14 ++ Example/Source/Settings.swift | 37 +++++ SettingsKit.podspec | 9 +- cli/bin/build => build | 6 +- cli/{lib => }/integrator.rb | 0 cli/{lib => }/parser.rb | 2 +- cli/{lib => }/renderer.rb | 7 +- cli/{lib => }/settingskit.rb | 0 cli/{lib => }/xcodeproj+settingskit.rb | 0 12 files changed, 160 insertions(+), 62 deletions(-) create mode 100644 Example/Example.xcworkspace/contents.xcworkspacedata create mode 100644 Example/Podfile create mode 100644 Example/Podfile.lock create mode 100644 Example/Source/Settings.swift rename cli/bin/build => build (84%) rename cli/{lib => }/integrator.rb (100%) rename cli/{lib => }/parser.rb (80%) rename cli/{lib => }/renderer.rb (80%) rename cli/{lib => }/settingskit.rb (100%) rename cli/{lib => }/xcodeproj+settingskit.rb (100%) diff --git a/Example/Example.xcodeproj/project.pbxproj b/Example/Example.xcodeproj/project.pbxproj index de0f3c1..d9b68d8 100644 --- a/Example/Example.xcodeproj/project.pbxproj +++ b/Example/Example.xcodeproj/project.pbxproj @@ -11,33 +11,21 @@ C5C8ED441C80C3BE001BC3F7 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C5C8ED431C80C3BE001BC3F7 /* Main.storyboard */; }; C5D7BDB01C80B9640061D9DD /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5D7BDA61C80B9640061D9DD /* AppDelegate.swift */; }; C5D7BDB51C80B9640061D9DD /* Settings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = C5D7BDAE1C80B9640061D9DD /* Settings.bundle */; }; + CFF50DBA320588B266212D8D /* Settings.swift in Sources */ = {isa = PBXBuildFile; fileRef = E00536EF973AAB95C1844A63 /* Settings.swift */; }; + E57DB01B8F53140FF03745B7 /* Pods_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 48F05F7A68D93C05C48EF7C9 /* Pods_Example.framework */; }; /* End PBXBuildFile section */ -/* Begin PBXContainerItemProxy section */ - C5D7BDD11C80BE9F0061D9DD /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C5D7BDCC1C80BE9F0061D9DD /* SettingsKit.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = C5D7BD931C80B5FD0061D9DD; - remoteInfo = SettingsKit; - }; - C5D7BDD31C80BE9F0061D9DD /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = C5D7BDCC1C80BE9F0061D9DD /* SettingsKit.xcodeproj */; - proxyType = 2; - remoteGlobalIDString = C5D7BDBC1C80BA040061D9DD; - remoteInfo = SettingsKitTests; - }; -/* End PBXContainerItemProxy section */ - /* Begin PBXFileReference section */ + 22CAE44AC1CAFDBB77352CAF /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.debug.xcconfig"; path = "Pods/Target Support Files/Pods-Example/Pods-Example.debug.xcconfig"; sourceTree = ""; }; + 48F05F7A68D93C05C48EF7C9 /* Pods_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; C56921C61C765DB200CC8F56 /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; C5C8ED411C80C3AD001BC3F7 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = Source/Interface/LaunchScreen.storyboard; sourceTree = SOURCE_ROOT; }; C5C8ED431C80C3BE001BC3F7 /* Main.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = Main.storyboard; path = Source/Interface/Main.storyboard; sourceTree = SOURCE_ROOT; }; C5D7BDA61C80B9640061D9DD /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = Source/AppDelegate.swift; sourceTree = SOURCE_ROOT; }; C5D7BDAD1C80B9640061D9DD /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Source/Info.plist; sourceTree = SOURCE_ROOT; }; C5D7BDAE1C80B9640061D9DD /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = Settings.bundle; path = Source/Settings.bundle; sourceTree = SOURCE_ROOT; }; - C5D7BDCC1C80BE9F0061D9DD /* SettingsKit.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = SettingsKit.xcodeproj; path = ../SettingsKit.xcodeproj; sourceTree = ""; }; + C7A2B454C7FD6A4037AEC0E5 /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-Example/Pods-Example.release.xcconfig"; sourceTree = ""; }; + E00536EF973AAB95C1844A63 /* Settings.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Settings.swift; path = Source/Settings.swift; sourceTree = SOURCE_ROOT; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -45,18 +33,37 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( + E57DB01B8F53140FF03745B7 /* Pods_Example.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 01DBA77A94630A08584D4FB2 /* Pods */ = { + isa = PBXGroup; + children = ( + 22CAE44AC1CAFDBB77352CAF /* Pods-Example.debug.xcconfig */, + C7A2B454C7FD6A4037AEC0E5 /* Pods-Example.release.xcconfig */, + ); + name = Pods; + sourceTree = ""; + }; + 7D67E5DE028596A97467C9AC /* Frameworks */ = { + isa = PBXGroup; + children = ( + 48F05F7A68D93C05C48EF7C9 /* Pods_Example.framework */, + ); + name = Frameworks; + sourceTree = ""; + }; C56921BD1C765DB200CC8F56 = { isa = PBXGroup; children = ( - C5D7BDCC1C80BE9F0061D9DD /* SettingsKit.xcodeproj */, C56921C81C765DB200CC8F56 /* Example */, C56921C71C765DB200CC8F56 /* Products */, + 01DBA77A94630A08584D4FB2 /* Pods */, + 7D67E5DE028596A97467C9AC /* Frameworks */, ); sourceTree = ""; }; @@ -73,6 +80,7 @@ children = ( C5D7BDAE1C80B9640061D9DD /* Settings.bundle */, C5D7BDA61C80B9640061D9DD /* AppDelegate.swift */, + E00536EF973AAB95C1844A63 /* Settings.swift */, C5C8ED451C80C3C3001BC3F7 /* Interface */, C5D7BDB71C80B9990061D9DD /* Supporting Files */, ); @@ -96,15 +104,6 @@ name = "Supporting Files"; sourceTree = ""; }; - C5D7BDCD1C80BE9F0061D9DD /* Products */ = { - isa = PBXGroup; - children = ( - C5D7BDD21C80BE9F0061D9DD /* SettingsKit.framework */, - C5D7BDD41C80BE9F0061D9DD /* SettingsKitTests.xctest */, - ); - name = Products; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ @@ -112,10 +111,13 @@ isa = PBXNativeTarget; buildConfigurationList = C56921D81C765DB200CC8F56 /* Build configuration list for PBXNativeTarget "Example" */; buildPhases = ( + BB70A4E4CEF7F7A47FA12DB5 /* Check Pods Manifest.lock */, C5D7BD821C7F92700061D9DD /* SettingsKit */, C56921C21C765DB200CC8F56 /* Sources */, C56921C31C765DB200CC8F56 /* Frameworks */, C56921C41C765DB200CC8F56 /* Resources */, + D59ED5C7411743085EEFC787 /* Embed Pods Frameworks */, + FA42861A5D881F5CC7907051 /* Copy Pods Resources */, ); buildRules = ( ); @@ -152,12 +154,6 @@ mainGroup = C56921BD1C765DB200CC8F56; productRefGroup = C56921C71C765DB200CC8F56 /* Products */; projectDirPath = ""; - projectReferences = ( - { - ProductGroup = C5D7BDCD1C80BE9F0061D9DD /* Products */; - ProjectRef = C5D7BDCC1C80BE9F0061D9DD /* SettingsKit.xcodeproj */; - }, - ); projectRoot = ""; targets = ( C56921C51C765DB200CC8F56 /* Example */, @@ -165,23 +161,6 @@ }; /* End PBXProject section */ -/* Begin PBXReferenceProxy section */ - C5D7BDD21C80BE9F0061D9DD /* SettingsKit.framework */ = { - isa = PBXReferenceProxy; - fileType = wrapper.framework; - path = SettingsKit.framework; - remoteRef = C5D7BDD11C80BE9F0061D9DD /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; - C5D7BDD41C80BE9F0061D9DD /* SettingsKitTests.xctest */ = { - isa = PBXReferenceProxy; - fileType = wrapper.cfbundle; - path = SettingsKitTests.xctest; - remoteRef = C5D7BDD31C80BE9F0061D9DD /* PBXContainerItemProxy */; - sourceTree = BUILT_PRODUCTS_DIR; - }; -/* End PBXReferenceProxy section */ - /* Begin PBXResourcesBuildPhase section */ C56921C41C765DB200CC8F56 /* Resources */ = { isa = PBXResourcesBuildPhase; @@ -196,6 +175,21 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXShellScriptBuildPhase section */ + BB70A4E4CEF7F7A47FA12DB5 /* Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Check Pods Manifest.lock"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; + showEnvVarsInLog = 0; + }; C5D7BD821C7F92700061D9DD /* SettingsKit */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -210,7 +204,37 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "echo \"SettingsKit\"\n${SRCROOT}/../cli/bin/build -s ${SCRIPT_INPUT_FILE_0} -p ${PROJECT_FILE_PATH} -o ${SCRIPT_OUTPUT_FILE_0}\n"; + shellScript = "PATH=$(bash -l -c 'echo $PATH')\n$PODS_ROOT/SettingsKit/build -p $PROJECT_FILE_PATH -s $SCRIPT_INPUT_FILE_0 -o $SCRIPT_OUTPUT_FILE_0\n"; + }; + D59ED5C7411743085EEFC787 /* Embed Pods Frameworks */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Embed Pods Frameworks"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + FA42861A5D881F5CC7907051 /* Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Example/Pods-Example-resources.sh\"\n"; + showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -220,6 +244,7 @@ buildActionMask = 2147483647; files = ( C5D7BDB01C80B9640061D9DD /* AppDelegate.swift in Sources */, + CFF50DBA320588B266212D8D /* Settings.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -309,6 +334,7 @@ }; C56921D91C765DB200CC8F56 /* Debug */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 22CAE44AC1CAFDBB77352CAF /* Pods-Example.debug.xcconfig */; buildSettings = { CLANG_ENABLE_MODULES = YES; INFOPLIST_FILE = Source/Info.plist; @@ -321,6 +347,7 @@ }; C56921DA1C765DB200CC8F56 /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = C7A2B454C7FD6A4037AEC0E5 /* Pods-Example.release.xcconfig */; buildSettings = { CLANG_ENABLE_MODULES = YES; INFOPLIST_FILE = Source/Info.plist; diff --git a/Example/Example.xcworkspace/contents.xcworkspacedata b/Example/Example.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..a37cf19 --- /dev/null +++ b/Example/Example.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/Example/Podfile b/Example/Podfile new file mode 100644 index 0000000..721d582 --- /dev/null +++ b/Example/Podfile @@ -0,0 +1,6 @@ +source 'https://github.com/CocoaPods/Specs.git' +use_frameworks! + +target 'Example', :exclusive => true do + pod 'SettingsKit', :path => '..' +end diff --git a/Example/Podfile.lock b/Example/Podfile.lock new file mode 100644 index 0000000..20495da --- /dev/null +++ b/Example/Podfile.lock @@ -0,0 +1,14 @@ +PODS: + - SettingsKit (0.1.0) + +DEPENDENCIES: + - SettingsKit (from `..`) + +EXTERNAL SOURCES: + SettingsKit: + :path: ".." + +SPEC CHECKSUMS: + SettingsKit: 7c6b91743fdb64262a8f31889cacef14d9f2c4cc + +COCOAPODS: 0.39.0 diff --git a/Example/Source/Settings.swift b/Example/Source/Settings.swift new file mode 100644 index 0000000..e113168 --- /dev/null +++ b/Example/Source/Settings.swift @@ -0,0 +1,37 @@ +// +// Settings.swift +// Auto-generated settings manifest file, +// for use with SettingsKit. If you need to make changes, +// edit the Settings.bundle and build the project. +// +// Any manual changes to this file will be overwritten at build time. +// +// Generated by the SettingsKit build tool on 2/29/16. +// +import SettingsKit + +enum Settings: SettingsKit { + case ApiEnvironment + case AppVersion + case Contrast + case EnableAnalytics + case FavoriteColor + case FirstName + + var identifier: String { + switch self { + case .ApiEnvironment: + return "api_environment" + case .AppVersion: + return "app_version" + case .Contrast: + return "contrast" + case .EnableAnalytics: + return "enable_analytics" + case .FavoriteColor: + return "favorite_color" + case .FirstName: + return "first_name" + } + } +} diff --git a/SettingsKit.podspec b/SettingsKit.podspec index 5f12392..a82bad0 100644 --- a/SettingsKit.podspec +++ b/SettingsKit.podspec @@ -10,11 +10,12 @@ Pod::Spec.new do |s| observing preference items in your app's Settings bundle. DESC s.homepage = "https://github.com/dtrenz/SettingsKit" - s.license = 'Apache 2.0' + s.license = "Apache 2.0" s.author = { "Dan Trenz" => "dtrenz@gmail.com" } s.source = { :git => "https://github.com/dtrenz/SettingsKit.git", :tag => s.version.to_s } - s.social_media_url = 'https://twitter.com/dtrenz' - s.platform = :ios, '8.3' + s.social_media_url = "https://twitter.com/dtrenz" + s.platform = :ios, "8.3" s.requires_arc = true - s.source_files = 'Sources/**/*' + s.source_files = "Sources/**/*" + s.preserve_paths = [ "cli/**/*", "build" ] end diff --git a/cli/bin/build b/build similarity index 84% rename from cli/bin/build rename to build index fa692c9..c5af8e0 100755 --- a/cli/bin/build +++ b/build @@ -1,7 +1,7 @@ #!/usr/bin/env ruby require "optparse" -require_relative '../lib/settingskit.rb' +require_relative 'cli/settingskit.rb' options = {} @@ -21,8 +21,8 @@ OptionParser.new do |opts| options[:project] = path end - opts.on("-s", "--settings PATH", "Settings.bundle directory") do |path| - options[:settings] = File.join(path, "Settings.bundle/Root.plist") + opts.on("-s", "--settings PATH", "Path to Settings.bundle/Root.plist") do |path| + options[:settings] = path end opts.on("-h", "--help", "Prints this help") do diff --git a/cli/lib/integrator.rb b/cli/integrator.rb similarity index 100% rename from cli/lib/integrator.rb rename to cli/integrator.rb diff --git a/cli/lib/parser.rb b/cli/parser.rb similarity index 80% rename from cli/lib/parser.rb rename to cli/parser.rb index 0d15b54..9f16244 100644 --- a/cli/lib/parser.rb +++ b/cli/parser.rb @@ -4,7 +4,7 @@ module SettingsKit class Parser def self.parse(plist_path) - puts "SettingsKit: Parsing Settings.bundle/Root.plist..." + puts "SettingsKit: Parsing #{plist_path}..." plist = Xcodeproj::PlistHelper.read(plist_path) keys = plist["PreferenceSpecifiers"].map { |i| i["Key"] }.compact.sort Renderer.new(keys) diff --git a/cli/lib/renderer.rb b/cli/renderer.rb similarity index 80% rename from cli/lib/renderer.rb rename to cli/renderer.rb index dbb91b8..353ed91 100644 --- a/cli/lib/renderer.rb +++ b/cli/renderer.rb @@ -26,8 +26,11 @@ def generate <<-swift // // Settings.swift -// Auto-generated Settings.bundle prefence manifest file, -// for use with SettingsKit. +// Auto-generated settings manifest file, +// for use with SettingsKit. If you need to make changes, +// edit the Settings.bundle and build the project. +// +// Any manual changes to this file will be overwritten at build time. // // Generated by the SettingsKit build tool on 2/29/16. // diff --git a/cli/lib/settingskit.rb b/cli/settingskit.rb similarity index 100% rename from cli/lib/settingskit.rb rename to cli/settingskit.rb diff --git a/cli/lib/xcodeproj+settingskit.rb b/cli/xcodeproj+settingskit.rb similarity index 100% rename from cli/lib/xcodeproj+settingskit.rb rename to cli/xcodeproj+settingskit.rb From 22c432d496c8a7ed39e577e71973b1c840b3cc20 Mon Sep 17 00:00:00 2001 From: Dan Trenz Date: Mon, 29 Feb 2016 14:55:09 -0500 Subject: [PATCH 04/20] Removed Example workspace --- Example/Example.xcworkspace/contents.xcworkspacedata | 10 ---------- 1 file changed, 10 deletions(-) delete mode 100644 Example/Example.xcworkspace/contents.xcworkspacedata diff --git a/Example/Example.xcworkspace/contents.xcworkspacedata b/Example/Example.xcworkspace/contents.xcworkspacedata deleted file mode 100644 index a37cf19..0000000 --- a/Example/Example.xcworkspace/contents.xcworkspacedata +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - From 734ded4fd0f5a03b16af1d56111dd2879dad187a Mon Sep 17 00:00:00 2001 From: Dan Trenz Date: Mon, 29 Feb 2016 16:31:02 -0500 Subject: [PATCH 05/20] Updated docs + cocoapods clean up. --- Docs/Screenshots/settings.png | Bin 0 -> 39175 bytes Docs/Screenshots/setup-input-file.png | Bin 0 -> 10969 bytes Docs/Screenshots/setup-output-file.png | Bin 0 -> 10262 bytes Docs/Screenshots/setup-root-plist.png | Bin 0 -> 57914 bytes Docs/Screenshots/setup-run-script.png | Bin 0 -> 60794 bytes Example/Example.xcodeproj/project.pbxproj | 70 ++++---------- Example/Podfile | 6 -- Example/Podfile.lock | 14 --- Podfile | 9 ++ Podfile.lock | 7 ++ README.md | 111 ++++++++++++++++++---- SettingsKit.podspec | 2 +- 12 files changed, 126 insertions(+), 93 deletions(-) create mode 100644 Docs/Screenshots/settings.png create mode 100644 Docs/Screenshots/setup-input-file.png create mode 100644 Docs/Screenshots/setup-output-file.png create mode 100644 Docs/Screenshots/setup-root-plist.png create mode 100644 Docs/Screenshots/setup-run-script.png delete mode 100644 Example/Podfile delete mode 100644 Example/Podfile.lock diff --git a/Docs/Screenshots/settings.png b/Docs/Screenshots/settings.png new file mode 100644 index 0000000000000000000000000000000000000000..2fcacf6b4c9733011a722bb8b8b92bdf36643c34 GIT binary patch literal 39175 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 literal 0 HcmV?d00001 diff --git a/Docs/Screenshots/setup-input-file.png b/Docs/Screenshots/setup-input-file.png new file mode 100644 index 0000000000000000000000000000000000000000..21abcee22d1248fdc701c406fe99b18c0e2e4e55 GIT binary patch literal 10969 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 literal 0 HcmV?d00001 diff --git a/Docs/Screenshots/setup-root-plist.png b/Docs/Screenshots/setup-root-plist.png new file mode 100644 index 0000000000000000000000000000000000000000..66bce85fb7f851bbb74764be1b84ce78494a8b05 GIT binary patch literal 57914 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%0D-_M7J%;b!NlaP|W_6%Es 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 /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; - showEnvVarsInLog = 0; - }; C5D7BD821C7F92700061D9DD /* SettingsKit */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; @@ -206,7 +189,7 @@ shellPath = /bin/sh; shellScript = "PATH=$(bash -l -c 'echo $PATH')\n$PODS_ROOT/SettingsKit/build -p $PROJECT_FILE_PATH -s $SCRIPT_INPUT_FILE_0 -o $SCRIPT_OUTPUT_FILE_0\n"; }; - D59ED5C7411743085EEFC787 /* Embed Pods Frameworks */ = { + CA95665E272F21B8600C2F2D /* Embed Pods Frameworks */ = { isa = PBXShellScriptBuildPhase; buildActionMask = 2147483647; files = ( @@ -218,22 +201,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Example/Pods-Example-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - FA42861A5D881F5CC7907051 /* Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-Example/Pods-Example-resources.sh\"\n"; + shellScript = "\"${SRCROOT}/../Pods/Target Support Files/Pods-Example/Pods-Example-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -244,7 +212,7 @@ buildActionMask = 2147483647; files = ( C5D7BDB01C80B9640061D9DD /* AppDelegate.swift in Sources */, - CFF50DBA320588B266212D8D /* Settings.swift in Sources */, + 92DF00B9CDC2B6E743B19AFF /* Settings.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -334,7 +302,7 @@ }; C56921D91C765DB200CC8F56 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 22CAE44AC1CAFDBB77352CAF /* Pods-Example.debug.xcconfig */; + baseConfigurationReference = 7862F4332F44F1B704BB396B /* Pods-Example.debug.xcconfig */; buildSettings = { CLANG_ENABLE_MODULES = YES; INFOPLIST_FILE = Source/Info.plist; @@ -347,7 +315,7 @@ }; C56921DA1C765DB200CC8F56 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = C7A2B454C7FD6A4037AEC0E5 /* Pods-Example.release.xcconfig */; + baseConfigurationReference = A791B33752B6DAAB534A2B2D /* Pods-Example.release.xcconfig */; buildSettings = { CLANG_ENABLE_MODULES = YES; INFOPLIST_FILE = Source/Info.plist; diff --git a/Example/Podfile b/Example/Podfile deleted file mode 100644 index 721d582..0000000 --- a/Example/Podfile +++ /dev/null @@ -1,6 +0,0 @@ -source 'https://github.com/CocoaPods/Specs.git' -use_frameworks! - -target 'Example', :exclusive => true do - pod 'SettingsKit', :path => '..' -end diff --git a/Example/Podfile.lock b/Example/Podfile.lock deleted file mode 100644 index 20495da..0000000 --- a/Example/Podfile.lock +++ /dev/null @@ -1,14 +0,0 @@ -PODS: - - SettingsKit (0.1.0) - -DEPENDENCIES: - - SettingsKit (from `..`) - -EXTERNAL SOURCES: - SettingsKit: - :path: ".." - -SPEC CHECKSUMS: - SettingsKit: 7c6b91743fdb64262a8f31889cacef14d9f2c4cc - -COCOAPODS: 0.39.0 diff --git a/Podfile b/Podfile index 2d1cab6..6846ad3 100644 --- a/Podfile +++ b/Podfile @@ -1,7 +1,16 @@ source 'https://github.com/CocoaPods/Specs.git' use_frameworks! +workspace 'SettingsKit.xcworkspace' + target 'SettingsKitTests', :exclusive => true do + xcodeproj 'SettingsKit.xcodeproj' pod 'Quick', '~> 0.8.0' pod 'Nimble', '3.0.0' end + +target 'Example', :exclusive => true do + xcodeproj 'Example/Example.xcodeproj' + pod 'SettingsKit', :path => '.' +end + diff --git a/Podfile.lock b/Podfile.lock index 78d2929..e6a0494 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,13 +1,20 @@ PODS: - Nimble (3.0.0) - Quick (0.8.0) + - SettingsKit (0.1.0) DEPENDENCIES: - Nimble (= 3.0.0) - Quick (~> 0.8.0) + - SettingsKit (from `.`) + +EXTERNAL SOURCES: + SettingsKit: + :path: "." SPEC CHECKSUMS: Nimble: 4c353d43735b38b545cbb4cb91504588eb5de926 Quick: 563d0f6ec5f72e394645adb377708639b7dd38ab + SettingsKit: a682389b9bf71bfa897bd93bd667c4b2a731e321 COCOAPODS: 0.39.0 diff --git a/README.md b/README.md index d47c7db..e9c2abd 100644 --- a/README.md +++ b/README.md @@ -6,32 +6,25 @@ [![Platform](https://img.shields.io/cocoapods/p/SettingsKit.svg?style=flat)](http://cocoapods.org/pods/SettingsKit) [![Sponsored by Detroit Labs](https://img.shields.io/badge/sponsor-Detroit%20Labs-000000.svg?style=flat)](http://www.detroitlabs.com) -`SettingsKit` is a small library that makes it very simple to add useful app metadata -(i.e. app version & build number) information to the iOS Settings screen for -your app. +`SettingsKit` is a small library & build tool simplifies reading & writing items +in the iOS Settings app. It also makes working with app settings a bit safer by +using enums instead of magic strings that could accidentally be typo-ed. +![Settings Example](Docs/Screenshots/settings.png) -## Installation -`SettingsKit` is available through [CocoaPods](http://cocoapods.org). To install -it, simply add the following line to your Podfile: +## When would I want to use SettingKit? -```ruby -pod "SettingsKit" -``` +Here are just a few ways you could use SettingsKit; + - display the current app version & build number to users or testers, which can + be very helpful for handling bug reports. + - give users simple controls for app preferences (e.g. enable a color blindness theme) + - enable testers to see which back-end environment (i.e. "Staging") the current + build is using, and also allow them to change the back-end environment at runtime, + without having to provide seperate builds for each environment. -## Setup - -In order to add custom items to Settings your app must have a Settings bundle -with a `Root.plist`. To fetch, update, and/or observe settings you will need to -add the settings you would like to use to the "Preference Items" array in your -`Settings.bundle/Root.plist`. - -Once you have added one or more preference items, build your project to have -`SettingsKit` generate a `Settings.swift` file from your `Root.plist`. - -> **Important** — Anytime you change the preference items in your `Root.plist` -you will need build your project to generate an updated `Settings.swift` file. +The types of settings you use are completely up to you. `SettingsKit` simply +makes it easier to add settings to your app. ## Usage @@ -59,6 +52,82 @@ Settings.subscribe(.FavoriteColor) { (newValue) -> Void in ``` +## Installation + +`SettingsKit` is available through [CocoaPods](http://cocoapods.org). To install +it, simply add the following line to your Podfile: + +```ruby +pod "SettingsKit" +``` + +You will also need the `xcodeproj` ruby gem in order to use the `SettingsKit` +build tool to auto-generate the Settings.swift file. + +```bash +$ gem install xcodeproj +``` + + +## Setup + +### Create a Settings bundle +In order to add custom items to Settings your app must have a Settings bundle +with a `Root.plist`. To fetch, update, and/or observe settings you will need to +add the settings you would like to use to the "Preference Items" array in your +`Settings.bundle/Root.plist`. + +> Example: +> +> ![Settings.bundle/Root.plist](Docs/Screenshots/setup-root-plist.png) + +Once you have added one or more preference items, build your project to have +`SettingsKit` generate a `Settings.swift` file from your `Settings.bundle/Root.plist`. + +> **Important** — Anytime you change the preference items in your `Root.plist` +you will need build your project to generate an updated `Settings.swift` file. + +### Add a run script build phase +To allow `SettingsKit` to auto-generate a Settings enum file you will need to +add a run script build phase to your app's target: Target > Build Phases > "+" > "New Run Script Phase" + +**IMPORTANT** Make sure you put the new run script phase above the "Compile Sources" +phase. + +**Step 1:** Copy/paste the following into the script box: + +```bash +PATH=$(bash -l -c 'echo $PATH') +$PODS_ROOT/SettingsKit/build -p $PROJECT_FILE_PATH -s $SCRIPT_INPUT_FILE_0 -o $SCRIPT_OUTPUT_FILE_0 +``` + +**Step 2:** Add the path to your `Settings.bundle/Root.plist` to "Input Files". + +> Example: +> +> ![Run script: Input files example](Docs/Screenshots/setup-input-file.png) + +**Step 3:** Add the path to where you would like the generated `Settings.swift` +file to be live (i.e. where you put your app's source files). + +> Example: +> +> ![Run script: Output files example](Docs/Screenshots/setup-output-file.png) + +When you are done with all of the above steps, your `SettingsKit` run script +phase should look something like this: + +![Run script phase example](Docs/Screenshots/setup-run-script.png) + +Finally, build (⌘B) your project. If the project builds successfully, you should +now see a new `Settings.swift` file in your project. Feel free to move it to any +group in your project. + +From now on, everytime you build, `SettingsKit` will update the `Settings.swift` +file to match the Preference Items you have configured in your +`Settings.bundle/Root.plist`. You should never need to manually edit `Settings.swift`. + + ## Author Dan Trenz ([@dtrenz](http://www.twitter.com/dtrenz)) c/o [Detroit Labs](http://www.detroitlabs.com) diff --git a/SettingsKit.podspec b/SettingsKit.podspec index a82bad0..79fa2a8 100644 --- a/SettingsKit.podspec +++ b/SettingsKit.podspec @@ -16,6 +16,6 @@ Pod::Spec.new do |s| s.social_media_url = "https://twitter.com/dtrenz" s.platform = :ios, "8.3" s.requires_arc = true - s.source_files = "Sources/**/*" + s.source_files = [ "Sources/**/*", "cli/**/*", "build" ] s.preserve_paths = [ "cli/**/*", "build" ] end From 69c3180d43f3b60637202348f695e27372638d0b Mon Sep 17 00:00:00 2001 From: Dan Trenz Date: Mon, 29 Feb 2016 16:36:49 -0500 Subject: [PATCH 06/20] Added better usage documentation. --- README.md | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index e9c2abd..33a08ea 100644 --- a/README.md +++ b/README.md @@ -29,22 +29,23 @@ makes it easier to add settings to your app. ## Usage -Any preference items in your `Settings.bundle` will be available in a `Settings` -enum: +### Fetch a setting + +```swift +let name = Settings.get(.FirstName) +``` + +### Modify a setting ```swift -// set values/state for custom preference items -Settings.set(.AppVersion, "1.0.1") Settings.set(.ApiEnvironment, "Staging") Settings.set(.Contrast, 80) Settings.set(.EnableAnalytics, true) -Settings.set(.FavoriteColor, "#00FF00") -Settings.set(.FirstName, "Han") +``` -// retrieve the current setting values -let name = Settings.get(.FirstName) -print("Hello, \(name).") +### Observe a setting +```swift // observe and respond to any changes made to a given setting Settings.subscribe(.FavoriteColor) { (newValue) -> Void in print("Favorite color was changed to \(newValue)") From 20e214e302bc8a7a84eb8fafa61edd0bbef0f14a Mon Sep 17 00:00:00 2001 From: Dan Trenz Date: Mon, 29 Feb 2016 16:39:28 -0500 Subject: [PATCH 07/20] Disabling ruby linting in Hound CI --- .hound.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.hound.yml b/.hound.yml index 65fa0c8..3651673 100644 --- a/.hound.yml +++ b/.hound.yml @@ -1,3 +1,5 @@ swift: enabled: true config_file: .swiftlint.yml +ruby: + enabled: false From 609cf7e23f0ab5f5048e22a2f8ea6013030a11da Mon Sep 17 00:00:00 2001 From: Dan Trenz Date: Mon, 29 Feb 2016 16:52:31 -0500 Subject: [PATCH 08/20] Removed tests for old instance methods. --- Tests/SettingsKitSpec.swift | 227 ------------------------------------ 1 file changed, 227 deletions(-) diff --git a/Tests/SettingsKitSpec.swift b/Tests/SettingsKitSpec.swift index 72528b8..5474f41 100644 --- a/Tests/SettingsKitSpec.swift +++ b/Tests/SettingsKitSpec.swift @@ -46,109 +46,6 @@ class SettingsKitSpec: QuickSpec { } - - describe("set()") { - - context("when storing any supported Settings.bundle preference item value type") { - - it("can store an array") { - let identifier = Settings.SocialNetworks.identifier - let value = [ "facebook", "twitter", "instagram" ] - - NSUserDefaults.standardUserDefaults().removeObjectForKey(identifier) - - Settings.SocialNetworks.set(value) - - let result = NSUserDefaults.standardUserDefaults().arrayForKey(identifier) as! [String] - - expect(result) == value - } - - it("can store a bool") { - let identifier = Settings.EnableAnalytics.identifier - let value = true - - NSUserDefaults.standardUserDefaults().removeObjectForKey(identifier) - - Settings.EnableAnalytics.set(value) - - let result = NSUserDefaults.standardUserDefaults().boolForKey(identifier) - - expect(result) == value - } - - it("can store data") { - let identifier = Settings.EncodedString.identifier - let value = NSData(base64EncodedString: "SGVsbG8gV29ybGQ=", options: []) as NSData! - - NSUserDefaults.standardUserDefaults().removeObjectForKey(identifier) - - Settings.EncodedString.set(value) - - let result = NSUserDefaults.standardUserDefaults().objectForKey(identifier) as! NSData - - expect(result) == value - } - - it("can store a date") { - let identifier = Settings.DateOfBirth.identifier - let formatter = NSDateFormatter() - formatter.dateFormat = "yyyy-MM-dd"; - let value = formatter.dateFromString("1969-02-26") as NSDate! - - NSUserDefaults.standardUserDefaults().removeObjectForKey(identifier) - - Settings.DateOfBirth.set(value) - - let result = NSUserDefaults.standardUserDefaults().objectForKey(identifier) as! NSDate - - expect(result) == value - } - - it("can store a dictionary") { - let identifier = Settings.CityState.identifier - let value = [ "Detroit": "Michigan", "Austin": "Texas", "Chicago": "Illinois" ] - - NSUserDefaults.standardUserDefaults().removeObjectForKey(identifier) - - Settings.CityState.set(value) - - let result = NSUserDefaults.standardUserDefaults().dictionaryForKey(identifier) as! [String: String] - - expect(result) == value - } - - it("can store an integer") { - let identifier = Settings.LuckyNumber.identifier - let value = 23 - - NSUserDefaults.standardUserDefaults().removeObjectForKey(identifier) - - Settings.LuckyNumber.set(value) - - let result = NSUserDefaults.standardUserDefaults().integerForKey(identifier) - - expect(result) == value - } - - it("can store a string") { - let identifier = Settings.ApiEnvironment.identifier - let value = "Staging" - - NSUserDefaults.standardUserDefaults().removeObjectForKey(identifier) - - Settings.ApiEnvironment.set(value) - - let result = NSUserDefaults.standardUserDefaults().stringForKey(identifier) - - expect(result) == value - } - - } - - } - - describe("set() — convenience method") { context("when storing any supported Settings.bundle preference item value type") { @@ -251,94 +148,6 @@ class SettingsKitSpec: QuickSpec { } - describe("get()") { - - context("when fetching any supported Settings.bundle preference item value type") { - - it("can fetch an array") { - let identifier = Settings.SocialNetworks.identifier - let value = [ "facebook", "twitter", "instagram" ] - - NSUserDefaults.standardUserDefaults().setObject(value, forKey: identifier) - - let result = Settings.SocialNetworks.get() as! [String] - - expect(result) == value - } - - it("can fetch a bool") { - let identifier = Settings.EnableAnalytics.identifier - let value = true - - NSUserDefaults.standardUserDefaults().setBool(value, forKey: identifier) - - let result = Settings.EnableAnalytics.get() as! Bool - - expect(result) == value - } - - it("can fetch data") { - let identifier = Settings.EncodedString.identifier - let value = NSData(base64EncodedString: "SGVsbG8gV29ybGQ=", options: []) as NSData! - - NSUserDefaults.standardUserDefaults().setObject(value, forKey: identifier) - - let result = Settings.EncodedString.get() as! NSData - - expect(result) == value - } - - it("can fetch a date") { - let identifier = Settings.DateOfBirth.identifier - let formatter = NSDateFormatter() - formatter.dateFormat = "yyyy-MM-dd"; - let value = formatter.dateFromString("1969-02-26") as NSDate! - - NSUserDefaults.standardUserDefaults().setObject(value, forKey: identifier) - - let result = Settings.DateOfBirth.get() as! NSDate - - expect(result) == value - } - - it("can fetch a dictionary") { - let identifier = Settings.CityState.identifier - let value = [ "Detroit": "Michigan", "Austin": "Texas", "Chicago": "Illinois" ] - - NSUserDefaults.standardUserDefaults().setObject(value, forKey: identifier) - - let result = Settings.CityState.get() as! [ String: String ] - - expect(result) == value - } - - it("can fetch an integer") { - let identifier = Settings.LuckyNumber.identifier - let value = 23 - - NSUserDefaults.standardUserDefaults().setInteger(value, forKey: identifier) - - let result = Settings.LuckyNumber.get() as! Int - - expect(result) == value - } - - it("can fetch a string") { - let identifier = Settings.ApiEnvironment.identifier - let value = "Staging" - - NSUserDefaults.standardUserDefaults().setObject(value, forKey: identifier) - - let result = Settings.ApiEnvironment.get() as! String - - expect(result) == value - } - - } - - } - - describe("get() — convenience method") { context("when fetching any supported Settings.bundle preference item value type") { @@ -426,42 +235,6 @@ class SettingsKitSpec: QuickSpec { } - describe("subscribe()") { - - context("when the observed setting changes") { - - it("the onChange closure is called") { - var handlerWasCalled = false - - NSUserDefaults.standardUserDefaults().setBool(false, forKey: Settings.EnableAnalytics.identifier) - - Settings.EnableAnalytics.subscribe { (newValue) -> Void in - handlerWasCalled = true - } - - NSUserDefaults.standardUserDefaults().setBool(true, forKey: Settings.EnableAnalytics.identifier) - - expect(handlerWasCalled).toEventually(beTrue()) - } - - it("the new value of the observed setting is passed to the onChange closure") { - var result = false - - NSUserDefaults.standardUserDefaults().setBool(false, forKey: Settings.EnableAnalytics.identifier) - - Settings.EnableAnalytics.subscribe { (newValue) -> Void in - if let newValue = newValue as? Bool { - result = newValue - } - } - - NSUserDefaults.standardUserDefaults().setBool(true, forKey: Settings.EnableAnalytics.identifier) - - expect(result).toEventually(beTrue()) - } - } - - } describe("subscribe() — convenience method") { From 818ef4798536a511e1616af663c3392b95536d54 Mon Sep 17 00:00:00 2001 From: Dan Trenz Date: Tue, 1 Mar 2016 10:51:02 -0500 Subject: [PATCH 09/20] Disabling ONLY_ACTIVE_ARCH for Travis CI --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 95e83e3..fdee866 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,5 +17,5 @@ before_install: - gem install cocoapods - pod install script: - - set -o pipefail && xcodebuild clean test -workspace SettingsKit.xcworkspace -scheme SettingsKit -destination 'platform=iOS Simulator,name=iPhone 6s' ONLY_ACTIVE_ARCH=YES | xcpretty + - set -o pipefail && xcodebuild clean test -workspace SettingsKit.xcworkspace -scheme SettingsKit -destination 'platform=iOS Simulator,name=iPhone 6s' | xcpretty - pod lib lint From d311922fcc486e4cb666abd3895908523b272bcc Mon Sep 17 00:00:00 2001 From: Dan Trenz Date: Wed, 2 Mar 2016 12:36:32 -0500 Subject: [PATCH 10/20] Added "How it works?" section to README --- Docs/Screenshots/how-it-works.png | Bin 0 -> 180052 bytes README.md | 18 ++++++++++++++---- 2 files changed, 14 insertions(+), 4 deletions(-) create mode 100644 Docs/Screenshots/how-it-works.png diff --git a/Docs/Screenshots/how-it-works.png b/Docs/Screenshots/how-it-works.png new file mode 100644 index 0000000000000000000000000000000000000000..17d92c2038928a890a6e645b776b3ceb3830aaf9 GIT binary patch literal 180052 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
    ?x;d-^{TfCk*`KbGp(Q`C2W`&zLs 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

    fGw)6YM^6$zkKc@^JwcQ9;+1U|q2 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 Date: Thu, 3 Mar 2016 09:49:50 -0500 Subject: [PATCH 11/20] Relocating Example pods to resolve CI duplicate Pod scheme issue. --- .travis.yml | 2 +- Example/Example.xcodeproj/project.pbxproj | 46 +++++++++++++++++-- .../contents.xcworkspacedata | 10 ++++ Example/Podfile | 4 ++ Example/Podfile.lock | 14 ++++++ Example/Source/Settings.swift | 2 +- Podfile | 9 ---- Podfile.lock | 7 --- 8 files changed, 73 insertions(+), 21 deletions(-) create mode 100644 Example/Example.xcworkspace/contents.xcworkspacedata create mode 100644 Example/Podfile create mode 100644 Example/Podfile.lock diff --git a/.travis.yml b/.travis.yml index fdee866..95e83e3 100644 --- a/.travis.yml +++ b/.travis.yml @@ -17,5 +17,5 @@ before_install: - gem install cocoapods - pod install script: - - set -o pipefail && xcodebuild clean test -workspace SettingsKit.xcworkspace -scheme SettingsKit -destination 'platform=iOS Simulator,name=iPhone 6s' | xcpretty + - set -o pipefail && xcodebuild clean test -workspace SettingsKit.xcworkspace -scheme SettingsKit -destination 'platform=iOS Simulator,name=iPhone 6s' ONLY_ACTIVE_ARCH=YES | xcpretty - pod lib lint diff --git a/Example/Example.xcodeproj/project.pbxproj b/Example/Example.xcodeproj/project.pbxproj index b1ccf73..b533953 100644 --- a/Example/Example.xcodeproj/project.pbxproj +++ b/Example/Example.xcodeproj/project.pbxproj @@ -12,13 +12,16 @@ C5C8ED441C80C3BE001BC3F7 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = C5C8ED431C80C3BE001BC3F7 /* Main.storyboard */; }; C5D7BDB01C80B9640061D9DD /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = C5D7BDA61C80B9640061D9DD /* AppDelegate.swift */; }; C5D7BDB51C80B9640061D9DD /* Settings.bundle in Resources */ = {isa = PBXBuildFile; fileRef = C5D7BDAE1C80B9640061D9DD /* Settings.bundle */; }; + E290B9A46F8F7A04F0BB7F4F /* Pods.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DF86464863B18B629F048EE9 /* Pods.framework */; }; E57DB01B8F53140FF03745B7 /* Pods_Example.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 48F05F7A68D93C05C48EF7C9 /* Pods_Example.framework */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ 16C05B7ADB503F56F194536E /* Settings.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Settings.swift; path = Source/Settings.swift; sourceTree = SOURCE_ROOT; }; + 19D681994CF94AF2C19D11C2 /* Pods.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.release.xcconfig; path = "Pods/Target Support Files/Pods/Pods.release.xcconfig"; sourceTree = ""; }; 48F05F7A68D93C05C48EF7C9 /* Pods_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 7862F4332F44F1B704BB396B /* Pods-Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.debug.xcconfig"; path = "../Pods/Target Support Files/Pods-Example/Pods-Example.debug.xcconfig"; sourceTree = ""; }; + 827D4939CFA397AD32F0E777 /* Pods.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = Pods.debug.xcconfig; path = "Pods/Target Support Files/Pods/Pods.debug.xcconfig"; sourceTree = ""; }; A791B33752B6DAAB534A2B2D /* Pods-Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-Example.release.xcconfig"; path = "../Pods/Target Support Files/Pods-Example/Pods-Example.release.xcconfig"; sourceTree = ""; }; C56921C61C765DB200CC8F56 /* Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; C5C8ED411C80C3AD001BC3F7 /* LaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = LaunchScreen.storyboard; path = Source/Interface/LaunchScreen.storyboard; sourceTree = SOURCE_ROOT; }; @@ -26,6 +29,7 @@ C5D7BDA61C80B9640061D9DD /* AppDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AppDelegate.swift; path = Source/AppDelegate.swift; sourceTree = SOURCE_ROOT; }; C5D7BDAD1C80B9640061D9DD /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = Info.plist; path = Source/Info.plist; sourceTree = SOURCE_ROOT; }; C5D7BDAE1C80B9640061D9DD /* Settings.bundle */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.plug-in"; name = Settings.bundle; path = Source/Settings.bundle; sourceTree = SOURCE_ROOT; }; + DF86464863B18B629F048EE9 /* Pods.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods.framework; sourceTree = BUILT_PRODUCTS_DIR; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -34,6 +38,7 @@ buildActionMask = 2147483647; files = ( E57DB01B8F53140FF03745B7 /* Pods_Example.framework in Frameworks */, + E290B9A46F8F7A04F0BB7F4F /* Pods.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -44,6 +49,7 @@ isa = PBXGroup; children = ( 48F05F7A68D93C05C48EF7C9 /* Pods_Example.framework */, + DF86464863B18B629F048EE9 /* Pods.framework */, ); name = Frameworks; sourceTree = ""; @@ -53,6 +59,8 @@ children = ( 7862F4332F44F1B704BB396B /* Pods-Example.debug.xcconfig */, A791B33752B6DAAB534A2B2D /* Pods-Example.release.xcconfig */, + 827D4939CFA397AD32F0E777 /* Pods.debug.xcconfig */, + 19D681994CF94AF2C19D11C2 /* Pods.release.xcconfig */, ); name = Pods; sourceTree = ""; @@ -111,11 +119,13 @@ isa = PBXNativeTarget; buildConfigurationList = C56921D81C765DB200CC8F56 /* Build configuration list for PBXNativeTarget "Example" */; buildPhases = ( + E95A4735D72E990900CB7893 /* Check Pods Manifest.lock */, C5D7BD821C7F92700061D9DD /* SettingsKit */, C56921C21C765DB200CC8F56 /* Sources */, C56921C31C765DB200CC8F56 /* Frameworks */, C56921C41C765DB200CC8F56 /* Resources */, CA95665E272F21B8600C2F2D /* Embed Pods Frameworks */, + E552EBDED7D9FB1E79869BC2 /* Copy Pods Resources */, ); buildRules = ( ); @@ -201,7 +211,37 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/../Pods/Target Support Files/Pods-Example/Pods-Example-frameworks.sh\"\n"; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-frameworks.sh\"\n"; + showEnvVarsInLog = 0; + }; + E552EBDED7D9FB1E79869BC2 /* Copy Pods Resources */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Copy Pods Resources"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods/Pods-resources.sh\"\n"; + showEnvVarsInLog = 0; + }; + E95A4735D72E990900CB7893 /* Check Pods Manifest.lock */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Check Pods Manifest.lock"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [[ $? != 0 ]] ; then\n cat << EOM\nerror: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\nEOM\n exit 1\nfi\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ @@ -302,7 +342,7 @@ }; C56921D91C765DB200CC8F56 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7862F4332F44F1B704BB396B /* Pods-Example.debug.xcconfig */; + baseConfigurationReference = 827D4939CFA397AD32F0E777 /* Pods.debug.xcconfig */; buildSettings = { CLANG_ENABLE_MODULES = YES; INFOPLIST_FILE = Source/Info.plist; @@ -315,7 +355,7 @@ }; C56921DA1C765DB200CC8F56 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A791B33752B6DAAB534A2B2D /* Pods-Example.release.xcconfig */; + baseConfigurationReference = 19D681994CF94AF2C19D11C2 /* Pods.release.xcconfig */; buildSettings = { CLANG_ENABLE_MODULES = YES; INFOPLIST_FILE = Source/Info.plist; diff --git a/Example/Example.xcworkspace/contents.xcworkspacedata b/Example/Example.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..a37cf19 --- /dev/null +++ b/Example/Example.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,10 @@ + + + + + + + diff --git a/Example/Podfile b/Example/Podfile new file mode 100644 index 0000000..c1cee72 --- /dev/null +++ b/Example/Podfile @@ -0,0 +1,4 @@ +source 'https://github.com/CocoaPods/Specs.git' +use_frameworks! + +pod 'SettingsKit', :path => '../' diff --git a/Example/Podfile.lock b/Example/Podfile.lock new file mode 100644 index 0000000..2d7c1ec --- /dev/null +++ b/Example/Podfile.lock @@ -0,0 +1,14 @@ +PODS: + - SettingsKit (0.1.0) + +DEPENDENCIES: + - SettingsKit (from `../`) + +EXTERNAL SOURCES: + SettingsKit: + :path: "../" + +SPEC CHECKSUMS: + SettingsKit: a682389b9bf71bfa897bd93bd667c4b2a731e321 + +COCOAPODS: 0.39.0 diff --git a/Example/Source/Settings.swift b/Example/Source/Settings.swift index e113168..d72e5d2 100644 --- a/Example/Source/Settings.swift +++ b/Example/Source/Settings.swift @@ -8,7 +8,7 @@ // // Generated by the SettingsKit build tool on 2/29/16. // -import SettingsKit +import SettingsKit1 enum Settings: SettingsKit { case ApiEnvironment diff --git a/Podfile b/Podfile index 6846ad3..2d1cab6 100644 --- a/Podfile +++ b/Podfile @@ -1,16 +1,7 @@ source 'https://github.com/CocoaPods/Specs.git' use_frameworks! -workspace 'SettingsKit.xcworkspace' - target 'SettingsKitTests', :exclusive => true do - xcodeproj 'SettingsKit.xcodeproj' pod 'Quick', '~> 0.8.0' pod 'Nimble', '3.0.0' end - -target 'Example', :exclusive => true do - xcodeproj 'Example/Example.xcodeproj' - pod 'SettingsKit', :path => '.' -end - diff --git a/Podfile.lock b/Podfile.lock index e6a0494..78d2929 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,20 +1,13 @@ PODS: - Nimble (3.0.0) - Quick (0.8.0) - - SettingsKit (0.1.0) DEPENDENCIES: - Nimble (= 3.0.0) - Quick (~> 0.8.0) - - SettingsKit (from `.`) - -EXTERNAL SOURCES: - SettingsKit: - :path: "." SPEC CHECKSUMS: Nimble: 4c353d43735b38b545cbb4cb91504588eb5de926 Quick: 563d0f6ec5f72e394645adb377708639b7dd38ab - SettingsKit: a682389b9bf71bfa897bd93bd667c4b2a731e321 COCOAPODS: 0.39.0 From 9bcc85b6ad9f1964bfadb67261e6b6091be8d6e2 Mon Sep 17 00:00:00 2001 From: Dan Trenz Date: Thu, 3 Mar 2016 09:55:22 -0500 Subject: [PATCH 12/20] Added Slather + Codecov.io test coverage reporting --- .slather.yml | 4 ++++ .travis.yml | 4 ++++ README.md | 1 + 3 files changed, 9 insertions(+) create mode 100644 .slather.yml diff --git a/.slather.yml b/.slather.yml new file mode 100644 index 0000000..7855005 --- /dev/null +++ b/.slather.yml @@ -0,0 +1,4 @@ +coverage_service: cobertura_xml +xcodeproj: SettingsKit.xcodeproj +source_directory: Sources +output_directory: . diff --git a/.travis.yml b/.travis.yml index 95e83e3..e1c3483 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,7 +15,11 @@ notifications: before_install: - rvm use $RVM_RUBY_VERSION - gem install cocoapods + - gem install slather - pod install +after_success: + - slather + - bash <(curl -s https://codecov.io/bash) -f cobertura.xml script: - set -o pipefail && xcodebuild clean test -workspace SettingsKit.xcworkspace -scheme SettingsKit -destination 'platform=iOS Simulator,name=iPhone 6s' ONLY_ACTIVE_ARCH=YES | xcpretty - pod lib lint diff --git a/README.md b/README.md index 57ebb6b..8ed1d0a 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,7 @@ [![Version](https://img.shields.io/cocoapods/v/SettingsKit.svg?style=flat)](http://cocoapods.org/pods/SettingsKit) [![License](https://img.shields.io/cocoapods/l/SettingsKit.svg?style=flat)](http://cocoapods.org/pods/SettingsKit) [![Platform](https://img.shields.io/cocoapods/p/SettingsKit.svg?style=flat)](http://cocoapods.org/pods/SettingsKit) +[![codecov.io](https://codecov.io/github/dtrenz/SettingsKit/coverage.svg?branch=develop)](https://codecov.io/github/dtrenz/SettingsKit?branch=develop) [![Sponsored by Detroit Labs](https://img.shields.io/badge/sponsor-Detroit%20Labs-000000.svg?style=flat)](http://www.detroitlabs.com) `SettingsKit` is a small library & build tool that makes it easier to work From c3238f4e5db0f4427bdc12d44b067455b86b2f0c Mon Sep 17 00:00:00 2001 From: Dan Trenz Date: Thu, 3 Mar 2016 10:14:15 -0500 Subject: [PATCH 13/20] Enabled swiftlint for code style linting --- .swiftlint.yml | 5 ----- SettingsKit.xcodeproj/project.pbxproj | 15 ++++++++++++++ Sources/SettingsKit.swift | 28 +++++++++++++-------------- 3 files changed, 29 insertions(+), 19 deletions(-) diff --git a/.swiftlint.yml b/.swiftlint.yml index e9ba55e..e9427b7 100644 --- a/.swiftlint.yml +++ b/.swiftlint.yml @@ -1,7 +1,3 @@ -# disabled_rules: # rule identifiers to exclude from running - # - valid_docs - # Find all the available rules by running: - # swiftlint rules included: # paths to include during linting. `--path` is ignored if present. - Sources # parameterized rules can be customized from this configuration file @@ -10,4 +6,3 @@ line_length: 120 type_body_length: - 300 # warning - 400 # error -# reporter: "csv" # reporter type (xcode, json, csv, checkstyle) diff --git a/SettingsKit.xcodeproj/project.pbxproj b/SettingsKit.xcodeproj/project.pbxproj index 75410e8..c65ecfe 100644 --- a/SettingsKit.xcodeproj/project.pbxproj +++ b/SettingsKit.xcodeproj/project.pbxproj @@ -141,6 +141,7 @@ isa = PBXNativeTarget; buildConfigurationList = C5D7BD9B1C80B5FD0061D9DD /* Build configuration list for PBXNativeTarget "SettingsKit" */; buildPhases = ( + C5AA99081C888BB1009577E7 /* Swiftlint */, C5D7BD8E1C80B5FD0061D9DD /* Sources */, C5D7BD8F1C80B5FD0061D9DD /* Frameworks */, C5D7BD901C80B5FD0061D9DD /* Headers */, @@ -243,6 +244,20 @@ shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-SettingsKitTests/Pods-SettingsKitTests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; + C5AA99081C888BB1009577E7 /* Swiftlint */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = Swiftlint; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "if which swiftlint >/dev/null; then\n swiftlint\nelse\n echo \"warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint\"\nfi"; + }; /* End PBXShellScriptBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ diff --git a/Sources/SettingsKit.swift b/Sources/SettingsKit.swift index 94878a2..702fd78 100644 --- a/Sources/SettingsKit.swift +++ b/Sources/SettingsKit.swift @@ -11,37 +11,37 @@ public protocol SettingsKit: CustomStringConvertible { } public extension SettingsKit { - + typealias SettingChangeHandler = (newValue: AnyObject?) -> Void - + var description: String { guard let value = Self.get(self) else { return "nil" } - + return "\(value)" } - + private var defaults: NSUserDefaults { return NSUserDefaults.standardUserDefaults() } - + // MARK: - Static Convenience Methods - + static func get(setting: Self) -> AnyObject? { return setting.get() } - + static func set(setting: Self, _ value: T) { setting.set(value) } - + static func subscribe(setting: Self, onChange: SettingChangeHandler) { setting.subscribe(onChange) } - + // MARK: - Instance Methods - + private func get() -> AnyObject? { return defaults.objectForKey(identifier) } - + private func set(value: T) { if let boolVal = value as? Bool { defaults.setBool(boolVal, forKey: identifier) @@ -51,15 +51,15 @@ public extension SettingsKit { defaults.setObject(objectVal, forKey: identifier) } } - + private func subscribe(onChange: SettingChangeHandler) { let center = NSNotificationCenter.defaultCenter() - + center.addObserverForName(NSUserDefaultsDidChangeNotification, object: defaults, queue: nil) { (notif) -> Void in if let defaults = notif.object as? NSUserDefaults { onChange(newValue: defaults.objectForKey(self.identifier)) } } } - + } From eb48d0b18eb81bc494e094dd0a20503a5459cea4 Mon Sep 17 00:00:00 2001 From: Dan Trenz Date: Thu, 3 Mar 2016 11:41:53 -0500 Subject: [PATCH 14/20] Added inline documentation + absolute URLs to screenshots --- Docs/Screenshots/settings.png | Bin 39175 -> 0 bytes README.md | 10 ++--- Sources/SettingsKit.swift | 70 +++++++++++++++++++++++++++++++--- 3 files changed, 70 insertions(+), 10 deletions(-) delete mode 100644 Docs/Screenshots/settings.png diff --git a/Docs/Screenshots/settings.png b/Docs/Screenshots/settings.png deleted file mode 100644 index 2fcacf6b4c9733011a722bb8b8b92bdf36643c34..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39175 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 diff --git a/README.md b/README.md index 8ed1d0a..acb9b2a 100644 --- a/README.md +++ b/README.md @@ -21,7 +21,7 @@ settings. Here is a Settings screen w/ generated enum and sample implementation code: -[![Settings Example](Docs/Screenshots/how-it-works.png)](https://raw.githubusercontent.com/dtrenz/SettingsKit/develop/Docs/Screenshots/settings.png) +[![Settings Example](https://raw.githubusercontent.com/dtrenz/SettingsKit/develop/Docs/Screenshots/how-it-works.png)](https://raw.githubusercontent.com/dtrenz/SettingsKit/develop/Docs/Screenshots/how-it-works.png) ## When would I want to use SettingKit? @@ -91,7 +91,7 @@ add the settings you would like to use to the "Preference Items" array in your > Example: > -> ![Settings.bundle/Root.plist](Docs/Screenshots/setup-root-plist.png) +> ![Settings.bundle/Root.plist](https://raw.githubusercontent.com/dtrenz/SettingsKit/develop/Docs/Screenshots/setup-root-plist.png) Once you have added one or more preference items, build your project to have `SettingsKit` generate a `Settings.swift` file from your `Settings.bundle/Root.plist`. @@ -117,19 +117,19 @@ $PODS_ROOT/SettingsKit/build -p $PROJECT_FILE_PATH -s $SCRIPT_INPUT_FILE_0 -o $S > Example: > -> ![Run script: Input files example](Docs/Screenshots/setup-input-file.png) +> ![Run script: Input files example](https://raw.githubusercontent.com/dtrenz/SettingsKit/develop/Docs/Screenshots/setup-input-file.png) **Step 3:** Add the path to where you would like the generated `Settings.swift` file to be live (i.e. where you put your app's source files). > Example: > -> ![Run script: Output files example](Docs/Screenshots/setup-output-file.png) +> ![Run script: Output files example](https://raw.githubusercontent.com/dtrenz/SettingsKit/develop/Docs/Screenshots/setup-output-file.png) When you are done with all of the above steps, your `SettingsKit` run script phase should look something like this: -![Run script phase example](Docs/Screenshots/setup-run-script.png) +![Run script phase example](https://raw.githubusercontent.com/dtrenz/SettingsKit/develop/Docs/Screenshots/setup-run-script.png) Finally, build (⌘B) your project. If the project builds successfully, you should now see a new `Settings.swift` file in your project. Feel free to move it to any diff --git a/Sources/SettingsKit.swift b/Sources/SettingsKit.swift index 94878a2..be59afe 100644 --- a/Sources/SettingsKit.swift +++ b/Sources/SettingsKit.swift @@ -6,42 +6,91 @@ // Copyright © 2016 Dan Trenz. All rights reserved. // +/** +* Protocol for the SettingsKit enum +*/ public protocol SettingsKit: CustomStringConvertible { + /// The identifier string for the Settings preference item var identifier: String { get } } +// SettingsKit enum extension (a/k/a "where the magic happens") public extension SettingsKit { - typealias SettingChangeHandler = (newValue: AnyObject?) -> Void + /// Convenience typealias for subscribe() onChange closure + public typealias SettingChangeHandler = (newValue: AnyObject?) -> Void - var description: String { + /// String description of the enum value + public var description: String { guard let value = Self.get(self) else { return "nil" } return "\(value)" } + /// Local defaults reference private var defaults: NSUserDefaults { return NSUserDefaults.standardUserDefaults() } + // MARK: - Static Convenience Methods - static func get(setting: Self) -> AnyObject? { + /** + Fetch the current value for a given setting. + + - Parameter setting: The setting to fetch + + - Returns: The current setting value + */ + public static func get(setting: Self) -> AnyObject? { return setting.get() } - static func set(setting: Self, _ value: T) { + /** + Update the value of a given setting. + + - Parameters: + - setting: The setting to update + - value: The value to store for the setting + */ + public static func set(setting: Self, _ value: T) { setting.set(value) } - static func subscribe(setting: Self, onChange: SettingChangeHandler) { + /** + Observe a given setting for changes. The `onChange` closure will be called, + with the new setting value, whenever the setting value is changed either + by the user, or progammatically. + + - Parameters: + - setting: The setting to observe + - onChange: The closure to call when the setting's value is updated + */ + public static func subscribe(setting: Self, onChange: SettingChangeHandler) { setting.subscribe(onChange) } + // MARK: - Instance Methods + /** + Fetch the current value for a given setting. + + __This is the instance method that is called by the static convenience method + in the public API.__ + + - Returns: The current setting value + */ private func get() -> AnyObject? { return defaults.objectForKey(identifier) } + /** + Update the value of a given setting. + + > This is the instance method that is called by the static convenience method + in the public API. + + - Parameter value: The value to store for the setting + */ private func set(value: T) { if let boolVal = value as? Bool { defaults.setBool(boolVal, forKey: identifier) @@ -52,6 +101,17 @@ public extension SettingsKit { } } + + /** + Observe a given setting for changes. The `onChange` closure will be called, + with the new setting value, whenever the setting value is changed either + by the user, or progammatically. + + > This is the instance method that is called by the static convenience method + in the public API. + + - Parameter onChange: The closure to call when the setting's value is updated + */ private func subscribe(onChange: SettingChangeHandler) { let center = NSNotificationCenter.defaultCenter() From 00c0d20a3a46fd58d1f8aafcc9b087ba47c04a49 Mon Sep 17 00:00:00 2001 From: Dan Trenz Date: Thu, 3 Mar 2016 11:56:45 -0500 Subject: [PATCH 15/20] Moved screenshots up to project rooy + jazzy script --- {Docs/Screenshots => Screenshots}/how-it-works.png | Bin .../setup-input-file.png | Bin .../setup-output-file.png | Bin .../setup-root-plist.png | Bin .../setup-run-script.png | Bin jazzy | 10 ++++++++++ 6 files changed, 10 insertions(+) rename {Docs/Screenshots => Screenshots}/how-it-works.png (100%) rename {Docs/Screenshots => Screenshots}/setup-input-file.png (100%) rename {Docs/Screenshots => Screenshots}/setup-output-file.png (100%) rename {Docs/Screenshots => Screenshots}/setup-root-plist.png (100%) rename {Docs/Screenshots => Screenshots}/setup-run-script.png (100%) create mode 100755 jazzy diff --git a/Docs/Screenshots/how-it-works.png b/Screenshots/how-it-works.png similarity index 100% rename from Docs/Screenshots/how-it-works.png rename to Screenshots/how-it-works.png diff --git a/Docs/Screenshots/setup-input-file.png b/Screenshots/setup-input-file.png similarity index 100% rename from Docs/Screenshots/setup-input-file.png rename to Screenshots/setup-input-file.png diff --git a/Docs/Screenshots/setup-output-file.png b/Screenshots/setup-output-file.png similarity index 100% rename from Docs/Screenshots/setup-output-file.png rename to Screenshots/setup-output-file.png diff --git a/Docs/Screenshots/setup-root-plist.png b/Screenshots/setup-root-plist.png similarity index 100% rename from Docs/Screenshots/setup-root-plist.png rename to Screenshots/setup-root-plist.png diff --git a/Docs/Screenshots/setup-run-script.png b/Screenshots/setup-run-script.png similarity index 100% rename from Docs/Screenshots/setup-run-script.png rename to Screenshots/setup-run-script.png diff --git a/jazzy b/jazzy new file mode 100755 index 0000000..97badbf --- /dev/null +++ b/jazzy @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +jazzy \ + --clean \ + --author "Dan Trenz" \ + --github_url https://github.com/dtrenz/SettingsKit \ + --module-version 0.1.0 \ + --xcodebuild-arguments -scheme,SettingsKit \ + --module SettingsKit \ + --output Docs From c2dd2f0a69b567c83e801c4013797b4ca45fef48 Mon Sep 17 00:00:00 2001 From: Dan Trenz Date: Thu, 3 Mar 2016 11:58:20 -0500 Subject: [PATCH 16/20] Ignoring jazzy docs dir --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index fc314ee..f855b2c 100644 --- a/.gitignore +++ b/.gitignore @@ -36,3 +36,6 @@ xcuserdata Pods/ *.xcuserstate + +# Jazzy docs +docs/ From cb3fa34944cbb747ca85dd8d33b3e89909ef11c2 Mon Sep 17 00:00:00 2001 From: Dan Trenz Date: Thu, 3 Mar 2016 11:58:45 -0500 Subject: [PATCH 17/20] Updated jazzy docs output location --- jazzy | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/jazzy b/jazzy index 97badbf..8c6b4c5 100755 --- a/jazzy +++ b/jazzy @@ -7,4 +7,4 @@ jazzy \ --module-version 0.1.0 \ --xcodebuild-arguments -scheme,SettingsKit \ --module SettingsKit \ - --output Docs + --output docs From a035819f5ab949bdc0124fe08159dd4cca409dc8 Mon Sep 17 00:00:00 2001 From: Dan Trenz Date: Thu, 3 Mar 2016 12:10:31 -0500 Subject: [PATCH 18/20] renamed/updated gh-pages publishing script --- jazzy | 10 ---------- publish-docs.sh | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 10 deletions(-) delete mode 100755 jazzy create mode 100755 publish-docs.sh diff --git a/jazzy b/jazzy deleted file mode 100755 index 8c6b4c5..0000000 --- a/jazzy +++ /dev/null @@ -1,10 +0,0 @@ -#!/usr/bin/env bash - -jazzy \ - --clean \ - --author "Dan Trenz" \ - --github_url https://github.com/dtrenz/SettingsKit \ - --module-version 0.1.0 \ - --xcodebuild-arguments -scheme,SettingsKit \ - --module SettingsKit \ - --output docs diff --git a/publish-docs.sh b/publish-docs.sh new file mode 100755 index 0000000..9c380be --- /dev/null +++ b/publish-docs.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +set -e # exit with nonzero exit code if anything fails + +# clear and re-create the out directory +rm -rf docs || exit 0; +mkdir docs; + +# generate docs +jazzy \ + --clean \ + --author "Dan Trenz" \ + --github_url https://github.com/dtrenz/SettingsKit \ + --module-version 0.1.0 \ + --xcodebuild-arguments -scheme,SettingsKit \ + --module SettingsKit \ + --output docs + +# go to the out directory and create a *new* Git repo +cd docs +git init + +# The first and only commit to this new Git repo contains all the +# files present with the commit message "Deploy to GitHub Pages". +git add . +git commit -m "Deploy to GitHub Pages" + +# Force push from the current repo's master branch to the remote +# repo's gh-pages branch. (All previous history on the gh-pages branch +# will be lost, since we are overwriting it.) We redirect any output to +# /dev/null to hide any sensitive credential data that might otherwise be exposed. +git push --force --quiet "https://github.com/dtrenz/SettingsKit" master:gh-pages > /dev/null 2>&1 From 31d721fe7e0d353256859dd2420931cfd4bd4429 Mon Sep 17 00:00:00 2001 From: Dan Trenz Date: Thu, 3 Mar 2016 21:55:59 -0500 Subject: [PATCH 19/20] Removing slather for codecov --- .travis.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index e1c3483..0380ae1 100644 --- a/.travis.yml +++ b/.travis.yml @@ -15,11 +15,9 @@ notifications: before_install: - rvm use $RVM_RUBY_VERSION - gem install cocoapods - - gem install slather - pod install after_success: - - slather - - bash <(curl -s https://codecov.io/bash) -f cobertura.xml + - bash <(curl -s https://codecov.io/bash) script: - set -o pipefail && xcodebuild clean test -workspace SettingsKit.xcworkspace -scheme SettingsKit -destination 'platform=iOS Simulator,name=iPhone 6s' ONLY_ACTIVE_ARCH=YES | xcpretty - pod lib lint From a5956fd1aa8b68248716c72e56bac37b5e3e2b2d Mon Sep 17 00:00:00 2001 From: Dan Trenz Date: Thu, 3 Mar 2016 22:18:53 -0500 Subject: [PATCH 20/20] Fixed broken README screenshot urls --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index acb9b2a..408fbdc 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,4 @@ + # SettingsKit [![CI Status](http://img.shields.io/travis/dtrenz/SettingsKit.svg?style=flat)](https://travis-ci.org/dtrenz/SettingsKit) @@ -21,7 +22,7 @@ settings. Here is a Settings screen w/ generated enum and sample implementation code: -[![Settings Example](https://raw.githubusercontent.com/dtrenz/SettingsKit/develop/Docs/Screenshots/how-it-works.png)](https://raw.githubusercontent.com/dtrenz/SettingsKit/develop/Docs/Screenshots/how-it-works.png) +[![Settings Example](https://raw.githubusercontent.com/dtrenz/SettingsKit/develop/Screenshots/how-it-works.png)](https://raw.githubusercontent.com/dtrenz/SettingsKit/develop/Screenshots/how-it-works.png) ## When would I want to use SettingKit? @@ -91,7 +92,7 @@ add the settings you would like to use to the "Preference Items" array in your > Example: > -> ![Settings.bundle/Root.plist](https://raw.githubusercontent.com/dtrenz/SettingsKit/develop/Docs/Screenshots/setup-root-plist.png) +> ![Settings.bundle/Root.plist](https://raw.githubusercontent.com/dtrenz/SettingsKit/develop/Screenshots/setup-root-plist.png) Once you have added one or more preference items, build your project to have `SettingsKit` generate a `Settings.swift` file from your `Settings.bundle/Root.plist`. @@ -117,19 +118,19 @@ $PODS_ROOT/SettingsKit/build -p $PROJECT_FILE_PATH -s $SCRIPT_INPUT_FILE_0 -o $S > Example: > -> ![Run script: Input files example](https://raw.githubusercontent.com/dtrenz/SettingsKit/develop/Docs/Screenshots/setup-input-file.png) +> ![Run script: Input files example](https://raw.githubusercontent.com/dtrenz/SettingsKit/develop/Screenshots/setup-input-file.png) **Step 3:** Add the path to where you would like the generated `Settings.swift` file to be live (i.e. where you put your app's source files). > Example: > -> ![Run script: Output files example](https://raw.githubusercontent.com/dtrenz/SettingsKit/develop/Docs/Screenshots/setup-output-file.png) +> ![Run script: Output files example](https://raw.githubusercontent.com/dtrenz/SettingsKit/develop/Screenshots/setup-output-file.png) When you are done with all of the above steps, your `SettingsKit` run script phase should look something like this: -![Run script phase example](https://raw.githubusercontent.com/dtrenz/SettingsKit/develop/Docs/Screenshots/setup-run-script.png) +![Run script phase example](https://raw.githubusercontent.com/dtrenz/SettingsKit/develop/Screenshots/setup-run-script.png) Finally, build (⌘B) your project. If the project builds successfully, you should now see a new `Settings.swift` file in your project. Feel free to move it to any