diff --git a/Kit/Main.hs b/Kit/Main.hs
--- a/Kit/Main.hs
+++ b/Kit/Main.hs
@@ -117,7 +117,7 @@
                     help "Create a tar.gz wrapping this kit"
       , PublishLocal &= explicit &= CA.name "publish-local" &=
                     help "Package this kit, then deploy it to the local repository (~/.kit/repository)"
-      , Verify { sdk = "iphonesimulator4.0" &= typ "SDK" &= help "iphoneos3.1, iphonesimulator4.0, etc."} &=
+      , Verify { sdk = "iphonesimulator4.0" &= typ "SDK" &= help "iphoneos, iphonesimulator4.0, etc."} &=
                     help "Package this kit, then attempt to use it as a dependency in an empty project. This will assert that the kit and all its dependencies can be compiled together."
     ] &= program "kit"
       &= summary ("Kit v" ++ appVersion ++ ". It's a dependency manager for Objective-C projects built with XCode.")
diff --git a/Kit/Project.hs b/Kit/Project.hs
--- a/Kit/Project.hs
+++ b/Kit/Project.hs
@@ -29,6 +29,8 @@
   prefixFile = "KitDeps_Prefix.pch"
   projectFile = projectDir </> "project.pbxproj"
   xcodeConfigFile = "Kit.xcconfig"
+  kitUpdateMakeFilePath = "Makefile"
+  kitUpdateMakeFile = "kit: Kit.xcconfig\nKit.xcconfig: ../KitSpec\n\tcd .. && kit update && exit 1\n"
 
   prefixDefault = "#ifdef __OBJC__\n" ++ "    #import <Foundation/Foundation.h>\n    #import <UIKit/UIKit.h>\n" ++ "#endif\n"
 
@@ -70,6 +72,7 @@
             let kitHeaders = "HEADER_SEARCH_PATHS = $(HEADER_SEARCH_PATHS) " ++ (stringJoin " "  $ kitFileNames >>= (\x -> [kitDir </> x </> "src", x </> "src"]))
             let prefixHeaders = "GCC_PRECOMPILE_PREFIX_HEADER = YES\nGCC_PREFIX_HEADER = $(SRCROOT)/KitDeps_Prefix.pch\n"
             writeFile xcodeConfigFile $ kitHeaders ++ "\n" ++  prefixHeaders ++ "\n" ++ configToString combinedConfig
+            writeFile kitUpdateMakeFilePath kitUpdateMakeFile
 
   kitPrefixFile = "Prefix.pch"
 
diff --git a/Kit/XCode/ProjectFile.hs b/Kit/XCode/ProjectFile.hs
--- a/Kit/XCode/ProjectFile.hs
+++ b/Kit/XCode/ProjectFile.hs
@@ -87,6 +87,8 @@
         		"};" `nl`
         "/* End PBXNativeTarget section */" `nl`
         "" `nl`
+        kitUpdateTarget `nl`
+        "/* End PBXLegacyTarget section */" `nl`
         "/* Begin PBXProject section */" `nl`
         		"0867D690FE84028FC02AAC07 /* Project object */ = {" `nl`
         			"isa = PBXProject;" `nl`
@@ -99,6 +101,7 @@
         			"projectRoot = \"\";" `nl`
         			"targets = (" `nl`
         				"D2AAC07D0554694100DB518D /* KitDeps */," `nl`
+        				"470E2D641287730A0084AE6F /* KitUpdate */," `nl`
         			");" `nl`
         		"};" `nl`
         "/* End PBXProject section */"
@@ -147,7 +150,7 @@
         				"GCC_WARN_UNUSED_VARIABLE = YES;" `nl`
         				"OTHER_LDFLAGS = \"-ObjC\";" `nl`
         				"PREBINDING = NO;" `nl`
-        				"SDKROOT = iphoneos4.1;" `nl`
+        				"SDKROOT = iphoneos;" `nl`
         			"};" `nl`
         			"name = Debug;" `nl`
         		"};" `nl`
@@ -161,7 +164,7 @@
         				"GCC_WARN_UNUSED_VARIABLE = YES;" `nl`
         				"OTHER_LDFLAGS = \"-ObjC\";" `nl`
         				"PREBINDING = NO;" `nl`
-        				"SDKROOT = iphoneos4.1;" `nl`
+        				"SDKROOT = iphoneos;" `nl`
         			"};" `nl`
         			"name = Release;" `nl`
         		"};" `nl`
@@ -187,11 +190,53 @@
         			"defaultConfigurationName = Release;" `nl`
         		"};" `nl`
         "/* End XCConfigurationList section */" `nl`
+            
         	"};" `nl`
         	"rootObject = 0867D690FE84028FC02AAC07 /* Project object */;" `nl`
         "}"
 
-
+  kitUpdateTarget = "/* Begin PBXLegacyTarget section */" `nl`
+        "470E2D641287730A0084AE6F /* KitUpdate */ = {" `nl`
+        "isa = PBXLegacyTarget;" `nl`
+        "buildArgumentsString = \"\";" `nl`
+        " buildConfigurationList = 470E2D721287731E0084AE6F /* Build configuration list for PBXLegacyTarget \"KitUpdate\" */;" `nl`
+        " buildPhases = (" `nl`
+        " );" `nl`
+        " buildToolPath = /usr/bin/make;" `nl`
+        " buildWorkingDirectory = \"\";" `nl`
+        " dependencies = (" `nl`
+        " );" `nl`
+        " name = KitUpdate;" `nl`
+        " passBuildSettingsInEnvironment = 1;" `nl`
+        " productName = KitUpdate;" `nl`
+        " };" `nl`
+        "470E2D721287731E0084AE6F /* Build configuration list for PBXLegacyTarget \"KitUpdate\" */ = {" `nl`
+      " isa = XCConfigurationList;" `nl`
+      " buildConfigurations = (" `nl`
+      " 470E2D651287730B0084AE6F /* Debug */," `nl`
+      " 470E2D661287730B0084AE6F /* Release */," `nl`
+      " );" `nl`
+      " defaultConfigurationIsVisible = 0;" `nl`
+      " defaultConfigurationName = Debug;" `nl`
+      "};" `nl`
+      "470E2D651287730B0084AE6F /* Debug */ = {" `nl`
+      " isa = XCBuildConfiguration;" `nl`
+      " buildSettings = {" `nl`
+      " COPY_PHASE_STRIP = NO;" `nl`
+      " GCC_DYNAMIC_NO_PIC = NO;" `nl`
+      " GCC_OPTIMIZATION_LEVEL = 0;" `nl`
+      " PRODUCT_NAME = KitUpdate;" `nl`
+      " };" `nl`
+      " name = Debug;" `nl`
+      "};" `nl`
+      "470E2D661287730B0084AE6F /* Release */ = {" `nl`
+      " isa = XCBuildConfiguration;" `nl`
+      " buildSettings = {" `nl`
+      " PRODUCT_NAME = KitUpdate;" `nl`
+      " };" `nl`
+      " name = Release;" `nl`
+      "};"
+  
   main = do
     putStrLn $ projectPbxProj "" "" "" "" ""
 
diff --git a/Kit/XCode/XCConfig.hs b/Kit/XCode/XCConfig.hs
--- a/Kit/XCode/XCConfig.hs
+++ b/Kit/XCode/XCConfig.hs
@@ -7,7 +7,7 @@
   import Data.Either
   import Data.List
   
-  import Data.String.Utils
+  import Data.String.Utils (strip)
 
   type XCCSetting = (String, String)
   type XCCInclude = String
diff --git a/kit.cabal b/kit.cabal
--- a/kit.cabal
+++ b/kit.cabal
@@ -1,53 +1,26 @@
-name: kit
-version: 0.4.3
-cabal-version: >=1.2
-build-type: Simple
-license: BSD3
-license-file: LICENSE
-copyright:
-maintainer: nkpart@gmail.com
-build-depends: process -any, network -any, mtl -any, json -any,
-               filepath -any, directory -any, containers -any, cmdargs >=0.3,
-               bytestring -any, base >=3 && <5, QuickCheck -any, MissingH -any,
-               HTTP >=4000.0.9, Glob >= 0.5
-stability:
-homepage:
-package-url:
-bug-reports:
-synopsis: A dependency manager for XCode (Objective-C) projects
-description: A dependency manager for XCode (Objective-C) projects
-category: Development
-author: Nick Partridge
-tested-with:
-data-files:
-data-dir: ""
-extra-source-files:
-extra-tmp-files:
- 
-executable: kit
-main-is: Main.hs
-buildable: True
-build-tools:
-cpp-options:
-cc-options:
-ld-options:
-pkgconfig-depends:
-frameworks:
-c-sources:
-extensions:
-extra-libraries:
-extra-lib-dirs:
-includes:
-install-includes:
-include-dirs:
-hs-source-dirs: .
-other-modules: Kit.Model Kit.Main Kit.Package
-               Kit.Project Kit.Repository Kit.Util Kit.XCode.Builder
-               Kit.XCode.Common Kit.XCode.OldPList Kit.XCode.PBXProject
-               Kit.XCode.ProjectFile Kit.XCode.XCConfig
-ghc-prof-options:
-ghc-shared-options:
-ghc-options:
-hugs-options:
-nhc98-options:
-jhc-options:
+name:           kit
+version:        0.4.4
+cabal-version:  >=1.2
+build-type:     Simple
+license:        BSD3
+license-file:   LICENSE
+maintainer:     nkpart@gmail.com
+
+synopsis:       A dependency manager for XCode (Objective-C) projects
+description:    A dependency manager for XCode (Objective-C) projects
+category:       Development
+author:         Nick Partridge
+
+Executable kit
+  main-is:        Main.hs
+  buildable:      True
+  build-depends:  process -any, network -any, mtl -any, json -any,
+                  filepath -any, directory -any, containers -any, cmdargs >=0.3,
+                  bytestring -any, base >=3 && <5, QuickCheck -any, MissingH -any,
+                  HTTP >=4000.0.9, Glob >= 0.5
+
+  hs-source-dirs: .
+  other-modules:  Kit.Model Kit.Main Kit.Package
+                  Kit.Project Kit.Repository Kit.Util Kit.XCode.Builder
+                  Kit.XCode.Common Kit.XCode.OldPList Kit.XCode.PBXProject
+                  Kit.XCode.ProjectFile Kit.XCode.XCConfig
