feat: omit objects with empty values (#24)
authorLaurin Quast <laurinquast@googlemail.com>
Sun, 9 Dec 2018 20:48:47 +0000 (21:48 +0100)
committerChris Brody <chris.brody@gmail.com>
Sun, 9 Dec 2018 20:48:47 +0000 (15:48 -0500)
and add tests

lib/pbxProject.js
lib/pbxWriter.js
test/parser/projects/expected/with_omit_empty_values_disabled_expected.pbxproj [new file with mode: 0644]
test/parser/projects/expected/with_omit_empty_values_enabled_expected.pbxproj [new file with mode: 0644]
test/parser/projects/with_omit_empty_values_disabled.pbxproj [new file with mode: 0644]
test/parser/projects/with_omit_empty_values_enabled.pbxproj [new file with mode: 0644]
test/pbxWriter.js

index 0c05d09..0e0f8f9 100644 (file)
@@ -64,8 +64,8 @@ pbxProject.prototype.parseSync = function() {
     return this;
 }
 
-pbxProject.prototype.writeSync = function() {
-    this.writer = new pbxWriter(this.hash);
+pbxProject.prototype.writeSync = function(options) {
+    this.writer = new pbxWriter(this.hash, options);
     return this.writer.writeSync();
 }
 
index 9d49867..ae719d9 100644 (file)
@@ -49,10 +49,18 @@ function isArray(obj) {
     return Array.isArray(obj)
 }
 
-function pbxWriter(contents) {
+function pbxWriter(contents, options) {
+    if (!options) {
+        options = {}
+    }
+    if (options.omitEmptyValues === undefined) {
+        options.omitEmptyValues = false
+    }
+
     this.contents = contents;
     this.sync = false;
     this.indentLevel = 0;
+    this.omitEmptyValues = options.omitEmptyValues
 }
 
 util.inherits(pbxWriter, EventEmitter);
@@ -123,6 +131,8 @@ pbxWriter.prototype.writeProject = function () {
 
                 this.indentLevel--;
                 this.write("};\n");
+            } else if (this.omitEmptyValues && (obj === undefined || obj === null)) {
+                continue;
             } else if (cmt) {
                 this.write("%s = %s /* %s */;\n", key, obj, cmt)
             } else {
@@ -156,7 +166,9 @@ pbxWriter.prototype.writeObject = function (object) {
             this.indentLevel--;
             this.write("};\n");
         } else {
-            if (cmt) {
+            if (this.omitEmptyValues && (obj === undefined || obj === null)) {
+                continue;
+            } else if (cmt) {
                 this.write("%s = %s /* %s */;\n", key, obj, cmt)
             } else {
                 this.write("%s = %s;\n", key, obj)
@@ -255,6 +267,7 @@ pbxWriter.prototype.writeSection = function (section) {
 
 pbxWriter.prototype.writeInlineObject = function (n, d, r) {
     var output = [];
+    var self = this
 
     var inlineObjectHelper = function (name, desc, ref) {
         var key, cmt, obj;
@@ -281,6 +294,8 @@ pbxWriter.prototype.writeInlineObject = function (n, d, r) {
                 output.push("); ");
             } else if (isObject(obj)) {
                 inlineObjectHelper(key, cmt, obj)
+            } else if (self.omitEmptyValues && (obj === undefined || obj === null)) {
+                continue;
             } else if (cmt) {
                 output.push(f("%s = %s /* %s */; ", key, obj, cmt))
             } else {
diff --git a/test/parser/projects/expected/with_omit_empty_values_disabled_expected.pbxproj b/test/parser/projects/expected/with_omit_empty_values_disabled_expected.pbxproj
new file mode 100644 (file)
index 0000000..da46b23
--- /dev/null
@@ -0,0 +1,582 @@
+// !$*UTF8*$!
+{
+       archiveVersion = 1;
+       classes = {
+       };
+       objectVersion = 46;
+       objects = {
+/* Begin PBXBuildFile section */
+               1D3623260D0F684500981E51 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* AppDelegate.m */; };
+               1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; };
+               288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; };
+               301BF552109A68D80062928A /* libCordova.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 301BF535109A57CC0062928A /* libCordova.a */; };
+               302D95F114D2391D003F00A1 /* MainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 302D95EF14D2391D003F00A1 /* MainViewController.m */; };
+               302D95F214D2391D003F00A1 /* MainViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 302D95F014D2391D003F00A1 /* MainViewController.xib */; };
+               305D5FD1115AB8F900A74A75 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 305D5FD0115AB8F900A74A75 /* MobileCoreServices.framework */; };
+               3088BBBD154F3926009F9C59 /* Default-Landscape@2x~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 3088BBB7154F3926009F9C59 /* Default-Landscape@2x~ipad.png */; };
+               3088BBBE154F3926009F9C59 /* Default-Landscape~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 3088BBB8154F3926009F9C59 /* Default-Landscape~ipad.png */; };
+               3088BBBF154F3926009F9C59 /* Default-Portrait@2x~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 3088BBB9154F3926009F9C59 /* Default-Portrait@2x~ipad.png */; };
+               3088BBC0154F3926009F9C59 /* Default-Portrait~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 3088BBBA154F3926009F9C59 /* Default-Portrait~ipad.png */; };
+               3088BBC1154F3926009F9C59 /* Default@2x~iphone.png in Resources */ = {isa = PBXBuildFile; fileRef = 3088BBBB154F3926009F9C59 /* Default@2x~iphone.png */; };
+               3088BBC2154F3926009F9C59 /* Default~iphone.png in Resources */ = {isa = PBXBuildFile; fileRef = 3088BBBC154F3926009F9C59 /* Default~iphone.png */; };
+               308D05371370CCF300D202BF /* icon-72.png in Resources */ = {isa = PBXBuildFile; fileRef = 308D052E1370CCF300D202BF /* icon-72.png */; };
+               308D05381370CCF300D202BF /* icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 308D052F1370CCF300D202BF /* icon.png */; };
+               308D05391370CCF300D202BF /* icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 308D05301370CCF300D202BF /* icon@2x.png */; };
+               30B4F30019D5E07200D9F7D8 /* Default-667h.png in Resources */ = {isa = PBXBuildFile; fileRef = 30B4F2FD19D5E07200D9F7D8 /* Default-667h.png */; };
+               30B4F30119D5E07200D9F7D8 /* Default-736h.png in Resources */ = {isa = PBXBuildFile; fileRef = 30B4F2FE19D5E07200D9F7D8 /* Default-736h.png */; };
+               30B4F30219D5E07200D9F7D8 /* Default-Landscape-736h.png in Resources */ = {isa = PBXBuildFile; fileRef = 30B4F2FF19D5E07200D9F7D8 /* Default-Landscape-736h.png */; };
+               30C1856619D5FC0A00212699 /* icon-60@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 30C1856519D5FC0A00212699 /* icon-60@3x.png */; };
+               30FC414916E50CA1004E6F35 /* icon-72@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 30FC414816E50CA1004E6F35 /* icon-72@2x.png */; };
+               5B1594DD16A7569C00FEF299 /* AssetsLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5B1594DC16A7569C00FEF299 /* AssetsLibrary.framework */; };
+               7E7966DE1810823500FA85AD /* icon-40.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966D41810823500FA85AD /* icon-40.png */; };
+               7E7966DF1810823500FA85AD /* icon-40@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966D51810823500FA85AD /* icon-40@2x.png */; };
+               7E7966E01810823500FA85AD /* icon-50.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966D61810823500FA85AD /* icon-50.png */; };
+               7E7966E11810823500FA85AD /* icon-50@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966D71810823500FA85AD /* icon-50@2x.png */; };
+               7E7966E21810823500FA85AD /* icon-60.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966D81810823500FA85AD /* icon-60.png */; };
+               7E7966E31810823500FA85AD /* icon-60@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966D91810823500FA85AD /* icon-60@2x.png */; };
+               7E7966E41810823500FA85AD /* icon-76.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966DA1810823500FA85AD /* icon-76.png */; };
+               7E7966E51810823500FA85AD /* icon-76@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966DB1810823500FA85AD /* icon-76@2x.png */; };
+               7E7966E61810823500FA85AD /* icon-small.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966DC1810823500FA85AD /* icon-small.png */; };
+               7E7966E71810823500FA85AD /* icon-small@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966DD1810823500FA85AD /* icon-small@2x.png */; };
+               D4A0D8761607E02300AEF8BB /* Default-568h@2x~iphone.png in Resources */ = {isa = PBXBuildFile; fileRef = D4A0D8751607E02300AEF8BB /* Default-568h@2x~iphone.png */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+               301BF534109A57CC0062928A /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 301BF52D109A57CC0062928A /* CordovaLib.xcodeproj */;
+                       proxyType = 2;
+                       remoteGlobalIDString = D2AAC07E0554694100DB518D;
+                       remoteInfo = CordovaLib;
+               };
+               301BF550109A68C00062928A /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 301BF52D109A57CC0062928A /* CordovaLib.xcodeproj */;
+                       proxyType = 1;
+                       remoteGlobalIDString = D2AAC07D0554694100DB518D;
+                       remoteInfo = CordovaLib;
+               };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+               1D3623240D0F684500981E51 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
+               1D3623250D0F684500981E51 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
+               1D6058910D05DD3D006BFB54 /* HelloCordova.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "HelloCordova.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+               1F766FDD13BBADB100FB74C0 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = Localizable.strings; sourceTree = "<group>"; };
+               1F766FE013BBADB100FB74C0 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = Localizable.strings; sourceTree = "<group>"; };
+               288765FC0DF74451002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+               29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+               301BF52D109A57CC0062928A /* CordovaLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = CordovaLib.xcodeproj; path = "CordovaLib/CordovaLib.xcodeproj"; sourceTree = "<group>"; };
+               301BF56E109A69640062928A /* www */ = {isa = PBXFileReference; lastKnownFileType = folder; path = www; sourceTree = SOURCE_ROOT; };
+               302D95EE14D2391D003F00A1 /* MainViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MainViewController.h; sourceTree = "<group>"; };
+               302D95EF14D2391D003F00A1 /* MainViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MainViewController.m; sourceTree = "<group>"; };
+               302D95F014D2391D003F00A1 /* MainViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MainViewController.xib; sourceTree = "<group>"; };
+               305D5FD0115AB8F900A74A75 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; };
+               3088BBB7154F3926009F9C59 /* Default-Landscape@2x~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-Landscape@2x~ipad.png"; sourceTree = "<group>"; };
+               3088BBB8154F3926009F9C59 /* Default-Landscape~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-Landscape~ipad.png"; sourceTree = "<group>"; };
+               3088BBB9154F3926009F9C59 /* Default-Portrait@2x~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-Portrait@2x~ipad.png"; sourceTree = "<group>"; };
+               3088BBBA154F3926009F9C59 /* Default-Portrait~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-Portrait~ipad.png"; sourceTree = "<group>"; };
+               3088BBBB154F3926009F9C59 /* Default@2x~iphone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x~iphone.png"; sourceTree = "<group>"; };
+               3088BBBC154F3926009F9C59 /* Default~iphone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default~iphone.png"; sourceTree = "<group>"; };
+               308D052E1370CCF300D202BF /* icon-72.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-72.png"; sourceTree = "<group>"; };
+               308D052F1370CCF300D202BF /* icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icon.png; sourceTree = "<group>"; };
+               308D05301370CCF300D202BF /* icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon@2x.png"; sourceTree = "<group>"; };
+               30B4F2FD19D5E07200D9F7D8 /* Default-667h.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-667h.png"; sourceTree = "<group>"; };
+               30B4F2FE19D5E07200D9F7D8 /* Default-736h.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-736h.png"; sourceTree = "<group>"; };
+               30B4F2FF19D5E07200D9F7D8 /* Default-Landscape-736h.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-Landscape-736h.png"; sourceTree = "<group>"; };
+               30C1856519D5FC0A00212699 /* icon-60@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-60@3x.png"; sourceTree = "<group>"; };
+               30FC414816E50CA1004E6F35 /* icon-72@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-72@2x.png"; sourceTree = "<group>"; };
+               32CA4F630368D1EE00C91783 /* HelloCordova-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "HelloCordova-Prefix.pch"; sourceTree = "<group>"; };
+               5B1594DC16A7569C00FEF299 /* AssetsLibrary.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AssetsLibrary.framework; path = System/Library/Frameworks/AssetsLibrary.framework; sourceTree = SDKROOT; };
+               7E7966D41810823500FA85AD /* icon-40.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-40.png"; sourceTree = "<group>"; };
+               7E7966D51810823500FA85AD /* icon-40@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-40@2x.png"; sourceTree = "<group>"; };
+               7E7966D61810823500FA85AD /* icon-50.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-50.png"; sourceTree = "<group>"; };
+               7E7966D71810823500FA85AD /* icon-50@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-50@2x.png"; sourceTree = "<group>"; };
+               7E7966D81810823500FA85AD /* icon-60.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-60.png"; sourceTree = "<group>"; };
+               7E7966D91810823500FA85AD /* icon-60@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-60@2x.png"; sourceTree = "<group>"; };
+               7E7966DA1810823500FA85AD /* icon-76.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-76.png"; sourceTree = "<group>"; };
+               7E7966DB1810823500FA85AD /* icon-76@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-76@2x.png"; sourceTree = "<group>"; };
+               7E7966DC1810823500FA85AD /* icon-small.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-small.png"; sourceTree = "<group>"; };
+               7E7966DD1810823500FA85AD /* icon-small@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-small@2x.png"; sourceTree = "<group>"; };
+               8D1107310486CEB800E47090 /* HelloCordova-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "HelloCordova-Info.plist"; path = "../HelloCordova-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = "<group>"; };
+               D4A0D8751607E02300AEF8BB /* Default-568h@2x~iphone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x~iphone.png"; sourceTree = "<group>"; };
+               EB87FDF21871DA7A0020F90C /* merges */ = {isa = PBXFileReference; lastKnownFileType = folder; name = merges; path = ../../merges; sourceTree = "<group>"; };
+               EB87FDF31871DA8E0020F90C /* www */ = {isa = PBXFileReference; lastKnownFileType = folder; name = www; path = ../../www; sourceTree = "<group>"; };
+               EB87FDF41871DAF40020F90C /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = config.xml; path = ../../config.xml; sourceTree = "<group>"; };
+               F840E1F0165FE0F500CFE078 /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = config.xml; path = "HelloCordova/config.xml"; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+               1D60588F0D05DD3D006BFB54 /* Frameworks */ = {
+                       isa = PBXFrameworksBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               5B1594DD16A7569C00FEF299 /* AssetsLibrary.framework in Frameworks */,
+                               301BF552109A68D80062928A /* libCordova.a in Frameworks */,
+                               288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */,
+                               305D5FD1115AB8F900A74A75 /* MobileCoreServices.framework in Frameworks */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+               080E96DDFE201D6D7F000001 /* Classes */ = {
+                       isa = PBXGroup;
+                       children = (
+                               302D95EE14D2391D003F00A1 /* MainViewController.h */,
+                               302D95EF14D2391D003F00A1 /* MainViewController.m */,
+                               302D95F014D2391D003F00A1 /* MainViewController.xib */,
+                               1D3623240D0F684500981E51 /* AppDelegate.h */,
+                               1D3623250D0F684500981E51 /* AppDelegate.m */,
+                       );
+                       name = Classes;
+                       path = "HelloCordova/Classes";
+                       sourceTree = SOURCE_ROOT;
+               };
+               19C28FACFE9D520D11CA2CBB /* Products */ = {
+                       isa = PBXGroup;
+                       children = (
+                               1D6058910D05DD3D006BFB54 /* HelloCordova.app */,
+                       );
+                       name = Products;
+                       sourceTree = "<group>";
+               };
+               29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
+                       isa = PBXGroup;
+                       children = (
+                               EB87FDF41871DAF40020F90C /* config.xml */,
+                               EB87FDF31871DA8E0020F90C /* www */,
+                               EB87FDF21871DA7A0020F90C /* merges */,
+                               EB87FDF11871DA420020F90C /* Staging */,
+                               301BF52D109A57CC0062928A /* CordovaLib.xcodeproj */,
+                               080E96DDFE201D6D7F000001 /* Classes */,
+                               307C750510C5A3420062BCA9 /* Plugins */,
+                               29B97315FDCFA39411CA2CEA /* Other Sources */,
+                               29B97317FDCFA39411CA2CEA /* Resources */,
+                               29B97323FDCFA39411CA2CEA /* Frameworks */,
+                               19C28FACFE9D520D11CA2CBB /* Products */,
+                       );
+                       name = CustomTemplate;
+                       sourceTree = "<group>";
+               };
+               29B97315FDCFA39411CA2CEA /* Other Sources */ = {
+                       isa = PBXGroup;
+                       children = (
+                               32CA4F630368D1EE00C91783 /* HelloCordova-Prefix.pch */,
+                               29B97316FDCFA39411CA2CEA /* main.m */,
+                       );
+                       name = "Other Sources";
+                       path = "HelloCordova";
+                       sourceTree = "<group>";
+               };
+               29B97317FDCFA39411CA2CEA /* Resources */ = {
+                       isa = PBXGroup;
+                       children = (
+                               308D052D1370CCF300D202BF /* icons */,
+                               308D05311370CCF300D202BF /* splash */,
+                               8D1107310486CEB800E47090 /* HelloCordova-Info.plist */,
+                       );
+                       name = Resources;
+                       path = "HelloCordova/Resources";
+                       sourceTree = "<group>";
+               };
+               29B97323FDCFA39411CA2CEA /* Frameworks */ = {
+                       isa = PBXGroup;
+                       children = (
+                               5B1594DC16A7569C00FEF299 /* AssetsLibrary.framework */,
+                               288765FC0DF74451002DB57D /* CoreGraphics.framework */,
+                               305D5FD0115AB8F900A74A75 /* MobileCoreServices.framework */,
+                       );
+                       name = Frameworks;
+                       sourceTree = "<group>";
+               };
+               301BF52E109A57CC0062928A /* Products */ = {
+                       isa = PBXGroup;
+                       children = (
+                               301BF535109A57CC0062928A /* libCordova.a */,
+                       );
+                       name = Products;
+                       sourceTree = "<group>";
+               };
+               307C750510C5A3420062BCA9 /* Plugins */ = {
+                       isa = PBXGroup;
+                       children = (
+                       );
+                       name = Plugins;
+                       path = "HelloCordova/Plugins";
+                       sourceTree = SOURCE_ROOT;
+               };
+               308D052D1370CCF300D202BF /* icons */ = {
+                       isa = PBXGroup;
+                       children = (
+                               30C1856519D5FC0A00212699 /* icon-60@3x.png */,
+                               7E7966D41810823500FA85AD /* icon-40.png */,
+                               7E7966D51810823500FA85AD /* icon-40@2x.png */,
+                               7E7966D61810823500FA85AD /* icon-50.png */,
+                               7E7966D71810823500FA85AD /* icon-50@2x.png */,
+                               7E7966D81810823500FA85AD /* icon-60.png */,
+                               7E7966D91810823500FA85AD /* icon-60@2x.png */,
+                               7E7966DA1810823500FA85AD /* icon-76.png */,
+                               7E7966DB1810823500FA85AD /* icon-76@2x.png */,
+                               7E7966DC1810823500FA85AD /* icon-small.png */,
+                               7E7966DD1810823500FA85AD /* icon-small@2x.png */,
+                               30FC414816E50CA1004E6F35 /* icon-72@2x.png */,
+                               308D052E1370CCF300D202BF /* icon-72.png */,
+                               308D052F1370CCF300D202BF /* icon.png */,
+                               308D05301370CCF300D202BF /* icon@2x.png */,
+                       );
+                       path = icons;
+                       sourceTree = "<group>";
+               };
+               308D05311370CCF300D202BF /* splash */ = {
+                       isa = PBXGroup;
+                       children = (
+                               30B4F2FD19D5E07200D9F7D8 /* Default-667h.png */,
+                               30B4F2FE19D5E07200D9F7D8 /* Default-736h.png */,
+                               30B4F2FF19D5E07200D9F7D8 /* Default-Landscape-736h.png */,
+                               D4A0D8751607E02300AEF8BB /* Default-568h@2x~iphone.png */,
+                               3088BBB7154F3926009F9C59 /* Default-Landscape@2x~ipad.png */,
+                               3088BBB8154F3926009F9C59 /* Default-Landscape~ipad.png */,
+                               3088BBB9154F3926009F9C59 /* Default-Portrait@2x~ipad.png */,
+                               3088BBBA154F3926009F9C59 /* Default-Portrait~ipad.png */,
+                               3088BBBB154F3926009F9C59 /* Default@2x~iphone.png */,
+                               3088BBBC154F3926009F9C59 /* Default~iphone.png */,
+                       );
+                       path = splash;
+                       sourceTree = "<group>";
+               };
+               EB87FDF11871DA420020F90C /* Staging */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F840E1F0165FE0F500CFE078 /* config.xml */,
+                               301BF56E109A69640062928A /* www */,
+                       );
+                       name = Staging;
+                       sourceTree = "<group>";
+               };
+               CUSTOM_GROUP_UUID_REPLACED_BY_TEST /* CustomGroup */ = {
+                       isa = PBXGroup;
+                       children = (
+                       );
+                       name = CustomGroup;
+                       path = undefined;
+                       sourceTree = "<group>";
+               };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+               1D6058900D05DD3D006BFB54 /* HelloCordova */ = {
+                       isa = PBXNativeTarget;
+                       buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "HelloCordova" */;
+                       buildPhases = (
+                               304B58A110DAC018002A0835 /* Copy www directory */,
+                               1D60588D0D05DD3D006BFB54 /* Resources */,
+                               1D60588E0D05DD3D006BFB54 /* Sources */,
+                               1D60588F0D05DD3D006BFB54 /* Frameworks */,
+                       );
+                       buildRules = (
+                       );
+                       dependencies = (
+                               301BF551109A68C00062928A /* PBXTargetDependency */,
+                       );
+                       name = "HelloCordova";
+                       productName = "HelloCordova";
+                       productReference = 1D6058910D05DD3D006BFB54 /* HelloCordova.app */;
+                       productType = "com.apple.product-type.application";
+               };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+               29B97313FDCFA39411CA2CEA /* Project object */ = {
+                       isa = PBXProject;
+                       attributes = {
+                               LastUpgradeCheck = 510;
+                       };
+                       buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "__CLI__" */;
+                       compatibilityVersion = "Xcode 3.2";
+                       developmentRegion = English;
+                       hasScannedForEncodings = 1;
+                       knownRegions = (
+                               English,
+                               Japanese,
+                               French,
+                               German,
+                               en,
+                               es,
+                               de,
+                               se,
+                       );
+                       mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
+                       projectDirPath = "";
+                       projectReferences = (
+                               {
+                                       ProductGroup = 301BF52E109A57CC0062928A /* Products */;
+                                       ProjectRef = 301BF52D109A57CC0062928A /* CordovaLib.xcodeproj */;
+                               },
+                       );
+                       projectRoot = "";
+                       targets = (
+                               1D6058900D05DD3D006BFB54 /* HelloCordova */,
+                       );
+               };
+/* End PBXProject section */
+
+/* Begin PBXReferenceProxy section */
+               301BF535109A57CC0062928A /* libCordova.a */ = {
+                       isa = PBXReferenceProxy;
+                       fileType = archive.ar;
+                       path = libCordova.a;
+                       remoteRef = 301BF534109A57CC0062928A /* PBXContainerItemProxy */;
+                       sourceTree = BUILT_PRODUCTS_DIR;
+               };
+/* End PBXReferenceProxy section */
+
+/* Begin PBXResourcesBuildPhase section */
+               1D60588D0D05DD3D006BFB54 /* Resources */ = {
+                       isa = PBXResourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               7E7966E41810823500FA85AD /* icon-76.png in Resources */,
+                               7E7966DF1810823500FA85AD /* icon-40@2x.png in Resources */,
+                               308D05371370CCF300D202BF /* icon-72.png in Resources */,
+                               30B4F30119D5E07200D9F7D8 /* Default-736h.png in Resources */,
+                               308D05381370CCF300D202BF /* icon.png in Resources */,
+                               308D05391370CCF300D202BF /* icon@2x.png in Resources */,
+                               302D95F214D2391D003F00A1 /* MainViewController.xib in Resources */,
+                               7E7966E01810823500FA85AD /* icon-50.png in Resources */,
+                               7E7966E31810823500FA85AD /* icon-60@2x.png in Resources */,
+                               7E7966E61810823500FA85AD /* icon-small.png in Resources */,
+                               3088BBBD154F3926009F9C59 /* Default-Landscape@2x~ipad.png in Resources */,
+                               3088BBBE154F3926009F9C59 /* Default-Landscape~ipad.png in Resources */,
+                               3088BBBF154F3926009F9C59 /* Default-Portrait@2x~ipad.png in Resources */,
+                               7E7966E71810823500FA85AD /* icon-small@2x.png in Resources */,
+                               3088BBC0154F3926009F9C59 /* Default-Portrait~ipad.png in Resources */,
+                               30B4F30019D5E07200D9F7D8 /* Default-667h.png in Resources */,
+                               7E7966DE1810823500FA85AD /* icon-40.png in Resources */,
+                               3088BBC1154F3926009F9C59 /* Default@2x~iphone.png in Resources */,
+                               7E7966E21810823500FA85AD /* icon-60.png in Resources */,
+                               3088BBC2154F3926009F9C59 /* Default~iphone.png in Resources */,
+                               D4A0D8761607E02300AEF8BB /* Default-568h@2x~iphone.png in Resources */,
+                               30B4F30219D5E07200D9F7D8 /* Default-Landscape-736h.png in Resources */,
+                               30C1856619D5FC0A00212699 /* icon-60@3x.png in Resources */,
+                               7E7966E11810823500FA85AD /* icon-50@2x.png in Resources */,
+                               7E7966E51810823500FA85AD /* icon-76@2x.png in Resources */,
+                               30FC414916E50CA1004E6F35 /* icon-72@2x.png in Resources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+               304B58A110DAC018002A0835 /* Copy www directory */ = {
+                       isa = PBXShellScriptBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       inputPaths = (
+                       );
+                       name = "Copy www directory";
+                       outputPaths = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+                       shellPath = /bin/sh;
+                       shellScript = "cordova/lib/copy-www-build-step.sh";
+                       showEnvVarsInLog = 0;
+               };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+               1D60588E0D05DD3D006BFB54 /* Sources */ = {
+                       isa = PBXSourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               1D60589B0D05DD56006BFB54 /* main.m in Sources */,
+                               1D3623260D0F684500981E51 /* AppDelegate.m in Sources */,
+                               302D95F114D2391D003F00A1 /* MainViewController.m in Sources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+               301BF551109A68C00062928A /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       name = CordovaLib;
+                       targetProxy = 301BF550109A68C00062928A /* PBXContainerItemProxy */;
+               };
+/* End PBXTargetDependency section */
+
+/* Begin XCBuildConfiguration section */
+               1D6058940D05DD3E006BFB54 /* Debug */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               ALWAYS_SEARCH_USER_PATHS = NO;
+                               CLANG_ENABLE_OBJC_ARC = YES;
+                               COPY_PHASE_STRIP = NO;
+                               GCC_DYNAMIC_NO_PIC = NO;
+                               GCC_OPTIMIZATION_LEVEL = 0;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = "HelloCordova/HelloCordova-Prefix.pch";
+                               GCC_THUMB_SUPPORT = NO;
+                               GCC_VERSION = "";
+                               INFOPLIST_FILE = "HelloCordova/HelloCordova-Info.plist";
+                               IPHONEOS_DEPLOYMENT_TARGET = 6.0;
+                               OTHER_LDFLAGS = (
+                                       "-weak_framework",
+                                       CoreFoundation,
+                                       "-weak_framework",
+                                       UIKit,
+                                       "-weak_framework",
+                                       AVFoundation,
+                                       "-weak_framework",
+                                       CoreMedia,
+                                       "-weak-lSystem",
+                                       "-ObjC",
+                               );
+                               PRODUCT_NAME = "HelloCordova";
+                               TARGETED_DEVICE_FAMILY = "1";
+                       };
+                       name = Debug;
+               };
+               1D6058950D05DD3E006BFB54 /* Release */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               ALWAYS_SEARCH_USER_PATHS = NO;
+                               CLANG_ENABLE_OBJC_ARC = YES;
+                               COPY_PHASE_STRIP = YES;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = "HelloCordova/HelloCordova-Prefix.pch";
+                               GCC_THUMB_SUPPORT = NO;
+                               GCC_VERSION = "";
+                               INFOPLIST_FILE = "HelloCordova/HelloCordova-Info.plist";
+                               IPHONEOS_DEPLOYMENT_TARGET = 6.0;
+                               OTHER_LDFLAGS = (
+                                       "-weak_framework",
+                                       CoreFoundation,
+                                       "-weak_framework",
+                                       UIKit,
+                                       "-weak_framework",
+                                       AVFoundation,
+                                       "-weak_framework",
+                                       CoreMedia,
+                                       "-weak-lSystem",
+                                       "-ObjC",
+                               );
+                               PRODUCT_NAME = "HelloCordova";
+                               TARGETED_DEVICE_FAMILY = "1,2";
+                       };
+                       name = Release;
+               };
+               C01FCF4F08A954540054247B /* Debug */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               CLANG_ENABLE_OBJC_ARC = YES;
+                               CLANG_WARN_BOOL_CONVERSION = YES;
+                               CLANG_WARN_CONSTANT_CONVERSION = YES;
+                               CLANG_WARN_EMPTY_BODY = YES;
+                               CLANG_WARN_ENUM_CONVERSION = YES;
+                               CLANG_WARN_INT_CONVERSION = YES;
+                               CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+                               GCC_C_LANGUAGE_STANDARD = c99;
+                               GCC_THUMB_SUPPORT = NO;
+                               GCC_VERSION = "";
+                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
+                               GCC_WARN_UNDECLARED_SELECTOR = YES;
+                               GCC_WARN_UNINITIALIZED_AUTOS = YES;
+                               GCC_WARN_UNUSED_FUNCTION = YES;
+                               GCC_WARN_UNUSED_VARIABLE = YES;
+                               HEADER_SEARCH_PATHS = (
+                                       "\"$(TARGET_BUILD_DIR)/usr/local/lib/include\"",
+                                       "\"$(OBJROOT)/UninstalledProducts/include\"",
+                                       "\"$(BUILT_PRODUCTS_DIR)\"",
+                               );
+                               IPHONEOS_DEPLOYMENT_TARGET = 6.0;
+                               ONLY_ACTIVE_ARCH = YES;
+                               OTHER_LDFLAGS = (
+                                       "-weak_framework",
+                                       CoreFoundation,
+                                       "-weak_framework",
+                                       UIKit,
+                                       "-weak_framework",
+                                       AVFoundation,
+                                       "-weak_framework",
+                                       CoreMedia,
+                                       "-weak-lSystem",
+                                       "-ObjC",
+                               );
+                               SDKROOT = iphoneos;
+                               SKIP_INSTALL = NO;
+                               USER_HEADER_SEARCH_PATHS = "";
+                       };
+                       name = Debug;
+               };
+               C01FCF5008A954540054247B /* Release */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               CLANG_ENABLE_OBJC_ARC = YES;
+                               CLANG_WARN_BOOL_CONVERSION = YES;
+                               CLANG_WARN_CONSTANT_CONVERSION = YES;
+                               CLANG_WARN_EMPTY_BODY = YES;
+                               CLANG_WARN_ENUM_CONVERSION = YES;
+                               CLANG_WARN_INT_CONVERSION = YES;
+                               CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+                               GCC_C_LANGUAGE_STANDARD = c99;
+                               GCC_THUMB_SUPPORT = NO;
+                               GCC_VERSION = "";
+                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
+                               GCC_WARN_UNDECLARED_SELECTOR = YES;
+                               GCC_WARN_UNINITIALIZED_AUTOS = YES;
+                               GCC_WARN_UNUSED_FUNCTION = YES;
+                               GCC_WARN_UNUSED_VARIABLE = YES;
+                               HEADER_SEARCH_PATHS = (
+                                       "\"$(TARGET_BUILD_DIR)/usr/local/lib/include\"",
+                                       "\"$(OBJROOT)/UninstalledProducts/include\"",
+                                       "\"$(BUILT_PRODUCTS_DIR)\"",
+                               );
+                               IPHONEOS_DEPLOYMENT_TARGET = 6.0;
+                               OTHER_LDFLAGS = (
+                                       "-weak_framework",
+                                       CoreFoundation,
+                                       "-weak_framework",
+                                       UIKit,
+                                       "-weak_framework",
+                                       AVFoundation,
+                                       "-weak_framework",
+                                       CoreMedia,
+                                       "-weak-lSystem",
+                                       "-ObjC",
+                               );
+                               SDKROOT = iphoneos;
+                               SKIP_INSTALL = NO;
+                               USER_HEADER_SEARCH_PATHS = "";
+                       };
+                       name = Release;
+               };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+               1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "HelloCordova" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               1D6058940D05DD3E006BFB54 /* Debug */,
+                               1D6058950D05DD3E006BFB54 /* Release */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Release;
+               };
+               C01FCF4E08A954540054247B /* Build configuration list for PBXProject "__CLI__" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               C01FCF4F08A954540054247B /* Debug */,
+                               C01FCF5008A954540054247B /* Release */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Release;
+               };
+/* End XCConfigurationList section */
+       };
+       rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
+}
diff --git a/test/parser/projects/expected/with_omit_empty_values_enabled_expected.pbxproj b/test/parser/projects/expected/with_omit_empty_values_enabled_expected.pbxproj
new file mode 100644 (file)
index 0000000..4fd30d0
--- /dev/null
@@ -0,0 +1,581 @@
+// !$*UTF8*$!
+{
+       archiveVersion = 1;
+       classes = {
+       };
+       objectVersion = 46;
+       objects = {
+/* Begin PBXBuildFile section */
+               1D3623260D0F684500981E51 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* AppDelegate.m */; };
+               1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; };
+               288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; };
+               301BF552109A68D80062928A /* libCordova.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 301BF535109A57CC0062928A /* libCordova.a */; };
+               302D95F114D2391D003F00A1 /* MainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 302D95EF14D2391D003F00A1 /* MainViewController.m */; };
+               302D95F214D2391D003F00A1 /* MainViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 302D95F014D2391D003F00A1 /* MainViewController.xib */; };
+               305D5FD1115AB8F900A74A75 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 305D5FD0115AB8F900A74A75 /* MobileCoreServices.framework */; };
+               3088BBBD154F3926009F9C59 /* Default-Landscape@2x~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 3088BBB7154F3926009F9C59 /* Default-Landscape@2x~ipad.png */; };
+               3088BBBE154F3926009F9C59 /* Default-Landscape~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 3088BBB8154F3926009F9C59 /* Default-Landscape~ipad.png */; };
+               3088BBBF154F3926009F9C59 /* Default-Portrait@2x~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 3088BBB9154F3926009F9C59 /* Default-Portrait@2x~ipad.png */; };
+               3088BBC0154F3926009F9C59 /* Default-Portrait~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 3088BBBA154F3926009F9C59 /* Default-Portrait~ipad.png */; };
+               3088BBC1154F3926009F9C59 /* Default@2x~iphone.png in Resources */ = {isa = PBXBuildFile; fileRef = 3088BBBB154F3926009F9C59 /* Default@2x~iphone.png */; };
+               3088BBC2154F3926009F9C59 /* Default~iphone.png in Resources */ = {isa = PBXBuildFile; fileRef = 3088BBBC154F3926009F9C59 /* Default~iphone.png */; };
+               308D05371370CCF300D202BF /* icon-72.png in Resources */ = {isa = PBXBuildFile; fileRef = 308D052E1370CCF300D202BF /* icon-72.png */; };
+               308D05381370CCF300D202BF /* icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 308D052F1370CCF300D202BF /* icon.png */; };
+               308D05391370CCF300D202BF /* icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 308D05301370CCF300D202BF /* icon@2x.png */; };
+               30B4F30019D5E07200D9F7D8 /* Default-667h.png in Resources */ = {isa = PBXBuildFile; fileRef = 30B4F2FD19D5E07200D9F7D8 /* Default-667h.png */; };
+               30B4F30119D5E07200D9F7D8 /* Default-736h.png in Resources */ = {isa = PBXBuildFile; fileRef = 30B4F2FE19D5E07200D9F7D8 /* Default-736h.png */; };
+               30B4F30219D5E07200D9F7D8 /* Default-Landscape-736h.png in Resources */ = {isa = PBXBuildFile; fileRef = 30B4F2FF19D5E07200D9F7D8 /* Default-Landscape-736h.png */; };
+               30C1856619D5FC0A00212699 /* icon-60@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 30C1856519D5FC0A00212699 /* icon-60@3x.png */; };
+               30FC414916E50CA1004E6F35 /* icon-72@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 30FC414816E50CA1004E6F35 /* icon-72@2x.png */; };
+               5B1594DD16A7569C00FEF299 /* AssetsLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5B1594DC16A7569C00FEF299 /* AssetsLibrary.framework */; };
+               7E7966DE1810823500FA85AD /* icon-40.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966D41810823500FA85AD /* icon-40.png */; };
+               7E7966DF1810823500FA85AD /* icon-40@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966D51810823500FA85AD /* icon-40@2x.png */; };
+               7E7966E01810823500FA85AD /* icon-50.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966D61810823500FA85AD /* icon-50.png */; };
+               7E7966E11810823500FA85AD /* icon-50@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966D71810823500FA85AD /* icon-50@2x.png */; };
+               7E7966E21810823500FA85AD /* icon-60.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966D81810823500FA85AD /* icon-60.png */; };
+               7E7966E31810823500FA85AD /* icon-60@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966D91810823500FA85AD /* icon-60@2x.png */; };
+               7E7966E41810823500FA85AD /* icon-76.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966DA1810823500FA85AD /* icon-76.png */; };
+               7E7966E51810823500FA85AD /* icon-76@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966DB1810823500FA85AD /* icon-76@2x.png */; };
+               7E7966E61810823500FA85AD /* icon-small.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966DC1810823500FA85AD /* icon-small.png */; };
+               7E7966E71810823500FA85AD /* icon-small@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966DD1810823500FA85AD /* icon-small@2x.png */; };
+               D4A0D8761607E02300AEF8BB /* Default-568h@2x~iphone.png in Resources */ = {isa = PBXBuildFile; fileRef = D4A0D8751607E02300AEF8BB /* Default-568h@2x~iphone.png */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+               301BF534109A57CC0062928A /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 301BF52D109A57CC0062928A /* CordovaLib.xcodeproj */;
+                       proxyType = 2;
+                       remoteGlobalIDString = D2AAC07E0554694100DB518D;
+                       remoteInfo = CordovaLib;
+               };
+               301BF550109A68C00062928A /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 301BF52D109A57CC0062928A /* CordovaLib.xcodeproj */;
+                       proxyType = 1;
+                       remoteGlobalIDString = D2AAC07D0554694100DB518D;
+                       remoteInfo = CordovaLib;
+               };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+               1D3623240D0F684500981E51 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
+               1D3623250D0F684500981E51 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
+               1D6058910D05DD3D006BFB54 /* HelloCordova.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "HelloCordova.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+               1F766FDD13BBADB100FB74C0 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = Localizable.strings; sourceTree = "<group>"; };
+               1F766FE013BBADB100FB74C0 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = Localizable.strings; sourceTree = "<group>"; };
+               288765FC0DF74451002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+               29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+               301BF52D109A57CC0062928A /* CordovaLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = CordovaLib.xcodeproj; path = "CordovaLib/CordovaLib.xcodeproj"; sourceTree = "<group>"; };
+               301BF56E109A69640062928A /* www */ = {isa = PBXFileReference; lastKnownFileType = folder; path = www; sourceTree = SOURCE_ROOT; };
+               302D95EE14D2391D003F00A1 /* MainViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MainViewController.h; sourceTree = "<group>"; };
+               302D95EF14D2391D003F00A1 /* MainViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MainViewController.m; sourceTree = "<group>"; };
+               302D95F014D2391D003F00A1 /* MainViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MainViewController.xib; sourceTree = "<group>"; };
+               305D5FD0115AB8F900A74A75 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; };
+               3088BBB7154F3926009F9C59 /* Default-Landscape@2x~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-Landscape@2x~ipad.png"; sourceTree = "<group>"; };
+               3088BBB8154F3926009F9C59 /* Default-Landscape~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-Landscape~ipad.png"; sourceTree = "<group>"; };
+               3088BBB9154F3926009F9C59 /* Default-Portrait@2x~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-Portrait@2x~ipad.png"; sourceTree = "<group>"; };
+               3088BBBA154F3926009F9C59 /* Default-Portrait~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-Portrait~ipad.png"; sourceTree = "<group>"; };
+               3088BBBB154F3926009F9C59 /* Default@2x~iphone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x~iphone.png"; sourceTree = "<group>"; };
+               3088BBBC154F3926009F9C59 /* Default~iphone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default~iphone.png"; sourceTree = "<group>"; };
+               308D052E1370CCF300D202BF /* icon-72.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-72.png"; sourceTree = "<group>"; };
+               308D052F1370CCF300D202BF /* icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icon.png; sourceTree = "<group>"; };
+               308D05301370CCF300D202BF /* icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon@2x.png"; sourceTree = "<group>"; };
+               30B4F2FD19D5E07200D9F7D8 /* Default-667h.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-667h.png"; sourceTree = "<group>"; };
+               30B4F2FE19D5E07200D9F7D8 /* Default-736h.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-736h.png"; sourceTree = "<group>"; };
+               30B4F2FF19D5E07200D9F7D8 /* Default-Landscape-736h.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-Landscape-736h.png"; sourceTree = "<group>"; };
+               30C1856519D5FC0A00212699 /* icon-60@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-60@3x.png"; sourceTree = "<group>"; };
+               30FC414816E50CA1004E6F35 /* icon-72@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-72@2x.png"; sourceTree = "<group>"; };
+               32CA4F630368D1EE00C91783 /* HelloCordova-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "HelloCordova-Prefix.pch"; sourceTree = "<group>"; };
+               5B1594DC16A7569C00FEF299 /* AssetsLibrary.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AssetsLibrary.framework; path = System/Library/Frameworks/AssetsLibrary.framework; sourceTree = SDKROOT; };
+               7E7966D41810823500FA85AD /* icon-40.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-40.png"; sourceTree = "<group>"; };
+               7E7966D51810823500FA85AD /* icon-40@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-40@2x.png"; sourceTree = "<group>"; };
+               7E7966D61810823500FA85AD /* icon-50.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-50.png"; sourceTree = "<group>"; };
+               7E7966D71810823500FA85AD /* icon-50@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-50@2x.png"; sourceTree = "<group>"; };
+               7E7966D81810823500FA85AD /* icon-60.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-60.png"; sourceTree = "<group>"; };
+               7E7966D91810823500FA85AD /* icon-60@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-60@2x.png"; sourceTree = "<group>"; };
+               7E7966DA1810823500FA85AD /* icon-76.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-76.png"; sourceTree = "<group>"; };
+               7E7966DB1810823500FA85AD /* icon-76@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-76@2x.png"; sourceTree = "<group>"; };
+               7E7966DC1810823500FA85AD /* icon-small.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-small.png"; sourceTree = "<group>"; };
+               7E7966DD1810823500FA85AD /* icon-small@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-small@2x.png"; sourceTree = "<group>"; };
+               8D1107310486CEB800E47090 /* HelloCordova-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "HelloCordova-Info.plist"; path = "../HelloCordova-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = "<group>"; };
+               D4A0D8751607E02300AEF8BB /* Default-568h@2x~iphone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x~iphone.png"; sourceTree = "<group>"; };
+               EB87FDF21871DA7A0020F90C /* merges */ = {isa = PBXFileReference; lastKnownFileType = folder; name = merges; path = ../../merges; sourceTree = "<group>"; };
+               EB87FDF31871DA8E0020F90C /* www */ = {isa = PBXFileReference; lastKnownFileType = folder; name = www; path = ../../www; sourceTree = "<group>"; };
+               EB87FDF41871DAF40020F90C /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = config.xml; path = ../../config.xml; sourceTree = "<group>"; };
+               F840E1F0165FE0F500CFE078 /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = config.xml; path = "HelloCordova/config.xml"; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+               1D60588F0D05DD3D006BFB54 /* Frameworks */ = {
+                       isa = PBXFrameworksBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               5B1594DD16A7569C00FEF299 /* AssetsLibrary.framework in Frameworks */,
+                               301BF552109A68D80062928A /* libCordova.a in Frameworks */,
+                               288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */,
+                               305D5FD1115AB8F900A74A75 /* MobileCoreServices.framework in Frameworks */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+               080E96DDFE201D6D7F000001 /* Classes */ = {
+                       isa = PBXGroup;
+                       children = (
+                               302D95EE14D2391D003F00A1 /* MainViewController.h */,
+                               302D95EF14D2391D003F00A1 /* MainViewController.m */,
+                               302D95F014D2391D003F00A1 /* MainViewController.xib */,
+                               1D3623240D0F684500981E51 /* AppDelegate.h */,
+                               1D3623250D0F684500981E51 /* AppDelegate.m */,
+                       );
+                       name = Classes;
+                       path = "HelloCordova/Classes";
+                       sourceTree = SOURCE_ROOT;
+               };
+               19C28FACFE9D520D11CA2CBB /* Products */ = {
+                       isa = PBXGroup;
+                       children = (
+                               1D6058910D05DD3D006BFB54 /* HelloCordova.app */,
+                       );
+                       name = Products;
+                       sourceTree = "<group>";
+               };
+               29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
+                       isa = PBXGroup;
+                       children = (
+                               EB87FDF41871DAF40020F90C /* config.xml */,
+                               EB87FDF31871DA8E0020F90C /* www */,
+                               EB87FDF21871DA7A0020F90C /* merges */,
+                               EB87FDF11871DA420020F90C /* Staging */,
+                               301BF52D109A57CC0062928A /* CordovaLib.xcodeproj */,
+                               080E96DDFE201D6D7F000001 /* Classes */,
+                               307C750510C5A3420062BCA9 /* Plugins */,
+                               29B97315FDCFA39411CA2CEA /* Other Sources */,
+                               29B97317FDCFA39411CA2CEA /* Resources */,
+                               29B97323FDCFA39411CA2CEA /* Frameworks */,
+                               19C28FACFE9D520D11CA2CBB /* Products */,
+                       );
+                       name = CustomTemplate;
+                       sourceTree = "<group>";
+               };
+               29B97315FDCFA39411CA2CEA /* Other Sources */ = {
+                       isa = PBXGroup;
+                       children = (
+                               32CA4F630368D1EE00C91783 /* HelloCordova-Prefix.pch */,
+                               29B97316FDCFA39411CA2CEA /* main.m */,
+                       );
+                       name = "Other Sources";
+                       path = "HelloCordova";
+                       sourceTree = "<group>";
+               };
+               29B97317FDCFA39411CA2CEA /* Resources */ = {
+                       isa = PBXGroup;
+                       children = (
+                               308D052D1370CCF300D202BF /* icons */,
+                               308D05311370CCF300D202BF /* splash */,
+                               8D1107310486CEB800E47090 /* HelloCordova-Info.plist */,
+                       );
+                       name = Resources;
+                       path = "HelloCordova/Resources";
+                       sourceTree = "<group>";
+               };
+               29B97323FDCFA39411CA2CEA /* Frameworks */ = {
+                       isa = PBXGroup;
+                       children = (
+                               5B1594DC16A7569C00FEF299 /* AssetsLibrary.framework */,
+                               288765FC0DF74451002DB57D /* CoreGraphics.framework */,
+                               305D5FD0115AB8F900A74A75 /* MobileCoreServices.framework */,
+                       );
+                       name = Frameworks;
+                       sourceTree = "<group>";
+               };
+               301BF52E109A57CC0062928A /* Products */ = {
+                       isa = PBXGroup;
+                       children = (
+                               301BF535109A57CC0062928A /* libCordova.a */,
+                       );
+                       name = Products;
+                       sourceTree = "<group>";
+               };
+               307C750510C5A3420062BCA9 /* Plugins */ = {
+                       isa = PBXGroup;
+                       children = (
+                       );
+                       name = Plugins;
+                       path = "HelloCordova/Plugins";
+                       sourceTree = SOURCE_ROOT;
+               };
+               308D052D1370CCF300D202BF /* icons */ = {
+                       isa = PBXGroup;
+                       children = (
+                               30C1856519D5FC0A00212699 /* icon-60@3x.png */,
+                               7E7966D41810823500FA85AD /* icon-40.png */,
+                               7E7966D51810823500FA85AD /* icon-40@2x.png */,
+                               7E7966D61810823500FA85AD /* icon-50.png */,
+                               7E7966D71810823500FA85AD /* icon-50@2x.png */,
+                               7E7966D81810823500FA85AD /* icon-60.png */,
+                               7E7966D91810823500FA85AD /* icon-60@2x.png */,
+                               7E7966DA1810823500FA85AD /* icon-76.png */,
+                               7E7966DB1810823500FA85AD /* icon-76@2x.png */,
+                               7E7966DC1810823500FA85AD /* icon-small.png */,
+                               7E7966DD1810823500FA85AD /* icon-small@2x.png */,
+                               30FC414816E50CA1004E6F35 /* icon-72@2x.png */,
+                               308D052E1370CCF300D202BF /* icon-72.png */,
+                               308D052F1370CCF300D202BF /* icon.png */,
+                               308D05301370CCF300D202BF /* icon@2x.png */,
+                       );
+                       path = icons;
+                       sourceTree = "<group>";
+               };
+               308D05311370CCF300D202BF /* splash */ = {
+                       isa = PBXGroup;
+                       children = (
+                               30B4F2FD19D5E07200D9F7D8 /* Default-667h.png */,
+                               30B4F2FE19D5E07200D9F7D8 /* Default-736h.png */,
+                               30B4F2FF19D5E07200D9F7D8 /* Default-Landscape-736h.png */,
+                               D4A0D8751607E02300AEF8BB /* Default-568h@2x~iphone.png */,
+                               3088BBB7154F3926009F9C59 /* Default-Landscape@2x~ipad.png */,
+                               3088BBB8154F3926009F9C59 /* Default-Landscape~ipad.png */,
+                               3088BBB9154F3926009F9C59 /* Default-Portrait@2x~ipad.png */,
+                               3088BBBA154F3926009F9C59 /* Default-Portrait~ipad.png */,
+                               3088BBBB154F3926009F9C59 /* Default@2x~iphone.png */,
+                               3088BBBC154F3926009F9C59 /* Default~iphone.png */,
+                       );
+                       path = splash;
+                       sourceTree = "<group>";
+               };
+               EB87FDF11871DA420020F90C /* Staging */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F840E1F0165FE0F500CFE078 /* config.xml */,
+                               301BF56E109A69640062928A /* www */,
+                       );
+                       name = Staging;
+                       sourceTree = "<group>";
+               };
+               CUSTOM_GROUP_UUID_REPLACED_BY_TEST /* CustomGroup */ = {
+                       isa = PBXGroup;
+                       children = (
+                       );
+                       name = CustomGroup;
+                       sourceTree = "<group>";
+               };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+               1D6058900D05DD3D006BFB54 /* HelloCordova */ = {
+                       isa = PBXNativeTarget;
+                       buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "HelloCordova" */;
+                       buildPhases = (
+                               304B58A110DAC018002A0835 /* Copy www directory */,
+                               1D60588D0D05DD3D006BFB54 /* Resources */,
+                               1D60588E0D05DD3D006BFB54 /* Sources */,
+                               1D60588F0D05DD3D006BFB54 /* Frameworks */,
+                       );
+                       buildRules = (
+                       );
+                       dependencies = (
+                               301BF551109A68C00062928A /* PBXTargetDependency */,
+                       );
+                       name = "HelloCordova";
+                       productName = "HelloCordova";
+                       productReference = 1D6058910D05DD3D006BFB54 /* HelloCordova.app */;
+                       productType = "com.apple.product-type.application";
+               };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+               29B97313FDCFA39411CA2CEA /* Project object */ = {
+                       isa = PBXProject;
+                       attributes = {
+                               LastUpgradeCheck = 510;
+                       };
+                       buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "__CLI__" */;
+                       compatibilityVersion = "Xcode 3.2";
+                       developmentRegion = English;
+                       hasScannedForEncodings = 1;
+                       knownRegions = (
+                               English,
+                               Japanese,
+                               French,
+                               German,
+                               en,
+                               es,
+                               de,
+                               se,
+                       );
+                       mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
+                       projectDirPath = "";
+                       projectReferences = (
+                               {
+                                       ProductGroup = 301BF52E109A57CC0062928A /* Products */;
+                                       ProjectRef = 301BF52D109A57CC0062928A /* CordovaLib.xcodeproj */;
+                               },
+                       );
+                       projectRoot = "";
+                       targets = (
+                               1D6058900D05DD3D006BFB54 /* HelloCordova */,
+                       );
+               };
+/* End PBXProject section */
+
+/* Begin PBXReferenceProxy section */
+               301BF535109A57CC0062928A /* libCordova.a */ = {
+                       isa = PBXReferenceProxy;
+                       fileType = archive.ar;
+                       path = libCordova.a;
+                       remoteRef = 301BF534109A57CC0062928A /* PBXContainerItemProxy */;
+                       sourceTree = BUILT_PRODUCTS_DIR;
+               };
+/* End PBXReferenceProxy section */
+
+/* Begin PBXResourcesBuildPhase section */
+               1D60588D0D05DD3D006BFB54 /* Resources */ = {
+                       isa = PBXResourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               7E7966E41810823500FA85AD /* icon-76.png in Resources */,
+                               7E7966DF1810823500FA85AD /* icon-40@2x.png in Resources */,
+                               308D05371370CCF300D202BF /* icon-72.png in Resources */,
+                               30B4F30119D5E07200D9F7D8 /* Default-736h.png in Resources */,
+                               308D05381370CCF300D202BF /* icon.png in Resources */,
+                               308D05391370CCF300D202BF /* icon@2x.png in Resources */,
+                               302D95F214D2391D003F00A1 /* MainViewController.xib in Resources */,
+                               7E7966E01810823500FA85AD /* icon-50.png in Resources */,
+                               7E7966E31810823500FA85AD /* icon-60@2x.png in Resources */,
+                               7E7966E61810823500FA85AD /* icon-small.png in Resources */,
+                               3088BBBD154F3926009F9C59 /* Default-Landscape@2x~ipad.png in Resources */,
+                               3088BBBE154F3926009F9C59 /* Default-Landscape~ipad.png in Resources */,
+                               3088BBBF154F3926009F9C59 /* Default-Portrait@2x~ipad.png in Resources */,
+                               7E7966E71810823500FA85AD /* icon-small@2x.png in Resources */,
+                               3088BBC0154F3926009F9C59 /* Default-Portrait~ipad.png in Resources */,
+                               30B4F30019D5E07200D9F7D8 /* Default-667h.png in Resources */,
+                               7E7966DE1810823500FA85AD /* icon-40.png in Resources */,
+                               3088BBC1154F3926009F9C59 /* Default@2x~iphone.png in Resources */,
+                               7E7966E21810823500FA85AD /* icon-60.png in Resources */,
+                               3088BBC2154F3926009F9C59 /* Default~iphone.png in Resources */,
+                               D4A0D8761607E02300AEF8BB /* Default-568h@2x~iphone.png in Resources */,
+                               30B4F30219D5E07200D9F7D8 /* Default-Landscape-736h.png in Resources */,
+                               30C1856619D5FC0A00212699 /* icon-60@3x.png in Resources */,
+                               7E7966E11810823500FA85AD /* icon-50@2x.png in Resources */,
+                               7E7966E51810823500FA85AD /* icon-76@2x.png in Resources */,
+                               30FC414916E50CA1004E6F35 /* icon-72@2x.png in Resources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+               304B58A110DAC018002A0835 /* Copy www directory */ = {
+                       isa = PBXShellScriptBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       inputPaths = (
+                       );
+                       name = "Copy www directory";
+                       outputPaths = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+                       shellPath = /bin/sh;
+                       shellScript = "cordova/lib/copy-www-build-step.sh";
+                       showEnvVarsInLog = 0;
+               };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+               1D60588E0D05DD3D006BFB54 /* Sources */ = {
+                       isa = PBXSourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               1D60589B0D05DD56006BFB54 /* main.m in Sources */,
+                               1D3623260D0F684500981E51 /* AppDelegate.m in Sources */,
+                               302D95F114D2391D003F00A1 /* MainViewController.m in Sources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+               301BF551109A68C00062928A /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       name = CordovaLib;
+                       targetProxy = 301BF550109A68C00062928A /* PBXContainerItemProxy */;
+               };
+/* End PBXTargetDependency section */
+
+/* Begin XCBuildConfiguration section */
+               1D6058940D05DD3E006BFB54 /* Debug */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               ALWAYS_SEARCH_USER_PATHS = NO;
+                               CLANG_ENABLE_OBJC_ARC = YES;
+                               COPY_PHASE_STRIP = NO;
+                               GCC_DYNAMIC_NO_PIC = NO;
+                               GCC_OPTIMIZATION_LEVEL = 0;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = "HelloCordova/HelloCordova-Prefix.pch";
+                               GCC_THUMB_SUPPORT = NO;
+                               GCC_VERSION = "";
+                               INFOPLIST_FILE = "HelloCordova/HelloCordova-Info.plist";
+                               IPHONEOS_DEPLOYMENT_TARGET = 6.0;
+                               OTHER_LDFLAGS = (
+                                       "-weak_framework",
+                                       CoreFoundation,
+                                       "-weak_framework",
+                                       UIKit,
+                                       "-weak_framework",
+                                       AVFoundation,
+                                       "-weak_framework",
+                                       CoreMedia,
+                                       "-weak-lSystem",
+                                       "-ObjC",
+                               );
+                               PRODUCT_NAME = "HelloCordova";
+                               TARGETED_DEVICE_FAMILY = "1";
+                       };
+                       name = Debug;
+               };
+               1D6058950D05DD3E006BFB54 /* Release */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               ALWAYS_SEARCH_USER_PATHS = NO;
+                               CLANG_ENABLE_OBJC_ARC = YES;
+                               COPY_PHASE_STRIP = YES;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = "HelloCordova/HelloCordova-Prefix.pch";
+                               GCC_THUMB_SUPPORT = NO;
+                               GCC_VERSION = "";
+                               INFOPLIST_FILE = "HelloCordova/HelloCordova-Info.plist";
+                               IPHONEOS_DEPLOYMENT_TARGET = 6.0;
+                               OTHER_LDFLAGS = (
+                                       "-weak_framework",
+                                       CoreFoundation,
+                                       "-weak_framework",
+                                       UIKit,
+                                       "-weak_framework",
+                                       AVFoundation,
+                                       "-weak_framework",
+                                       CoreMedia,
+                                       "-weak-lSystem",
+                                       "-ObjC",
+                               );
+                               PRODUCT_NAME = "HelloCordova";
+                               TARGETED_DEVICE_FAMILY = "1,2";
+                       };
+                       name = Release;
+               };
+               C01FCF4F08A954540054247B /* Debug */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               CLANG_ENABLE_OBJC_ARC = YES;
+                               CLANG_WARN_BOOL_CONVERSION = YES;
+                               CLANG_WARN_CONSTANT_CONVERSION = YES;
+                               CLANG_WARN_EMPTY_BODY = YES;
+                               CLANG_WARN_ENUM_CONVERSION = YES;
+                               CLANG_WARN_INT_CONVERSION = YES;
+                               CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+                               GCC_C_LANGUAGE_STANDARD = c99;
+                               GCC_THUMB_SUPPORT = NO;
+                               GCC_VERSION = "";
+                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
+                               GCC_WARN_UNDECLARED_SELECTOR = YES;
+                               GCC_WARN_UNINITIALIZED_AUTOS = YES;
+                               GCC_WARN_UNUSED_FUNCTION = YES;
+                               GCC_WARN_UNUSED_VARIABLE = YES;
+                               HEADER_SEARCH_PATHS = (
+                                       "\"$(TARGET_BUILD_DIR)/usr/local/lib/include\"",
+                                       "\"$(OBJROOT)/UninstalledProducts/include\"",
+                                       "\"$(BUILT_PRODUCTS_DIR)\"",
+                               );
+                               IPHONEOS_DEPLOYMENT_TARGET = 6.0;
+                               ONLY_ACTIVE_ARCH = YES;
+                               OTHER_LDFLAGS = (
+                                       "-weak_framework",
+                                       CoreFoundation,
+                                       "-weak_framework",
+                                       UIKit,
+                                       "-weak_framework",
+                                       AVFoundation,
+                                       "-weak_framework",
+                                       CoreMedia,
+                                       "-weak-lSystem",
+                                       "-ObjC",
+                               );
+                               SDKROOT = iphoneos;
+                               SKIP_INSTALL = NO;
+                               USER_HEADER_SEARCH_PATHS = "";
+                       };
+                       name = Debug;
+               };
+               C01FCF5008A954540054247B /* Release */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               CLANG_ENABLE_OBJC_ARC = YES;
+                               CLANG_WARN_BOOL_CONVERSION = YES;
+                               CLANG_WARN_CONSTANT_CONVERSION = YES;
+                               CLANG_WARN_EMPTY_BODY = YES;
+                               CLANG_WARN_ENUM_CONVERSION = YES;
+                               CLANG_WARN_INT_CONVERSION = YES;
+                               CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+                               GCC_C_LANGUAGE_STANDARD = c99;
+                               GCC_THUMB_SUPPORT = NO;
+                               GCC_VERSION = "";
+                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
+                               GCC_WARN_UNDECLARED_SELECTOR = YES;
+                               GCC_WARN_UNINITIALIZED_AUTOS = YES;
+                               GCC_WARN_UNUSED_FUNCTION = YES;
+                               GCC_WARN_UNUSED_VARIABLE = YES;
+                               HEADER_SEARCH_PATHS = (
+                                       "\"$(TARGET_BUILD_DIR)/usr/local/lib/include\"",
+                                       "\"$(OBJROOT)/UninstalledProducts/include\"",
+                                       "\"$(BUILT_PRODUCTS_DIR)\"",
+                               );
+                               IPHONEOS_DEPLOYMENT_TARGET = 6.0;
+                               OTHER_LDFLAGS = (
+                                       "-weak_framework",
+                                       CoreFoundation,
+                                       "-weak_framework",
+                                       UIKit,
+                                       "-weak_framework",
+                                       AVFoundation,
+                                       "-weak_framework",
+                                       CoreMedia,
+                                       "-weak-lSystem",
+                                       "-ObjC",
+                               );
+                               SDKROOT = iphoneos;
+                               SKIP_INSTALL = NO;
+                               USER_HEADER_SEARCH_PATHS = "";
+                       };
+                       name = Release;
+               };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+               1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "HelloCordova" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               1D6058940D05DD3E006BFB54 /* Debug */,
+                               1D6058950D05DD3E006BFB54 /* Release */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Release;
+               };
+               C01FCF4E08A954540054247B /* Build configuration list for PBXProject "__CLI__" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               C01FCF4F08A954540054247B /* Debug */,
+                               C01FCF5008A954540054247B /* Release */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Release;
+               };
+/* End XCConfigurationList section */
+       };
+       rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
+}
diff --git a/test/parser/projects/with_omit_empty_values_disabled.pbxproj b/test/parser/projects/with_omit_empty_values_disabled.pbxproj
new file mode 100644 (file)
index 0000000..eaa1421
--- /dev/null
@@ -0,0 +1,574 @@
+// !$*UTF8*$!
+{
+       archiveVersion = 1;
+       classes = {
+       };
+       objectVersion = 46;
+       objects = {
+/* Begin PBXBuildFile section */
+               1D3623260D0F684500981E51 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* AppDelegate.m */; };
+               1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; };
+               288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; };
+               301BF552109A68D80062928A /* libCordova.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 301BF535109A57CC0062928A /* libCordova.a */; };
+               302D95F114D2391D003F00A1 /* MainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 302D95EF14D2391D003F00A1 /* MainViewController.m */; };
+               302D95F214D2391D003F00A1 /* MainViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 302D95F014D2391D003F00A1 /* MainViewController.xib */; };
+               305D5FD1115AB8F900A74A75 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 305D5FD0115AB8F900A74A75 /* MobileCoreServices.framework */; };
+               3088BBBD154F3926009F9C59 /* Default-Landscape@2x~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 3088BBB7154F3926009F9C59 /* Default-Landscape@2x~ipad.png */; };
+               3088BBBE154F3926009F9C59 /* Default-Landscape~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 3088BBB8154F3926009F9C59 /* Default-Landscape~ipad.png */; };
+               3088BBBF154F3926009F9C59 /* Default-Portrait@2x~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 3088BBB9154F3926009F9C59 /* Default-Portrait@2x~ipad.png */; };
+               3088BBC0154F3926009F9C59 /* Default-Portrait~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 3088BBBA154F3926009F9C59 /* Default-Portrait~ipad.png */; };
+               3088BBC1154F3926009F9C59 /* Default@2x~iphone.png in Resources */ = {isa = PBXBuildFile; fileRef = 3088BBBB154F3926009F9C59 /* Default@2x~iphone.png */; };
+               3088BBC2154F3926009F9C59 /* Default~iphone.png in Resources */ = {isa = PBXBuildFile; fileRef = 3088BBBC154F3926009F9C59 /* Default~iphone.png */; };
+               308D05371370CCF300D202BF /* icon-72.png in Resources */ = {isa = PBXBuildFile; fileRef = 308D052E1370CCF300D202BF /* icon-72.png */; };
+               308D05381370CCF300D202BF /* icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 308D052F1370CCF300D202BF /* icon.png */; };
+               308D05391370CCF300D202BF /* icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 308D05301370CCF300D202BF /* icon@2x.png */; };
+               30B4F30019D5E07200D9F7D8 /* Default-667h.png in Resources */ = {isa = PBXBuildFile; fileRef = 30B4F2FD19D5E07200D9F7D8 /* Default-667h.png */; };
+               30B4F30119D5E07200D9F7D8 /* Default-736h.png in Resources */ = {isa = PBXBuildFile; fileRef = 30B4F2FE19D5E07200D9F7D8 /* Default-736h.png */; };
+               30B4F30219D5E07200D9F7D8 /* Default-Landscape-736h.png in Resources */ = {isa = PBXBuildFile; fileRef = 30B4F2FF19D5E07200D9F7D8 /* Default-Landscape-736h.png */; };
+               30C1856619D5FC0A00212699 /* icon-60@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 30C1856519D5FC0A00212699 /* icon-60@3x.png */; };
+               30FC414916E50CA1004E6F35 /* icon-72@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 30FC414816E50CA1004E6F35 /* icon-72@2x.png */; };
+               5B1594DD16A7569C00FEF299 /* AssetsLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5B1594DC16A7569C00FEF299 /* AssetsLibrary.framework */; };
+               7E7966DE1810823500FA85AD /* icon-40.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966D41810823500FA85AD /* icon-40.png */; };
+               7E7966DF1810823500FA85AD /* icon-40@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966D51810823500FA85AD /* icon-40@2x.png */; };
+               7E7966E01810823500FA85AD /* icon-50.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966D61810823500FA85AD /* icon-50.png */; };
+               7E7966E11810823500FA85AD /* icon-50@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966D71810823500FA85AD /* icon-50@2x.png */; };
+               7E7966E21810823500FA85AD /* icon-60.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966D81810823500FA85AD /* icon-60.png */; };
+               7E7966E31810823500FA85AD /* icon-60@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966D91810823500FA85AD /* icon-60@2x.png */; };
+               7E7966E41810823500FA85AD /* icon-76.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966DA1810823500FA85AD /* icon-76.png */; };
+               7E7966E51810823500FA85AD /* icon-76@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966DB1810823500FA85AD /* icon-76@2x.png */; };
+               7E7966E61810823500FA85AD /* icon-small.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966DC1810823500FA85AD /* icon-small.png */; };
+               7E7966E71810823500FA85AD /* icon-small@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966DD1810823500FA85AD /* icon-small@2x.png */; };
+               D4A0D8761607E02300AEF8BB /* Default-568h@2x~iphone.png in Resources */ = {isa = PBXBuildFile; fileRef = D4A0D8751607E02300AEF8BB /* Default-568h@2x~iphone.png */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+               301BF534109A57CC0062928A /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 301BF52D109A57CC0062928A /* CordovaLib.xcodeproj */;
+                       proxyType = 2;
+                       remoteGlobalIDString = D2AAC07E0554694100DB518D;
+                       remoteInfo = CordovaLib;
+               };
+               301BF550109A68C00062928A /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 301BF52D109A57CC0062928A /* CordovaLib.xcodeproj */;
+                       proxyType = 1;
+                       remoteGlobalIDString = D2AAC07D0554694100DB518D;
+                       remoteInfo = CordovaLib;
+               };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+               1D3623240D0F684500981E51 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
+               1D3623250D0F684500981E51 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
+               1D6058910D05DD3D006BFB54 /* HelloCordova.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "HelloCordova.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+               1F766FDD13BBADB100FB74C0 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = Localizable.strings; sourceTree = "<group>"; };
+               1F766FE013BBADB100FB74C0 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = Localizable.strings; sourceTree = "<group>"; };
+               288765FC0DF74451002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+               29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+               301BF52D109A57CC0062928A /* CordovaLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = CordovaLib.xcodeproj; path = "CordovaLib/CordovaLib.xcodeproj"; sourceTree = "<group>"; };
+               301BF56E109A69640062928A /* www */ = {isa = PBXFileReference; lastKnownFileType = folder; path = www; sourceTree = SOURCE_ROOT; };
+               302D95EE14D2391D003F00A1 /* MainViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MainViewController.h; sourceTree = "<group>"; };
+               302D95EF14D2391D003F00A1 /* MainViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MainViewController.m; sourceTree = "<group>"; };
+               302D95F014D2391D003F00A1 /* MainViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MainViewController.xib; sourceTree = "<group>"; };
+               305D5FD0115AB8F900A74A75 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; };
+               3088BBB7154F3926009F9C59 /* Default-Landscape@2x~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-Landscape@2x~ipad.png"; sourceTree = "<group>"; };
+               3088BBB8154F3926009F9C59 /* Default-Landscape~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-Landscape~ipad.png"; sourceTree = "<group>"; };
+               3088BBB9154F3926009F9C59 /* Default-Portrait@2x~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-Portrait@2x~ipad.png"; sourceTree = "<group>"; };
+               3088BBBA154F3926009F9C59 /* Default-Portrait~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-Portrait~ipad.png"; sourceTree = "<group>"; };
+               3088BBBB154F3926009F9C59 /* Default@2x~iphone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x~iphone.png"; sourceTree = "<group>"; };
+               3088BBBC154F3926009F9C59 /* Default~iphone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default~iphone.png"; sourceTree = "<group>"; };
+               308D052E1370CCF300D202BF /* icon-72.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-72.png"; sourceTree = "<group>"; };
+               308D052F1370CCF300D202BF /* icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icon.png; sourceTree = "<group>"; };
+               308D05301370CCF300D202BF /* icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon@2x.png"; sourceTree = "<group>"; };
+               30B4F2FD19D5E07200D9F7D8 /* Default-667h.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-667h.png"; sourceTree = "<group>"; };
+               30B4F2FE19D5E07200D9F7D8 /* Default-736h.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-736h.png"; sourceTree = "<group>"; };
+               30B4F2FF19D5E07200D9F7D8 /* Default-Landscape-736h.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-Landscape-736h.png"; sourceTree = "<group>"; };
+               30C1856519D5FC0A00212699 /* icon-60@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-60@3x.png"; sourceTree = "<group>"; };
+               30FC414816E50CA1004E6F35 /* icon-72@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-72@2x.png"; sourceTree = "<group>"; };
+               32CA4F630368D1EE00C91783 /* HelloCordova-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "HelloCordova-Prefix.pch"; sourceTree = "<group>"; };
+               5B1594DC16A7569C00FEF299 /* AssetsLibrary.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AssetsLibrary.framework; path = System/Library/Frameworks/AssetsLibrary.framework; sourceTree = SDKROOT; };
+               7E7966D41810823500FA85AD /* icon-40.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-40.png"; sourceTree = "<group>"; };
+               7E7966D51810823500FA85AD /* icon-40@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-40@2x.png"; sourceTree = "<group>"; };
+               7E7966D61810823500FA85AD /* icon-50.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-50.png"; sourceTree = "<group>"; };
+               7E7966D71810823500FA85AD /* icon-50@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-50@2x.png"; sourceTree = "<group>"; };
+               7E7966D81810823500FA85AD /* icon-60.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-60.png"; sourceTree = "<group>"; };
+               7E7966D91810823500FA85AD /* icon-60@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-60@2x.png"; sourceTree = "<group>"; };
+               7E7966DA1810823500FA85AD /* icon-76.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-76.png"; sourceTree = "<group>"; };
+               7E7966DB1810823500FA85AD /* icon-76@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-76@2x.png"; sourceTree = "<group>"; };
+               7E7966DC1810823500FA85AD /* icon-small.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-small.png"; sourceTree = "<group>"; };
+               7E7966DD1810823500FA85AD /* icon-small@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-small@2x.png"; sourceTree = "<group>"; };
+               8D1107310486CEB800E47090 /* HelloCordova-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "HelloCordova-Info.plist"; path = "../HelloCordova-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = "<group>"; };
+               D4A0D8751607E02300AEF8BB /* Default-568h@2x~iphone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x~iphone.png"; sourceTree = "<group>"; };
+               EB87FDF21871DA7A0020F90C /* merges */ = {isa = PBXFileReference; lastKnownFileType = folder; name = merges; path = ../../merges; sourceTree = "<group>"; };
+               EB87FDF31871DA8E0020F90C /* www */ = {isa = PBXFileReference; lastKnownFileType = folder; name = www; path = ../../www; sourceTree = "<group>"; };
+               EB87FDF41871DAF40020F90C /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = config.xml; path = ../../config.xml; sourceTree = "<group>"; };
+               F840E1F0165FE0F500CFE078 /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = config.xml; path = "HelloCordova/config.xml"; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+               1D60588F0D05DD3D006BFB54 /* Frameworks */ = {
+                       isa = PBXFrameworksBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               5B1594DD16A7569C00FEF299 /* AssetsLibrary.framework in Frameworks */,
+                               301BF552109A68D80062928A /* libCordova.a in Frameworks */,
+                               288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */,
+                               305D5FD1115AB8F900A74A75 /* MobileCoreServices.framework in Frameworks */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+               080E96DDFE201D6D7F000001 /* Classes */ = {
+                       isa = PBXGroup;
+                       children = (
+                               302D95EE14D2391D003F00A1 /* MainViewController.h */,
+                               302D95EF14D2391D003F00A1 /* MainViewController.m */,
+                               302D95F014D2391D003F00A1 /* MainViewController.xib */,
+                               1D3623240D0F684500981E51 /* AppDelegate.h */,
+                               1D3623250D0F684500981E51 /* AppDelegate.m */,
+                       );
+                       name = Classes;
+                       path = "HelloCordova/Classes";
+                       sourceTree = SOURCE_ROOT;
+               };
+               19C28FACFE9D520D11CA2CBB /* Products */ = {
+                       isa = PBXGroup;
+                       children = (
+                               1D6058910D05DD3D006BFB54 /* HelloCordova.app */,
+                       );
+                       name = Products;
+                       sourceTree = "<group>";
+               };
+               29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
+                       isa = PBXGroup;
+                       children = (
+                               EB87FDF41871DAF40020F90C /* config.xml */,
+                               EB87FDF31871DA8E0020F90C /* www */,
+                               EB87FDF21871DA7A0020F90C /* merges */,
+                               EB87FDF11871DA420020F90C /* Staging */,
+                               301BF52D109A57CC0062928A /* CordovaLib.xcodeproj */,
+                               080E96DDFE201D6D7F000001 /* Classes */,
+                               307C750510C5A3420062BCA9 /* Plugins */,
+                               29B97315FDCFA39411CA2CEA /* Other Sources */,
+                               29B97317FDCFA39411CA2CEA /* Resources */,
+                               29B97323FDCFA39411CA2CEA /* Frameworks */,
+                               19C28FACFE9D520D11CA2CBB /* Products */,
+                       );
+                       name = CustomTemplate;
+                       sourceTree = "<group>";
+               };
+               29B97315FDCFA39411CA2CEA /* Other Sources */ = {
+                       isa = PBXGroup;
+                       children = (
+                               32CA4F630368D1EE00C91783 /* HelloCordova-Prefix.pch */,
+                               29B97316FDCFA39411CA2CEA /* main.m */,
+                       );
+                       name = "Other Sources";
+                       path = "HelloCordova";
+                       sourceTree = "<group>";
+               };
+               29B97317FDCFA39411CA2CEA /* Resources */ = {
+                       isa = PBXGroup;
+                       children = (
+                               308D052D1370CCF300D202BF /* icons */,
+                               308D05311370CCF300D202BF /* splash */,
+                               8D1107310486CEB800E47090 /* HelloCordova-Info.plist */,
+                       );
+                       name = Resources;
+                       path = "HelloCordova/Resources";
+                       sourceTree = "<group>";
+               };
+               29B97323FDCFA39411CA2CEA /* Frameworks */ = {
+                       isa = PBXGroup;
+                       children = (
+                               5B1594DC16A7569C00FEF299 /* AssetsLibrary.framework */,
+                               288765FC0DF74451002DB57D /* CoreGraphics.framework */,
+                               305D5FD0115AB8F900A74A75 /* MobileCoreServices.framework */,
+                       );
+                       name = Frameworks;
+                       sourceTree = "<group>";
+               };
+               301BF52E109A57CC0062928A /* Products */ = {
+                       isa = PBXGroup;
+                       children = (
+                               301BF535109A57CC0062928A /* libCordova.a */,
+                       );
+                       name = Products;
+                       sourceTree = "<group>";
+               };
+               307C750510C5A3420062BCA9 /* Plugins */ = {
+                       isa = PBXGroup;
+                       children = (
+                       );
+                       name = Plugins;
+                       path = "HelloCordova/Plugins";
+                       sourceTree = SOURCE_ROOT;
+               };
+               308D052D1370CCF300D202BF /* icons */ = {
+                       isa = PBXGroup;
+                       children = (
+                               30C1856519D5FC0A00212699 /* icon-60@3x.png */,
+                               7E7966D41810823500FA85AD /* icon-40.png */,
+                               7E7966D51810823500FA85AD /* icon-40@2x.png */,
+                               7E7966D61810823500FA85AD /* icon-50.png */,
+                               7E7966D71810823500FA85AD /* icon-50@2x.png */,
+                               7E7966D81810823500FA85AD /* icon-60.png */,
+                               7E7966D91810823500FA85AD /* icon-60@2x.png */,
+                               7E7966DA1810823500FA85AD /* icon-76.png */,
+                               7E7966DB1810823500FA85AD /* icon-76@2x.png */,
+                               7E7966DC1810823500FA85AD /* icon-small.png */,
+                               7E7966DD1810823500FA85AD /* icon-small@2x.png */,
+                               30FC414816E50CA1004E6F35 /* icon-72@2x.png */,
+                               308D052E1370CCF300D202BF /* icon-72.png */,
+                               308D052F1370CCF300D202BF /* icon.png */,
+                               308D05301370CCF300D202BF /* icon@2x.png */,
+                       );
+                       path = icons;
+                       sourceTree = "<group>";
+               };
+               308D05311370CCF300D202BF /* splash */ = {
+                       isa = PBXGroup;
+                       children = (
+                               30B4F2FD19D5E07200D9F7D8 /* Default-667h.png */,
+                               30B4F2FE19D5E07200D9F7D8 /* Default-736h.png */,
+                               30B4F2FF19D5E07200D9F7D8 /* Default-Landscape-736h.png */,
+                               D4A0D8751607E02300AEF8BB /* Default-568h@2x~iphone.png */,
+                               3088BBB7154F3926009F9C59 /* Default-Landscape@2x~ipad.png */,
+                               3088BBB8154F3926009F9C59 /* Default-Landscape~ipad.png */,
+                               3088BBB9154F3926009F9C59 /* Default-Portrait@2x~ipad.png */,
+                               3088BBBA154F3926009F9C59 /* Default-Portrait~ipad.png */,
+                               3088BBBB154F3926009F9C59 /* Default@2x~iphone.png */,
+                               3088BBBC154F3926009F9C59 /* Default~iphone.png */,
+                       );
+                       path = splash;
+                       sourceTree = "<group>";
+               };
+               EB87FDF11871DA420020F90C /* Staging */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F840E1F0165FE0F500CFE078 /* config.xml */,
+                               301BF56E109A69640062928A /* www */,
+                       );
+                       name = Staging;
+                       sourceTree = "<group>";
+               };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+               1D6058900D05DD3D006BFB54 /* HelloCordova */ = {
+                       isa = PBXNativeTarget;
+                       buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "HelloCordova" */;
+                       buildPhases = (
+                               304B58A110DAC018002A0835 /* Copy www directory */,
+                               1D60588D0D05DD3D006BFB54 /* Resources */,
+                               1D60588E0D05DD3D006BFB54 /* Sources */,
+                               1D60588F0D05DD3D006BFB54 /* Frameworks */,
+                       );
+                       buildRules = (
+                       );
+                       dependencies = (
+                               301BF551109A68C00062928A /* PBXTargetDependency */,
+                       );
+                       name = "HelloCordova";
+                       productName = "HelloCordova";
+                       productReference = 1D6058910D05DD3D006BFB54 /* HelloCordova.app */;
+                       productType = "com.apple.product-type.application";
+               };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+               29B97313FDCFA39411CA2CEA /* Project object */ = {
+                       isa = PBXProject;
+                       attributes = {
+                               LastUpgradeCheck = 0510;
+                       };
+                       buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "__CLI__" */;
+                       compatibilityVersion = "Xcode 3.2";
+                       developmentRegion = English;
+                       hasScannedForEncodings = 1;
+                       knownRegions = (
+                               English,
+                               Japanese,
+                               French,
+                               German,
+                               en,
+                               es,
+                               de,
+                               se,
+                       );
+                       mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
+                       projectDirPath = "";
+                       projectReferences = (
+                               {
+                                       ProductGroup = 301BF52E109A57CC0062928A /* Products */;
+                                       ProjectRef = 301BF52D109A57CC0062928A /* CordovaLib.xcodeproj */;
+                               },
+                       );
+                       projectRoot = "";
+                       targets = (
+                               1D6058900D05DD3D006BFB54 /* HelloCordova */,
+                       );
+               };
+/* End PBXProject section */
+
+/* Begin PBXReferenceProxy section */
+               301BF535109A57CC0062928A /* libCordova.a */ = {
+                       isa = PBXReferenceProxy;
+                       fileType = archive.ar;
+                       path = libCordova.a;
+                       remoteRef = 301BF534109A57CC0062928A /* PBXContainerItemProxy */;
+                       sourceTree = BUILT_PRODUCTS_DIR;
+               };
+/* End PBXReferenceProxy section */
+
+/* Begin PBXResourcesBuildPhase section */
+               1D60588D0D05DD3D006BFB54 /* Resources */ = {
+                       isa = PBXResourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               7E7966E41810823500FA85AD /* icon-76.png in Resources */,
+                               7E7966DF1810823500FA85AD /* icon-40@2x.png in Resources */,
+                               308D05371370CCF300D202BF /* icon-72.png in Resources */,
+                               30B4F30119D5E07200D9F7D8 /* Default-736h.png in Resources */,
+                               308D05381370CCF300D202BF /* icon.png in Resources */,
+                               308D05391370CCF300D202BF /* icon@2x.png in Resources */,
+                               302D95F214D2391D003F00A1 /* MainViewController.xib in Resources */,
+                               7E7966E01810823500FA85AD /* icon-50.png in Resources */,
+                               7E7966E31810823500FA85AD /* icon-60@2x.png in Resources */,
+                               7E7966E61810823500FA85AD /* icon-small.png in Resources */,
+                               3088BBBD154F3926009F9C59 /* Default-Landscape@2x~ipad.png in Resources */,
+                               3088BBBE154F3926009F9C59 /* Default-Landscape~ipad.png in Resources */,
+                               3088BBBF154F3926009F9C59 /* Default-Portrait@2x~ipad.png in Resources */,
+                               7E7966E71810823500FA85AD /* icon-small@2x.png in Resources */,
+                               3088BBC0154F3926009F9C59 /* Default-Portrait~ipad.png in Resources */,
+                               30B4F30019D5E07200D9F7D8 /* Default-667h.png in Resources */,
+                               7E7966DE1810823500FA85AD /* icon-40.png in Resources */,
+                               3088BBC1154F3926009F9C59 /* Default@2x~iphone.png in Resources */,
+                               7E7966E21810823500FA85AD /* icon-60.png in Resources */,
+                               3088BBC2154F3926009F9C59 /* Default~iphone.png in Resources */,
+                               D4A0D8761607E02300AEF8BB /* Default-568h@2x~iphone.png in Resources */,
+                               30B4F30219D5E07200D9F7D8 /* Default-Landscape-736h.png in Resources */,
+                               30C1856619D5FC0A00212699 /* icon-60@3x.png in Resources */,
+                               7E7966E11810823500FA85AD /* icon-50@2x.png in Resources */,
+                               7E7966E51810823500FA85AD /* icon-76@2x.png in Resources */,
+                               30FC414916E50CA1004E6F35 /* icon-72@2x.png in Resources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+               304B58A110DAC018002A0835 /* Copy www directory */ = {
+                       isa = PBXShellScriptBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       inputPaths = (
+                       );
+                       name = "Copy www directory";
+                       outputPaths = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+                       shellPath = /bin/sh;
+                       shellScript = "cordova/lib/copy-www-build-step.sh";
+                       showEnvVarsInLog = 0;
+               };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+               1D60588E0D05DD3D006BFB54 /* Sources */ = {
+                       isa = PBXSourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               1D60589B0D05DD56006BFB54 /* main.m in Sources */,
+                               1D3623260D0F684500981E51 /* AppDelegate.m in Sources */,
+                               302D95F114D2391D003F00A1 /* MainViewController.m in Sources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+               301BF551109A68C00062928A /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       name = CordovaLib;
+                       targetProxy = 301BF550109A68C00062928A /* PBXContainerItemProxy */;
+               };
+/* End PBXTargetDependency section */
+
+/* Begin XCBuildConfiguration section */
+               1D6058940D05DD3E006BFB54 /* Debug */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               ALWAYS_SEARCH_USER_PATHS = NO;
+                               CLANG_ENABLE_OBJC_ARC = YES;
+                               COPY_PHASE_STRIP = NO;
+                               GCC_DYNAMIC_NO_PIC = NO;
+                               GCC_OPTIMIZATION_LEVEL = 0;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = "HelloCordova/HelloCordova-Prefix.pch";
+                               GCC_THUMB_SUPPORT = NO;
+                               GCC_VERSION = "";
+                               INFOPLIST_FILE = "HelloCordova/HelloCordova-Info.plist";
+                               IPHONEOS_DEPLOYMENT_TARGET = 6.0;
+                               OTHER_LDFLAGS = (
+                                       "-weak_framework",
+                                       CoreFoundation,
+                                       "-weak_framework",
+                                       UIKit,
+                                       "-weak_framework",
+                                       AVFoundation,
+                                       "-weak_framework",
+                                       CoreMedia,
+                                       "-weak-lSystem",
+                                       "-ObjC",
+                               );
+                               PRODUCT_NAME = "HelloCordova";
+                               TARGETED_DEVICE_FAMILY = "1";
+                       };
+                       name = Debug;
+               };
+               1D6058950D05DD3E006BFB54 /* Release */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               ALWAYS_SEARCH_USER_PATHS = NO;
+                               CLANG_ENABLE_OBJC_ARC = YES;
+                               COPY_PHASE_STRIP = YES;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = "HelloCordova/HelloCordova-Prefix.pch";
+                               GCC_THUMB_SUPPORT = NO;
+                               GCC_VERSION = "";
+                               INFOPLIST_FILE = "HelloCordova/HelloCordova-Info.plist";
+                               IPHONEOS_DEPLOYMENT_TARGET = 6.0;
+                               OTHER_LDFLAGS = (
+                                       "-weak_framework",
+                                       CoreFoundation,
+                                       "-weak_framework",
+                                       UIKit,
+                                       "-weak_framework",
+                                       AVFoundation,
+                                       "-weak_framework",
+                                       CoreMedia,
+                                       "-weak-lSystem",
+                                       "-ObjC",
+                               );
+                               PRODUCT_NAME = "HelloCordova";
+                               TARGETED_DEVICE_FAMILY = "1,2";
+                       };
+                       name = Release;
+               };
+               C01FCF4F08A954540054247B /* Debug */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               CLANG_ENABLE_OBJC_ARC = YES;
+                               CLANG_WARN_BOOL_CONVERSION = YES;
+                               CLANG_WARN_CONSTANT_CONVERSION = YES;
+                               CLANG_WARN_EMPTY_BODY = YES;
+                               CLANG_WARN_ENUM_CONVERSION = YES;
+                               CLANG_WARN_INT_CONVERSION = YES;
+                               CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+                               GCC_C_LANGUAGE_STANDARD = c99;
+                               GCC_THUMB_SUPPORT = NO;
+                               GCC_VERSION = "";
+                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
+                               GCC_WARN_UNDECLARED_SELECTOR = YES;
+                               GCC_WARN_UNINITIALIZED_AUTOS = YES;
+                               GCC_WARN_UNUSED_FUNCTION = YES;
+                               GCC_WARN_UNUSED_VARIABLE = YES;
+                               HEADER_SEARCH_PATHS = (
+                                       "\"$(TARGET_BUILD_DIR)/usr/local/lib/include\"",
+                                       "\"$(OBJROOT)/UninstalledProducts/include\"",
+                                       "\"$(BUILT_PRODUCTS_DIR)\"",
+                               );
+                               IPHONEOS_DEPLOYMENT_TARGET = 6.0;
+                               ONLY_ACTIVE_ARCH = YES;
+                               OTHER_LDFLAGS = (
+                                       "-weak_framework",
+                                       CoreFoundation,
+                                       "-weak_framework",
+                                       UIKit,
+                                       "-weak_framework",
+                                       AVFoundation,
+                                       "-weak_framework",
+                                       CoreMedia,
+                                       "-weak-lSystem",
+                                       "-ObjC",
+                               );
+                               SDKROOT = iphoneos;
+                               SKIP_INSTALL = NO;
+                               USER_HEADER_SEARCH_PATHS = "";
+                       };
+                       name = Debug;
+               };
+               C01FCF5008A954540054247B /* Release */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               CLANG_ENABLE_OBJC_ARC = YES;
+                               CLANG_WARN_BOOL_CONVERSION = YES;
+                               CLANG_WARN_CONSTANT_CONVERSION = YES;
+                               CLANG_WARN_EMPTY_BODY = YES;
+                               CLANG_WARN_ENUM_CONVERSION = YES;
+                               CLANG_WARN_INT_CONVERSION = YES;
+                               CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+                               GCC_C_LANGUAGE_STANDARD = c99;
+                               GCC_THUMB_SUPPORT = NO;
+                               GCC_VERSION = "";
+                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
+                               GCC_WARN_UNDECLARED_SELECTOR = YES;
+                               GCC_WARN_UNINITIALIZED_AUTOS = YES;
+                               GCC_WARN_UNUSED_FUNCTION = YES;
+                               GCC_WARN_UNUSED_VARIABLE = YES;
+                               HEADER_SEARCH_PATHS = (
+                                       "\"$(TARGET_BUILD_DIR)/usr/local/lib/include\"",
+                                       "\"$(OBJROOT)/UninstalledProducts/include\"",
+                                       "\"$(BUILT_PRODUCTS_DIR)\"",
+                               );
+                               IPHONEOS_DEPLOYMENT_TARGET = 6.0;
+                               OTHER_LDFLAGS = (
+                                       "-weak_framework",
+                                       CoreFoundation,
+                                       "-weak_framework",
+                                       UIKit,
+                                       "-weak_framework",
+                                       AVFoundation,
+                                       "-weak_framework",
+                                       CoreMedia,
+                                       "-weak-lSystem",
+                                       "-ObjC",
+                               );
+                               SDKROOT = iphoneos;
+                               SKIP_INSTALL = NO;
+                               USER_HEADER_SEARCH_PATHS = "";
+                       };
+                       name = Release;
+               };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+               1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "HelloCordova" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               1D6058940D05DD3E006BFB54 /* Debug */,
+                               1D6058950D05DD3E006BFB54 /* Release */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Release;
+               };
+               C01FCF4E08A954540054247B /* Build configuration list for PBXProject "__CLI__" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               C01FCF4F08A954540054247B /* Debug */,
+                               C01FCF5008A954540054247B /* Release */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Release;
+               };
+/* End XCConfigurationList section */
+       };
+       rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
+}
diff --git a/test/parser/projects/with_omit_empty_values_enabled.pbxproj b/test/parser/projects/with_omit_empty_values_enabled.pbxproj
new file mode 100644 (file)
index 0000000..eaa1421
--- /dev/null
@@ -0,0 +1,574 @@
+// !$*UTF8*$!
+{
+       archiveVersion = 1;
+       classes = {
+       };
+       objectVersion = 46;
+       objects = {
+/* Begin PBXBuildFile section */
+               1D3623260D0F684500981E51 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 1D3623250D0F684500981E51 /* AppDelegate.m */; };
+               1D60589B0D05DD56006BFB54 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 29B97316FDCFA39411CA2CEA /* main.m */; };
+               288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 288765FC0DF74451002DB57D /* CoreGraphics.framework */; };
+               301BF552109A68D80062928A /* libCordova.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 301BF535109A57CC0062928A /* libCordova.a */; };
+               302D95F114D2391D003F00A1 /* MainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 302D95EF14D2391D003F00A1 /* MainViewController.m */; };
+               302D95F214D2391D003F00A1 /* MainViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 302D95F014D2391D003F00A1 /* MainViewController.xib */; };
+               305D5FD1115AB8F900A74A75 /* MobileCoreServices.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 305D5FD0115AB8F900A74A75 /* MobileCoreServices.framework */; };
+               3088BBBD154F3926009F9C59 /* Default-Landscape@2x~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 3088BBB7154F3926009F9C59 /* Default-Landscape@2x~ipad.png */; };
+               3088BBBE154F3926009F9C59 /* Default-Landscape~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 3088BBB8154F3926009F9C59 /* Default-Landscape~ipad.png */; };
+               3088BBBF154F3926009F9C59 /* Default-Portrait@2x~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 3088BBB9154F3926009F9C59 /* Default-Portrait@2x~ipad.png */; };
+               3088BBC0154F3926009F9C59 /* Default-Portrait~ipad.png in Resources */ = {isa = PBXBuildFile; fileRef = 3088BBBA154F3926009F9C59 /* Default-Portrait~ipad.png */; };
+               3088BBC1154F3926009F9C59 /* Default@2x~iphone.png in Resources */ = {isa = PBXBuildFile; fileRef = 3088BBBB154F3926009F9C59 /* Default@2x~iphone.png */; };
+               3088BBC2154F3926009F9C59 /* Default~iphone.png in Resources */ = {isa = PBXBuildFile; fileRef = 3088BBBC154F3926009F9C59 /* Default~iphone.png */; };
+               308D05371370CCF300D202BF /* icon-72.png in Resources */ = {isa = PBXBuildFile; fileRef = 308D052E1370CCF300D202BF /* icon-72.png */; };
+               308D05381370CCF300D202BF /* icon.png in Resources */ = {isa = PBXBuildFile; fileRef = 308D052F1370CCF300D202BF /* icon.png */; };
+               308D05391370CCF300D202BF /* icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 308D05301370CCF300D202BF /* icon@2x.png */; };
+               30B4F30019D5E07200D9F7D8 /* Default-667h.png in Resources */ = {isa = PBXBuildFile; fileRef = 30B4F2FD19D5E07200D9F7D8 /* Default-667h.png */; };
+               30B4F30119D5E07200D9F7D8 /* Default-736h.png in Resources */ = {isa = PBXBuildFile; fileRef = 30B4F2FE19D5E07200D9F7D8 /* Default-736h.png */; };
+               30B4F30219D5E07200D9F7D8 /* Default-Landscape-736h.png in Resources */ = {isa = PBXBuildFile; fileRef = 30B4F2FF19D5E07200D9F7D8 /* Default-Landscape-736h.png */; };
+               30C1856619D5FC0A00212699 /* icon-60@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = 30C1856519D5FC0A00212699 /* icon-60@3x.png */; };
+               30FC414916E50CA1004E6F35 /* icon-72@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 30FC414816E50CA1004E6F35 /* icon-72@2x.png */; };
+               5B1594DD16A7569C00FEF299 /* AssetsLibrary.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 5B1594DC16A7569C00FEF299 /* AssetsLibrary.framework */; };
+               7E7966DE1810823500FA85AD /* icon-40.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966D41810823500FA85AD /* icon-40.png */; };
+               7E7966DF1810823500FA85AD /* icon-40@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966D51810823500FA85AD /* icon-40@2x.png */; };
+               7E7966E01810823500FA85AD /* icon-50.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966D61810823500FA85AD /* icon-50.png */; };
+               7E7966E11810823500FA85AD /* icon-50@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966D71810823500FA85AD /* icon-50@2x.png */; };
+               7E7966E21810823500FA85AD /* icon-60.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966D81810823500FA85AD /* icon-60.png */; };
+               7E7966E31810823500FA85AD /* icon-60@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966D91810823500FA85AD /* icon-60@2x.png */; };
+               7E7966E41810823500FA85AD /* icon-76.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966DA1810823500FA85AD /* icon-76.png */; };
+               7E7966E51810823500FA85AD /* icon-76@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966DB1810823500FA85AD /* icon-76@2x.png */; };
+               7E7966E61810823500FA85AD /* icon-small.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966DC1810823500FA85AD /* icon-small.png */; };
+               7E7966E71810823500FA85AD /* icon-small@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = 7E7966DD1810823500FA85AD /* icon-small@2x.png */; };
+               D4A0D8761607E02300AEF8BB /* Default-568h@2x~iphone.png in Resources */ = {isa = PBXBuildFile; fileRef = D4A0D8751607E02300AEF8BB /* Default-568h@2x~iphone.png */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXContainerItemProxy section */
+               301BF534109A57CC0062928A /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 301BF52D109A57CC0062928A /* CordovaLib.xcodeproj */;
+                       proxyType = 2;
+                       remoteGlobalIDString = D2AAC07E0554694100DB518D;
+                       remoteInfo = CordovaLib;
+               };
+               301BF550109A68C00062928A /* PBXContainerItemProxy */ = {
+                       isa = PBXContainerItemProxy;
+                       containerPortal = 301BF52D109A57CC0062928A /* CordovaLib.xcodeproj */;
+                       proxyType = 1;
+                       remoteGlobalIDString = D2AAC07D0554694100DB518D;
+                       remoteInfo = CordovaLib;
+               };
+/* End PBXContainerItemProxy section */
+
+/* Begin PBXFileReference section */
+               1D3623240D0F684500981E51 /* AppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; };
+               1D3623250D0F684500981E51 /* AppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; };
+               1D6058910D05DD3D006BFB54 /* HelloCordova.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "HelloCordova.app"; sourceTree = BUILT_PRODUCTS_DIR; };
+               1F766FDD13BBADB100FB74C0 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = Localizable.strings; sourceTree = "<group>"; };
+               1F766FE013BBADB100FB74C0 /* es */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = es; path = Localizable.strings; sourceTree = "<group>"; };
+               288765FC0DF74451002DB57D /* CoreGraphics.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CoreGraphics.framework; path = System/Library/Frameworks/CoreGraphics.framework; sourceTree = SDKROOT; };
+               29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
+               301BF52D109A57CC0062928A /* CordovaLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; name = CordovaLib.xcodeproj; path = "CordovaLib/CordovaLib.xcodeproj"; sourceTree = "<group>"; };
+               301BF56E109A69640062928A /* www */ = {isa = PBXFileReference; lastKnownFileType = folder; path = www; sourceTree = SOURCE_ROOT; };
+               302D95EE14D2391D003F00A1 /* MainViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MainViewController.h; sourceTree = "<group>"; };
+               302D95EF14D2391D003F00A1 /* MainViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MainViewController.m; sourceTree = "<group>"; };
+               302D95F014D2391D003F00A1 /* MainViewController.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MainViewController.xib; sourceTree = "<group>"; };
+               305D5FD0115AB8F900A74A75 /* MobileCoreServices.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = MobileCoreServices.framework; path = System/Library/Frameworks/MobileCoreServices.framework; sourceTree = SDKROOT; };
+               3088BBB7154F3926009F9C59 /* Default-Landscape@2x~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-Landscape@2x~ipad.png"; sourceTree = "<group>"; };
+               3088BBB8154F3926009F9C59 /* Default-Landscape~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-Landscape~ipad.png"; sourceTree = "<group>"; };
+               3088BBB9154F3926009F9C59 /* Default-Portrait@2x~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-Portrait@2x~ipad.png"; sourceTree = "<group>"; };
+               3088BBBA154F3926009F9C59 /* Default-Portrait~ipad.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-Portrait~ipad.png"; sourceTree = "<group>"; };
+               3088BBBB154F3926009F9C59 /* Default@2x~iphone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default@2x~iphone.png"; sourceTree = "<group>"; };
+               3088BBBC154F3926009F9C59 /* Default~iphone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default~iphone.png"; sourceTree = "<group>"; };
+               308D052E1370CCF300D202BF /* icon-72.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-72.png"; sourceTree = "<group>"; };
+               308D052F1370CCF300D202BF /* icon.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = icon.png; sourceTree = "<group>"; };
+               308D05301370CCF300D202BF /* icon@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon@2x.png"; sourceTree = "<group>"; };
+               30B4F2FD19D5E07200D9F7D8 /* Default-667h.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-667h.png"; sourceTree = "<group>"; };
+               30B4F2FE19D5E07200D9F7D8 /* Default-736h.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-736h.png"; sourceTree = "<group>"; };
+               30B4F2FF19D5E07200D9F7D8 /* Default-Landscape-736h.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-Landscape-736h.png"; sourceTree = "<group>"; };
+               30C1856519D5FC0A00212699 /* icon-60@3x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-60@3x.png"; sourceTree = "<group>"; };
+               30FC414816E50CA1004E6F35 /* icon-72@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-72@2x.png"; sourceTree = "<group>"; };
+               32CA4F630368D1EE00C91783 /* HelloCordova-Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "HelloCordova-Prefix.pch"; sourceTree = "<group>"; };
+               5B1594DC16A7569C00FEF299 /* AssetsLibrary.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AssetsLibrary.framework; path = System/Library/Frameworks/AssetsLibrary.framework; sourceTree = SDKROOT; };
+               7E7966D41810823500FA85AD /* icon-40.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-40.png"; sourceTree = "<group>"; };
+               7E7966D51810823500FA85AD /* icon-40@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-40@2x.png"; sourceTree = "<group>"; };
+               7E7966D61810823500FA85AD /* icon-50.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-50.png"; sourceTree = "<group>"; };
+               7E7966D71810823500FA85AD /* icon-50@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-50@2x.png"; sourceTree = "<group>"; };
+               7E7966D81810823500FA85AD /* icon-60.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-60.png"; sourceTree = "<group>"; };
+               7E7966D91810823500FA85AD /* icon-60@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-60@2x.png"; sourceTree = "<group>"; };
+               7E7966DA1810823500FA85AD /* icon-76.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-76.png"; sourceTree = "<group>"; };
+               7E7966DB1810823500FA85AD /* icon-76@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-76@2x.png"; sourceTree = "<group>"; };
+               7E7966DC1810823500FA85AD /* icon-small.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-small.png"; sourceTree = "<group>"; };
+               7E7966DD1810823500FA85AD /* icon-small@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "icon-small@2x.png"; sourceTree = "<group>"; };
+               8D1107310486CEB800E47090 /* HelloCordova-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; name = "HelloCordova-Info.plist"; path = "../HelloCordova-Info.plist"; plistStructureDefinitionIdentifier = "com.apple.xcode.plist.structure-definition.iphone.info-plist"; sourceTree = "<group>"; };
+               D4A0D8751607E02300AEF8BB /* Default-568h@2x~iphone.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = "Default-568h@2x~iphone.png"; sourceTree = "<group>"; };
+               EB87FDF21871DA7A0020F90C /* merges */ = {isa = PBXFileReference; lastKnownFileType = folder; name = merges; path = ../../merges; sourceTree = "<group>"; };
+               EB87FDF31871DA8E0020F90C /* www */ = {isa = PBXFileReference; lastKnownFileType = folder; name = www; path = ../../www; sourceTree = "<group>"; };
+               EB87FDF41871DAF40020F90C /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = config.xml; path = ../../config.xml; sourceTree = "<group>"; };
+               F840E1F0165FE0F500CFE078 /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = config.xml; path = "HelloCordova/config.xml"; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+               1D60588F0D05DD3D006BFB54 /* Frameworks */ = {
+                       isa = PBXFrameworksBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               5B1594DD16A7569C00FEF299 /* AssetsLibrary.framework in Frameworks */,
+                               301BF552109A68D80062928A /* libCordova.a in Frameworks */,
+                               288765FD0DF74451002DB57D /* CoreGraphics.framework in Frameworks */,
+                               305D5FD1115AB8F900A74A75 /* MobileCoreServices.framework in Frameworks */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+               080E96DDFE201D6D7F000001 /* Classes */ = {
+                       isa = PBXGroup;
+                       children = (
+                               302D95EE14D2391D003F00A1 /* MainViewController.h */,
+                               302D95EF14D2391D003F00A1 /* MainViewController.m */,
+                               302D95F014D2391D003F00A1 /* MainViewController.xib */,
+                               1D3623240D0F684500981E51 /* AppDelegate.h */,
+                               1D3623250D0F684500981E51 /* AppDelegate.m */,
+                       );
+                       name = Classes;
+                       path = "HelloCordova/Classes";
+                       sourceTree = SOURCE_ROOT;
+               };
+               19C28FACFE9D520D11CA2CBB /* Products */ = {
+                       isa = PBXGroup;
+                       children = (
+                               1D6058910D05DD3D006BFB54 /* HelloCordova.app */,
+                       );
+                       name = Products;
+                       sourceTree = "<group>";
+               };
+               29B97314FDCFA39411CA2CEA /* CustomTemplate */ = {
+                       isa = PBXGroup;
+                       children = (
+                               EB87FDF41871DAF40020F90C /* config.xml */,
+                               EB87FDF31871DA8E0020F90C /* www */,
+                               EB87FDF21871DA7A0020F90C /* merges */,
+                               EB87FDF11871DA420020F90C /* Staging */,
+                               301BF52D109A57CC0062928A /* CordovaLib.xcodeproj */,
+                               080E96DDFE201D6D7F000001 /* Classes */,
+                               307C750510C5A3420062BCA9 /* Plugins */,
+                               29B97315FDCFA39411CA2CEA /* Other Sources */,
+                               29B97317FDCFA39411CA2CEA /* Resources */,
+                               29B97323FDCFA39411CA2CEA /* Frameworks */,
+                               19C28FACFE9D520D11CA2CBB /* Products */,
+                       );
+                       name = CustomTemplate;
+                       sourceTree = "<group>";
+               };
+               29B97315FDCFA39411CA2CEA /* Other Sources */ = {
+                       isa = PBXGroup;
+                       children = (
+                               32CA4F630368D1EE00C91783 /* HelloCordova-Prefix.pch */,
+                               29B97316FDCFA39411CA2CEA /* main.m */,
+                       );
+                       name = "Other Sources";
+                       path = "HelloCordova";
+                       sourceTree = "<group>";
+               };
+               29B97317FDCFA39411CA2CEA /* Resources */ = {
+                       isa = PBXGroup;
+                       children = (
+                               308D052D1370CCF300D202BF /* icons */,
+                               308D05311370CCF300D202BF /* splash */,
+                               8D1107310486CEB800E47090 /* HelloCordova-Info.plist */,
+                       );
+                       name = Resources;
+                       path = "HelloCordova/Resources";
+                       sourceTree = "<group>";
+               };
+               29B97323FDCFA39411CA2CEA /* Frameworks */ = {
+                       isa = PBXGroup;
+                       children = (
+                               5B1594DC16A7569C00FEF299 /* AssetsLibrary.framework */,
+                               288765FC0DF74451002DB57D /* CoreGraphics.framework */,
+                               305D5FD0115AB8F900A74A75 /* MobileCoreServices.framework */,
+                       );
+                       name = Frameworks;
+                       sourceTree = "<group>";
+               };
+               301BF52E109A57CC0062928A /* Products */ = {
+                       isa = PBXGroup;
+                       children = (
+                               301BF535109A57CC0062928A /* libCordova.a */,
+                       );
+                       name = Products;
+                       sourceTree = "<group>";
+               };
+               307C750510C5A3420062BCA9 /* Plugins */ = {
+                       isa = PBXGroup;
+                       children = (
+                       );
+                       name = Plugins;
+                       path = "HelloCordova/Plugins";
+                       sourceTree = SOURCE_ROOT;
+               };
+               308D052D1370CCF300D202BF /* icons */ = {
+                       isa = PBXGroup;
+                       children = (
+                               30C1856519D5FC0A00212699 /* icon-60@3x.png */,
+                               7E7966D41810823500FA85AD /* icon-40.png */,
+                               7E7966D51810823500FA85AD /* icon-40@2x.png */,
+                               7E7966D61810823500FA85AD /* icon-50.png */,
+                               7E7966D71810823500FA85AD /* icon-50@2x.png */,
+                               7E7966D81810823500FA85AD /* icon-60.png */,
+                               7E7966D91810823500FA85AD /* icon-60@2x.png */,
+                               7E7966DA1810823500FA85AD /* icon-76.png */,
+                               7E7966DB1810823500FA85AD /* icon-76@2x.png */,
+                               7E7966DC1810823500FA85AD /* icon-small.png */,
+                               7E7966DD1810823500FA85AD /* icon-small@2x.png */,
+                               30FC414816E50CA1004E6F35 /* icon-72@2x.png */,
+                               308D052E1370CCF300D202BF /* icon-72.png */,
+                               308D052F1370CCF300D202BF /* icon.png */,
+                               308D05301370CCF300D202BF /* icon@2x.png */,
+                       );
+                       path = icons;
+                       sourceTree = "<group>";
+               };
+               308D05311370CCF300D202BF /* splash */ = {
+                       isa = PBXGroup;
+                       children = (
+                               30B4F2FD19D5E07200D9F7D8 /* Default-667h.png */,
+                               30B4F2FE19D5E07200D9F7D8 /* Default-736h.png */,
+                               30B4F2FF19D5E07200D9F7D8 /* Default-Landscape-736h.png */,
+                               D4A0D8751607E02300AEF8BB /* Default-568h@2x~iphone.png */,
+                               3088BBB7154F3926009F9C59 /* Default-Landscape@2x~ipad.png */,
+                               3088BBB8154F3926009F9C59 /* Default-Landscape~ipad.png */,
+                               3088BBB9154F3926009F9C59 /* Default-Portrait@2x~ipad.png */,
+                               3088BBBA154F3926009F9C59 /* Default-Portrait~ipad.png */,
+                               3088BBBB154F3926009F9C59 /* Default@2x~iphone.png */,
+                               3088BBBC154F3926009F9C59 /* Default~iphone.png */,
+                       );
+                       path = splash;
+                       sourceTree = "<group>";
+               };
+               EB87FDF11871DA420020F90C /* Staging */ = {
+                       isa = PBXGroup;
+                       children = (
+                               F840E1F0165FE0F500CFE078 /* config.xml */,
+                               301BF56E109A69640062928A /* www */,
+                       );
+                       name = Staging;
+                       sourceTree = "<group>";
+               };
+/* End PBXGroup section */
+
+/* Begin PBXNativeTarget section */
+               1D6058900D05DD3D006BFB54 /* HelloCordova */ = {
+                       isa = PBXNativeTarget;
+                       buildConfigurationList = 1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "HelloCordova" */;
+                       buildPhases = (
+                               304B58A110DAC018002A0835 /* Copy www directory */,
+                               1D60588D0D05DD3D006BFB54 /* Resources */,
+                               1D60588E0D05DD3D006BFB54 /* Sources */,
+                               1D60588F0D05DD3D006BFB54 /* Frameworks */,
+                       );
+                       buildRules = (
+                       );
+                       dependencies = (
+                               301BF551109A68C00062928A /* PBXTargetDependency */,
+                       );
+                       name = "HelloCordova";
+                       productName = "HelloCordova";
+                       productReference = 1D6058910D05DD3D006BFB54 /* HelloCordova.app */;
+                       productType = "com.apple.product-type.application";
+               };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+               29B97313FDCFA39411CA2CEA /* Project object */ = {
+                       isa = PBXProject;
+                       attributes = {
+                               LastUpgradeCheck = 0510;
+                       };
+                       buildConfigurationList = C01FCF4E08A954540054247B /* Build configuration list for PBXProject "__CLI__" */;
+                       compatibilityVersion = "Xcode 3.2";
+                       developmentRegion = English;
+                       hasScannedForEncodings = 1;
+                       knownRegions = (
+                               English,
+                               Japanese,
+                               French,
+                               German,
+                               en,
+                               es,
+                               de,
+                               se,
+                       );
+                       mainGroup = 29B97314FDCFA39411CA2CEA /* CustomTemplate */;
+                       projectDirPath = "";
+                       projectReferences = (
+                               {
+                                       ProductGroup = 301BF52E109A57CC0062928A /* Products */;
+                                       ProjectRef = 301BF52D109A57CC0062928A /* CordovaLib.xcodeproj */;
+                               },
+                       );
+                       projectRoot = "";
+                       targets = (
+                               1D6058900D05DD3D006BFB54 /* HelloCordova */,
+                       );
+               };
+/* End PBXProject section */
+
+/* Begin PBXReferenceProxy section */
+               301BF535109A57CC0062928A /* libCordova.a */ = {
+                       isa = PBXReferenceProxy;
+                       fileType = archive.ar;
+                       path = libCordova.a;
+                       remoteRef = 301BF534109A57CC0062928A /* PBXContainerItemProxy */;
+                       sourceTree = BUILT_PRODUCTS_DIR;
+               };
+/* End PBXReferenceProxy section */
+
+/* Begin PBXResourcesBuildPhase section */
+               1D60588D0D05DD3D006BFB54 /* Resources */ = {
+                       isa = PBXResourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               7E7966E41810823500FA85AD /* icon-76.png in Resources */,
+                               7E7966DF1810823500FA85AD /* icon-40@2x.png in Resources */,
+                               308D05371370CCF300D202BF /* icon-72.png in Resources */,
+                               30B4F30119D5E07200D9F7D8 /* Default-736h.png in Resources */,
+                               308D05381370CCF300D202BF /* icon.png in Resources */,
+                               308D05391370CCF300D202BF /* icon@2x.png in Resources */,
+                               302D95F214D2391D003F00A1 /* MainViewController.xib in Resources */,
+                               7E7966E01810823500FA85AD /* icon-50.png in Resources */,
+                               7E7966E31810823500FA85AD /* icon-60@2x.png in Resources */,
+                               7E7966E61810823500FA85AD /* icon-small.png in Resources */,
+                               3088BBBD154F3926009F9C59 /* Default-Landscape@2x~ipad.png in Resources */,
+                               3088BBBE154F3926009F9C59 /* Default-Landscape~ipad.png in Resources */,
+                               3088BBBF154F3926009F9C59 /* Default-Portrait@2x~ipad.png in Resources */,
+                               7E7966E71810823500FA85AD /* icon-small@2x.png in Resources */,
+                               3088BBC0154F3926009F9C59 /* Default-Portrait~ipad.png in Resources */,
+                               30B4F30019D5E07200D9F7D8 /* Default-667h.png in Resources */,
+                               7E7966DE1810823500FA85AD /* icon-40.png in Resources */,
+                               3088BBC1154F3926009F9C59 /* Default@2x~iphone.png in Resources */,
+                               7E7966E21810823500FA85AD /* icon-60.png in Resources */,
+                               3088BBC2154F3926009F9C59 /* Default~iphone.png in Resources */,
+                               D4A0D8761607E02300AEF8BB /* Default-568h@2x~iphone.png in Resources */,
+                               30B4F30219D5E07200D9F7D8 /* Default-Landscape-736h.png in Resources */,
+                               30C1856619D5FC0A00212699 /* icon-60@3x.png in Resources */,
+                               7E7966E11810823500FA85AD /* icon-50@2x.png in Resources */,
+                               7E7966E51810823500FA85AD /* icon-76@2x.png in Resources */,
+                               30FC414916E50CA1004E6F35 /* icon-72@2x.png in Resources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXShellScriptBuildPhase section */
+               304B58A110DAC018002A0835 /* Copy www directory */ = {
+                       isa = PBXShellScriptBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                       );
+                       inputPaths = (
+                       );
+                       name = "Copy www directory";
+                       outputPaths = (
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+                       shellPath = /bin/sh;
+                       shellScript = "cordova/lib/copy-www-build-step.sh";
+                       showEnvVarsInLog = 0;
+               };
+/* End PBXShellScriptBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+               1D60588E0D05DD3D006BFB54 /* Sources */ = {
+                       isa = PBXSourcesBuildPhase;
+                       buildActionMask = 2147483647;
+                       files = (
+                               1D60589B0D05DD56006BFB54 /* main.m in Sources */,
+                               1D3623260D0F684500981E51 /* AppDelegate.m in Sources */,
+                               302D95F114D2391D003F00A1 /* MainViewController.m in Sources */,
+                       );
+                       runOnlyForDeploymentPostprocessing = 0;
+               };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXTargetDependency section */
+               301BF551109A68C00062928A /* PBXTargetDependency */ = {
+                       isa = PBXTargetDependency;
+                       name = CordovaLib;
+                       targetProxy = 301BF550109A68C00062928A /* PBXContainerItemProxy */;
+               };
+/* End PBXTargetDependency section */
+
+/* Begin XCBuildConfiguration section */
+               1D6058940D05DD3E006BFB54 /* Debug */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               ALWAYS_SEARCH_USER_PATHS = NO;
+                               CLANG_ENABLE_OBJC_ARC = YES;
+                               COPY_PHASE_STRIP = NO;
+                               GCC_DYNAMIC_NO_PIC = NO;
+                               GCC_OPTIMIZATION_LEVEL = 0;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = "HelloCordova/HelloCordova-Prefix.pch";
+                               GCC_THUMB_SUPPORT = NO;
+                               GCC_VERSION = "";
+                               INFOPLIST_FILE = "HelloCordova/HelloCordova-Info.plist";
+                               IPHONEOS_DEPLOYMENT_TARGET = 6.0;
+                               OTHER_LDFLAGS = (
+                                       "-weak_framework",
+                                       CoreFoundation,
+                                       "-weak_framework",
+                                       UIKit,
+                                       "-weak_framework",
+                                       AVFoundation,
+                                       "-weak_framework",
+                                       CoreMedia,
+                                       "-weak-lSystem",
+                                       "-ObjC",
+                               );
+                               PRODUCT_NAME = "HelloCordova";
+                               TARGETED_DEVICE_FAMILY = "1";
+                       };
+                       name = Debug;
+               };
+               1D6058950D05DD3E006BFB54 /* Release */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               ALWAYS_SEARCH_USER_PATHS = NO;
+                               CLANG_ENABLE_OBJC_ARC = YES;
+                               COPY_PHASE_STRIP = YES;
+                               GCC_PRECOMPILE_PREFIX_HEADER = YES;
+                               GCC_PREFIX_HEADER = "HelloCordova/HelloCordova-Prefix.pch";
+                               GCC_THUMB_SUPPORT = NO;
+                               GCC_VERSION = "";
+                               INFOPLIST_FILE = "HelloCordova/HelloCordova-Info.plist";
+                               IPHONEOS_DEPLOYMENT_TARGET = 6.0;
+                               OTHER_LDFLAGS = (
+                                       "-weak_framework",
+                                       CoreFoundation,
+                                       "-weak_framework",
+                                       UIKit,
+                                       "-weak_framework",
+                                       AVFoundation,
+                                       "-weak_framework",
+                                       CoreMedia,
+                                       "-weak-lSystem",
+                                       "-ObjC",
+                               );
+                               PRODUCT_NAME = "HelloCordova";
+                               TARGETED_DEVICE_FAMILY = "1,2";
+                       };
+                       name = Release;
+               };
+               C01FCF4F08A954540054247B /* Debug */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               CLANG_ENABLE_OBJC_ARC = YES;
+                               CLANG_WARN_BOOL_CONVERSION = YES;
+                               CLANG_WARN_CONSTANT_CONVERSION = YES;
+                               CLANG_WARN_EMPTY_BODY = YES;
+                               CLANG_WARN_ENUM_CONVERSION = YES;
+                               CLANG_WARN_INT_CONVERSION = YES;
+                               CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+                               GCC_C_LANGUAGE_STANDARD = c99;
+                               GCC_THUMB_SUPPORT = NO;
+                               GCC_VERSION = "";
+                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
+                               GCC_WARN_UNDECLARED_SELECTOR = YES;
+                               GCC_WARN_UNINITIALIZED_AUTOS = YES;
+                               GCC_WARN_UNUSED_FUNCTION = YES;
+                               GCC_WARN_UNUSED_VARIABLE = YES;
+                               HEADER_SEARCH_PATHS = (
+                                       "\"$(TARGET_BUILD_DIR)/usr/local/lib/include\"",
+                                       "\"$(OBJROOT)/UninstalledProducts/include\"",
+                                       "\"$(BUILT_PRODUCTS_DIR)\"",
+                               );
+                               IPHONEOS_DEPLOYMENT_TARGET = 6.0;
+                               ONLY_ACTIVE_ARCH = YES;
+                               OTHER_LDFLAGS = (
+                                       "-weak_framework",
+                                       CoreFoundation,
+                                       "-weak_framework",
+                                       UIKit,
+                                       "-weak_framework",
+                                       AVFoundation,
+                                       "-weak_framework",
+                                       CoreMedia,
+                                       "-weak-lSystem",
+                                       "-ObjC",
+                               );
+                               SDKROOT = iphoneos;
+                               SKIP_INSTALL = NO;
+                               USER_HEADER_SEARCH_PATHS = "";
+                       };
+                       name = Debug;
+               };
+               C01FCF5008A954540054247B /* Release */ = {
+                       isa = XCBuildConfiguration;
+                       buildSettings = {
+                               CLANG_ENABLE_OBJC_ARC = YES;
+                               CLANG_WARN_BOOL_CONVERSION = YES;
+                               CLANG_WARN_CONSTANT_CONVERSION = YES;
+                               CLANG_WARN_EMPTY_BODY = YES;
+                               CLANG_WARN_ENUM_CONVERSION = YES;
+                               CLANG_WARN_INT_CONVERSION = YES;
+                               CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
+                               "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer";
+                               GCC_C_LANGUAGE_STANDARD = c99;
+                               GCC_THUMB_SUPPORT = NO;
+                               GCC_VERSION = "";
+                               GCC_WARN_ABOUT_RETURN_TYPE = YES;
+                               GCC_WARN_UNDECLARED_SELECTOR = YES;
+                               GCC_WARN_UNINITIALIZED_AUTOS = YES;
+                               GCC_WARN_UNUSED_FUNCTION = YES;
+                               GCC_WARN_UNUSED_VARIABLE = YES;
+                               HEADER_SEARCH_PATHS = (
+                                       "\"$(TARGET_BUILD_DIR)/usr/local/lib/include\"",
+                                       "\"$(OBJROOT)/UninstalledProducts/include\"",
+                                       "\"$(BUILT_PRODUCTS_DIR)\"",
+                               );
+                               IPHONEOS_DEPLOYMENT_TARGET = 6.0;
+                               OTHER_LDFLAGS = (
+                                       "-weak_framework",
+                                       CoreFoundation,
+                                       "-weak_framework",
+                                       UIKit,
+                                       "-weak_framework",
+                                       AVFoundation,
+                                       "-weak_framework",
+                                       CoreMedia,
+                                       "-weak-lSystem",
+                                       "-ObjC",
+                               );
+                               SDKROOT = iphoneos;
+                               SKIP_INSTALL = NO;
+                               USER_HEADER_SEARCH_PATHS = "";
+                       };
+                       name = Release;
+               };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+               1D6058960D05DD3E006BFB54 /* Build configuration list for PBXNativeTarget "HelloCordova" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               1D6058940D05DD3E006BFB54 /* Debug */,
+                               1D6058950D05DD3E006BFB54 /* Release */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Release;
+               };
+               C01FCF4E08A954540054247B /* Build configuration list for PBXProject "__CLI__" */ = {
+                       isa = XCConfigurationList;
+                       buildConfigurations = (
+                               C01FCF4F08A954540054247B /* Debug */,
+                               C01FCF5008A954540054247B /* Release */,
+                       );
+                       defaultConfigurationIsVisible = 0;
+                       defaultConfigurationName = Release;
+               };
+/* End XCConfigurationList section */
+       };
+       rootObject = 29B97313FDCFA39411CA2CEA /* Project object */;
+}
index 743c8b9..f1e2ee4 100644 (file)
@@ -96,5 +96,37 @@ exports.writeSync = {
     },
     'should write out the "file-references" test': function (test) {
         testProjectContents('test/parser/projects/file-references.pbxproj', test);
+    },
+    'should not null and undefined with the "omitEmptyValues" option set to false test': function (test) {
+        var filename = 'test/parser/projects/with_omit_empty_values_disabled.pbxproj'
+        var expectedFilename = 'test/parser/projects/expected/with_omit_empty_values_disabled_expected.pbxproj'
+        var content = fs.readFileSync(expectedFilename, 'utf-8').replace(/    /g, '\t');
+        var project = new pbx(filename);
+        project.parse(function (err) {
+            if (err) {
+                return test.done(err);
+            }
+            const group = project.addPbxGroup([], 'CustomGroup', undefined)
+            var written = project.writeSync();
+            content = content.replace('CUSTOM_GROUP_UUID_REPLACED_BY_TEST', group.uuid)
+            test.equal(content, written);
+            test.done();
+        });
+    },
+    'should drop null and undefined with the "omitEmptyValues" option set to true test': function (test) {
+        var filename = 'test/parser/projects/with_omit_empty_values_enabled.pbxproj'
+        var expectedFilename = 'test/parser/projects/expected/with_omit_empty_values_enabled_expected.pbxproj'
+        var content = fs.readFileSync(expectedFilename, 'utf-8').replace(/    /g, '\t');
+        var project = new pbx(filename);
+        project.parse(function (err) {
+            if (err) {
+                return test.done(err);
+            }
+            var group = project.addPbxGroup([], 'CustomGroup', undefined);
+            var written = project.writeSync({ omitEmptyValues: true });
+            content = content.replace('CUSTOM_GROUP_UUID_REPLACED_BY_TEST', group.uuid)
+            test.equal(content, written);
+            test.done();
+        });
     }
 }